What is Operating System OS I III IV

  • Slides: 39
Download presentation
What is Operating System

What is Operating System

OS 소개 I. III. IV. V. Introduction 설계목표 기본 용어 Resource Management History

OS 소개 I. III. IV. V. Introduction 설계목표 기본 용어 Resource Management History

Introduction OS? • 자원들을 관리하는 Program Module : Processor, Main memory, Auxiliary Memory, I/O

Introduction OS? • 자원들을 관리하는 Program Module : Processor, Main memory, Auxiliary Memory, I/O Device, File 등 관리 • 자원공유: 1. 자원 사용시 생길 수 있는 Conflict를 해결 2. Computer performance를 극대화 3. Computer system를 효율적으로 이용 4. User Program과 실제 Computer Hardware사이의 Interface로써 작용 OS 목적 • 다수의 사용자에게 자원을 공유하게 함. • 이를 쉽게 할수 있도록 편의를 제공

Introduction User access to access the OS User Apps Audio Video File Browser Debugger

Introduction User access to access the OS User Apps Audio Video File Browser Debugger Micro Processor Editor Compiler Assembler Loader Operating System Memory Management Process Management I/O Management Hardware Information Management

설계 목표 Throughput • 단위 시간당 얼마만큼의 생산성을 올리는가? • Maximize throughput • General

설계 목표 Throughput • 단위 시간당 얼마만큼의 생산성을 올리는가? • Maximize throughput • General Purpose operating system Response Time • 요청한 일을 얼마만큼의 빨리 수행하는가? • Maximize the Response time • Real-Time operating system

Resource Management Resource • hardware : main memory, processor, aux-device, file • software :

Resource Management Resource • hardware : main memory, processor, aux-device, file • software : structures in OS, allocated structures to apps. Resource Management view • OS는 Resource Manager • Resource conflict protection. • 요청자 상태 파악, 자원배분 정책, 자원 할당/회수 1. memory management 2. processor management 3. auxiliary device management 4. Information(file) management

History 년도 특징 주요내용 1940 (0세대) No Operating system Machine language 상용 1950 (1세대)

History 년도 특징 주요내용 1940 (0세대) No Operating system Machine language 상용 1950 (1세대) Batch Processing System IBM 701 OS (OS 효시), Batch type 1960 (2세대) Multiprogramming Real Time system Time sharing System Multiprogramming, Multiprocessing, Virtual Memory, High level language로 OS작성, Data 통신 지원 용 OS IBM system/360 범용 System 개념 도입 Multimode system OS/360, DOS/360 Batch, Time sharing, Real Time, Multiprocessing을 하나의 System에서 모두 제공 (Multi-mode) UNIX 개발(bell labs. ) 1960중 ~ 1970년대중반 (3세대) 1970중반 ~ (4세대) Virtual machine, micro computer용 OS User friendly system, Distributed Data Processing Virtual Memory, 통신망 service OS, Data Base 중요성 인식, CP/M, MS-DOS, UNIX 3. 0, XENIX, OS/2, V 60 WINDOWS.

Processor Management I. III. IV. V. 소개 State model JOB scheduling Processor scheduling Switch

Processor Management I. III. IV. V. 소개 State model JOB scheduling Processor scheduling Switch & dispatcher

Introduction for processor management Processor management • processor를 process(job)에 할당하는 것 • Job scheduler

Introduction for processor management Processor management • processor를 process(job)에 할당하는 것 • Job scheduler : (multi-processor) process를 생성하고, process에 processor를 할당 작업 할당 순서를 결정 Job scheduling • Process scheduler : (single-processor) Job scheduler에서 선택된 Job에게 Processor를 배정(assign)하는 것 • Processor scheduler : Multi-programming에서 Ready-State에 있는 process에게 언제(pick), 얼마 동안(quantum) processor를 할당할 것인지 결정. • Traffic controller : process의 상태를 trace한다.

Job Scheduler • No meaning in single-processor

Job Scheduler • No meaning in single-processor

Process Scheduler Processor scheduler • • process에 processor를 할당하는 방법 할당 받은 processor에 process를

Process Scheduler Processor scheduler • • process에 processor를 할당하는 방법 할당 받은 processor에 process를 lunching 시켜 주는 것을 Dispatcher라고 한다. 모든 process의 상태파악, process분배정책(scheduling) 수행, processor회수 traffic controller의 process 상태파악 -> PCB에 데이터 저장 Scheduling policy • process에 processor를 할당하는 정책 • • • Priority Time Quantum process 종료 process blocking Error Round-Robin

Switcher & Dispatcher process process switcher process Dispatcher Proccessor (CPU)

Switcher & Dispatcher process process switcher process Dispatcher Proccessor (CPU)

Memory Management I. Introduction II. Protection Hardware III. Single Partition IV. Fixed Partition V.

