학습 개요
- 컴퓨터의 프로세서를 프로세스에게 할당하고 효율적으로 관리하는 기법에 대해 학습함
- 기억 장치를 효율적으로 관리하는 방법을 공부함
- 프로세스들의 무한 자원 대기 상태인 교착 상태를 이해함
- 주변 기기인 보조 기억 장치와 파일 저장에 관한 관리 역할을 학습함
학습 목표
- 프로세스가 실행하기 위해 필요한 프로세스의 상태 및 프로세스에게 할당하기 위한 프로세서 스케줄링 기법들을 이해함
- 자원 할당을 기다리는 교착 상태의 개념과 교착 상태를 회피하거나 해결하는 교착 상태 처리 기법을 이해함
- 장치 관리자 및 파일 관리자의 기능과 처리 방법을 이해함
강의록
프로세서 관리
개요
- 프로세서 관리자
- 프로세스에게 주 기억 장치를 할당하는 기법이 필요한 것처럼 중앙 처리 장치(CPU)를 프로세스에게 할당하는 관리자
- 중앙 처리 장치 할당은 프로세서 관리자(운영 체제)의 역할임
- 프로세서 관리자는 단일 CPU에 프로세스를 할당하는 방법과 시간을 결정함
프로세스 개념
- 프로세스 상태
- 프로세스는 실행 상태에 있는 능동적 프로그램이며, 프로그램은 보조 기억 장치에 저장된 상태의 수동적 객체임
- 프로세스
- 수동적인 프로그램은
- 주 기억 장치에 적재되고
- 중앙 처리 장치를 할당 받아
- 실행 될 명령어로 변경되어
- 다양한 작업을 수행할 수 있는 능동적 프로세스가 됨
- 수동적인 프로그램은
- 운영 체제는 프로세스의 정보를 저장하는 프로세스 제어 블록(Process Control Block, PCB)을 관리하며, 프로세스의 실행이 끝나면 프로세스 제어 블록을 삭제함
- 프로세스가 시스템 내에 존재하는 동안, 그 프로세스는 생성(new), 준비(ready), 실행(running), 대기(waiting), 종료(finished)와 같은 5개 상태 중 한 상태에 있게 됨
중앙 처리 장치 스케줄링 기법
- 프로세스 스케줄링 개요
- 프로세스 스케줄링 알고리즘
- 운영 체제가 프로세스에게 중앙 처리 장치를 할당하는 방법
- 프로세스 스케줄링 알고리즘은 선점 스케줄링 기법과 비 선점 스케줄링 기법으로 크게 구분 됨
- 비 선점 스케줄링 기법
- 일단 프로세스에 중앙 처리 장치가 할당되어 프로세스의 실행이 시작되면, 프로세스가 종료될 때까지 중앙 처리 장치를 다른 프로세스에게 양보하지 않는 기법임
- 선점 스케줄링 기법
- 중앙 처리 장치(CPU)를 점유하여 실행 중인 프로세스를 내보내고, 다른 프로세스에게 중앙 처리 장치에 할당하는 스케줄링 기법임
- 비 선점 스케줄링 기법
- 프로세스 스케줄링 알고리즘
- 프로세스 스케줄링 분류
- 비 선점 스케줄링 기법은 짧은 작업이 긴 작업으로 인해 기다리게 되는 경우가 있지만 모든 프로세스 관리가 공평함
- 비 선점 스케줄링 기법은 우선 순위에 관계 없이 대기 중인 작업에는 변동이 없으므로 응답 시간을 예측할 수 있는 장점이 있음
- FCFS 스케줄링
- FCFS(First-Come First-Served) 스케줄링 기법
- 준비 큐에 도착한 순서대로 중앙 처리 장치를 할당 받도록 해 주는 기법
-
하나의 프로세스가 중앙 처리 장치를 차지하면 그 프로세스의 수행이 완료된 후에 그 다음 프로세스에게 중앙 처리 장치를 할당함

