Upload
alexandra-butler
View
240
Download
3
Embed Size (px)
Citation preview
Operating System
운영체제
4190.307
Ⓒ 서울공대 OSLab
Silberschatz, Galvin and Gagne 20021.2Operating System Concepts
• 연구실 : 302 동 324 호
전화 : 880-5583이메일 : [email protected]홈페이지 : dcslab.snu.ac.kr 내 course 참조
Office Hours: 화 , 목 14:30 -15:30 or by appointment
염헌영 ( 컴퓨터공학부 교수 )
Silberschatz, Galvin and Gagne 20021.3Operating System Concepts
담당조교 김형석
302 동 311-2 호실 전화 : 880-1856 이메일 : [email protected] Office Hours: 월 , 수 2-3 시
Silberschatz, Galvin and Gagne 20021.4Operating System Concepts
Course Information 교재 :
(1) 주교재 :Silberschatz, P. Galvin & G. Gagne, Applied Operating System Concepts, First Ed., (Windows XP Update), Wiley. (2) 참고도서 :L. F. Bic & A. Shaw, Operating Systems Principles, Prentice-
Hall.
Silberschatz, Galvin and Gagne 20021.5Operating System Concepts
Course Information
평가중간고사 (4 월 말 예정 ): 30% 기말고사 (6 월 초 예정 ): 60%출석 및 기타 : 10% ( 부정기적 Quiz 등
)
Silberschatz, Galvin and Gagne 20021.6Operating System Concepts
Chapter 1: Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Silberschatz, Galvin and Gagne 20021.7Operating System Concepts
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. Make the computer system convenient to use. Use hardware in an efficient manner.
“Performance” Throughput --- jobs / sec. system oriented Utilization --- % of time busy system oriented Response time --- sec / job user oriented user oriented index conflicts with system oriented indices user (R) 보다 system (U, T) 이 소중하면 batch 로 처리 (eg 동회 ) 어떤 작업은 그 자체가 결정 ( 전화요금 – batch) (Web – 즉시처리 )
UserOSHW
Silberschatz, Galvin and Gagne 20021.8Operating System Concepts
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, games, business programs).
4. Users (people, machines, other computers).
Silberschatz, Galvin and Gagne 20021.9Operating System Concepts
Abstract View of System Components
Silberschatz, Galvin and Gagne 20021.10Operating System Concepts
Operating System Definitions
Definition 1 -- Resource allocator manages and allocates resources.
Definition 2 -- Control program controls the execution of user programs and operations of
I/O devices .
Definition 3 -- Kernel one program running at all times memory resident all the time all else depend on this program.
Silberschatz, Galvin and Gagne 20021.11Operating System Concepts
Mainframe Systems Batch:
동회 인감증명 (system 위주 , batch 처리의 사례 ) 쌓이면 서류창고 복사 수입인지 서류 창고 대장기록 여러 사람 것을 한꺼번에 모아 (batch) 처리 자원의 절약 -- by batching similar jobs
Batch 이전의 초기 컴퓨터 (card reader, 프린터 … ) Load compiler from card reader into main memory Put Bob’s source program (punch card) on card reader Run Compiler, which reads Bob’s program from card reader Generate Bob’s binary to card puncher
Batch 시스템의 등장– 당시에는 user 보다 HW 가 더 중요 (VLSI 이전 ) Compile in batch (many source programs are on card reader)
Automatic job sequencing automatically transfers control from one job to another. First rudimentary operating system.
Job Control -- (load cc, read src, compile, load bin, run, output 처리 … ) Resident monitor
initial control in monitor Job control (load, run) When a user job completes -- control transfers back to monitor
Silberschatz, Galvin and Gagne 20021.12Operating System Concepts
Memory Layout for a Simple Batch System
Monitor
CPU is idle While I/O is in progress
Card Reader
Printer
Silberschatz, Galvin and Gagne 20021.13Operating System Concepts
Multiprogrammed Batch Systems
Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them.
CPU tape …
CPU Network
CPU
Silberschatz, Galvin and Gagne 20021.14Operating System Concepts
OS Features Needed for Multiprogramming
I/O routine supplied by the system.
Memory management – the system must allocate the memory to several jobs. 할당되는 크기 , memory 를 할당하는 순서
CPU scheduling – must choose among several jobs ready to run on CPU 순서
Allocation of devices. 순서
Silberschatz, Galvin and Gagne 20021.15Operating System Concepts
Time-Sharing Systems–Interactive Computin(multi-user system)
-The CPU is multiplexed among several jobs that are kept in memory and on disk (not on card reader ! ) (the CPU is allocated to a job only if the job is in memory).
-A job is swapped in and out of memory to the disk (not card reader). Eg 한글 97, 탐색기 한가해지면 disk 로 (not card reader)
-Users use (keyboard, mouse, CRT screen) to interact with program instead of (card reader, printer, etc). -On-line communication between the user and system is provided
when the operating system finishes the execution of one command, OS asks next “control statement” from the user’s keyboard.
Eg 한글 97, 탐색기 , …. -Response time should be short. (few seconds) Users are given illusion that he is using the whole system.
Silberschatz, Galvin and Gagne 20021.16Operating System Concepts
Desktop (PC) Systems
Personal computers computer system dedicated to a single user.
I/O devices keyboards, mice, display screens, personal printer (from old system’s card readers, shared line printers)
Goal change: From Maximum hardware utilization To User convenience and responsiveness ( 혼자서 HW 다사용 ).
Do not need protection (Single user system) Among users Among user and system (minimum system is in ROM) Vulnerable to worm, virus, etc.
PC operating systems (Windows, MacOS, Linux)
Silberschatz, Galvin and Gagne 20021.17Operating System Concepts
Real-Time Systems
Eg: missile control, medical equipment control system.
sensor system computer control
Rigid response time requirement (milli-seconds 단위 or 더 빠름 )
Real-Time systems may be either hard or soft real-time. Hard 절대로 지켜야 원자력 발전소 제어기 Soft 가급적 지켜야 인터넷 강연 , robot arm control
Silberschatz, Galvin and Gagne 20021.18Operating System Concepts
Real-Time Systems (Cont.)
Hard real-time: Secondary storage limited or absent (disk access time is not predictable) data stored in memory 다른 OS 와 상이한 policy 를 사용해야
( 일반 OS -- no response time guarantee) general-purpose operating systems. Timesharing Systems
Soft real-time Limited utility in industrial control of robotics Useful in some applications (multimedia, virtual reality) .
Silberschatz, Galvin and Gagne 20021.19Operating System Concepts
Parallel Systems
Multiprocessor system: Many CPU’s 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 (# of jobs / second) Economical Increased reliability
graceful degradation fail-soft systems (fault tolerance – fault avoidance 와 비교 ) 용어 fault -- 고장자체
error – fault 의 파급효과
Silberschatz, Galvin and Gagne 20021.20Operating System Concepts
Parallel Systems (Cont.)
Symmetric multiprocessing (SMP) Each processor runs 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; master processor:
schedules and allocates work to slave processors. More common in extremely large systems
Silberschatz, Galvin and Gagne 20021.21Operating System Concepts
Symmetric Multiprocessing Architecture
Silberschatz, Galvin and Gagne 20021.22Operating System Concepts
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 ( 다른 노드에 있는 자원 활용 ) illusion that there is only one OS Computation speed up – load sharing Reliability Communications
Silberschatz, Galvin and Gagne 20021.23Operating System Concepts
Distributed Systems (cont)
Requires networking infrastructure. Local area networks (LAN) or Wide area networks (WAN)
Network Operating System Each node (processor + OS) is autonomous Aware of network
Silberschatz, Galvin and Gagne 20021.24Operating System Concepts
General Structure of Client-Server
Silberschatz, Galvin and Gagne 20021.25Operating System Concepts
Clustered Systems
Clustering allows two or more systems to share storage. Provides high reliability.
Asymmetric clustering: one server runs the application while other servers standby.
Symmetric clustering: all N hosts are running the application.
Silberschatz, Galvin and Gagne 20021.26Operating System Concepts
Handheld Systems
Personal Digital Assistants (PDAs) Cellular telephones Issues:
Limited memory Small display screens Limited power Slow processors
차세대 3G 무선전화기
Silberschatz, Galvin and Gagne 20021.27Operating System Concepts
Migration of Operating-System Concepts and Features
Silberschatz, Galvin and Gagne 20021.28Operating System Concepts
Computing Environments
Traditional computing Web-Based Computing Embedded Computing