Memory Management I. Introduction II. Protection Hardware III. Single Partition IV. Fixed Partition V. Dynamic Partition VI. Storage Compaction & Scatter Loading VII. ETC

Introduction • 초기 main memory는 매우 작았으며, 프로그램도 크기 않음 : overlay 기법, 프로그램

Introduction • 초기 main memory는 매우 작았으며, 프로그램도 크기 않음 : overlay 기법, 프로그램 분할 • main memory를 효율적으로 분배하고 OS전체의 목적과 부합하도록 사용하는 방법: Continuous Loading – program이 연속적인 메모리에 탑재 Scatter Loading – program이 partition/page단위로 나뉘어 산재되어서 메모리에 탑재. Pagen (4 KB) app app Page-Out Pagei+2 (4 KB) Pagei+1 (4 KB) Pagei (4 KB) app 1 Page-In Page 0 (4 KB) Main Memory Disk

Protection Hardware Protect the memory • process들이 사용하는 메모리 충돌을 회피하는 방법 • process들이

Protection Hardware Protect the memory • process들이 사용하는 메모리 충돌을 회피하는 방법 • process들이 같은 space를 사용하면, process영역을 나누어서 사용한다. -- window CE, RTOS, firmware, pthread on linux…. -- Non-MMU • process 별도 별도의 space가 정의되면, 고려할 필요가 없다. -- MMU • Main memory Partition 문제로 연결됨.

Fixed partition • main memory의 용량이 커지고, CPU의 처리속도가 빨라지면서, multi-programming 이 중요하 게

Fixed partition • main memory의 용량이 커지고, CPU의 처리속도가 빨라지면서, multi-programming 이 중요하 게 되었다. Advantage • 실행 program들을 분석하여 partition 크기를 맞 추면 효율적이다. 감시 program 실행 program Disadvantage • memory 낭비가 많을 가능성이 높다. • fragmentation이 발생한다. • partition을 줄이면 실행가능한 program크기가 작아진다. 실행 program Main Memory Partition

Dynamic partition • • Job step의 요구에 맞게 main memory를 동적으로 할당하는 방법. 요구량에

Dynamic partition • • Job step의 요구에 맞게 main memory를 동적으로 할당하는 방법. 요구량에 맞게 연속된 메모리를 할당해야 하지만, 필요한 메모리가 없을 경우, Roll-out/Roll-in 기능을 사용하여, 보조메모리(disk)를 사용한다. memory allocation 방법 -- First Fit -- Best Fit 감시 program app Roll-In app 실행 program Partition app 1 실행 program Roll-Out 실행 program Main Memory Disk Partition

Scatter Loading • • Loading 할 program이 연속된 memory에 있어야 한다는 고정관념을 깨버렸다. Hardware의

Scatter Loading • • Loading 할 program이 연속된 memory에 있어야 한다는 고정관념을 깨버렸다. Hardware의 도움을 받음 (MMU) program을 분산하여 로딩함. Loading 전략 -- Best Fit -- First Fit -- Worst Fit Partition 실행 program Partition Main Memory

ETC • Swapping : -- 현재 수행중인 program만 memory에 탑재되고, 그 외의 것은 swapping되어

ETC • Swapping : -- 현재 수행중인 program만 memory에 탑재되고, 그 외의 것은 swapping되어 disk에 있다. • Overlay : -- swapping 처럼 전체 program을 바꿔치지 않고, -- 필요한 부분만 swap하는 방식 • Paging : app app swap-Out program Main Memory app 1 swap-In Disk

Virtual Storage I. III. IV. 소개 Address 지정기구 Dynamic Relocation Thrashing 22

Virtual Storage I. III. IV. 소개 Address 지정기구 Dynamic Relocation Thrashing 22

Device Management I. Introduction II. Device Management Policy III. Device Characteristics

Device Management I. Introduction II. Device Management Policy III. Device Characteristics

Introduction Device management • Printer, Disk, Serial등의 I/O Device와 이를 control한다. • I/O Device의

Introduction Device management • Printer, Disk, Serial등의 I/O Device와 이를 control한다. • I/O Device의 속도에 따라 제어해준다. -- UCB (Unit Control Block)를 사용하여 제어한다. • I/O Device는 3가지로 나눌수 있다. -- Dedicated : 한 process가 전용으로 사용한다. -- Shared : 여러 process가 공용으로 사용한다. -- Virtual : 하나의 I/O device를 여러 개로 보이게 만들어 사용한다. • I/O management에 3가지 Module이 필요하다. -- I/O traffic controller : 상태파악 -- I/O scheduler : 요청이 있을 때 분배. -- I/O Device hander (device driver) : 실제하드웨어 조작

Device Management Policy 3 policy • Dedicated Device : 하나의 process가 Device를 상용하면, 끝날