-
FCFS 스케줄링에서는 대기 큐에 늦게 들어온 짧은 작업이 대기 큐에 일찍 들어온 긴 작업을 기다리게 되고, 중요한 프로세스가 덜 중요한 프로세스의 완료를 기다리는 단점이 있음

- 우선 순위 스케줄링
- 우선 순위가 높은 프로세스부터 먼저 처리하는 스케줄링 기법
- 우선 순위는 여러 가지 요인에 의해 결정될 수 있음
- 기본적 우선 순위는 각 프로세스가 요구하는 기억 장치의 양, 주변 장치의 수와 형태, 중앙 처리 장치 처리 요구 시간, 작업 처리를 시작한 시점부터 경과 된 시간 등을 고려하여 중앙 처리 장치 관리자에 의해 결정됨
- 외부적 우선 순위는 사용자의 직위나 상 거래의 규모 등을 이용하여 시스템 관리자가 결정함
-
우선 순위 스케줄링을 사용하는 경우 프로세스는 일반적으로 우선 순위에 따라 배치하기 위해서 여러 개의 준비 큐에 들어감

- SJF (Shortest Job First) 스케줄링
- 현재 준비 큐에 있는 프로세스들 중에서 수행 시간이 가장 짧을 것으로 예상되는 프로세스를 먼저 처리하는 스케줄링 기법
- 프로세스의 예상 수행 시간을 실행 입력 이전에 알아야 하므로 일괄 처리 환경에서는 구현하기 쉽지만, 대화식 시스템에서는 사용자와 컴퓨터 간의 상호 작용으로 인해 실행 시간을 예측할 수 없기 때문에 사용하기 힘듦
- 대기하는 프로세스의 수를 최소화할 수 있으므로 빠른 응답 시간을 제공할 수 있지만, 수행 시간이 긴 프로세스는 CPU를 할당 받지 못한 채 계속 기다릴 수 있는 단점도 있음
- RR (Round Robin) 스케줄링
- 프로세스가 도착한 순서대로 CPU가 할당되지만, CPU의 시간 할당량 또는 시간 간격에 의해 제한을 받는 스케줄링 방식임
- 시간 할당량을 모든 프로세스에게 동일하게 주고, 그 시간 동안 완료되지 못한 프로세스는 준비 큐의 맨 뒤에 배치되고 준비 중인 다음 프로세스에게 중앙 처리 장치를 할당함
-
하나의 프로세스가 CPU를 독점하지 않고 공평하게 이용될 수 있도록 하는 장점도 있지만, 우선 순위가 높은 작업을 빨리 처리하기 어려운 단점도 있음


정리 문제
- 프로세스 스케줄링 기법 중 현재 준비 큐에 있는 프로세스들 중에서 수행 시간이 가장 짧을 것으로 예상되는 프로세스를 먼저 처리하는 방식은 무엇인가?
- SJF 스케줄링 기법
프로세서 관리
교착 상태
- 개요
- 다중 프로그램 실행 환경에서는 여러 프로세스들이 제한된 컴퓨터 자원을 사용하려고 서로 경쟁할 수 있음
-
한 프로세스가 컴퓨터 자원을 요청했지만 바로 할당 받을 수 없다면, 그 프로세스는 자원을 얻기 위한 대기 상태로 들어감

- 두 개의 다른 프로세스가 서로에게 할당된 컴퓨터 자원을 얻기 위해 대기하면서 자신에게 할당된 컴퓨터 자원을 포기하지 않는다면, 서로의 컴퓨터 자원을 무한대로 기다리는 상태가 됨
- 2개 이상의 프로세스가 대기 중인 프로세스들 중의 하나에 의해서만 발생할 수 있는 사건을 무작정 기다리는 상태를 교착 상태(deadlock)라고 함
-
교착 상태의 예

