Welcome to Operating Systems homepage



  • Danny Hendler (hendlerd@cs…)
  • Roie Zivan (zivanr@bgu…)


  • Amir Menczel (menczel@cs…) [Please send me an e-mail if you want to meet me at my office hours]
  • Dolev Pomeranz (dolevp@cs…)
  • Ilya Mirsky (mirskyil@cs…)
  • Alon Grubshtein (alongrub@cs…)


  • Eran Friedman (eranfrie@cs…)
  • Etai Hazan (etai@cs…)
  • Gal Lipetz (lipetzg@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).
  • 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 os.cs.bgu@gmail.com.
    When sending mails to this address please use any one of the following "subject" formats:
    1. "AssignmentX: <your subject>" - for 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).