200 likes | 408 Views
Lecture 01 Introduction. What is an Operating System? The Evolution of Operating Systems Course Outline. What is an Operating System?. A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute user programs
E N D
Lecture 01Introduction What is an Operating System? The Evolution of Operating Systems Course Outline M.B. Ibáñez
What is an Operating System? • A program that acts as an intermediary between a user of a computer and the computer hardware. • Operating system goals: • Execute user programs • Make solving user problems easier • Allocate resources in a efficient and fair way M.B. Ibáñez
Abstract View of System Components M.B. Ibáñez
Services given by an Operating System • Efficient program execution • Keeping all the devices busy • Good throughput for the user • Access to I/O devices • Controlled access to system and files • Error detection and response • Accounting M.B. Ibáñez
Evolution of Operating SystemsSerial Processing • From the late 1940s to the mid-1950s • There was no Operating System • These machines were run from a console, consisting of display lights, toggle switches, some form of input device, and a printer • Job scheduling • A user used a sign-up sheet to reserve machine time. • How to run a job? • Load the compiler and source program into memory • Save the object program • Loading and linking together the object program and common functions M.B. Ibáñez
Evolution of Operating SystemsSimple Batch Systems • Mid-1950s • The users did not interact directly with the computer system. The operator would sort programs into batches with similar requirements. • The user prepared a job. A Monitor executed the job. $JOB $FTN <FORTRAN instructions> $LOAD $RUN <data> $END M.B. Ibáñez
Interrupt Processing Device Drivers Monitor Job Sequencing Control Language Interpreter Boundary User Program Area Memory Layout For a Resident Monitor M.B. Ibáñez
There are some hardware features desirable • Memory protection the user program should not alter the monitor’s area • Timer to prevent a single job from monopolizing the system • Privileged instructions I/O instructions by example M.B. Ibáñez
Multiprogrammed Batch Systems M.B. Ibáñez
Effects of Multiprogramming Uniprogramming Multiprogramming Processor use 17% 33% Memory use 30% 67% Disk use 33% 67% Printer use 33% 67% Elapsed time 30 min. 15 min. Throughput rate 6 jobs/hr 12 jobs/hr Mean response time 18 min. 10 min. M.B. Ibáñez
Time-sharing systems • 1960s, they become common early 1970s • Multiprogramming allows the processor to handle multiple batch jobs at a time • Main objective: Maximize processor use • Multiprogramming can be used to handle multiple interactive jobs: time -sharing • Main objective: Minimize response time • Processor time is shared among multiple users • Multiple users simultaneously access the system through terminals M.B. Ibáñez
Primitive Time-sharing Operating System M.B. Ibáñez
New problems for the Operating Systems • Multiple jobs are in memory • They must be protected from interfering with each other • Multiple interactive users • The file system must be protected so that only authorized users have access to a particular file • The contention for resources, such as printers and mass storage devices, must be handled M.B. Ibáñez
Developments in hardware Multiprocessor machines Greatly increased machine speed High-speed network attachments Increasing size and variety of memory storage services New applications Multimedia applications Internet and Web access client/server computing Characteristics of Modern Operating Systems.What forces a change? M.B. Ibáñez
Characteristics of Modern Operating Systems Microkernel architecture • A microkerner architecture assigns only a few essential functions to the kernel, such as • Address spaces • Interprocess communication • Basic scheduling • The microkernel approach simplifies implementation, provides flexibility, and is well suited to a distributed environment M.B. Ibáñez
Characteristics of Modern Operating SystemsMultithreading • Multithreading • technique in which a process, executing an application, is divided into threads that can run simultaneously • Thread • dispatchable unit of work • executes sequentially and is interruptable • Process • collection of one or more threads M.B. Ibáñez
Characteristics of Modern Operating Systems Symmetric multiprocessing (SMP) • Systems with multiple multiprocessors • there are multiple processors • these processors share same main memory and I/O facilities • All processors can perform the same functions • Advantages over uniprocessor architectures • Performance • Availability • Incremental growth • Scaling M.B. Ibáñez
Characteristics of Modern Operating Systems Distributed operating systems • provides the illusion of a single main memory • used for distributed file system M.B. Ibáñez
Outline of the Course • Processes • Memory • I/O devices • File systems • Protection and security M.B. Ibáñez