- 두 개의 프로세스 P1과 P2가 있을 때 프린터와 자기 테이프가 각각 하나씩 있다고 가정해봄
- P1은 프린터를 할당 받고 자기 테이프를 요청하고,
- P2는 자기 테이프를 할당 받고 프린터를 요청하면 P1과 P2는 서로의 컴퓨터 자원을 무한정 기다리는 교착 상태에 빠지게 됨
- 두 개의 프로세스 P1과 P2가 있을 때 프린터와 자기 테이프가 각각 하나씩 있다고 가정해봄
- 교착 상태의 필수 조건
- 교착 상태는 다음의 네 가지 조건이 동시에 만족할 때에만 발생함
- 상호 배제 조건
- 한 프로세스가 컴퓨터 자원을 사용 중이면 다른 프로세스는 그 컴퓨터 자원을 사용하지 못하고 해제될 때까지 반드시 기다려야 함
- 대기 조건
- 프로세스가 적어도 하나 이상의 컴퓨터 자원을 할당 받아 점유하고 있으면서 다른 프로세스가 할당 받은 자원을 요청하고 그것이 해제 되기를 기다려야 함
- 비 선점 조건
- 할당된 컴퓨터 자원이 그 프로세스의 작업 종료 후 자발적으로만 해제될 수 있고 타입에 의해서는 해제되지 않음
- 환 형 대기 조건
- 프로세스의 원형 사슬이 존재해서 이를 구성하는 각 프로세스가 사슬 내의 다음에 있는 프로세스가 요구하는 하나 이상의 자원을 가지고 있음
- 상호 배제 조건
- 교착 상태는 다음의 네 가지 조건이 동시에 만족할 때에만 발생함
- 교착 상태의 처리
- 교착 상태 방지(prevention)
- 교착 상태는 교착 상태 필수 조건을 만족할 경우에 발생함
- 네 가지 교착 상태 발생 조건 중에서 어느 한 가지 조건이라도 제거하면, 교착 상태가 발생하지 않도록 할 수 있음
- 이와 같이 요구 상태를 제한함으로써 교착 상태를 방지하게 되면 컴퓨터 자원의 이용률과 시스템 성능이 저하되는 부작용이 생기게 됨
- 교착 상태 탐지(detection)
- 교착 상태에 빠진 프로세스의 존재를 검사하여 교착 상태를 찾아내는 기법
- 교착 상태 탐지 알고리즘을 수행하는 것은 시스템 성능에 상당한 부담이 되기 때문에, 교착 상태 탐지 알고리즘은 적절하게 수행되어야 함
- 교착 상태 복구(recovery)
- 교착 상태를 제거하여 다른 프로세스가 컴퓨터 자원을 사용할 수 있도록 하는 방법
- 교착 상태 복구 방법 중 하나는 시스템 관리자에게 교착 상태가 발생하였음을 알려주어 직접 수작업으로 처리하도록 하는 것임
- 원형 대기를 없애기 위해 몇 개의 프로세스들을 중지 시키거나 교착 상태에 있는 하나 이상의 프로세스들로부터 몇 개의 자원을 반납하게 하는 것임
- 교착 상태 방지(prevention)
정리 문제
- 교착 상태가 발생하는 네가지 조건에 해당하지 않는 것은?
- 원형 대기 조건
장치 관리
장치 관리와 파일 관리
- 개요
- 운영 체제는 장치 관리자와 파일 관리자의 역할도 수행함
- 장치 관리자는 시스템의 키보드, 마우스, 프린터, 네트워크 카드 등과 같은 모든 주변 기기를 관리함
- 파일 관리자는 시스템 내에 존재하는 파일의 저장과 접근 권한 등을 관리함
-
디스크 팩의 구조

