Download presentation
Presentation is loading. Please wait.
1
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부
2
Chapter 5. 운영체제
3
학습목표 운영체제의 전반적인 기능에 대해 살펴본다. 운영체제가 실행 중인 프로그램인 프로세스를 관리하는 방법에 대해 살펴본다. 어떤 프로세스가 실행되도록 할 건지를 결정하는 프로세스 스케줄링에 대해 살펴본다. 운영체제가 주기억장치를 관리하는 방법에 대해 살펴본다. 운영체제가 파일을 관리하는 방법에 대해 살펴본다.
4
컴퓨터 시스템의 구성 운영체제 Section 1: 운영체제의 개요
하드웨어 자원을 관리하며 시스템 및 응용 프로그램의 실행에 도움을 제공한다. 또한 사용자와 하드웨어 사이에서 중재자 역할을 수행한다.
5
운영체제의 시작 (부팅 절차) Section 1: 운영체제의 개요
(1) 컴퓨터에 전원이 들어오면 중앙처리장치가 초기화되고 ROM(Read Only Memory)에 저장된 바이오스(BIOS)라는 프로그램이 실행된다.
6
운영체제의 시작 (부팅 절차) Section 1: 운영체제의 개요
(2) 바이오스는 중앙처리장치, 주기억장치, 캐시, 키보드, 디스크 드라이브 등 하드웨어 장치의 상태를 검사한다. 만약 이상이 있으면 오류 메시지를 출력하고 동작을 멈춘다. 아무런 이상이 없으면 바이오스는 보조기억장치의 부트 섹터에 저장된 부팅 프로그램을 주기억장치로 이동시킨다.
7
운영체제의 시작 (부팅 절차) Section 1: 운영체제의 개요
(3) 부팅 프로그램은 보조기억장치의 운영체제를 주기억장치로 이동시키고, 운영체제의 첫 번째 명령어가 실행되도록 분기한다.
8
Section 1: 운영체제의 개요 운영체제의 시작 (부팅 절차) (4) 운영체제가 컴퓨터의 동작을 담당하게 된다.
9
운영체제의 기능 Section 1: 운영체제의 개요 가상적인 컴퓨터의 제공 컴퓨터 자원 관리
사용자에게 복잡한 하드웨어가 아닌 쉽게 이용할 수 있는 컴퓨터 환경을 제공한다는 뜻이다. 컴퓨터 자원 관리 컴퓨터 시스템은 중앙처리장치, 주기억장치, 보조기억장치, 프로그램, 파일 등 다양한 자원으로 이루어져 있는데, 이들 자원은 운영체제에 의해 관리된다.
10
Section 2: 프로세스 관리 프로세스 보조기억장치의 프로그램을 주기억장치의 적절한 위치로 올리는 일을 운영체제가 담당하는데, 이때 실행되기 위해 주기억장치에 들어간 프로그램 실행중인 프로그램이라고 정의할 수 있는데, 프로그램 코드뿐만이 아니라 실행에 필요한 다양한 정보도 포함된다. 운영체제에 의해 관리됨
11
Section 2: 프로세스 관리 프로세스 제어 블록 운영체제는 프로세스 각각에 대한 정보 관리를 통해 프로세스를 관리한다. 프로세스에 대한 정보는 프로세스 제어 블록(PCB : Process Control Block)이라는 테이블에 저장된다. 임의의 프로세스가 생성되면 이 프로세스의 정보를 저장하는 새로운 프로세스 제어 블록이 생성되고, 이 프로세스가 종료될 때 같이 사라진다.
12
프로세스 제어 블록 Section 2: 프로세스 관리 프로세스 제어 블록의 대표적인 정보
프로세스의 상태 : 실행 상태인지 또는 실행을 위해 준비 상태인지 등에 대한 정보 프로그램 카운터 값 : 중앙처리장치의 프로그램 카운터라는 레지스터에 저장된 값으로, 다음에 실행될 명령어의 주기억장치 주소를 의미 스케줄링 정보 : 다음에 실행될 프로세스를 결정하는 데 필요한 정보로, 프로세스 스케줄링 정책, 우선 순위 등을 의미 주기억장치 정보 : 해당 프로세스가 주기억장치의 어느 영역에 위치해 있는지를 저장한다.
13
Section 2: 프로세스 관리 프로세스의 상태 새로운 프로세스 A 생성
14
Section 2: 프로세스 관리 프로세스의 상태 프로세스 B와 C가 생성
15
Section 2: 프로세스 관리 프로세스의 상태 준비 상태의 프로세스가 실행 상태가 되는 경우
프로세스 A의 실행이 종료된 경우
16
Section 2: 프로세스 관리 프로세스의 상태 프로세스 A가 중앙처리장치를 오래 차지하고 있는 경우
17
Section 2: 프로세스 관리 프로세스의 상태 프로세스 A에 디스크 입출력 명령이나 sleep 명령이 발생할 경우
18
Section 2: 프로세스 관리 프로세스의 상태 기다리던 이벤트가 종료되면 준비 큐로 이동해서 준비 상태가 된다.
19
Section 2: 프로세스 관리 프로세스의 상태
중앙처리장치가 실행할 수 있는 프로그램은 한 순간에 하나뿐이므로 하나의 프로세스만 실행 상태가 된다.
20
프로세스 스케줄링 Section 3: 프로세스 스케줄링 다중 프로그래밍
여러 개의 프로세스를 주기억장치에 적재하여 실행 중이던 프로세스가 중앙처리장치 동작이 아닌 다른 사건(입출력 동작)이 발생하기를 기다리는 동안 다른 프로세스가 중앙처리장치에 의해 실행되도록 하여 중앙처리장치 이용률을 최대화하는 개념 실행 상태에 있던 프로세스의 실행이 종료되거나 다른 사건이 발생하기를 기다리기 위해 대기 상태가 되면 실행할 새로운 프로세스를 정해야 함 프로세스 스케줄링 운영체제가 어떤 프로세스를 실행되도록 할 것인지를 결정하는 것
21
FCFS(First-Come First-Served) 스케줄링 먼저 도착한 프로세스를 먼저 서비스(실행)하는 방법 동작 예
Section 3: 프로세스 스케줄링 FCFS(First-Come First-Served) 스케줄링 먼저 도착한 프로세스를 먼저 서비스(실행)하는 방법 동작 예 프로세스 A는 실행, 프로세스 B와 C는 기다림
22
FCFS(First-Come First-Served) 스케줄링 동작 예
Section 3: 프로세스 스케줄링 FCFS(First-Come First-Served) 스케줄링 동작 예 프로세스 A가 종료되면 프로세스 B가 실행된다.
23
Section 3: 프로세스 스케줄링 FCFS(First-Come First-Served) 스케줄링 세 개의 프로세스 FCFS 스케줄링에 의한 실행과 시간 평균 대기 시간
24
Section 3: 프로세스 스케줄링 FCFS(First-Come First-Served) 스케줄링 프로세스 C, B, A 순으로 생성된 경우 평균 대기 시간 프로세스의 실행 순서에 따라 평균 대기 시간의 차이가 크다.
25
라운드 로빈 스케줄링 Section 3: 프로세스 스케줄링
하나의 중앙처리장치를 임의의 프로세스가 종료될 때까지 차지하는 것이 아니라, 여러 프로세스들이 중앙처리장치를 조금씩 돌아가며 할당 받아 실행되는 방식 프로세스들은 시간 할당량(time quantum) 동안 중앙처리장치를 할당 받아 실행되는데, 이 시간 동안 실행을 종료하지 못하면 운영체제에 의해 준비 상태로 쫓겨나고, 준비 큐의 다음 프로세스가 중앙처리장치를 할당 받아 실행된다.
26
Section 3: 프로세스 스케줄링 라운드 로빈 스케줄링 문맥 전환 중앙처리장치 이용률을 저하
27
라운드 로빈 스케줄링 Section 3: 프로세스 스케줄링 동작 예
(1) 우선 프로세스 A가 생성되어 중앙처리장치를 할당 받아 실행된다.
28
라운드 로빈 스케줄링 Section 3: 프로세스 스케줄링
(2) 바로 프로세스 B와 C가 생성되면 프로세스 B와 C의 프로세스 제어 블록이 준비 큐에 연결된다. (3) 프로세스 A가 실행을 시작한지 4ms(시간 할당량)가 되면 운영체제에 의해 준비 상태로 쫓겨나고 다음 프로세스인 B가 중앙처리장치를 할당받는다.
29
라운드 로빈 스케줄링 Section 3: 프로세스 스케줄링
(4) 마찬가지로 프로세스 B가 4ms를 사용하면 준비 상태로 쫓겨나고 프로세스 C가 중앙처리장치를 할당 받는다. (5) 프로세스 C는 2ms만을 필요로 하므로 시간할당량을 사용하기도 전에 종료된다. 다음 프로세스인 A가 중앙처리장치를 할당 받는다.
30
라운드 로빈 스케줄링 Section 3: 프로세스 스케줄링
(6) 프로세스 A가 시간할당량 4ms를 사용하면 준비 상태로 쫓겨나고 프로세스 B가 중앙처리장치를 할당 받는다. (7) 프로세스 B는 1ms를 이용하면 실행이 종료되어 프로세스 A가 중앙처리장치를 할당 받는다. (8) 프로세스 A가 종료될 때까지 실행된다.
31
Section 3: 프로세스 스케줄링 라운드 로빈 스케줄링 라운드 로빈 스케줄링에 의한 실행과 시간 평균 대기 시간 (단, 문맥 전환 시간은 고려하지 않았다.)
32
Section 3: 프로세스 스케줄링 우선순위 스케줄링 가장 높은 우선순위의 프로세스에게 먼저 중앙처리장치를 할당하는 방법, 우선순위가 같은 프로세스들의 경우에는 FCFS 방법을 적용 동작 예 (1) 우선순위를 2, 1, 3로 하는 프로세스 A, B, C가 있다면 운영체제는 우선순위가 가장 높은 프로세스 B에게 중앙처리장치를 배정한다.
33
Section 3: 프로세스 스케줄링 우선순위 스케줄링 동작 예 (2) 프로세스 B의 실행이 종료되면 다음으로 우선순위가 높은 프로세스 A를 실행한다.
34
Section 3: 프로세스 스케줄링 우선순위 스케줄링 동작 예 (3) 우선순위 2의 프로세스 D가 생성되면 프로세스 D의 프로세스 제어 블록이 준비 큐에 연결되는데, 우선순위가 2이므로 프로세스 C의 프로세스 제어 블록 앞에 위치한다.
35
Section 3: 프로세스 스케줄링 우선순위 스케줄링 동작 예 (4) 프로세스 A의 실행이 종료되면 프로세스 D가 실행된다.
36
Section 3: 프로세스 스케줄링 우선순위 스케줄링 동작 예 (5) 프로세스 D의 실행이 종료되면 프로세스 C가 실행된다.
37
Section 3: 프로세스 스케줄링 우선순위 스케줄링 세 개의 프로세스 우선순위 스케줄링에 의한 실행과 시간 평균 대기 시간 문제점으로는 프로세스의 우선순위가 낮으면 매우 오랜 시간 동안 실행되지 않을 수 있다는 점 -> 에이징(aging)
38
단순한 구조의 주기억장치 관리 (1) 단일 연속 주기억장치 관리 Section 4: 주기억장치 관리
단일 연속 주기억장치 관리와 분할 주기억장치 관리 (1) 단일 연속 주기억장치 관리 주기억장치에 운영체제 외에 한 개의 사용자 프로그램만 저장하는 관리 기법 주기억장치를 두 영역으로 나누어 한 영역에는 운영체제를 저장하고 다른 영역에는 한 개의 사용자 프로그램을 저장
39
(2) 분할 주기억장치 관리 Section 4: 주기억장치 관리
분할 주기억장치에서의 할당 방식 분할 주기억장치 예
40
(2) 분할 주기억장치 관리 Section 4: 주기억장치 관리 ① 최초 적합 방식
프로세스는 영역 2, 영역 3 그리고 영역 5 중에서 최초 영역인 영역 2에 저장된다. ② 최적 적합 방식 프로세스는 영역 2, 영역 3, 영역 5 중 가장 작은 영역인 영역 5에 저장된다.
41
(2) 분할 주기억장치 관리 Section 4: 주기억장치 관리 ③ 최악 적합 방식
프로세스는 영역 2, 영역 3, 영역 5 중 가장 큰 영역인 영역 3에 저장된다.
Similar presentations