• 검색 결과가 없습니다.

(Operating System)

N/A
N/A
Protected

Academic year: 2022

Share "(Operating System)"

Copied!
39
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Chapter 4 운영체재

(Operating System)

(2)

Contents

1 운영체제 정의 및 기능 2 운영체제 처리방식

3 운영체제 종류 4 운영체제 구조 5 프로세스

5.1 프로세스 스케쥴링 5.2 프로세스 간 경쟁 6 주기억장치 관리

7 파일시스템

8 자원 관리 및 보안

(3)

5 프로세스

1.

프로세스(process):

A. 실행 중인 또는 실행 상태인 프로그램

B. 프로세스는 제어블록(PCB: Process Control Block)을 할당받음

C. PCB: 프로세스에 대한 정보를 저장하고 있는 자료구조 테이블

구성

프로그램: 명령의 집합

(4)

5 프로그램 실행 (프로세스)

1.

프로세스는 메모리 공간에 적재

2.

프로세스 정보는 운영체제 커널에서 관리

(5)

5. Windows 프로세스 정보 확인

1.

작업관리자에서 프로세스 정보 확인

(6)

5. Windows 프로세스 정보 확인

(7)

5 프로세스 상태

1.

프로세스 상태

A. 프로세스의 현재 상태: 준비, 실행, 대기(보류)

B. 준비 상태(ready state)

프로세스가 주기억장치 등 필요한 자원들을 할당받은 상태에 서 프로세서(CPU)를 할당받기 위해 기다리고 있는 상태

C. 실행 상태(running state)

프로세스가 프로세서를 차지하고 있는 상태

D. 대기 상태(blocked state)

프로세스가 필요한 자원을 요청한 후 이를 할당받을 때까지 기다리는 상태

(8)

5 프로세스 상태

1.

프로세스 상태 중에 기억장치 배정 여부에 따라 분류

(9)

5 프로세스 상태

1.

프로세스 상태 전이도

A. 디스패치: 준비상태에서 대기하고 있는 프로세스 중에 하나가 스케줄링 되어 CPU를 할당받아 실행 상태로 전이

B. 타임아웃(Interrupt): 주어진 시간에 작업이 끝나지 않을 경우 인터럽트를 발생시켜 운영체제가 프로세서를 회수

C. 대기(Block): 지정된 시간 이전에 입출력이나 기타 수행을 필요로 할 때 스스로 프로세서를 양도하고 대기 상태로 전이

D. 사건발생(Wakeup): 입출력 작업이 끝나 대기 상태의 프로세스가 준비 상 태로 전이

(10)

5 프로세스 관리

1.

일정 관리자(scheduler): 프로세스 테이블에 새로운 프로 세스를 추가하거나 완료된 프로세스를 제거

2.

실행 관리자(dispatcher): 프로세스 테이블 안의 프로세 스들에 할당 시간의 할당을 제어

A. 할당 시간이 끝나면 인터럽트가 발생한다.

B. 스케쥴링: FIFO or FIFS, RR(Round Robin)

C. 작업 우선순위에 따른 고려가 필요함

(11)

5. 프로세스 관리

1.

다중 프로그래밍

A. 여러 개의 프로세스를 주기억장치에 적재하여 실행 중이던

프로세스가 중앙처리장치 동작이 아닌 다른 사건(입출력 동작)이 발생하기를 기다리는 동안 다른 프로세스가 중앙처리장치에 의해 실행되도록 하여 중앙처리장치 이용률을 최대화하는 개념

B. 실행 상태에 있던 프로세스의 실행이 종료되거나 다른 사건이 발 생하기를 기다리기 위해 대기 상태가 되면 다음에 실행할 새로운 프로세스를 정해야 함

2.

프로세스 스케줄링?

A. 운영체제가 어떤 프로세스를 실행할 것인지를 결정하는 것

(12)

5 프로세스 A와 프로세스 B 사이의 시분할 방식

가정)

A. 프로세스 A 수행시간: 1분

B. 프로세스 B 수행시간: 5초

C. 프로세스 A가 먼저 도착함

D. 프로세스 스위치: 문맥교환(Context Switching) 발생함

1. 일괄처리방식이 시분할방식보다 빠른 특성이 있음 (사람의 체감은 시분할에 만족도가 높음)

(13)

5 문맥 교환 (Context Switching)

1. 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU 를 사용하도록 하기 위해, 이전의 프로세스의 상태(문맥)를 보관하고 새로운 프로세스의 상태를 적재하는 작업

(14)

5.1 프로세스 스케쥴링: FCFS

1.

FCFS(First-Come First-Served) 스케줄링

A. 먼저 도착한 프로세스를 먼저 서비스(실행)하는 방법

B. 동작 예:

(1) 프로세스 A는 실행, 프로세스 B와 C는 대기 (2) 프로세스 A가 종료되면 프로세스 B가 실행

(15)

5.1 프로세스 스케쥴링: FCFS

1.

FCFS 수행시간 분석: Case #1

A. 세 개의 프로세스

B. FCFS 스케줄링에 의한 실행과 시간

C. 평균 대기 시간