- 원통 형 헤드
- 디스크
- 실린더
- 트랙
- 섹터
- 스핀들
보조 기억 장치
- 개요
- 대용량의 프로그램이나 데이터를 장기간 저장하기 위한 장치 매체는 보조 기억 장치이며 디스크 상의 파일에 직접 접근할 수 있는 직접 접근 매체인 하드 디스크와 플래시 메모리가 대표적인 보조 기억 장치임
- 하드 디스크와 같은 직접 접근 저장 장치(Direct Access Storage Device)는 자기 디스크의 특정 위치에 있는 데이터를 읽거나 쓸 경우 임의적인 접근이 가능하기 때문에 임의 접근 저장 장치라고도 함
- 하드 디스크는 읽기/쓰기 헤드가 각 트랙마다 고정되어 있는 고정 헤드 저장 장치와 트랙 사이의 이동을 통해 원하는 위치에 접근할 수 있는 이동 헤드 저장 장치로 구분될 수도 있음
- 일반적으로 하드디스크 구조는 고정 헤드나 이동 헤드에 관계없이 디스크 팩으로부터 구성될 경우 각 면은 동심원의 트랙(track)들로 구성됨
- 이때 각 면마다 중심축으로부터 같은 거리에 있는 트랙의 집합을 실린더(cylinder)라고 함
- 트랙에서 정보를 읽고 쓰기 위한 단위인 섹터(sector)로 나뉨

- 일반적으로 디스크에 접근하는 데 걸리는 시간은
- 트랙 탐색 시간(seek time)
- 디스크 회전 지연 시간(rotational time, latency time)
- 데이터 전송 시간(transfer time)의 합으로 구성 됨
-
디스크 팩의 구조

- 트랙 탐색 시간
- 헤드를 움직여 원하는 트랙으로 이동 시키는 데 필요한 시간을 의미하며, 기계적인 동작으로 이루어지기 때문에 가장 시간이 많이 걸리는 요소임
- 디스크 회전 지연 시간
- 헤드가 원하는 트랙에 위치한 후에, 요구된 자료가 저장 된 특정 섹터가 헤드 밑에 이를 때까지 디스크가 회전하는 데 필요한 시간
- 데이터 전송 시간
- 쓰기 동작일 경우에는 주 기억 장치에서 데이터가 보조 기억 장치에 저장되는 시간이며, 읽기 동작일 경우에는 보조 기억 장치로부터 데이터를 읽어 주 기억 장치로 이동하는 데 필요한 시간
- 트랙 탐색 시간
-
디스크 접근 시간의 구성 요소

