View
1
Download
0
Category
Preview:
Citation preview
1. Introduction
Yoonjoong KimCollege of Engineering Hanbat University
Operating System
Contents
} What is an Operating System?} Computer System:
} Computer System Components : 하드웨어, 운영체제, 응용프로그램, 사용자
} 하드웨어,
} Operating System
} Application program
} Operating System} Operating System Definition, System Software layer
} Mainframe Systems} Desktop Systems} Multiprocessor Systems} Distributed Systems} Clustered System} Real-Time Systems} Handheld Systems} Computing Environments
2
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
3
Operating System
Computer System(1)} Computer System Components
} Hardware – provides basic computing resources(CPU, memory, I/O devices)
} Operating system – controls and coordinates the use of the hardware among the various application programs for the various users
} 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)
4
Operating System
Computer System(2)} Abstract View of System Components
5
Operating System
Computer System(3)
6
} Abstract View of System Components
하드웨어
운영체제
응용프로그램
사용자
Operating System
Computer System(4)
7
} 하드웨어
Input device
CPU
Main memory
Secondary storage
Output device
Operating System
Computer System(5)} 하드웨어구성요소
} 중앙처리장치 (central processing unit)} 컴퓨터의두뇌 : 데이터연산, 논리연산 (ALU), 제어(control Unit)} 레지스터 (register)} x86, ARM, PPC, Sparc, Alpha, MIPS, SH4, XScale,
} 메인메모리 (memory) : 휘발성} 메모리셀 : 메모리내의개별적인저장공간} 바이트(byte)와비트(bit)} Address è Memory è Data
} 저장장치 (storage device) : 비휘발성} 디스크, CD-ROM, 플로피, Flash Memory(NOR, NAND 등)
} 입출력장치} 입력장치 (input device) : 키보드, 마우스, Key Pad, Touch Screen} 출력장치 (output device) : 모니터, 프린터, LCD
} 통신장치} 모뎀(modem), 이더넷(Ethernet), IrDA, CDMA, Bluetooth
8
Operating System
Computer System(6)} 운영체제} 응용프로그램
} 사용자의특정목적을달성하게하는소프트웨어} 워드프로세서, 게임소프트웨어, 통신프로그램
} 데이터베이스} 프로그램언어, 컴파일러
9
Operating System
Operating System(1)} Operation System Definition
} Resource manager– manages and allocates resources} Abstraction} Sharing
¨ Time multiplexing¨ Space multiplexing
} Protection} Fairness} Performance
} Control program –} Provide the program execution environment} 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)
10
Resources
- CPU- Memory- I/O devices- ...
Operating System
Operating System(3)} System Software Layer
11
Computer System Architecture
Operating System (Kernel)
Software Development Environment(compilers, loaders, editors, utilities command interpreter,
libraries)
User applications
Middlewares
Operating System
Mainframe Systems(1)} 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} When job completes control transfers pack to monitor
12
Operating System
Mainframe Systems(2)} Memory Layout for a
Simple Batch System} Multi-programmed Batch
Systems} Several jobs are kept in
main memory at the same time, and the CPU is multiplexed among them
13
Operating System
Multiprogramming} OS Features Needed for multiprogramming
} I/O routine supplied by the system} 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
14
Operating System
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)
} 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
15
Operating System
Terminology} Batch, Multiprogramming, Time-haring(or Multitasking)
} von Neumann architecture
} Job scheduling vs. CPU scheduling
} Job, Task, Process
} Concurrent, Simultaneous, Parallel
16
Operating System
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 system
} 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)
17
Operating System
Parallel Systems(Multiprocessor System)} Multiprocessor systems with more than one 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} Economical} Increased reliability
} graceful degradation} fail-soft systems (fault-tolerant systems)
} Cf) Co-processor or controller
18
Operating System
Parallel Systems (Cont’d)} Multiprocessor System의종류
} A) 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
19
Operating System
Parallel Systems (Cont’d)} B) Asymmetric multiprocessing
} Each processor is assigned a specific task; master processor schedules and allocated work to slave processors
} More common in extremely large systems
20
Operating System
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
21
Operating System
Distributed Systems (Cont’d)} Requires networking infrastructure} Local area networks (LAN) or Wide area networks
(WAN)} 분산시스템의종류
} client-server system} Server는 client의 요청을받아처리한다.
} peer-to-peer system} Loosely coupled system(distributed system) 주로웹상에서시스템간정보공유
22
Operating System
} General Structure of Client-Server
23
Operating System
Clustered Systems} 특징
} 병렬시스템과같이 Cluster system도여러개의 CPU를모아사용한다.} 서로결합된개인용컴퓨터시스템으로구성된다.} Clustering allows two or more systems to share storage} Provides high reliability (or high availability)
} 종류} Asymmetric clustering:
} one server(active server) runs the application while other servers standby( hot standby server)} Active server에서문제가발생하면 Hot server가 active server가된다.
} Symmetric clustering:} all N hosts are running the application and monitor each other} 가용자원을모두사용한다.} DLM(distributed lock manager) : 분산파일시스템은 access control을제공하고, 충돌방지를위한
locking기능을제해야한다.} SAN(storage area network) : SAN은다수의호스트가복합스토리지유닛의접근을가능하게해준다.
} Cf) Grid Computing
24
Operating System
Real-Time Systems} Real time system definition
} 실시간시스템은프로세서동작또는데이터흐름에대한엄격한시간제한을가지고있다.
} Well-defined fixed-time constraints} 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
25
Operating System
Real-Time Systems (Cont’d)} Hard real-time:
} Deadline 이전에반드시결과값을돌려줘야한다. 이후의값은유효하지않다.
} 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} Deadline이지나도값을유효성은떨어지지만무효는아니다.} Limited utility in industrial control of robotics} Useful in applications (multimedia, virtual reality) requiring
advanced operating system features
26
Operating System
Handheld Systems} Personal Digital Assistants (PDAs)} Cellular telephones} Issues:
} Limited memory} Slow processors} Small display screens
27
Operating System
Migration of Operating-System Concepts and Features
28
Operating System
Computing Environments} Traditional computing
} Web-based computing
} Embedded computing
29
Operating System
1st Generation (1945-55)} Vacuum Tubes and Plugboards
} No OS
} No Programming Languages
} No Assembly Languages
30
Operating System
2nd Generation (1955-65)
} Transistors and Mainframes} Batch systems
} One job at a time} Card readers, tape drives, line printers} OS is always resident in memory and
merely transfers a control.} CPU is underutilized due to the bottleneck
in I/O
31
Operating System
3rd Generation (1965-80)} Integrated Circuits (Ics)} Architectural Advances
} Using ICs: better price/performance} Disk drives} On-line terminals} The notion of “Computer Architecture”
} IBM System/360 family
32
Operating System
3rd Generation (1965-80)
} Multiprogrammed Systems} Increase CPU utilization} OS features
} Job scheduling} Memory management} CPU scheduling} Protection
} Spooling (Simultaneous} Peripheral Operation On-Line)
33
Operating System
3rd Generation (1965-80)} Time-sharing Systems
} Improve response time} OS features
} Swapping} Virtual memory} File system} Sophisticated CPU scheduling} Synchronization} Interprocess communication} Interactive shell} More protection, …
34
Operating System
4th Generation (1980-)} LSIs & VLSIs
} Architectural Advances} Microprocessors: smaller and faster} Storages: larger and faster} Personal computers} CPU work is offloaded to I/O devices
} Modern OS Features} GUI (Graphical User Interface)} Multimedia} Internet & Web} Networked / Distributed, etc.
35
Operating System
OS HistoryA long time ago,
in a galaxy far, far away, …
} IBM OS/360: Multiprogramming} MIT CTSS (Compatible Time-Sharing System)} MIT, Bell Labs, GE, MULTICS} (MULTiplexed Information and Computing Service)
And UNIX was born in 1969
36
Operating System
OS History: UNIX (1969-85)
37
Operating System
OS History: UNIX (1985-96)
38
Operating System
OS History: UNIX (Current)} Sun Solaris} HP HP-UX} IBM AIX} Caldera (SCO) Unixware} Compaq (Digital) Tru64} SGI Irix} Linux, FreeBSD, NetBSD} Apple Mac OS X, etc.
} Cf) POSIX
39
Operating System
OS History: Windows & Linux
40
Operating System
OS Classification (1)
MS-DOS Windows 98 Windows 2000 Linux
Multi-user X X O O
Multi-taskMulti-process
X O O O
Multi-processor X X O O
Multi-thread X O O O
41
Operating System
OS Classification (2)
} Monolithic Kernel} Function calls} Unixware, Solaris, AIX, HP-UX, Linux,
etc.
} Micro kernel} Multiple servers} Message passing} Mach, Chorus, Linux mk, etc.
42
Operating System
OS Classification (3)} Mainframe systems
} CTS, MULTICS, IBM MVS, VM} Desktop systems
} DOS, Windows, MacOS, Unix/Linux} Multiprocessor systems} Cluster systems} Distributed systems
} Amoeba(Vrije Univ.), Locus(UCLA), Grapevine(Xerox), V(Stanford), Eden(U. of Washington), Chorus/Nucleus(Inria)
} Embedded systems} Vertex, pSOS, VxWorks, OSE, Windows-CE, Embedded Linux} Company-proprietary OS (Cisco, Qualcomm, Palm, Cellvic)
} Real-time systems} Real-Time Linux, Spring(U. of Massachusetts), HARTS(U. of Michigan),
MARUTI(U. of Maryland)
43
Recommended