* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Writing Web Pages
Survey
Document related concepts
Transcript
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