210 likes | 297 Views
Operating Systems. CS208. What is Operating System?. It is a program . It is the first piece of software to run after the system boots. It coordinates the execution of all other software. It provides various common services needed by users and applications. Computer. Application. User.
E N D
Operating Systems CS208
What is Operating System? • It is a program. • It is the first piece of software to run after the system boots. • It coordinates the execution of all other software. • It provides various common services needed by users and applications.
Computer Application User Operating system User Hardware Application Operating System Definition • Short definition: • a program that manages a computer’s resources and acts as an intermediary between a user and those resources Application
Operating System (OS) Functions • For the User: Provides a user interface to let the user access hardware and software resources. • For the System: Manages all the system tasks and resources to provide security, and fair, efficient use.
Operating System Applications
Operating System Goals • Execute user programs and make solving user problems easier. • Make the computer system convenient to use. • Use the computer hardware in an efficient manner.
Parts of an Operating System • User Interface (Shell) • Menu • Command Language • Graphical User Interface (GUI) • System Security • Login control • Process Management • CPU Scheduler
Parts of an Operating System • Memory Management • Swapper/Pager • Temporarily unused pages are stored on disk (swapped out) • When they are needed again, they are brought back into the memory (swapped in) • Garbage Collection • Resource Management • File Management • Device Management
Operating System Terminology • Kernel • Software component that controls the hardware directly, and implements the core privileged OS functions. • Process • An executing program.
Time Sharing • Allows multiple processes to run on the same computer, seemingly at the same time. • CPU is multiplexed among several processes that are kept in memory (the CPU is allocated to a process only if the process is in memory). • A process is swapped in and out of memory to the disk as needed. • OS must manage process scheduling and provide memory protection to keep one program from crashing the system or corrupting other programs.
CPU Time Slicing for Time Sharing • Only ONE process can be running on the CPU at a time. • Each process is allocated a “slice” of time in the CPU. • When the time runs out, the process is interrupted, and another process is loaded into the CPU. • The act of giving each process a small slice of time to run is called time slicing.
Allocate CPU to Process 1 Allocate CPU to Process 2 Allocate CPU to Process 3 CPU Time Slicing CPU Main Memory Process 1 Current Process Process 2 Process 3 Repeat until all processes have completed.
CPU execution modes • CPUs supports (at least) 2 execution modes: • User mode • The code of the user programs • Kernel (supervisor, privileged, monitor, system) mode • The code of OS • The execution mode is indicated by a bit in the processor status word (PSW) (a register in the CPU)
Protecting Kernel mode • OS code executes in the Kernel mode • Called via interrupts and system calls • Only the OS code is allowed to be executed in the Kernel mode • The user code must never be executed in the Kernel mode • The program counter (PC) is only set to point to the OS code when the CPU goes to the Kernel mode
Interrupts • An interrupt is the way by which the hardware informs the OS of special conditions that require OS attention • Interrupts cause the CPU not to execute the next instruction • Instead, the control is passed to OS
System Calls • A System Call is used by a process to request a service from the OS • Typical system calls • Open/read/write/close the file • Get the current time • Create a new process • Request more memory
Parallel Systems • Multi-processor systems with more than one CPU in close communication. • Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory. • Advantages of parallel system: • Economical • Increased throughput • Increased reliability
Parallel Systems • Symmetric multiprocessing (SMP) • Each processor runs an identical copy of the operating system. • Many processes can run at once without performance deterioration. • Most modern operating systems support SMP • Asymmetric multiprocessing • Each processor is assigned a specific task; master processor schedules and allocates work to slave processors. • More common in extremely large systems
Distributed Systems • Distribute the computation among several physical computers. • Each has its own CPU, local memory, stable storage, I/O paths connecting to the environment • Interconnections • Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines. • Systems cooperate to maintain shared state and coordinate global information
Distributed Systems • Advantages of distributed systems. • Inherent distribution • Speedup - improved performance due to load sharing • Fault tolerance/Reliability • Resource Sharing • Scalability • Flexibility
Distributed Systems • Network Operating System • provides file sharing • provides communication scheme • runs independently from other computers on the network • Distributed Operating System • less autonomy between computers • gives the impression there is a single operating system controlling the network.