- 전송 시간
- 회전 지연 시간
- 고정 축(boom)
디스크 스케줄링
- 개요
- 프로세스들의 보조 기억 장치 읽기 요청이나 쓰기 요청을 효율적으로 처리하기 위한 보조 기억 장치(디스크) 관리 기법임
- 디스크 스케줄러는 대기하고 있는 요청들 간의 위치 관계를 조사한 후에, 최소한의 기계적 동작에 의해 처리될 수 있도록 요청들의 순서를 재 배열함
- 트랙 탐색 시간 최적화와 회전 지연 시간 최적화의 두 가지 형태로 나눌 수 있음
- 트랙 탐색 시간이 디스크 회전 지연 시간보다 크기 때문에, 디스크 스케줄링 기법에서 가장 중요한 사항이 바로 트랙 탐색 시간의 최적화이고, 대부분의 디스크 스케줄링 알고리즘은 트랙 탐색 시간을 최소화하는 데 집중함
- 스케줄링 알고리즘을 평가하기 위한 기준으로 데이터 처리량, 평균 반응 시간, 응답 시간 등이 있을 수 있으며, 트랙 탐색을 최적화 하는 디스크 스케줄링 기법들이 있음
- FCFS (First-Come First-Served) 스케줄링 기법
- 먼저 도착한 디스크 접근 요청이 가장 먼저 서비스를 받도록 하는 기법
- 일단 디스크 접근 요청이 도착하면 실행 순서가 고정되어 더 높은 요청이 도착해도 실행 순서가 바뀌지 않음
- 부하가 적은 시스템의 경우에는 비교적 좋은 방법이지만, 부하가 커질수록 장치를 포화 시키기가 쉽고 응답 시간이 길어지는 단점이 있음
- SSTF (Shortest Seek Time First) 스케줄링 기법
- 현재 디스크 헤드의 위치에서 가장 짧은 트랙 탐색 거리(또는 탐색 시간)를 가진 디스크 접근 요청을 먼저 처리하는 기법
- FCFS에 비해 평균 응답 시간도 짧지만, 가장 중요한 단점은 중간 범위의 트랙에 비해 가장 안쪽 또는 바깥쪽 트랙이 서비스를 받지 못하는 경우가 발생할 확률이 높음
- SSTF는 처리량이 주요 관심사인 일괄 처리 시스템에서는 유용하게 사용될 수 있지만, 응답 시간의 큰 편차로 발생하기 때문에 대화식 시스템에서는 사용되지 않음
- SCAN 스케줄링 기법
- SSTF 스케줄링 기법의 서비스에 대한 불공평성 문제를 극복하기 위해서 제안 된 방법임
- 한쪽 방향에서 가장 짧은 탐색 거리의 디스크 접근 요청이 먼저 서비스를 받도록 하는 기법
- 해당 방향의 마지막 실린더를 만나거나 기다리는 요구가 더 이상 없을 때에는 방향을 바꿔 서비스를 계속함
- 디스크 헤드의 진행 방향의 바로 앞에 요구가 도착하면 바로 서비스가 이루어짐
- 헤드가 지나간 후 헤드 바로 뒤에 도착하는 요구는 헤드가 진행 방향의 끝까지 갔다가 방향을 바꿔 되돌아올 때까지 기다려야 하는 문제가 있음
- 상대적으로 안쪽 트랙과 바깥쪽 트랙이 중앙 트랙보다 서비스를 많이 받게 되는 불공평성 문제점을 갖고 있음
- SLTF (Shortest Latency Time First) 스케줄링 기법
- 트랙 탐색 시간을 최적화하기 위한 SSTF 스케줄링과 유사하게 디스크의 회전 지연 시간을 최적화 하기 위한 기법
- 일단 디스크 헤드가 특정 실린더에 도착하면 그 실린더 내의 여러 트랙에 대하여 많은 요구가 있을 가능성이 높기 때문에 모든 요구를 검사한 후 가장 짧은 회전 지연을 갖는 요구들에게 우선적으로 서비스하는 기법임
파일 관리
파일 관리 시스템
- 개요
- 파일(file)이란 일반적으로 디스크 등의 보조 기억 장치에 저장되어 있는 서로 관련성 있는 데이터의 집합(레코드의 집합)을 의미함
- 파일에 의해서 사용되는 자원의 관리를 비롯하여 파일의 생성, 삭제, 수정, 접근 등을 제어하는 소프트웨어를 파일 관리 시스템(file management system)이라고 함
- 구성 요소
- 파일 관리 시스템(운영 체제)의 주요 구성 요소
- 파일에 저장되어 있는 데이터에 대한 접근 방식
- 파일의 저장, 참조, 공유 및 파일 보호 기법을 제공하는 파일 관리
- 보조 기억 장치에 파일 저장을 위한 공간 할당과 관련된 보조 기억 장치 관리
- 파일의 정보가 소실되지 않도록 보장하는 일에 관계된 파일 무결성 유지
- 파일 관리 시스템(운영 체제)의 주요 구성 요소
- 역할
- 구성 요소를 통해 파일 관리 시스템은 물리적인 저장 요소, 정보 자원, 그리고 파일들을 저장하고 분배하기 위한 정책들을 책임짐
- 구체적으로 파일의 생성, 수정, 삭제, 공유, 백업과 복구, 보호, 사용자 편의 인터페이스 제공 등의 다양한 기능을 수행함
- 파일 구조는 파일을 구성하는 레코드들의 보조 기억 장치 배치 기법으로 파일에서 레코드에 접근하는 방식과 밀접한 관계를 가짐
- 접근 방식
- 일반적으로 접근 방식은 순차 접근과 직접 접근으로 나눌 수 있으며, 이에 따른 대표적인 파일 구조로는 순차 파일(sequential file)과 직접 파일(direct file)이 있음
- 인덱스 순차 파일(indexed sequential file)은 순차 처리와 직접 처리가 모두 가능한 구조를 가짐
- 순차 파일
- 순차 파일
- 레코드들의 저장이 연속적인 물리적 위치에 따라 저장되어 있는 파일 형태
- 순차 파일은 일반적으로 키 값에 따라 일정한 순서를 유지하며 저장되며, 논리적으로 연속적으로 나타나는 레코드들은 물리적으로도 연속적인 위치에 저장됨
- 한 레코드에 접근하기 위해서, 그 레코드의 앞에 있는 레코드들을 먼저 접근해야 함
- 물리적으로 순차적인 접근 특성을 가진 자기 테이프에 가장 많이 이용됨
- 순차 파일
- 직접 파일
- 레코드가 저장되어 있는 저장 장치의 물리적 주소에 의해 직접적으로 접근할 수 있는 구조의 파일 형태임
- 다른 레코드를 참조하지 않고 어떤 레코드에도 접근할 수 있음
- 특정 레코드를 식별하기 위한 레코드 키와 보조 기억 장치의 저장 주소의 관계 정보를 알고 있어야 함
- 파일을 구성할 때 레코드 키와 실제 저장 주소 사이의 관계를 찾아낼 수 있는 함수가 필요하며, 이를 통해 레코드 키를 변환하여 실제 저장 된 보조 기억 장치의 주소를 얻어냄
- 직접 파일은 이와 같은 접근의 효율성을 위해 순차 파일과는 다르게 자기 디스크와 같은 직접 접근 저장 장치에 저장함
- 인덱스 순차 파일
- 레코드 키 값에 따라 정렬된 레코드를 순차적으로 접근할 수 있는 순차 파일의 특징을 가지고 있음
- 주어진 키 값에 따라 직접 접근할 수 있는 직접 파일의 특징을 갖는 구조의 파일 형태임
- 순차 접근을 지원하는 순차 파일과 직접 접근을 지원하는 직접 파일을 결합한 형태임
- 인덱스 순차 파일은 순차적으로 정렬된 데이터 영역과 이 영역에 대해 포인터를 가지고 있는 인덱스로 구성됨
- 데이터 영역을 순차적으로 접근할 수도 있고, 인덱스를 통해 어느 특정 영역에 대한 직접 접근을 처리할 수 있음
디스크 공간 할당 방식
- 개요
- 파일을 보조 기억 장치에 저장할 때 어떻게 디스크 공간을 할당할 것인가와 관련된 문제는 파일 관리 시스템의 한 요소를 차지하고 있는 중요한 부분임
- 공간의 효율성과 파일에의 접근성 등이 공간 할당 방식에 따라 달라짐
- 연속 할당(contiguous allocation) 기법
- 파일이 보조 기억 장치에 저장될 때 연속된 공간을 할당 받는 기법
- 파일의 시작 주소와 파일의 길이 정보를 관리하는 파일 디렉터리를 통해 파일에 접근함
- 만약 보조 기억 장치에 파일 크기보다 큰 연속된 공간이 없을 경우에는 파일을 생성할 수 없음
- 논리적으로 연속된 레코드들이 물리적으로도 서로 인접하게 저장되므로 접근 시간이 줄어들고, 파일 디렉터리의 구현이 쉬움
- 파일이 제거되고 난 후의 빈 공간이 새로 저장되는 파일의 크기와 같지 않기 때문에 보조 기억 장치의 단편화 문제가 발생하고, 이를 해결하기 위한 보조 기억 장치 압축 작업이 필요함
- 파일의 크기가 시간이 지남에 따라 파일 크기가 변하기 때문에 정확한 크기로 공간을 할당할 수 없는 문제로 인해 낭비가 발생할 수 있음
- 불연속 할당(noncontiguous allocation) 기법
- 파일을 작은 단위로 나누고, 보조 기억 장치의 불연속적인 공간을 나누어 할당 받는 기법
- 보조 기억 장치의 불연속적인 공간 단위에 따라 섹터 단위 할당과 블록 할당이 있음
- 섹터 단위 불연속 할당 기법
- 디스크 상에 있는 하나의 파일은 여러 개의 섹터 단위로 나누어 저장함
- 동일한 파일에 속하는 섹터들은 포인터를 통해서 연결된 하나의 리스트를 이루도록 저장하는 방식
- 파일 관련 정보를 저장하는 파일 디렉터리는 해당 파일의 시작 주소와 마지막 주소에 대한 포인터를 가짐
- 파일을 더 확장할 필요가 생기면 추가 섹터를 할당 받아 연결 리스트에 추가함
- 파일이 축소되는 경우에는 불필요한 섹터를 되돌려주는 방식을 사용함
- 보조 기억 장치 공간에 대한 압축과 같은 작업이 필요 없음
- 파일의 읽기 작업을 위해 분산 된 섹터를 찾고 접근하기 위해 연속 할당 기법에 비해 긴 탐색 시간이 필요함
- 연결 리스트 관리 및 포인터에 사용되는 공간 등에 따른 추가 비용이 발생함
- 블록 단위 불연속 할당 기법
- 보조 기억 장치의 보다 효율적인 이용과 실행 과정 중에 발생하는 추가 비용의 문제를 줄이기 위한 연속 할당과 불연속 할당 기법의 절충 된 방법임
- 개별적인 섹터를 할당하는 대신에 연속된 섹터로 구성된 블록을 이용함
- 추가적인 공간 할당이 요구되면 현재 파일이 저장되어 있는 블록에서 가장 가까운 거리에 있는 블록을 선택하여 할당함
- 블록 단위 불연속 할당 기법에서는 매번 파일에 접근할 때마다 해당 블록을 결정하고, 다시 해당 섹터를 결정
정리 문제
- 한쪽 방향에서 가장 짧은 탐색 거리의 디스크 접근 요청을 먼저 서비스하는 기법은?
- SCAN 스케줄링 기법
정리 하기
- 프로세스
- 실행 상태에 있는 프로그램
- 프로세스의 상태
- 생성, 준비, 실행, 대기, 종료
- 중앙 처리 장치 스케줄링 기법
- 선점 방식과 비 선점 방식
- 기한부 스케줄링, 우선 순위 스케줄링, FCFS 스케줄링, SJF 스케줄링, RR 스케줄링
- 교착 상태
- 2개 이상의 프로세스가 대기 중인 프로세스들 중의 하나에 의해서만 발생할 수 있는 자원의 획득이나 해제를 무작정 기다리고 있는 상태
- 디스크 스케줄링 기법
- FCFS 스케줄링 기법, SSTF 스케줄링 기법, SCAN 스케줄링 기법, SLTF 스케줄링 기법
- 디스크 공간 할당 방식
- 연속 할당 기법, 불연속 할당 기법
연습 문제
-
다중 프로그래밍 시스템에서 프로세스가 아무리 기다려도 결코 발생하지 않을 사건을 기다리고 있는 상황으로 제한된 자원에 대한 공유와 병행 처리로 인해 발생하는 문제는 무엇인가?
a. 교착 상태
- 2개 이상의 프로세스가 제한 된 자원을 동시에 공유함으로써 서로 대기 중인 상태가 되고 대기 중인 프로세스들 중의 하나에 의해서만 발생할 수 있는 사건을 무작정 기다리는 상태를 교착 상태(deadlock)라고 힘
-
하나의 프로세스가 공유 자원의 사용을 완료할 때까지 다른 프로세스의 공유 자원에 대한 접근을 금지하는 제어 기법은 무엇인가?
a. 상호 배제
- 상호 배제 조건은 한 프로세스가 컴퓨터 자원을 사용 중이면 다른 프로세스는 그 컴퓨터 자원을 사용하지 못하고 해제 될 때까지 반드시 기다려야 한다는 것임
- 이는 자원 할당에 대한 비 선점 기법에 기초함
-
모든 프로세스가 동일한 CPU 사용 시간을 갖는 프로세서 스케쥴링 기법은 무엇인가?
a. RR 기법
- FCFS 스케줄링
- 준비 큐에 도착한 순서대로 중앙 처리 장치를 할당 받는 방식
- SJF 스케줄링
- 현재 준비 큐에 있는 프로세스들 중에서 수행 시간이 가장 짧을 것으로 예상되는 프로세스를 먼저 처리하는 방식
- RR 스케줄링
- 프로세스가 도착한 순서대로 CPU가 할당되지만, CPU의 시간 할당량 또는 시간 간격에 의해 제한하는 방식
- SCAN 기법은 보조 기억 장치 접근 기법임
- FCFS 스케줄링
정리 하기
- 프로세스
- 실행 상태에 있는 프로그램
- 프로세스의 상태
- 생성, 준비, 실행, 대기, 종료
- 중앙 처리 장치 스케줄링 기법
- 선점 방식과 비 선점 방식
- 기한부 스케줄링
- 기한부 스케줄링은 기한이 되면 중앙 처리 장치를 양보하는 방식
- 우선 순위 스케줄링
- 우선 순위가 높은 프로세스부터 먼저 처리하는 방식
- FCFS 스케줄링
- 준비 큐에 도착한 순서대로 중앙 처리 장치를 할당 받는 방식
- SJF 스케줄링
- 현재 준비 큐에 있는 프로세스들 중에서 수행 시간이 가장 짧을 것으로 예상되는 프로세스를 먼저 처리하는 방식
- RR 스케줄링
- 프로세스가 도착한 순서대로 CPU가 할당 되지만, CPU의 시간 할당량 또는 시간 간격에 의해 제한하는 방식
- 교착 상태
- 2개 이상의 프로세스가 대기 중인 프로세스들 중의 하나에 의해서만 발생할 수 있는 자원의 획득이나 해제를 무작정 기다리고 있는 상태
- 교착 상태의 필수 조건
- 상호 배제 조건, 대기 조건, 비 선점 조건, 환 형 대기 조건
- 교착 상태 처리 방법
- 교착 상태의 방지, 교착 상태의 회피, 교착 상태의 탐지, 교착 상태의 복구
- 디스크 스케줄링 기법
- FCFS(First-Come First Served) 스케줄링 기법
- 먼저 도착한 디스크 접근 요청이 가장 먼저 서비스를 받는 방법
- SSTF(Shortest Seek Time First) 스케줄링 기법
- 현재 디스크 헤드의 위치에서 가장 짧은 트랙 탐색 거리(또는 탐색 시간)를 가진 디스크 접근 요청을 먼저 처리하는 방식
- SCAN 스케줄링 기법
- 한쪽 방향에서 가장 짧은 탐색 거리의 디스크 접근 요청을 먼저 서비스하는 방식
- SLTF(Shortest Latency Time First) 스케줄링 기법
- 디스크 헤드가 특정 실린더에 도착하면 그 실린더 내의 모든 요구를 검사한 후 가장 짧은 회전 지연을 갖는 요구들에게 우선적으로 서비스하는 방식
- FCFS(First-Come First Served) 스케줄링 기법
- 파일 구조
- 파일을 구성하는 레코드들이 보조 기억 장치에서의 배치 방법
- 디스크 공간 할당 방식
- 연속 할당(contiguous allocation) 기법
- 파일이 보조 기억 장치에 저장될 때 연속된 물리적 공간을 할당 받는 기법
- 불연속 할당(noncontiguous allocation) 기법
- 파일을 작은 단위로 나누고, 보조 기억 장치의 불 연속적인 공간을 나누어 할당 받는 기법
- 연속 할당(contiguous allocation) 기법