280 likes | 558 Views
Operating System 운영체제. 4190.307 Ⓒ 서울공대 OSLab. 연구실: 302동 3 24 호 전화: 880- 5583 이메일: yeom@snu.ac.kr 홈페이지 : dcslab.snu.ac.kr 내 course 참조 Office Hours: 화 , 목 1 4:30 -15:30 or by appointment. 염헌영 ( 컴퓨터공학부 교수). 담당조교. 김형석 302동 31 1-2 호실 전화: 880-185 6
E N D
Operating System운영체제 4190.307 Ⓒ서울공대 OSLab
연구실: 302동 324호 • 전화: 880-5583 • 이메일: yeom@snu.ac.kr • 홈페이지: dcslab.snu.ac.kr 내 course 참조 • Office Hours: • 화,목 14:30 -15:30 or by appointment 염헌영 (컴퓨터공학부 교수) Operating System Concepts
담당조교 • 김형석 • 302동 311-2호실 • 전화: 880-1856 • 이메일: hskim@dcslab.snu.ac.kr • Office Hours:월, 수 2-3시 Operating System Concepts
Course Information • 교재 : (1) 주교재: Silberschatz, P. Galvin& G. Gagne, Applied Operating System Concepts, First Ed., (Windows XPUpdate), Wiley. (2) 참고도서: L. F. Bic& A. Shaw, Operating Systems Principles, Prentice-Hall. Operating System Concepts
Course Information • 평가 중간고사 (4월 말 예정): 30% 기말고사 (6월 초 예정): 60% 출석 및 기타: 10% (부정기적 Quiz 등) Operating 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 Operating System Concepts
What is an Operating System? User OS HW • 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 – 즉시처리) Operating System Concepts
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, games, business programs). • Users (people, machines, other computers). Operating System Concepts
Abstract View of System Components Operating 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. Operating 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 Operating System Concepts
Memory Layout for a Simple Batch System Monitor Card Reader Printer CPU is idle While I/O is in progress Operating System Concepts
MultiprogrammedBatch Systems Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. CPU tape … CPU Network CPU Operating 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. • 순서 Operating 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. Operating 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) Operating 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 Operating 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) . Operating 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 의 파급효과 Operating 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 Operating System Concepts
Symmetric Multiprocessing Architecture Operating 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 Operating 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 Operating System Concepts
General Structure of Client-Server Operating 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. Operating System Concepts
Handheld Systems • Personal Digital Assistants (PDAs) • Cellular telephones • Issues: • Limited memory • Small display screens • Limited power • Slow processors • 차세대 3G 무선전화기 Operating System Concepts
Migration of Operating-System Concepts and Features Operating System Concepts
Computing Environments • Traditional computing • Web-Based Computing • Embedded Computing Operating System Concepts