The Hebrew University Logo
Syllabus OPERATING SYSTEMS - 67808
òáøéú
Print
 
close window close
PDF version
Last update 12-04-2020
HU Credits: 4

Degree/Cycle: 1st degree (Bachelor)

Responsible Department: Computer Sciences

Semester: 2nd Semester

Teaching Languages: Hebrew

Campus: E. Safra

Course/Module Coordinator: Prof. David Hay

Coordinator Email: David.Hay@mail.huji.ac.il

Coordinator Office Hours: Coordinate in advance

Teaching Staff:
Prof David Hay,
Mr. Idan Refaeli,
Mr. ron.abutbul@mai ron.abutbul@mail.huj,
Mr. Ihab,
Dr. Rosenshif Neta,
Mr.

Course/Module description:
The course provides a detailed overview of what operating systems do and how they work: their role, hardware support, performance as a function of the workload, processes and process scheduling, process interactions, address space, memory management and paging, file abstraction, inter-process communication, and distributed systems.

Course/Module aims:
Expose students to the fundamentals principles in Operating Systems, the challenges and the techniques used to achieve the desired performance.

Learning outcomes - On successful completion of this module, students should be able to:
Better understand how operating systems work and why they operate the way they do. Gain practical experience in tackling some key challenges in operating systems’ design and functionality.

Attendance requirements(%):
0

Teaching arrangement and method of instruction: Frontal lectures followed by in-depth study in smaller groups and by practical exercises in solving some key issues in OS.

Course/Module Content:
Syllabus:

1. Introduction -- The role of an operating system -- Hardware support for the operating system

2. Performance evaluation -- The effect of workloads on operating systems performance -- basic notions in queuing analysis

3. Processes -- The process abstraction -- Threads -- Multiprogramming -- Process and thread scheduling

4. Concurrency -- Mutual exclusion -- Semaphores and locks -- Deadlock prevention and avoidance

5. Memory management -- Virtual memory and address mapping -- Segmentation and contiguous allocation -- Demand paging -- Page replacement algorithms -- Caching

6. File systems -- The file abstraction -- File naming and directories -- Access permissions and protection -- Data access -- File layout on disk

7. Communication -- Interfaces for inter-process communication -- Distributed system structures and client-server systems -- Communication protocols -- Basic notions of TCP/IP -- Distributed systems services

8. Advanced topics in OS (such as virtualization, multicore, cloud) if time permits

Required Reading:
NA

Additional Reading Material:
1. Stallings / Operating systems
2. Silberschatz, Galvin, and Gagne / Operating Systems Concepts
3. Tanenbaum / Modern Operating Systems
4. Bach / The Design of the UNIX Operating System
5. Feitelson / Operating Systems Notes (class notes)

Course/Module evaluation:
End of year written/oral examination 65 %
Presentation 0 %
Participation in Tutorials 0 %
Project work 0 %
Assignments 35 %
Reports 0 %
Research project 0 %
Quizzes 0 %
Other 0 %

Additional information:
There will be a bonus on attending Zoom meetings.

In addition, there might be changes of the course grade policy due to COVID-19.

Please refer to the course guidelines in the website for exact details.
 
Students needing academic accommodations based on a disability should contact the Center for Diagnosis and Support of Students with Learning Disabilities, or the Office for Students with Disabilities, as early as possible, to discuss and coordinate accommodations, based on relevant documentation.
For further information, please visit the site of the Dean of Students Office.
Print