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

Slides:



Advertisements
Similar presentations
Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved. 제7강제7강.
Advertisements

Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
J-Stream part1 (Software streaming service) ▪ 팀명 : Jukdori ▪ 팀원 : 16 th 윤병호 (PL) 15 th 송인규 16 th 김영진.
마이크로 컨트롤러 Microcontroller.
Chapter 1. 운영체제의 개요 이태호.
Linux Debugging issues
Mar OSEK/VDK Woo Dong Kyun.
소프트웨어와 운영체제.
제 4 장 프로세스 Section 1 프로세스의 개념 Section 2 프로세스 스케줄링
제 2장 컴퓨터 구조.
정보통신실습 및 특강(5)
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
인터넷 방송시스템 제안서.
Operating Systems Overview
운영체제 레프토 (4장 CPU 스케줄링) b반 박상수.
Uniprocessor Scheduling
5.1.1 CPU-I/O 버스트 주기(CPU-I/O Burst Cycle)
운영체제 (Operating Systems)
프로세스 관리.
6장 단일 프로세서 스케줄링.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
1. 스케줄링 개요 [그림 6-16] 프로세스의 반환, 대기, 반응 시간
컴퓨터 구조학 정보보호학과.
12. 데이터베이스 설계.
임베디드 운영체제 (리눅스 중심) Lecture #2.
2.2 CPU 스케줄링의 목적과 유형 스케줄링의 목적
컴퓨터 구조.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
운영체제 (OS: Operating System)
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
정보(information) 데이터(data) 어떤 사물에 대한 소식이나 자료 가공된 데이터
2 운영체제 소개.
Lecture #3 프로세스(Process).
Operating System System Program OS의 목적 OS의 종류 Application Program과 구별
운영체제 이나현.
Xen and the Art of Virtualization
제3,4,5장 프로세스, 스레드 관리 CPU 스케줄링.
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
제 1장 시스템 소프트웨어의 개요.
5.1.1 CPU-I/O 버스트 주기(CPU-I/O Burst Cycle)
Computer System Architecture
제2장 프로세스 이나현.
제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요
제5장 CPU스케줄링(CPU Scheduling)
제10,11,12장 파일시스템 디스크 스케줄링.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
운영체제(Operating System)
기억장치 관리(Memory Management)
1조 김성수 백현기 석광우 김지원 박광연.
운영체제 (Operating Systems) (Memory Management Strategies)
10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수.
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
제7강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
Chapter 12 Memory Organization
운영체제 발표자료 B반 최민웅.
제1장 정리 컴퓨터소프트웨어과 2-A반 주세호.
제 2장 프로세스 관리와 CPU 스케줄링 2.1 프로세스의 개념 2.2 CPU 스케줄링의 목적과 유형
운영체제 (Operating System) (하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어)
제4장 CPU 스케줄링 이나현.
기억장치 관리(Memory Management)
1. 데이터베이스 환경.
제02장 컴퓨터 개요.
1장 운영체제의 소개 컴퓨터소프트웨어 2-B 한아름.
운영체제 (Operating Systems)
Lecture #7 CPU Scheduling.
Concurrency: Deadlock and Starvation
Chapter 7: Deadlocks.
가상 기억장치 (Virtual Memory)
Presentation transcript:

What is Operating System

OS 소개 Introduction 설계목표 기본 용어 Resource Management History

Introduction OS? 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 Operating System Hardware User access to access the OS Apps Audio Video File Browser Debugger Micro Processor Editor Compiler Assembler Loader Operating System Memory Management Process Management I/O Management Information Management Hardware

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

기본용어 Job Job step Process 요구되는 일의 단위 상호 의존관계가 없음. Program/Process/Task Thread Process 해당되는 Job step에 지시된 Program을 토대로 실행되는 작업을 의미 OS가 보는 관점. (User는 Job, Jobstep) OS가 처리하는 작업의 단위 관련 자원 – program, PCB, Switcher, Dispatcher.

Resource Management Resource Resource Management view 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세대) 1950 (1세대) 1960 (2세대) 1960중 ~ 1970년대중반 (3세대) 년도 특징 주요내용 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, Memory, High level language로 OS작성, Data 통신 지원용 OS 1960중 ~ 1970년대중반 (3세대) IBM system/360 범용 System 개념 도입 Multimode system OS/360, DOS/360 Batch, Time sharing, Real Time, Multi-processing을 하나의 System에서 모두 제공 (Multi-mode) UNIX 개발(bell labs.) 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, V60 WINDOWS.

소개 State model JOB scheduling Processor scheduling Switch & dispatcher Management 소개 State model JOB scheduling Processor scheduling Switch & dispatcher

Introduction for 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한다.

Processor를 할당 받아서 실행이 되는 상태. Process State Model Submit State Program이 실행명령을 받음 Run State Processor를 할당 받아서 실행이 되는 상태. Terminate State Program이 실행 종료명령을 받음 Read State 실행할 준비가 되었으나, processor를 할당 받지 못함. Blocked State 필요한 자원을 할당 받지 못하여 대기함. Suspend State Process가 멈추어서 실행금지 상태

Job Scheduler Job Scheduler No meaning in single-processor

Process Scheduler Processor scheduler Scheduling policy 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 switcher Dispatcher Proccessor (CPU) Dispatcher process switcher Proccessor (CPU) process Dispatcher

Storage Compaction & Scatter Loading ETC Memory Management Introduction Protection Hardware Single Partition Fixed Partition Dynamic Partition Storage Compaction & Scatter Loading ETC

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

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

Single partition 감시 program 실행 program Main Memory Advantage 초기 main memory는 매우 작았으며, 프로그램도 크기 않음 : overlay 기법, 프로그램 분할 Advantage 단순하다. OS내에 감시program이 작다. 실행program공간이 넓어진다. 이해하기 쉽다. 감시 program 실행 program Disadvantage memory 낭비가 심하다. I/O 수행시 process 실행 안됨 main memory보다 큰 program 실행 안됨. Main Memory

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

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

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

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

Virtual Storage 소개 Address 지정기구 Dynamic Relocation Thrashing

Device Management Policy Device Characteristics Introduction Device Management Policy Device Characteristics

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 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 : 외부세계와 연관이 있는 장치로 외부의 입력을 받거나/출력하는 장치. 속도가 느리고 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

Access Control Verification Logical Filesystem Physical Filesystem Infomation Management 서론 Simple Filesystem Symbolic Filesystem Basic Filesystem Access Control Verification Logical Filesystem Physical Filesystem Allocation Strategy Module

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 제공

Inter-process Communication DeadLock Concurrent Process Introduction Determinancy Mutual Exclusion Synchronization Inter-process Communication DeadLock

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

Introduction Operating System Barrier Barrier Barrier Multi-process

Determinancy Definition 2개 이상의 관련된 process들이 기억장소를 공유할 때, 최종결과는 초기값에만 의존하고, 각 process의 상대적인 진행 순서에는 영향을 받지 않는다.

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

Synchronization Definition 2개의 관련된 process들이 하나의 기능을 공동 협력하여 수행할 때, 이들 상호간에는 동기화가 필요하다. 동기화는 신호를 통해 이루어지는데, 상호배제 문제를 해결하기 위해서는 이 동기화문제가 해결되어야 한다. Semapohre Mutex Event Conditional Variables. -- bounded buffer problem -- reader/writer problem -- chinese(philosophic) chopstick problem.

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

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

서론 UNIX의 역사 UNIX구조의 특성 Programmer Interface User Interface Operating System 서론 UNIX의 역사 UNIX구조의 특성 Programmer Interface User Interface Process Control Filesystem

What is Operating System