Published on February 27, 2014
Chapter 1: Introduction 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 Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 1 Slide
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 2 Slide
Computer 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 3 Slide
Abstract View of System Components Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 4 Slide
System Components Hides the complexity of machine language from programmer Instruction Set Architecture Physical devices grouped together to form functional units Integrated circuit chips, power supply, CRT The operating system run in kernel or supervisor mode - protected from user tampering Compilers, editors and application programs run in user mode Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 5 Slide
Functions 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 6 Slide
Functions of an OS Resource Management Time management CPU and disk transfer scheduling Space management main Synchronization and deadlock handling IPC, and secondary storage allocation critical section, coordination Accounting and status information resource usage tracking Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 7 Slide
History 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 8 Slide
History of Operating Systems Second 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 9 Slide
History of Operating Systems Third 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 10 Slide
History of Operating Systems In batch, total time from submitting a job to getting the output was a few hours, very unproductive for programmers Timesharing (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 11 Slide
History of Operating Systems Fourth 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 12 Slide
Mainframe Systems First 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 system Automatic 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 devices Early 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 13 Slide
Memory Layout for a Simple Batch System Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 14 Slide
Multiprogrammed Batch Systems Several 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 15 Slide
OS 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 16 Slide
Desktop Systems Personal 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 17 Slide
Parallel Systems Multiprocessor 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 18 Slide
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 19 Slide
Distributed 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 20 Slide
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 21 Slide
Real-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 22 Slide
Handheld Systems Personal Digital Assistants (PDAs) Cellular telephones Issues: Limited memory (512KB to 8MB) requires efficient management Slow processors Small display screens. Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 23 Slide
Migration of Operating-System Concepts and Features Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 24 Slide
Introduction to Operating Systems Operating System Structure ... Chapter 1: Introduction What Operating Systems Do
An operating system ... The introduction of the Intel ... by passing requests to the operating system kernel. Many operating systems support one or ...
Operating System Design/Introduction. ... Operating Systems generally consist of several parts. Principal parts are. The Kernel, which is the "core" of the OS.
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
Chapter 1 Introduction to System Programming UNIX is basically a simple operating system, ... 1.1 Introduction
The following items are new or have changed for operating system deployment in Configuration ... You can configure the Apply Operating ...
CSE 380 Final Exam 1 CSE 380: Introduction to Operating Systems Final Exam 17 December 2003 There are six problems and each problem is worth 20 points.
Introduction 1. Why this guide? Many people still believe that learning Linux is difficult, or that only experts can understand how a Linux system works.