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 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.
|