Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1: Introduction

Similar presentations


Presentation on theme: "Chapter 1: Introduction"— Presentation transcript:

1 Chapter 1: Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Feature Migration Computing Environments

2 What is an Operating System?
No universally accepted definition 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 How OS have been developed? What OS do? OS history overview

3 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) Users (people, machines, other computers) See figure in the next slide

4 Abstract View of System Components

5 Operating System Definitions
Resource allocator – manages and allocates resources Control program – controls the execution of user programs and operations of I/O devices Kernel – the one program running at all times (all else being application programs) If two computer system installed same OS, they look like same to users. (even though the hardware is different) If two same computers installed different OS, they look like different to users. – users depend on OS, not H/W.

6 Computer Startup bootstrap program is loaded at power-up or reboot Typically stored in ROM or EPROM, generally known as firmware Initializes all aspects of system Loads operating system kernel and starts execution

7 Computer System Organization
Computer-system operation One or more CPUs, device controllers connect through common bus providing access to shared memory Concurrent execution of CPUs and devices competing for memory cycles

8 Computer-System Operation
I/O devices and the CPU can execute concurrently. Each device controller is in charge of a particular device type. Each device controller has a local buffer. CPU moves data from/to main memory to/from local buffers I/O is from the device to local buffer of controller. Device controller informs CPU that it has finished its operation by causing an interrupt.

9 Common Functions of Interrupts
Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines. Interrupt architecture must save the address of the interrupted instruction. Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt. A trap is a software-generated interrupt caused either by an error or a user request. An operating system is interrupt driven.

10 Interrupt Handling polling vectored interrupt system
The operating system preserves the state of the CPU by storing registers and the program counter. Determines which type of interrupt has occurred: polling vectored interrupt system Separate segments of code determine what action should be taken for each type of interrupt

11 Interrupt Timeline

12 Direct Memory Access Structure
Used for high-speed I/O devices able to transmit information at close to memory speeds. Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention. Only one interrupt is generated per block, rather than the one interrupt per byte. Cycle stealing: DMA has higher priority to access bus than CPU. CPU Mem IO device

13 Mainframe Systems (computer history)
Programmer hand in card deck to computer operator. Operator setup the resource before program run. Manual setup between jobs is time consuming. Reduce setup time by batching similar jobs Automatic job sequencing – automatically transfers control from one job to another. First rudimentary operating system Resident monitor initial control in monitor control transfers to job, then run the job. when job completes control transfers back to monitor

14 Main frame computer console 항온항습기
1. 전산실에 작업용 카드텍을 전달(전산실 창문) – 2. 오퍼레이터가 작업순서에 따라 카드리더에 올려놓아 처리 – 3. 실행 결과물 (프린트+카드덱) 반환 (전산실 창문)

15 Memory Layout for a Simple Batch System

16 Multiprogrammed Batch Systems
- Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. If the running job waits for I/O, the CPU is switched to another job. (CPU is never idle)

17 OS Features Needed for Multiprogramming
I/O routine supplied by the system (not by programmer) Memory management – the system must allocate the memory to several jobs (memory allocation) CPU scheduling – the system must choose among several jobs ready to run. Allocation of devices: some devices can’t be shared. OS can allocate a device(for ex, Magnetic Tape drive) to a user. Those functions are included in OS.

18 Main frame computer console 항온항습기 ………. 70년대 온라인 터미널 사용 시작

19 Time-Sharing Systems–Interactive Computing
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) This system allows many users to share the computer simultaneously. Each user command usually requires little CPU time. A job swapped in and out of memory to the disk 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 On-line system must be available for users to access data and code

20 Time Sharing System Example
dummy terminal

21 Desktop(책상 위) Systems Personal computers (late 1970) – computer system dedicated to a single user I/O devices – keyboards, mice, display screens, small printers Main goal: User convenience and responsiveness Can adopt technology developed for larger operating system (with cheaper hardware cost) 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)

22 Parallel Systems Systems with more than one CPU in close communication
Also known as multiprocessor systems Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory Advantages of parallel system: Increased throughput Economical (a CPU share resources such as PRT, M-board…) Increased reliability (in some cases) graceful degradation (fault tolerant system) fail-soft systems

23 Parallel Systems (Cont.)
Asymmetric multiprocessing Each processor is assigned a specific task; master processor schedules and allocated work to slave processors More common in extremely large systems 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(Solaris, Win 2000, Linux) support SMP

24 Symmetric Multiprocessing Architecture

25 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 Resources Sharing Computation speed up – load sharing Reliability Communications

26 Distributed Systems (cont)
Requires networking infrastructure Local area networks (LAN) or Wide area networks (WAN) May be either client-server or peer-to-peer systems peer-to-peer networking = pruna, donkey

27 General Structure of Client-Server
Print Server, File Server, DB Server, Computing Server ….

28 Peer-to-Peer Computing
Another model of distributed system P2P does not distinguish clients and servers Instead all nodes are considered peers May each act as client, server or both Node must join P2P network Registers its service with central lookup service on network, or Broadcast request for service and respond to requests for service via discovery protocol Examples include Napster

29 Clustered Systems The definition of ‘clustered’ is not concrete.
Have multiple CPUs but different from parallel systems Composed of two or more individual systems coupled together Clustering allows two or more systems to share storage Closely linked via LAN networking Provides high reliability, high speed & large storage. Asymmetric clustering: one server runs the application or applications while other servers standby Symmetric clustering: all N hosts are running the application or applications

30 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 --- c.f. Embedded systems. Ex) automobile-engine fuel-injection system, industrial control system, missile control system. Well-defined fixed-time constraints: processing must be done within the defined constrains. Real-Time systems may be either hard or soft real-time

31 Real-Time Systems (Cont.)
Hard real-time: Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems Soft real-time Limited utility in industrial control of robotics Integrate-able with time-share systems Useful in applications (multimedia, virtual reality) requiring tight response times

32 Handheld Systems Personal Digital Assistants (PDAs, iPod, iPhone)
Cellular telephones Issues: Limited memory Slow processors Small display screens

33 Computing Environments
Traditional computing PCs, Servers, limited remote access Web-Based Computing Client-server and web services, convenient remote access, location-less servers Embedded Computing Some system include CPU & Memory (auto engine controllers, microwaves) Very limited operating system features Little or no user interface, remote access


Download ppt "Chapter 1: Introduction"

Similar presentations


Ads by Google