Operating Systems Concepts



(This page is under construction)
Introduction to all aspects of modern operating systems. Topics include process structure and synchronization, interprocess communication, memory management, file systems, security, I/O and distributed file systems. UNIX system will be fully studied. The programming parts includes thread-based Java, Perl, Unix system programming such as fork, pipe and sockets, etc. Please note that most of the links are linked to postscript files. If you use WINDOWS, you should install ghostscript .


Instructor


Basic Information

  • Programming Assignments consist of 5 or 6 assignments. One is to develop a Java Virtual machine simulator, so you can be clear about how Java assembly and procedures are executed. UNIX programming questions will be assigned So students will learn various UNIX system programming skills such as fork, exec, pipes, and sockets. One is to program multiple threads in Java. It involves many threads synchronization using Java. One is to implement a UNIX like file system implementation. We may have one more using Perl. You will learn a lot through these programming assignments.
  • Ordinary Assignments include basic O.S. questions coming from the lectures.
  • Time: Mon, Wed, 5:30- 6:45pm.

    More detailed information can be found in course outline PDF verson . Most of the handouts and assignments used in the course may be found in /home/ec/edsha/OS2000/handout.


    Summary of Lecture Notes


    Final Exam: PDF version (Postscript version). If it is hard for you to print, I have prepared 20 hard copies and put them in the bin beside my office door (EC 4.524). You must return your answers by Dec. 4, 5pm to my office. Only hardcopies are accepted; no electronic copies are allowed.

    Handouts


    Welcome to do independent research with me. It will be a fun.

    After you finish this solid OS course, you are able to do research. This is an experience that you have never had before. An Example: A cute multi-thread Java based web camera for multiple clients. (Server is running from 8am to 9pm everyday.) This example gives you research experience on device driver programming, TCP/IP. sockets, Java threads, threads synchonization, client/server, image compression and multimedia programming. Is it fun?

    Some Useful Links and Papers
    Places.GIF




    Revised by Edwin Sha - Aug. 15, 2000.