* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating Systems - Cardiff University
Plan 9 from Bell Labs wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Mobile operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Unix security wikipedia , lookup
Spring (operating system) wikipedia , lookup
Process management (computing) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Computer Systems Architecture CMT603 Operating Systems Ian Cooper [email protected] Plan for This session • • • • Introduce myself Talk about the style of the lectures Brief introduction to Operating Systems Cover a few basic concepts. Ian Cooper •BEng Electronics •Nortel •Holliday group / iTouch •Allied Telesyn Research • MSc Computing • Writing up PhD The Course Info • • • • INTERACTIVE!!!!! 11 hours + 1 revision lecture Example Exercises Reading – Modern Operating Systems (second edition). Andrew S. Tanenbaum. Prentice Hall, 2001. – Operating System Concepts. Seventh edition. Silberschatz Galvin, Addison-Wesley, 2005. • INTERACTIVE!!!!! What is an operating system? Examples of Operating Systems. OSX Windows Mobile Mac OS Linux Android (open handset alliance) Unix Windows XP MS-DOS Windows 95 Windows Vista Symbian Acorn MOS What is an operating system? • What does it do? • • • • • • • Process Management Memory management I/O management Support functions Networking User interface Security Where does it fit in? Application Program Instruction Level Operating System Instruction Set Architecture Micro architecture Implementation Operating System Goals • • • • • • • • Efficiency Throughput Functionality Robustness Extensibility Portability Security Interactivity Course Contents. • • • • • • Introduction Processes and Threads Scheduling Critical Section Algorithms Semaphores Memory – Contiguous memory.. Fixed/Variable partition – Non Contiguous memory.. Paging/Segmentation – Virtual memory • File Systems Concepts • Architectures of Operating Systems – – – – – Monolithic Layered Kernel Microkernel Virtual Machines • Increasing Efficiency – Multi program – Multi User Monolithic Architecture • Monolithic Architecture—the early operating systems – Every component is contained in the kernel, can directly communicate with other components Monolithic Architecture Applications User Space System Calls OS Layer Computer Hardware Monolithic Architecture • Pros – Highly efficient – by direct intercommunication between components • Cons – difficult to develop – difficult to isolate the source of bugs and other errors • particularly susceptible to damage from malicious code Layered Architecture • Layered OS structure: – Group components that perform similar functions into layers. Each layer communicates only with neighbour layer User Space Layer 3 Layer 2 Kernel Space Layer 1 Layer 0 Computer Hardware Layered Architecture • Pros – It provides good modularity – helps simplify the development of an OS • Cons – Less efficient – Complex design – each functionality has to be divided into parts to fit into different layers. Kernel Based Architecture • It separates the machine-independent parts from the machine-dependent parts – Kernel is machine-dependent. It contains the basic component of OS. User Space Operating System OS Kernel Computer Hardware Kernel Based Architecture • Pros – Better portability—Kernel encloses all the machine-dependent code • Cons – Suffers similar problem as in layered OSs Microkernel Based Architecture • As OS expanded, the kernel became large and difficult to manage – Microkernel approach removes all nonessential components from the kernel and implementing them as system and user-level programs. • Result: A smaller kernel Microkernel Based Architecture User Space Operating System Microkernel Computer Hardware Microkernel Based Architecture • Pros – Enhance portability, extensibility, reliability and security • Cons – Less efficient—increased system function overhead Virtual Machines • Can create the illusion that there are more than one separate machines. User Space User Space User Space Kernel Kernel VM1 VM1 Virtual machine implementation Host Operating System Computer Hardware Increasing Efficiency • Multiprogramming – Try to Keep the CPU busy – CPU operations take less time than I/O – When a process waits for I/O operation, OS swaps to another process. Operating System Job 1 Job 2 Job 3 Multi User – Logical extension of Multiprogramming Summary • • • • • What an Operating System does Where an Operating System fits in How an Operating System works Architectures of Operating Systems Multi [user, program] Question… (to think about, you don’t have to go and research this. (yet)) • If the OS is a multiprogramming OS, and the OS chooses a job for execution, this job will be active in the CPU. This means that (in a single processor computer) the OS is not running. • How does the OS retain control over the computer resources in order to swap the jobs???