학습 개요
- 컴퓨터의 프로세서를 프로세스에게 할당하고 효율적으로 관리하는 기법에 대해 학습함
- 기억 장치를 효율적으로 관리하는 방법을 공부함
- 프로세스들의 무한 자원 대기 상태인 교착 상태를 이해함
- 주변 기기인 보조 기억 장치와 파일 저장에 관한 관리 역할을 학습함
학습 목표
- 프로세스가 실행하기 위해 필요한 프로세스의 상태 및 프로세스에게 할당하기 위한 프로세서 스케줄링 기법들을 이해함
- 자원 할당을 기다리는 교착 상태의 개념과 교착 상태를 회피하거나 해결하는 교착 상태 처리 기법을 이해함
- 장치 관리자 및 파일 관리자의 기능과 처리 방법을 이해함
강의록
프로세서 관리
개요
- 프로세서 관리자
- 프로세스에게 주 기억 장치를 할당하는 기법이 필요한 것처럼 중앙 처리 장치(CPU)를 프로세스에게 할당하는 관리자
- 중앙 처리 장치 할당은 프로세서 관리자(운영 체제)의 역할임
- 프로세서 관리자는 단일 CPU에 프로세스를 할당하는 방법과 시간을 결정함
프로세스 개념
- 프로세스 상태
- 프로세스는 실행 상태에 있는 능동적 프로그램이며, 프로그램은 보조 기억 장치에 저장된 상태의 수동적 객체임
- 프로세스
- 수동적인 프로그램은
- 주 기억 장치에 적재되고
- 중앙 처리 장치를 할당 받아
- 실행 될 명령어로 변경되어
- 다양한 작업을 수행할 수 있는 능동적 프로세스가 됨
- 수동적인 프로그램은
- 운영 체제는 프로세스의 정보를 저장하는 프로세스 제어 블록(Process Control Block, PCB)을 관리하며, 프로세스의 실행이 끝나면 프로세스 제어 블록을 삭제함
- 프로세스가 시스템 내에 존재하는 동안, 그 프로세스는 생성(new), 준비(ready), 실행(running), 대기(waiting), 종료(finished)와 같은 5개 상태 중 한 상태에 있게 됨
중앙 처리 장치 스케줄링 기법
- 프로세스 스케줄링 개요
- 프로세스 스케줄링 알고리즘
- 운영 체제가 프로세스에게 중앙 처리 장치를 할당하는 방법
- 프로세스 스케줄링 알고리즘은 선점 스케줄링 기법과 비 선점 스케줄링 기법으로 크게 구분 됨
- 비 선점 스케줄링 기법
- 일단 프로세스에 중앙 처리 장치가 할당되어 프로세스의 실행이 시작되면, 프로세스가 종료될 때까지 중앙 처리 장치를 다른 프로세스에게 양보하지 않는 기법임
- 선점 스케줄링 기법
- 중앙 처리 장치(CPU)를 점유하여 실행 중인 프로세스를 내보내고, 다른 프로세스에게 중앙 처리 장치에 할당하는 스케줄링 기법임
- 비 선점 스케줄링 기법
- 프로세스 스케줄링 알고리즘
- 프로세스 스케줄링 분류
- 비 선점 스케줄링 기법은 짧은 작업이 긴 작업으로 인해 기다리게 되는 경우가 있지만 모든 프로세스 관리가 공평함
- 비 선점 스케줄링 기법은 우선 순위에 관계 없이 대기 중인 작업에는 변동이 없으므로 응답 시간을 예측할 수 있는 장점이 있음
- FCFS 스케줄링
- FCFS(First-Come First-Served) 스케줄링 기법
- 준비 큐에 도착한 순서대로 중앙 처리 장치를 할당 받도록 해 주는 기법
하나의 프로세스가 중앙 처리 장치를 차지하면 그 프로세스의 수행이 완료된 후에 그 다음 프로세스에게 중앙 처리 장치를 할당함
![image]()
FCFS 스케줄링에서는 대기 큐에 늦게 들어온 짧은 작업이 대기 큐에 일찍 들어온 긴 작업을 기다리게 되고, 중요한 프로세스가 덜 중요한 프로세스의 완료를 기다리는 단점이 있음
![image]()
- 우선 순위 스케줄링
- 우선 순위가 높은 프로세스부터 먼저 처리하는 스케줄링 기법
- 우선 순위는 여러 가지 요인에 의해 결정될 수 있음
- 기본적 우선 순위는 각 프로세스가 요구하는 기억 장치의 양, 주변 장치의 수와 형태, 중앙 처리 장치 처리 요구 시간, 작업 처리를 시작한 시점부터 경과 된 시간 등을 고려하여 중앙 처리 장치 관리자에 의해 결정됨
- 외부적 우선 순위는 사용자의 직위나 상 거래의 규모 등을 이용하여 시스템 관리자가 결정함
우선 순위 스케줄링을 사용하는 경우 프로세스는 일반적으로 우선 순위에 따라 배치하기 위해서 여러 개의 준비 큐에 들어감
![image]()
- SJF (Shortest Job First) 스케줄링
- 현재 준비 큐에 있는 프로세스들 중에서 수행 시간이 가장 짧을 것으로 예상되는 프로세스를 먼저 처리하는 스케줄링 기법
- 프로세스의 예상 수행 시간을 실행 입력 이전에 알아야 하므로 일괄 처리 환경에서는 구현하기 쉽지만, 대화식 시스템에서는 사용자와 컴퓨터 간의 상호 작용으로 인해 실행 시간을 예측할 수 없기 때문에 사용하기 힘듦
- 대기하는 프로세스의 수를 최소화할 수 있으므로 빠른 응답 시간을 제공할 수 있지만, 수행 시간이 긴 프로세스는 CPU를 할당 받지 못한 채 계속 기다릴 수 있는 단점도 있음
- RR (Round Robin) 스케줄링
- 프로세스가 도착한 순서대로 CPU가 할당되지만, CPU의 시간 할당량 또는 시간 간격에 의해 제한을 받는 스케줄링 방식임
- 시간 할당량을 모든 프로세스에게 동일하게 주고, 그 시간 동안 완료되지 못한 프로세스는 준비 큐의 맨 뒤에 배치되고 준비 중인 다음 프로세스에게 중앙 처리 장치를 할당함
하나의 프로세스가 CPU를 독점하지 않고 공평하게 이용될 수 있도록 하는 장점도 있지만, 우선 순위가 높은 작업을 빨리 처리하기 어려운 단점도 있음
![image]()
![image]()
정리 문제
- 프로세스 스케줄링 기법 중 현재 준비 큐에 있는 프로세스들 중에서 수행 시간이 가장 짧을 것으로 예상되는 프로세스를 먼저 처리하는 방식은 무엇인가?
- SJF 스케줄링 기법
프로세서 관리
교착 상태
- 개요
- 다중 프로그램 실행 환경에서는 여러 프로세스들이 제한된 컴퓨터 자원을 사용하려고 서로 경쟁할 수 있음
한 프로세스가 컴퓨터 자원을 요청했지만 바로 할당 받을 수 없다면, 그 프로세스는 자원을 얻기 위한 대기 상태로 들어감
![image]()
- 두 개의 다른 프로세스가 서로에게 할당된 컴퓨터 자원을 얻기 위해 대기하면서 자신에게 할당된 컴퓨터 자원을 포기하지 않는다면, 서로의 컴퓨터 자원을 무한대로 기다리는 상태가 됨
- 2개 이상의 프로세스가 대기 중인 프로세스들 중의 하나에 의해서만 발생할 수 있는 사건을 무작정 기다리는 상태를 교착 상태(deadlock)라고 함
교착 상태의 예
![image]()
- 두 개의 프로세스 P1과 P2가 있을 때 프린터와 자기 테이프가 각각 하나씩 있다고 가정해봄
- P1은 프린터를 할당 받고 자기 테이프를 요청하고,
- P2는 자기 테이프를 할당 받고 프린터를 요청하면 P1과 P2는 서로의 컴퓨터 자원을 무한정 기다리는 교착 상태에 빠지게 됨
- 두 개의 프로세스 P1과 P2가 있을 때 프린터와 자기 테이프가 각각 하나씩 있다고 가정해봄
- 교착 상태의 필수 조건
- 교착 상태는 다음의 네 가지 조건이 동시에 만족할 때에만 발생함
- 상호 배제 조건
- 한 프로세스가 컴퓨터 자원을 사용 중이면 다른 프로세스는 그 컴퓨터 자원을 사용하지 못하고 해제될 때까지 반드시 기다려야 함
- 대기 조건
- 프로세스가 적어도 하나 이상의 컴퓨터 자원을 할당 받아 점유하고 있으면서 다른 프로세스가 할당 받은 자원을 요청하고 그것이 해제 되기를 기다려야 함
- 비 선점 조건
- 할당된 컴퓨터 자원이 그 프로세스의 작업 종료 후 자발적으로만 해제될 수 있고 타입에 의해서는 해제되지 않음
- 환 형 대기 조건
- 프로세스의 원형 사슬이 존재해서 이를 구성하는 각 프로세스가 사슬 내의 다음에 있는 프로세스가 요구하는 하나 이상의 자원을 가지고 있음
- 상호 배제 조건
- 교착 상태는 다음의 네 가지 조건이 동시에 만족할 때에만 발생함
- 교착 상태의 처리
- 교착 상태 방지(prevention)
- 교착 상태는 교착 상태 필수 조건을 만족할 경우에 발생함
- 네 가지 교착 상태 발생 조건 중에서 어느 한 가지 조건이라도 제거하면, 교착 상태가 발생하지 않도록 할 수 있음
- 이와 같이 요구 상태를 제한함으로써 교착 상태를 방지하게 되면 컴퓨터 자원의 이용률과 시스템 성능이 저하되는 부작용이 생기게 됨
- 교착 상태 탐지(detection)
- 교착 상태에 빠진 프로세스의 존재를 검사하여 교착 상태를 찾아내는 기법
- 교착 상태 탐지 알고리즘을 수행하는 것은 시스템 성능에 상당한 부담이 되기 때문에, 교착 상태 탐지 알고리즘은 적절하게 수행되어야 함
- 교착 상태 복구(recovery)
- 교착 상태를 제거하여 다른 프로세스가 컴퓨터 자원을 사용할 수 있도록 하는 방법
- 교착 상태 복구 방법 중 하나는 시스템 관리자에게 교착 상태가 발생하였음을 알려주어 직접 수작업으로 처리하도록 하는 것임
- 원형 대기를 없애기 위해 몇 개의 프로세스들을 중지 시키거나 교착 상태에 있는 하나 이상의 프로세스들로부터 몇 개의 자원을 반납하게 하는 것임
- 교착 상태 방지(prevention)
정리 문제
- 교착 상태가 발생하는 네가지 조건에 해당하지 않는 것은?
- 원형 대기 조건
장치 관리
장치 관리와 파일 관리
- 개요
- 운영 체제는 장치 관리자와 파일 관리자의 역할도 수행함
- 장치 관리자는 시스템의 키보드, 마우스, 프린터, 네트워크 카드 등과 같은 모든 주변 기기를 관리함
- 파일 관리자는 시스템 내에 존재하는 파일의 저장과 접근 권한 등을 관리함
디스크 팩의 구조
![image]()
- 원통 형 헤드
- 디스크
- 실린더
- 트랙
- 섹터
- 스핀들
보조 기억 장치
- 개요
- 대용량의 프로그램이나 데이터를 장기간 저장하기 위한 장치 매체는 보조 기억 장치이며 디스크 상의 파일에 직접 접근할 수 있는 직접 접근 매체인 하드 디스크와 플래시 메모리가 대표적인 보조 기억 장치임
- 하드 디스크와 같은 직접 접근 저장 장치(Direct Access Storage Device)는 자기 디스크의 특정 위치에 있는 데이터를 읽거나 쓸 경우 임의적인 접근이 가능하기 때문에 임의 접근 저장 장치라고도 함
- 하드 디스크는 읽기/쓰기 헤드가 각 트랙마다 고정되어 있는 고정 헤드 저장 장치와 트랙 사이의 이동을 통해 원하는 위치에 접근할 수 있는 이동 헤드 저장 장치로 구분될 수도 있음
- 일반적으로 하드디스크 구조는 고정 헤드나 이동 헤드에 관계없이 디스크 팩으로부터 구성될 경우 각 면은 동심원의 트랙(track)들로 구성됨
- 이때 각 면마다 중심축으로부터 같은 거리에 있는 트랙의 집합을 실린더(cylinder)라고 함
- 트랙에서 정보를 읽고 쓰기 위한 단위인 섹터(sector)로 나뉨
![image]()
- 일반적으로 디스크에 접근하는 데 걸리는 시간은
- 트랙 탐색 시간(seek time)
- 디스크 회전 지연 시간(rotational time, latency time)
- 데이터 전송 시간(transfer time)의 합으로 구성 됨
디스크 팩의 구조
![image]()
- 트랙 탐색 시간
- 헤드를 움직여 원하는 트랙으로 이동 시키는 데 필요한 시간을 의미하며, 기계적인 동작으로 이루어지기 때문에 가장 시간이 많이 걸리는 요소임
- 디스크 회전 지연 시간
- 헤드가 원하는 트랙에 위치한 후에, 요구된 자료가 저장 된 특정 섹터가 헤드 밑에 이를 때까지 디스크가 회전하는 데 필요한 시간
- 데이터 전송 시간
- 쓰기 동작일 경우에는 주 기억 장치에서 데이터가 보조 기억 장치에 저장되는 시간이며, 읽기 동작일 경우에는 보조 기억 장치로부터 데이터를 읽어 주 기억 장치로 이동하는 데 필요한 시간
- 트랙 탐색 시간
디스크 접근 시간의 구성 요소
![image]()
- 전송 시간
- 회전 지연 시간
- 고정 축(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) 기법










