1. 페이지 크기
- 페이징 기법을 사용하면 프로그램을 페이지 단위로 나누게 됨
- 페이지의 크기에 따라 시스템에 미치는 영향이 다름
- 페이지 크기에 따른 특징
- 페이지 크기가 작을 경우
- 페이지 단편화가 감소, 한 개의 페이지를 주기억장치로 이동하는 시간이 줄어듬
- 불필요한 내용이 주기억장치에 적재될 확률이 적으므로 효율적인 워킹 셋을 유지할 수 있음
- Locality에 더 일치할 수 있기 때문에 기억장치 효율이 높아짐
- 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어짐
- 디스크 접근 횟수가 많아져서 전체적인 입출력 시간은 늘어남
- 페이지 크기가 클 경우
- 페이지 정보를 갖는 페이지 맵 테이블의 크기가 작아지고 매핑 속도가 빨라짐
- 디스크 접근 횟수가 줄어들어 전체적인 입출력의 효율성이 증가
- 페이지 단편화가 증가되고 한 개의 페이지를 주기억장치로 이동하는 시간이 늘어남
- 프로세스(프로그램) 수행에 불필요한 내용까지도 주기억장치에 적재될 수 있음
- 페이지 크기가 작을 경우
2. Locality
- Locality : 국부성, 지역성, 구역성, 국소성
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
- 스래싱을 방지하기 위한 워킹 셋 이론의 기반이 됨
- 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법 중 하나
- 가상기억장치 관리의 이론적인 근거가 됨
- 데닝 교수에 의해 구역성의 개념이 증명되었으며 캐시 메모리 시스템의 이론적 근거
- Locality의 종류 : 시간 구역성, 공간 구역성
- 시간 구역성 Temporal Locality
- 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상
- 한 번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높음을 의미
- 시간 구역성이 이루어지는 기억 장소 : Loop (반복, 순환), 스택, 부 프로그램 Sub Routine, Counting(1씩 증감), 집계 Totaling에 사용되는 변수
- 공간 구역성 Spatial Locality
- 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
- 어느 하나의 페이지를 참조하면 그 근처의 페이지를 계속 참조할 가능성이 높음
- 공간 구역성이 이루어지는 기억장소 : 배열 순회 Array Traversa (배열 순례), 순차적 코드의 실행, 프로그래머들이 관련된 변수(데이터를 저장할 기억장소)들을 서로의 근처에 선언하여 할당되는 기억장소, 같은 영역에 있는 변수를 참조할 때 사용
- 시간 구역성 Temporal Locality
3. 워킹 셋 Working Set
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 데닝이 제안한 프로그램의 움직임에 대한 모델
- 프로그램의 Locality 특징을 이용
- 자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정됨
- 시간이 지남에 따라 자주 참조하는 페이지들의 집합이 변화하기 때문에 워킹 셋은 시간에 따라 변경
4. 페이지 부재 빈도 방식
- 페이지 부도 : 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상
- 페이지 부재 빈도 : 페이지 부재가 일어나는 횟수를 의미
- 페이지 부재 빈도 방식 : 페이지 부재율에 따라 주기억장치에 있는 페이지 프레임의 수를 늘리거나 줄여 페이지 부재율을 적정 수준으로 유지하는 방식
- 운영체제는 프로세스 실행 초기에 임의의 페이지 프레임을 할당, 페이지 부재율을 지속적으로 감시하고 있다가 부재율이 상한선을 넘어가면 좀 더 많은 페이지 프레임을 할당하고 부재율이 하한선을 넘어가면 페이지 프레임을 회수하는 방식을 사용
5. 프리페이징 Prepaging
- 처음의 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재하는 기법
- 기억장치에 들어온 페이지들 중에서 사용되지 않는 페이지가 많을 수도 있음
6. 스래싱 Thrashing
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 다중 프로그래밍 시스템이나 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정 중 자주 페이지 부재가 발생함으로써 나타나는 현상
- 전체 시스템의 성능이 저하됨
- 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지는 높아지지만, 다중 프로그래밍의 정도가 더욱 커지면 스래싱이 나타나고, CPU의 이용률은 급격히 감소하게 됨
- 다중 프로그래밍의 정도 : 얼마나 많은 프로그램을 동시에 수행하느냐를 나타내는 것
- 스래싱 현상 방지 방법
- 다중 프로그래밍의 정도를 적정 수준으로 유지
- 페이지 부재 빈도 Page Fault Frequency를 조절하여 사용
- 워킹 셋을 유지
- 부족한 자원을 증설하고 일부 프로세스를 중단시킴
- CPU 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 응용 SW 기초 기술 활용 - 123. OSI 참조 모델 (0) | 2025.02.21 |
---|---|
[정보처리기사 필기] 응용 SW 기초 기술 활용 - 117. 프로세스의 개요 (0) | 2025.02.21 |
[정보처리기사 필기] 응용 SW 기초 기술 활용 - 115. 가상기억장치 구현 기법 / 페이지 교체 알고리즘 (0) | 2025.02.21 |
[정보처리기사 필기] 응용 SW 기초 기술 활용 - 114. 기억장치 관리의 개요 (0) | 2025.02.20 |
[정보처리기사 필기] 응용 SW 기초 기술 활용 - 113. UNIX / LINUX / MacOS (0) | 2025.02.20 |