10-04-2017, 09:37 PM
CSE 380 Computer Operating Systems
[attachment=18382]
Resource Abstraction and Sharing
It is an extended machine providing abstraction of the hardware
Hides the messy details which must be performed
Presents user with a virtual machine, easier to use
It is a resource manager
Time on CPU is shared among multiple users/programs
Space in memory and on disks is shared among multiple users/programs
Timesharing
At any point, only one program can run on CPU
Context switch: changing the program that has CPU
When to switch (goal: to optimize the CPU usage)
When a program terminates
When a program has run long enough
When a program executes a system call or waits for I/O
When an external interrupt arrives (e.g. mouse click)
OS must do all the book-keeping necessary for context switch, with minimum number of instructions
Challenges in OS
Performance is critical
How to reduce the memory and time overhead due to OS
Synchronization and deadlocks due to shared resources
Scheduling of multiple programs
Fairness, response time, real-time applications
Memory management
Virtual memory, paging, segmentation
Security and Protection
Authorization, authentication, viruses
Interrupt management and error handling
Marketability and backward compatibility
How does OS work?
OS gets control of the CPU repeatedly
Let s look at two typical scenarios to get a glimpse of how things work (we will get a more accurate and detailed understanding as the course progresses)
Basic knowledge about computer architecture is essential ! (Read Sec 1.4 to review CSE 240)