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
Operating Systems Certificate Program in Software Development CSE-TC and CSIM, AIT September -- November, 2003 1. Introduction (Chapter 1, S&G) Objectives – introduce Operating System (OS) principles OSes: 1. Intro 1 Contents 1. What is an OS? 2. Some History – early systems, batch systems, multiprogramming, time-sharing, desktop systems 3. Recent Trends – multiprocessor systems, distributed, clustered, real-time, handheld, etc. OSes: 1. Intro 2 1. What is an OS? User 1 User 2 compiler editor ….. ….. User N database Application Programs Operating System Computer Hardware OSes: 1. Intro 3 Features An OS is a program that acts as an intermediary between users and hardware – supports a high-level work environment – makes hardware convenient to use – makes efficient use of hardware OS OSes: 1. Intro design goals are often contradictory continued 4 The OS manages resources – e.g. CPU time, memory, files, I/O devices – avoid bottlenecks – keeps the hardware busy The OS controls – prevents users/programs adversely affecting the hardware or other users – the system should never crash OSes: 1. Intro 5 OS Development OSes: 1. Intro 6 2. Some History 2.1. 2.2. 2.3. 2.4. 2.5. OSes: 1. Intro Early Systems Batch Systems Multiprogramming Batch Systems Time-Sharing Desktop Systems 7 2.1. Early Systems One person at a contol panel of switches and lights Load libraries/utilities from tape Slow set-up Very costly hardware Read Compute Print Read OSes: 1. Intro Compute Print 8 2.2. Batch Systems Motivation: highly utilise the hardware – dedicated computer operator – card/tapes handed to the operator Similar jobs were run in sequence (batched) – no machine/user interaction – errors were recorded as a printed core dump – very slow turnaround time (for users) OSes: 1. Intro 9 Resident Monitor For automatic job sequencing Loader Job Sequencing Control Card Interpreter User Program Area monitor OSes: 1. Intro 10 Control Cards User’s cards included control cards to guide the monitor. $END data cards $RUN program cards $JOB OSes: 1. Intro 11 Off-line I/O Processing On-line: Card Reader CPU Line Printer Off-line: CPU Card Reader OSes: 1. Intro tape drives Line Printer tape drives 12 Spooling Job pool on disk, scheduled by OS disk I/O Card Reader OSes: 1. Intro CPU Line Printer 13 Benefit Of Spooling Read OSes: 1. Intro Compute Print Read Compute Print Read Compute Print 14 2.3. Multiprogrammed Batch Systems Have several jobs in memory at a time. Multiprogramming allows the OS to switch to executing another job when the current one is suspended (e.g. waiting for user input). The OS may also swap jobs to/from disk. Requires OSes: 1. Intro CPU scheduling 15 2.4. Time-Sharing Multiple jobs are executed by the CPU switching between them – as in multiprogramming Difference is speed; the switching is so fast that users feel that their programs are always running. Executing OSes: 1. Intro program is called a process. continued 16 Virtual memory – hides the distinction between memory and disk Disk management Concurrent execution requires fancy scheduling schemes Job synchronisation, communication, deadlock avoidance OSes: 1. Intro 17 2.5. Desktop Systems Personal computers – computer system dedicated to a single user I/O devices – keyboards, mice, display screens, small printers User OSes: 1. Intro convenience and responsiveness continued 18 Can adopt technology developed for larger operating system – sole use means less need for protection features May run several different types of operating systems – e.g. Windows, MacOS, UNIX, Linux OSes: 1. Intro 19 3. Recent Trends 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. OSes: 1. Intro Multiprocessor Systems Distributed Systems Clustered Systems Real-time Systems Handheld Systems Computing Environments 20 3.1. Multiprocessor Systems A system with more than 1 processor, but perhaps sharing computer bus, clock, memory and devices – tightly coupled systems n OSes: 1. Intro processes = n times speed-up continued 21 Benefits: – save money on hardware – increased reliability (graceful degradation) Two main types: – symmetric multiprocessing systems – asymmetric multiprocessing systems OSes: 1. Intro 22 3.1.1. Symmetric Multiprocessing Each processor runs an identical copy of the OS Often in a master-slave configuration Jobs/resources are shared dynamically for better load balancing OSes: 1. Intro 23 3.1.2. Asymmetric Multiprocessing Have – e.g. OSes: 1. Intro dedicated processors for specific tasks remote job entry (RJE), I/O terminal buffering 24 3.2. Distributed Systems “The OSes: 1. Intro system is the network.” continued 25 Multiprocessors, but not sharing memory, clock, etc. – may be geographically separated – loosely coupled systems Benefits: – resource sharing, speed-up, reliability – matches modern business practise OSes: 1. Intro 26 3.3. Clustered Systems Clustering allows two or more systems to share storage. – provides high reliability Asymmetric clustering – one host runs the application while others standby Symmetric clustering – all hosts run the application OSes: 1. Intro 27 3.4. Real-time Systems There are time constraints placed on operations/data flows which must be met. Uses: – scientific experiments, medicine, industrial control systems, home appliances, weapons Two OSes: 1. Intro types: – hard real-time systems – soft real-time systems 28 3.4.1. Hard Real-time Systems Critical tasks are guaranteed to be done on time. Many useful hardware/OS features are missing since they make the time constraints too hard to satisfy – e.g. no secondary storage OSes: 1. Intro 29 3.4.2. Soft Real-time Systems Critical tasks are given priority, but their time constraints may not be met. Weaker, but can be used alongside typical OS features Applications: VR, OSes: 1. Intro multimedia 30 3.5. Handheld Systems Personal Digital Assistants (PDAs) Cellular telephones Issues: – limited memory – slow processors – small display screens OSes: 1. Intro 31 3.6. Computing Environments Changing environments are leading to changes in OS requirements – – – – OSes: 1. Intro traditional hand-held, mobile Web-based embedded, dedicated processors 32