14
An introduction to computer Science - Operating System 02 2017. 03. 31 황황황

컴퓨터개론07

Embed Size (px)

Citation preview

Page 1: 컴퓨터개론07

An introduction to computer

Science- Operating System 02

2017. 03. 31황태욱

Page 2: 컴퓨터개론07

01 Process Scheduling

02 Main Memory Management

CONTENTS

03 Further Study

Page 3: 컴퓨터개론07

1.1 Process Scheduling 1/1

스케줄링 (scheduling)은 다중 프로그래밍을 가능하게 하는 운영 체제의 동작 기법이다 . 운영 체제는 프로세스들에게  CPU 등의 자원 배정을 적절히 함으로써 시스템의 성능을 개선할 수 있다 .

1. FCFS(Fist Come Fist Served) Scheduling

2. Round Robin Scheduling 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서 , 프로세스들 사이에 우선순위를 두지 않고 , 순서대로 시간단위 (Time Quantum)로  CPU를 할당하는 방식의  CPU 스케줄링 알고리즘이다 .보통 시간 단위는  10 ms ~ 100 ms 정도이다 . 시간 단위동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 된다 . 문맥 전환의 오버헤드가 큰 반면 , 응답시간이 짧아지는 장점이 있어 실시간 시스템에 유리하다 .

3. Priority Scheduling우선순위를 바탕으로 높은 우선순위 프로세스에게 먼저  CPU를 할당하는 방식- 우선순위가 낮을 경우 오래 동안 기다려야 하는 문제점이 있다 .- Aging 이라는 해결책으로 시간이 일정 지나면 우선순위를 한 단계씩 높여 준다 .

Page 4: 컴퓨터개론07

1.2 Preemptive/Non-Preemptive

비선점형 스케줄링 (Non-preemptive Scheduling) :    어떤 프로세스가  CPU를 할당 받으면 그 프로세스가 종료되거나 입출력 요구가 발생하여 자발적으로 중지될 때까지 계속 실행되도록 보장한다 . 순서대로 처리되는 공정성이 있고 다음에 처리해야 할 프로세스와 관계없이 응답 시간을 예상할 수 있으며 선점 방식보다 스케줄러 호출 빈도가 낮고 문맥 교환에 의한 오버헤드가 적다 . 일괄 처리 시스템에 적합하며 , CPU 사용 시간이 긴 하나의 프로세스가  CPU 사용 시간이 짧은 여러 프로세스를 오랫동안 대기시킬 수 있으므로 , 처리율이 떨어질 수 있다는 단점이 있다 .

선점형 스케줄링 (Preemptive Scheduling) :    어떤 프로세스가  CPU를 할당받아 실행 중에 있어도 다른 프로세스가 실행 중인 프로세스를 중지하고  CPU를 강제로 점유할 수 있다 . 모든 프로세스에게  CPU 사용 시간을 동일하게 부여할 수 있다 .    빠른 응답시간을 요하는 대화식 시분할 시스템에 적합하며 긴급한 프로세서를 제어할 수 있다 . 운영 체제가 프로세서 자원을 선점 '하고 있다가 각 프로세스의 요청이 있을 때 특정 요건들을 기준으로 자원을 배분하는 방식이다 .

Page 5: 컴퓨터개론07

1.3 Static/Dynamic Scheduling

정적 스케줄링 (Static Scheduling) :  프로세스에 부여된 우선순위가 바뀌지 않는다 . 고정우선순위 스케줄링이라고도 한다 .

동적 스케줄링 (Dynamic Scheduling) :    스케줄링 과정에서 프로세스의 우선순위를 변동시킨다 . 유동우선순위 스케줄링이라고도 한다 .

Page 6: 컴퓨터개론07

2.1 Main Memory management

메모리 관리는 컴퓨터 메모리를 관리하는 행위이다 .

가장 단순한 형태의 메모리 관리 방법은 프로그램의 요청이 있을 때 , 메모리의 일부를 해당 프로그램에 할당하고 , 더 이상 필요하지 않을 때 나중에 다시 사용할 수 있도록 할당을 해제하는 것이다 . 이는 하나 이상의 프로세스가 언제든 실행되는 고급 컴퓨터 시스템에 필수적이다 .가상 메모리 시스템은 프로세스가 사용하는 메모리 주소를 실제 물리 주소와 구분한다 . 이로써 프로세스를 구분하고 디스크 스왑 처리를 사용하여 효과적으로 사용할 수 있는 램의 양을 늘릴 수 있게 된다 . 가상 메모리 관리자의 품질은 전반적인 시스템 성능에 큰 영향을 미친다 .쓰레기 수집은 프로그램을 위한 컴퓨터 메모리 리소스를 자동으로 할당하고 할당을 해제한다 . 프로그래밍 언어 수준에서 일반적으로 추가되어 있는 것이며 , 수동 메모리 관리와 대조된다 .

