Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Library (computing) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Security-focused operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Copland (operating system) wikipedia , lookup
Burroughs MCP wikipedia , lookup
Unix security wikipedia , lookup
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. Operating System Definition • Short definition: – a program that manages a computer’s resources and acts as an intermediary between a user and those resources computer user application operating system application user hardware 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 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 – 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. CPU Time Slicing CPU Main Memory Allocate CPU to Process 1 Current Process Allocate CPU to Process 2 Allocate CPU to Process 3 Repeat until all processes have completed. Process 1 Process 2 Process 3 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.