250 likes | 480 Views
Computer Systems Architecture CMT603 Operating Systems. Ian Cooper i.m.cooper@cs.cf.ac.uk. 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. MSc Computing
E N D
Computer Systems ArchitectureCMT603Operating Systems Ian Cooper i.m.cooper@cs.cf.ac.uk
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 • MSc Computing • Writing up PhD • Nortel • Holliday group / iTouch • Allied Telesyn Research
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!!!!!
Examples of Operating Systems. What is an operating system? OSX Windows Mobile Linux Mac OS Android (open handset alliance) Unix Windows XP Windows 95 MS-DOS 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 Implementation Instruction Set Architecture Micro architecture
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 User Space Applications OS Layer System Calls 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 Kernel Space Layer 3 Layer 2 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 ComputerHardware
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???