Page 7: 컴퓨터개론07

2.2 단일 /분할 MM Mangement

1. 단일 연속 Main Memory Management - 오직 하나의 사용자 프로그램만 저장하는 관리 기법

2. 분할 Main Memory Management - Main Memory 장치를  n개의 영역으로 분할하여 서로 다른  Process를 

동시에 저장하는 것 , 각 영역의 크기는 다르게 하는 것이 바람 직 - 분할 MM Management 할당 방식

최초 적합 First Fit Process 크기보다 큰 최초의 영역에 할당최적 적합 Best Fit Process 크기보다 큰 영역 중 가장 작은 영역에 할당최악 적합 Worst Fit Process 크기보다 큰 영역 중 가장 큰 영역에 할당

Page 8: 컴퓨터개론07

2.2 단일 /분할 MM Mangement

1. 단일 연속 Main Memory Management - 오직 하나의 사용자 프로그램만 저장하는 관리 기법

2. 분할 Main Memory Management - Main Memory 장치를  n개의 영역으로 분할하여 서로 다른  Process를 

동시에 저장하는 것 , 각 영역의 크기는 다르게 하는 것이 바람 직 - 분할 MM Management 할당 방식

최초 적합 First Fit Process 크기보다 큰 최초의 영역에 할당최적 적합 Best Fit Process 크기보다 큰 영역 중 가장 작은 영역에 할당최악 적합 Worst Fit Process 크기보다 큰 영역 중 가장 큰 영역에 할당

Page 9: 컴퓨터개론07

2.3 Virtual Memory

HDD 등 보조기억장치를 Main Memory 처럼 활용할 수 있도록 해줌

여러 프로그램이 실행되기 위해서는 많은 Memory가요구되며 이를 해결하기 위한 방법

프로그램을 일정한 크기로 나누어 당장필요한 부분만 실제 메모리 (Physical Memory)에옮겨 실행하는 방식이며 이때 일정한 크기로 나누는 것을Page라고 하고  page 단위로 main memory로 올리며동작시키는 것을  Paging 이라고 함

Page 10: 컴퓨터개론07

2.3 Paging

Paging: 가상 메모리를 구현하는 한 방법

가상 메모리 공간을 일정한 크기의 공간 -Page로 나누어 관리하는 방식

프레임 (Frame) : 물리 메모리를 일정된 한 크기로 나눈 블록이다 .페이지 (Page) : 가상 메모리를 일정된 한 크기로 나눈 블록이다 .

페이지가 하나의 프레임을 할당 받으면 , 물리 메모리에 위치하게 된다 . 프레임을 할당 받지 못한 페이지들은 외부 저장장치에 저장되며 , 이때도 프레임과 같은 크기 단위로 관리된다 .

Page Table : 프로세스가 마다 각  page가  Physical Memory 장치의 어느 프레임에 저장되는지를 나타내는  table(자료구조 )로  OS가 관리 한다 .

-색인  : 페이지 번호-내용  : 해당 페이지에 할당된 물리 메모리 (프레임 )의 시작 주소   이 시작 주소와 페이지 주소를 결합하여 물리 메모리 주소를 알 수 있다

Page 11: 컴퓨터개론07

2.4 Page Replacement

새로운  Page를 MM에 저장할 때 비어있는  Frame이 없다면 MM에서 제거할 Page를 결정해야 한다 . 이렇게 제거할  page를 결정하는 것을  Page Replacement라고 하고 이에 대한 여러 알고리즘이 있다 .

Page Replacement에서  Page 내용이 MM에서 수정되었다면 보조기억장치에 수정된 사항을 반드시 써줘야 하고 , 수정되지 않았다면 단순히 제거 하면 된다 .

- FIFO: 가장 먼저 올라온  Page를 제거하는 기법 - LRU(Least Recently Used): 가장 오랫동안 사용되지 않았던 페이지를 제거- LFU(Least Frequently Used): 가장 사용 빈도가 낮은 페이지를 선택해서 제거

Page 12: 컴퓨터개론07

2.5 Garbage Collection

쓰레기 수집 (garbage collection 가비지 컬렉션 , GC)은 메모리 관리 기법 중의 하나로 , 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다 . 영어를 그대로 읽어 가비지 컬렉션이라 부르기도 한다 . 1959 년 무렵 리스프의 문제를 해결하기 위해 존 매카시가 개발하였다 .

Page 14: 컴퓨터개론07

Q&AFor further details, please contact us by e-mail황태욱  : [email protected]

010.9576.5105 Kakao: Aldemaya