Welcome to Operating Systems homepage



  • Danny Hendler (hendlerd@cs…)
  • Menachem Adler (adlerm@cs…)
  • Amnon Meisels (am@cs.bgu…)


  • Vadim Levit (levitv@cs…)
  • Dan Brownstein (danbr@cs…)
  • Hodai Goldman (hodaig@post.bgu.ac.il)
  • Matan Drory (matandro@cs…)
  • Natan Elul (eluln@cs…)
  • Benny Lutati (benny.lutati@gmail.com)

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) - Friday, May 27, 9:00-11:00.
  • 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 or 4th ed.), Prentice-Hall, 2008/2015.
  • A. Silbetschatz et.al. : Operating Systems Concepts (8th ed), Addison Wesley, 2009.
  • 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. 3 2014.
  • 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.
  • Late submission
    • 5 points penalty for each day.
    • No later then the beginning of the frontal checks.
  • 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 the students’ understanding. Students must come prepared for 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. PLEASE 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).