Device Management Policy 3 policy • Dedicated Device : 하나의 process가 Device를 상용하면, 끝날 때까지 계속 사용한다. I/O device 특성에 따라 결정된다. 예 : serial communication, printer • Shared Device 여러 개의 process가 동시에 Device를 공유하게 된다. 우선순위에 따라 scheduling 이 동작할 수 있다. 효율성을 높이기 위해 우선순위에 따른 scheduling을 포기할 수 도 있다. 예) Disk (ladder algorithm) • Virtual Device printer device 처럼 Dedicated device를 spooling 기법을 통하여 Shared Device로 바꾸는 것

Device Characteristics By hardware • I/O device : 외부세계와 연관이 있는 장치로 외부의 입력을

Device Characteristics By hardware • I/O device : 외부세계와 연관이 있는 장치로 외부의 입력을 받거나/출력하는 장치. 속도가 느리고 I/O가 streaming 방식인 특성이 있다. 소형일 경우 CPUT가 직접I/O를 수행할 수 있다. 예 : serial communication, printer • Storage Device 자료를 수록하고 다시 읽을 수 있는 Device. 외부세계와 별도로 computer내부에서 동작한다. Access 방식에 의해 분류된다. -- Serial Access Device : Tape -- Direct Access Storage Device : Disk -- Random Access Storage Device : flash memory, SSD

Infomation Management I. 서론 II. Simple Filesystem III. Symbolic Filesystem IV. Basic Filesystem V.

Infomation Management I. 서론 II. Simple Filesystem III. Symbolic Filesystem IV. Basic Filesystem V. Access Control Verification VI. Logical Filesystem VII. Physical Filesystem VIII. Allocation Strategy Module

Introduction Processor management • Computer 내의 정보(Information)을 검색하는 기능 • Filesystem : Information Management

Introduction Processor management • Computer 내의 정보(Information)을 검색하는 기능 • Filesystem : Information Management Module을 집합적으로 부르는 말. 기억장치관리의 한 부분으로, 보조기억장치의 File을 관리 정보를 보관하거나, 정보를 여러 사람이 공유할 수 있도록 하는 수단 제공 • Filesystem의 기능 File creation, modification, deletion. File sharing. File backup, recovery. File encryption/decryption Filesystem Interface support. • DBMS 제공

Concurrent Process I. III. IV. V. VI. Introduction Determinancy Mutual Exclusion Synchronization Inter-process Communication

Concurrent Process I. III. IV. V. VI. Introduction Determinancy Mutual Exclusion Synchronization Inter-process Communication Dead. Lock

Introduction Concurrent process • 2개 이상의 관련된 process가 동시에 실행되는 것 다수의 Computer가 Network를

Introduction Concurrent process • 2개 이상의 관련된 process가 동시에 실행되는 것 다수의 Computer가 Network를 이루어 수행되는 Distributed system에서는 필수. • 요구 조건 -- Determinancy : 결과의 항상성 -- Mutual Exclusive problem -- Concurrent process -- synchronization -- Inter-process communication -- Dead. Lock

Operating System process 4 Barrier process 3 Barrier process 2 Barrier process 1 Introduction

Operating System process 4 Barrier process 3 Barrier process 2 Barrier process 1 Introduction Multi-process

Mutual Exclusion Definition • 2개의 관련된 process들이 공유자원을 번갈아 사용할 수 있게 하지만, 동시에

Mutual Exclusion Definition • 2개의 관련된 process들이 공유자원을 번갈아 사용할 수 있게 하지만, 동시에 수행하지 못하게 하는 것으로 program들이 공유자원을 함께 Access할 때 필요. • Critical. Section -- producer/consumer problem -- fork/join structure

Inter-process communication Definition • 2개의 관련된 process들이 통신하는 기법 두가지. • Shared Memory Process의

Inter-process communication Definition • 2개의 관련된 process들이 통신하는 기법 두가지. • Shared Memory Process의 공유변수 사용. OS는 단지 shared memory만 제공, communiation은 apps책임 • Message System 메시지를 주고받을 수 있게 한다. Message Queue Mail. Box Buffering problem의 한계

Dead. Lock Definition • Multiprogramming system에서 발생할 수 없는 resource를 대기하고 있는 process 상태.

Dead. Lock Definition • Multiprogramming system에서 발생할 수 없는 resource를 대기하고 있는 process 상태. How to manage • Protocol을 정하는 방법. - Mutual Exclusion - Hold and Wait - Non-Preemption - Circular Wait • Recovery mechanism from Dead. Lock state.

Unix Operating System I. 서론 II. UNIX의 역사 III. UNIX구조의 특성 IV. Programmer Interface

Unix Operating System I. 서론 II. UNIX의 역사 III. UNIX구조의 특성 IV. Programmer Interface V. User Interface VI. Process Control VII. Filesystem

What is Operating System

What is Operating System