Welcome to Operating Systems homepage



  • Amnon Meisels (am@cs…)
  • Michael Elhadad (elhadad@cs…)
  • Menachem Adler (adlerm@cs…)


  • Vadim Levit (levitv@cs…)
  • Etai Hazan (etai@cs…)
  • Ehud Barnea (barneaeh@cs…)
  • Gal Lipetz (lipetzg@cs…)
  • Dan Brownstein (danbr@cs…)


  • Gafni Niv (nivga@cs…)
  • Rayk-goldschmi Smadar (raykgold@cs…)

General Syllabus

  1. Introduction: History of operating systems, components of an OS, architecture, I/O interrupts and system calls, OS commands.
  2. Process management: Process states, implementing processes, Threads, Unix implementation of processes.
  3. Scheduling: Paradigms; Unix; Modeling
  4. Synchronization: Synchronization primitives and their equivalence; semaphores; monitors; classical synchronization problems; Deadlocks
  5. Files systems: file system implementation; files operations implementation; buffer management; Directory and space management; Unix file system; Distributed file systems (NFS)
  6. Security: General policies and mechanisms; protection models; authentication.
  7. Distributed systems/Multi-processors: if there is time.

Grade Structure

  • 4 practical assignments, comprising 30% of the final grade.
  • Midterm exam (15% of final grade). May 31, 09:00-11:00, Rooms: 223/90, 224/90, 225/90, 226/90, 227/90, 235/90, 236/90, 237/90, 238/90, 239/90, 240/90, 241/90, 242/90, 243/90, 244/90 & 326/90
  • A Final exam (55% of final grade). A passing grade (>56) in the final exam is required to pass the course.

Recommended reading

  • A. Tanenbaum : Modern Operating Systems, (3rd ed.), Prentice-Hall, 2008.
  • A. Silbetschatz et.al. : Operating Systems Concepts (7th ed), Addison Wesley, 2004.
  • G. Nutt : Operating Systems (a modern perspective) (2nd ed), Addison Wesley, 1999.
  • Mark Mitchell, Jeffrey Oldham, and Alex Samuel: Advanced Linux Programming, New Riders, 2001.
  • Neil Matthew and Richard Stones: Beginning Linux Programming (4th ed), Wrox, 2007.
  • R. Cox, F. Kaashoek and R. Morris: xv6 - a simple, Unix-like teaching operating system, Draft, Sep. 7 2011.
  • Daniel Pierre Bovet, Marco Cesatí: Understanding the Linux Kernel, 2006.

Course policy and important notes

  • All course related issues should be sent to .
    When sending mails to this address please use any one of the following "subject" formats:
    1. "AssignmentX: <your subject>" - for administrative issues regarding assignment X
    2. "Admin: <your subject>" - for administrative issues
    3. "PS: <your subject>" - for practical session related issues
    4. "Course material: <your subject>" - for course material related issues
    Please note that sending mails directly to TAs or with an improper subject may delay our response.
  • Assignments may only be submitted in pairs – no more and no less!
  • A student whose partner is exempted from an assignment must find a different partner to submit with. There will be no exemptions due to partner issues.
  • Extensions are naturally applied to pairs.
  • Frontal checking is our means of assessing students’ understanding. Students must come prepared to a frontal check and assume the grader may ask anything. Failure to explain parts of the assignment, code, algorithm, etc. will result in lost points. COME PREPARED.
  • Failure to attend the frontal checking session or registering to one will result in a grade of zero (no matter how well your code actually works).