Upload
rafi-dar
View
236
Download
1
Embed Size (px)
DESCRIPTION
What is an Operating System? What are the components of an OS? What does an OS do? Short History of OSs Different types of OSs
Citation preview
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 1
Chapter 1: IntroductionChapter 1: Introduction
What is an Operating System?What are the components of an OS?What does an OS do?Short History of OSsDifferent types of OSs
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 2
What is an Operating System?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 and make solving user
problems easier. Make the computer system convenient to use.
Use the computer hardware in an efficient manner.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 3
Computer System ComponentsComputer System Components
1.Hardware – provides basic computing resources (CPU, memory, I/O devices).
2.Operating system – controls and coordinates the use of the hardware among the various application programs for the various users.
3.Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs).
4.Users - (people, machines, other computers).
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 4
Abstract View of System ComponentsAbstract View of System Components
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 5
System ComponentsSystem Components
The operating system run in kernel or supervisor mode - protected from user tamperingCompilers, editors and application programs run in user mode
Instruction Set Architecture
Physical devices grouped together to form functional units
Integrated circuit chips, power supply, CRT
Hides the complexity of machine language from programmer
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 6
Functions of an OSFunctions of an OS
User Environment - OS layer transforms bare hardware machine into higher level abstractions Execution environment - process management,
file manipulation, interrupt handling, I/O operations, language.
Error detection and handling Protection and security Fault tolerance and failure recovery
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 7
Functions of an OSFunctions of an OS
Resource Management Time management
CPU and disk transfer scheduling Space management
main and secondary storage allocation Synchronization and deadlock handling
IPC, critical section, coordination Accounting and status information
resource usage tracking
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 8
History of Operating SystemsHistory of Operating Systems
Pre-electronic Charles Babbage (1792-1871) “analytical
machine” Purely mechanical, failed because technology
could not produce the required wheels, cog, gears to the required precision
First generation 1945 - 1955 Aiken, von Neumann, Eckert, Mauchley and Zuse programming done via plugboards, no OS or
language vacuum tubes
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 9
History of Operating SystemsHistory of Operating SystemsSecond generation 1955 - 1965 transistors more reliable than vacuum tubes jobs read in via punched cards batch systems introduced to reduce wasted
time in setting up and running jobs
•bring cards to 1401•read cards to tape offline•put tape on 7094 which does computing•put tape on 1401 which prints output offline
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 10
History of Operating SystemsHistory of Operating SystemsThird generation 1965 – 1980 IBM System/360: combine business and scientific computers into
one machine Computer will grow with client(memory, processor speed, number
of I/O devices etc.) Forerunner of 370, 4300, 3080 and 3090 Use of integrated circuits provided major price/performance
advantage over 2nd generation OS/360 had to meet conflicting needs which resulted in enormous
and complex operating system Introduced multiprogramming to make most efficient use of CPU
Spooling: read jobs from cards to disk ready to load into memory and queue output to disk for printing
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 11
History of Operating SystemsHistory of Operating SystemsIn batch, total time from submitting a job to getting the output was a few hours, very unproductive for programmersTimesharing (a variant of multiprogramming) provides for user interaction with the computer system On-line communication between the user and the system is
provided; when the operating system finishes the execution of one command, it seeks the next “control statement” from the user’s keyboard.
The CPU is multiplexed among several jobs that are kept in memory and on disk (the CPU is allocated to a job only if the job is in memory).
takes advantage of the idle CPU switch occurs so frequently that the user can interact with each program
as it is running each command is short so only a little CPU time is needed for each user each user is given the impression that the entire system is dedicated to
his use Batch jobs could be running in background CTSS (Compatible Time Sharing System - MIT) was first success
Minicomputers and the development of UNIX UNIX was stripped down, one user version of MULTICS (extension of CTSS) Numerous variants : System V, BSD, POSIX (IEEE), MINIX, Linux
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 12
History of Operating SystemsHistory of Operating SystemsFourth generation 1980 – present Large Scale Integrated chips personal computers 1974: Intel developed 8080 chip (8 bit CPU), Gary Kildall wrote
CP/M OS (Intel gave him the rights) and formed Digital Research Early 1980s: IBM designed IBM PC. Bill Gates had BASIC
interpreter and recommended DR as an OS. Kildall sent subordinate to meeting and refused to sign non-disclosure. Gates was asked for an OS, bought DOS from Seattle Computer Products and offered IBM DOS/BASIC package. Renamed it MS -DOS
Early Windows versions ran on top of DOS, Windows 95 and beyond and NT were full fledged OSs
Network Operating Systems (user sees multiple computers) Distributed Operating Systems (user sees one processor)
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 13
Mainframe SystemsMainframe SystemsFirst computers used to solve many commercial and scientific applications evolved from batch time shared systems
Reduce setup time by batching similar jobs serial card readers were initial input device then disks
enabled job scheduling by the operating systemAutomatic job sequencing – automatically transfers control from one job to another. first rudimentary operating system. CPU often idle because of great differences in speed
between mechanical I/O vs. electronic devicesEarly OS called resident monitor initial control in monitor control transfers to job when job completes control transfers pack to monitor eliminated intervention by programmer
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 14
Memory Layout for a Simple Batch SystemMemory Layout for a Simple Batch System
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 15
Multiprogrammed Batch SystemsMultiprogrammed Batch SystemsSeveral jobs from the pool of all submitted jobs are kept in main memory at the same time, and the CPU is multiplexed among them.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 16
OS Features Needed for MultiprogrammingOS Features Needed for Multiprogramming
Why multiprogramming? Increases CPU utilization by trying to always
keep the CPU busy processing some job I/O of one job causes switch to another job
Memory management – the system must allocate the memory to several jobs.CPU scheduling – the system must choose among several jobs ready to run.Allocation of devices.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 17
Desktop SystemsDesktop SystemsPersonal computers – computer system dedicated to a single user.I/O devices – keyboards, mice, display screens, small printers.User convenience and responsiveness.Can adopt technology developed for larger operating systems. Often individuals have sole use of computer and do not need advanced CPU utilization of protection features.May run several different types of operating systems (Windows, MacOS, UNIX, Linux)
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 18
Parallel SystemsParallel SystemsMultiprocessor systems with more than on CPU in close communication.Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory.Advantages of parallel system: Increased throughput with more processors Economical – share peripherals, mass storage,
power etc. as opposed to individual PCs Increased reliability
graceful degradation / fault tolerant failure of one processor will slow down but not halt the
system other processors pick up the slack
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 19
Parallel Systems (Cont.)Parallel Systems (Cont.)
Symmetric multiprocessing (SMP) Each processor runs and
identical copy of the operating system.
Many processes can run at once without performance deterioration.
Most modern operating systems support SMP
Asymmetric multiprocessing Each processor is assigned a specific task; controlling processor
schedules and allocates work to other processors. More common in extremely large systems
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 20
Distributed SystemsDistributed Systems
Distribute the computation among several physical processors.Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines.Advantages of distributed systems. Resource sharing Computation speed up – load sharing Reliability Communications between processors and processes
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 21
Distributed Systems (cont)Distributed Systems (cont)
Requires networking infrastructure. TCP/IP is the most common network protocol
Local area networks (LAN) or Wide area networks (WAN)May be either client-server or peer-to-peer systems.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 22
Real-Time SystemsReal-Time Systems
Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems.Well-defined, fixed time constraints.Hard real-time: Secondary storage limited or absent, data stored in short term
memory, or read-only memory (ROM) Not supported by general-purpose operating systems.
Soft real-time Limited utility in industrial control of robotics Useful in applications (multimedia, virtual reality) requiring
advanced operating-system features.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 23
Handheld SystemsHandheld Systems
Personal Digital Assistants (PDAs)Cellular telephonesIssues: Limited memory (512KB to 8MB) requires
efficient management Slow processors Small display screens.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 24
Migration of Operating-System Concepts and FeaturesMigration of Operating-System Concepts and Features