배치 전략
보조 기억 장치에 보관중인 프로그램이나 데이터를 주기억 장치 내의 어디로 가져올 것인지 결정하는 전략
최초 적합(First-Fit) | 적재 가능한 공간 중에서 첫 번째 분할 영역에 배치 |
최적 적합(Best-Fit) | 적재 가능한 공간 중에서 가장 작은 공백이 남는 부분에 배치(가장 크기가 비슷한 곳에 배치) |
최악 적합(Worst-Fit) | 적재 가능한 공간 중에서 가장 큰 공백이 남는 부분에 배치 |
기억 장치 교체 전략
주기억 장치의 모든 페이지 프레임이 사용 중일 때 어떤 페이지 프레임을 교체할 것인지 결정하는 전략
OPT(OPTimal Replacement) | 이후에 가장 오랫동안 사용되지 않을 페이지를 먼저 교체. (실현 가능성 희박) |
FIFO(First In First Out) | 가장 먼저 적재된 페이지를 먼저 교체. 구현이 간단 |
LRU(Least Recently Used) | 현 시점에서 가장 오랫동안 사용하지 않은 페이지 교체 |
LFU(Least Frequently Used) | 참조된 횟수가 가장 적은 페이지를 먼저 교체 |
NUR(Not Used Recently) | 가장 최근에 사용하지 않은 페이지를 교체(각 페이지당 두개의 하드웨어 비트) |
SCR(Second Chance Replacement) | FIFO의 단점 보완. 가장 오랫동안 주기억장치에 상주했던 페이지 중, 자주 참조되는 페이지의 교체를 예방 |
페이징(Paging) 기법
고정된 크기
- 가상 기억 장치에 보관된 프로그램과 주기억 장치의 영역을 동일한 크기로 나누어진 것이 페이지.
- 나눠진 프로그램을 동일하게 나눠진 주기억 장치의 영역에 적재시켜 실행하는 기법
- 페이지의 크기가 클수록 페이지 맵 테이블 크기가 작아지고, 단편화가 증가하고, 디스크 접근 횟수가 감소하고, 전체 입출력 시간이 감소
- 페이지의 크기가 작을수록 페이지 맵 테이블 크기가 커지고, 단편화가 감소하고, 디스크 접근 횟수가 증가하고, 전체 입출력 시간이 증가
페이지 크기 크면 ? 단편화만 증가하고 나머지 다 작아짐.
세그멘테이션(Seqmentation) 기법
가변적 크기
- 가상 기억 장치에 보관된 프로그램을 다양한 크기로 나눈 후, 나눠진 프로그램을 주기억 장치에 적재시켜 실행하는 기법
- 세그먼트 : 큰 프로그램을 작은 프로그램으로 분할해서 하나의 논리적 단위로 묶어서 주기억 장치에 읽어 들일 수 있는 최소 단위.
구역성(Locality)
- 프로세스가 실행되는 동안 일부 페이지에만 집중적으로 참조되는 경향
- 시간 구역성(Temporal Locality) : 순환, 스택, 부프로그램, 집계
- 공간 구역성(Spatial Locality) : 인접한 페이지 참조할 가능성 ↗, 배열순례, 순차적 수행
워킹 셋(Working Set)
- 운영체제의 가상 기억 장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합.
스래싱(Thrashing)
- 하나의 프로세스가 작업 수행 과정에 수행하는 기억 장치 접근에서 지나치게 페이지 부재가 발생하여 프로세스 수행에 소요되는 시간보다 페이지 이동에 소요되는 시간이 더 커지는 현상.
페이지 부재(Page Fault)
- 참조할 페이지가 주기억 장치에 없는 현상
💬 3개의 페이지를 수용할 수 있는 주기억 장치가 있으며, 초기에는 모두 비어있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, FIFO 페이지 교체 알고리즘을 사용할 경우 몇 번의 페이지 결함이 발생하는가?
페이지 참조 순서 : 1, 2, 3, 1, 2, 4, 1, 2, 5
✍풀이