(16)

5.1 프로세스 스케쥴링: FCFS

1.

FCFS 수행시간 분석: Case #2

A. 프로세스 C, B, A 순으로 생성된 경우

B. 평균 대기 시간

C. 프로세스의 실행 순서에 따라 평균 대기 시간의 차이가 크다.

(17)

5.1 프로세스 스케쥴링: RR (Round Robin)

1.

라운드 로빈 스케줄링

A. 하나의 CPU를 임의의 프로세스가 종료될 때까지 차지하는 것이 아 니라 여러 프로세스들이 CPU를 조금씩 돌아가며 할당받아 실행

B. 프로세스들은 시간 할당량 동안 CPU를 할당 받아 실행되는데, 이 시 간 동안 실행을 종료하지 못하면 운영체제에 의해 준비 상태로 쫓겨 나고, 준비 큐의 다음 프로세스가 CPU를 할당 받아 실행

(18)

5.1 프로세스 스케쥴링: RR (Round Robin)

1.

문맥 전환

A. 중앙처리장치 이용률을 저하

B. 동작 예

(1) 우선 프로세스 A가 생성되어 CPU를 할당 받아 실행

(19)

5.1 프로세스 스케쥴링: RR (Round Robin)

(2) 바로 프로세스 B와 C가 생 성되면 프로세스 B와 C의 프 로세스 제어 블록이 준비 큐 에 연결

(3) 프로세스 A가 실행을 시작 한지 4ms(시간 할당량)가 되 면 운영체제에 의해 준비 상 태로 쫓겨나고 다음 프로세 스인 B가 CPU를 할당

(20)

5.1 프로세스 스케쥴링: RR (Round Robin)

(4) 마찬가지로 프로세스 B가 4ms를 사용하면 준비 상태 로 쫓겨나고 프로세스 C가 CPU를 할당

(5) 프로세스 C는 2ms만을 필 요로 하므로 시간할당량을 사용하기도 전에 종료된다.

다음 프로세스인 A가 CPU 를 할당

(21)

5.1 프로세스 스케쥴링: RR (Round Robin)

(6) 프로세스 A가 시간할당 량 4ms를 사용하면 준비 상태로 쫓겨나고 프로세 스 B가 중앙처리장치를 할당

(7) 프로세스 B는 1ms를 이 용하면 실행이 종료되어 프로세스 A가 중앙처리장 치를 할당

(8) 프로세스 A가 종료될 때 까지 실행

(22)

5.1 프로세스 스케쥴링: RR (Round Robin)

1.

라운드 로빈 스케줄링에 의한 실행과 시간

2.

평균 대기 시간 (단, 문맥 전환 시간은 고려하지 않았다.)

(23)

5.1 프로세스 스케쥴링: 우선순위

1.

우선순위 스케줄링

A. 가장 높은 우선순위의 프로세스에게 먼저 중앙처리장치를 할당하 는 방법이며 우선순위가 같은 프로세스들의 경우에는 FCFS 방법 을 적용

B. 동작 예

(1) 우선순위를 2, 1, 3로 하는 프로세스 A, B, C가 있다면 운영체제는 우선순위가 가장 높은 프로세스 B에게 중앙처리장치를 배정

(24)

5.1 프로세스 스케쥴링: 우선순위

(2) 프로세스 B의 실행이 종료되 면 다음으로 우선순위가 높은 프로세스 A를 실행.

(3) 우선순위 2의 프로세스 D가 생성되면 프로세스 D의 프로 세스 제어 블록이 준비 큐에 연결되는데, 우선순위가 2이 므로 프로세스 C의 프로세스 제어 블록 앞에 위치

(25)

5.1 프로세스 스케쥴링: 우선순위

(4) 프로세스 A의 실행이 종료되면 프로세스 D가 실행

(5) 프로세스 D의 실행이 종료되면 프로세스 C가 실행

(26)

5.1 프로세스 스케쥴링: 우선순위

1.

우선순위 스케쥴링 시간분석

A. 세 개의 프로세스

B. 우선순위 스케줄링에 의한 실행과 시간

C. 평균 대기 시간

D. 문제점? 프로세스의 우선순위가 낮으면 매우 오랜 시간 동안 실 행되지 않을 수 있다는 점

(27)

6 주기억장치 관리

1.

단순한 구조의 주기억장치 관리

A. 단일 연속 주기억장치 관리와 분할 주기억장치 관리

2.

단일 연속 주기억장치 관리

A. 주기억장치에 운영체제 외에 한 개의 사용자 프로그램만 저장

B. 주기억장치를 두 영역으로 나누어 한 영역에는 운영체제를 저장 하고 다른 영역에는 한 개의 사용자 프로그램을 저장

(28)

6 주기억장치 관리

1.

분할 주기억장치 관리

A. 주기억장치를 n개의 영역으로 분할하여 각 영역에 서로 다른 프 로세스를 동시에 저장하는 방식

A. 분할 주기억장치에서의 할당 방식

(29)

6 주기억장치 관리

프로세스의 크기를 150으로 가정

