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