① 최초 적합 방식: 프로세스는 영역 2, 영역 3 그리고 영역 5 중에서 최초 영역 인 영역 2에 저장

② 최적 적합 방식: 프로세스는 영역 2, 영역 3, 영역 5 중 가장 작은 영역인 영역 5에 저장

③ 최악 적합 방식: 프로세스는 영역 2, 영역 3, 영역 5 중 가장 큰 영역인 영역 3 에 저장

(30)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

가상 메모리

A. 크기 5의 프로그램이 주기 억장치에 할당: 문제없음

C. 실행하려는 전체 프로그램 크기(개수)가 주기억장치보 다 큰경우: 문제 발생

B. 주기억장치보다 프로그램 크기가 큰 경우: 문제 발생

(31)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

가상메모리 (계속)

A. 당장 실행에 필요한 부분만 주기억장치에 저장하고 (당장 필요하지 않은) 나머지 부분은 보조기억장치에 넣어 두고 실행

B. 사용자(User)는 실제 주기억장치보다 큰 주기억장치를 가지고 있는 것처 럼 느끼게 됨

C. 당장 실행될 부분만 주기억장치에 저장

페이지(Page): 프로그램을 일정한 크기로 나눈 단위

페이징(Paging): 페이지 단위로 주기억장치에 올리며 동작하는 것

(32)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

페이징(Paging)

A. 가상메모리를 구현하는 한 방법으로, 가상메모리 공간을 일정한 크기의 페이지로 나누어 관리

페이지 프레임: 실제 주기억장치의 페이지에 해당하는 부분

B. 동작 원리

16개 페이지로 이루어진 프로세스 A와 프로세스 B가 실행 중 주기억장치는 24개 페이지 프레임 크기

(각 페이지의 크기는 1000이라 가정)

(33)

6 주기억장치 관리: 가상메모리(Virtual memory)

A. 동작 예) 프로세스 A의 페이지 0과 프로세스 B의 페이지 0, 1이 당장 실행되어야 한다고 가정

* 페이지 테이블: 프로세스 마다 각 페이지가 주기억장치의 어느 프레임에 저장되는지를 나타내는 테이블

(34)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

페이지 교체 알고리즘

A. 새로운 페이지를 주기억장치에 저장할 때 비어있는 프레임이 없 으면 새로운 페이지를 저장하기 위해 주기억장치에서 제거할 페 이지를 결정하는 동작

2.

페이지 교체할 때의 동작

(35)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

페이지 교체 알고리즘의 동작

가정: 페이지 프레임이 3개인 주기억장치가 있고,

참조한 페이지 번호가 1, 2, 2, 2, 3, 1, 1, 3, 4라 할 때의 예를 이용해서 각각의 알고리즘에 대해 살펴보자.

생각해 볼 수 있는 페이지 교체 방법은 ?

(36)

6 주기억장치 관리: 가상메모리(Virtual memory)

유사한 예제)

책1

책2

책3

책4

책5

(37)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

FIFO(First-In First-Out)알고리즘

A. 페이지를 교체해야 할 때 주기억장치에 가장 먼저 올라온 페이지를 선택 해서 제거하는 기법

참조한 페이지 번호 1, 2, 2, 2, 3, 1, 1, 3, 4

(38)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

LRU(Least Recently Used) 알고리즘

A. 페이지를 교체해야 할 때, 주기억장치에 올라온 페이지들 중에서 가장 오랫동안 사용되지

않았던 페이지를 제거하는 기법 참조한 페이지 번호 1, 2, 2, 2, 3, 1, 1, 3, 4

(39)

6 주기억장치 관리: 가상메모리(Virtual memory)

1.

LFU(Least Frequently Used) 알고리즘

A. 페이지를 교체해야 할 때 페이지들 중 사용빈도가 가장 낮은 페이지를 선택해서 제거하는 기법

참조한 페이지 번호 1, 2, 2, 2, 3, 1, 1, 3, 4

참조

관련 문서

링크드리스트( Linked List ) 라고 한다. 매우 중요하지만,

– Woking set 크기 만큼의 프레임 할당. ●

이러한 2015 개정 수학과 교육과정에서의 자료와 가능성 즉 확률과 통계 영역의 강조, 실생활 중심의 수학 추구, 합리적이고 창의적인 문제해결과정의 흐름에 맞게 본

○ 일반계 고등학교에 적용할 통합과학 중심의 창의적인 STEAM 수업모델 및 교수 학습 자료 개발 및 적용.. ○ 영재학급과 연계된 창의적인 STEAM 수업모델

“이 교재는 2020년도 교육부의 재원으로 한국과학창의재단의 지원을 받아

따라서 경장영양 수행도를 높이기 위해 중요도 인식을 높여야 하며, 특히 경장영양액의 선택과 준비, 경장영양의 유지관리, 경장영양 주입 감시, 경장영 양

개발된 융합인재교육(STEAM) 프로그램 적용을 통해 자연스럽게 과학이나 수학적 기초 개념을 일상생활과 연결시킬 수 있는 개념 적용

STEAM 교육에 필요한 프로그램 개발과 학생 활동 도구 준비.  학생활동에