Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jquery dom 계층 선택자
- Java
- 재귀함수
- 자바스크립트 이벤트중지
- 순열 재귀
- java lambda
- jquery 속성선택자
- inner class
- 자바 순열 코드
- 알고리즘
- 알고리즘 그래프
- java 내부 클래스
- 순열코드
- jquery 필터선택자
- 재귀
- 자바스크립트 이벤트처리
- 조합 재귀
- 자바입출력
- Interface
- char to str
- 서로소
- 자바 조합 재귀
- jquery 이벤트 처리
- 상속
- 자바
- str to char array
- 후위표기
- parseInt()
- java Collections.sort()
- 자바 재귀 조합
Archives
- Today
- Total
유블로그
[운영체제] 가상기억장치 관리 본문
1. 페이지 크기
페이지 크기가 작을 경우 : 페이지 수 늘어남
- 페이지 단편화(내부 단편화)가 감소되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 줄어든다.
- 불필요한 내용이 주기억장치에 적재될 확률이 적으므로 효율적인 작업이 가능하다.
- Locality에 더 일치할 수 있기 때문에 기억장치 효율이 높아진다.
- 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어진다.
- 디스크 접근 횟수가 많아져서 전체적인 입출력 시간은 늘어난다.
페이지 크기가 클 경우 : 페이지 수 줄어듦
- 페이지 맵 테이블 크기가 작아지고, 매핑 속도가 빨라진다.
- 디스크 접근 횟수가 줄어들어 전체적인 입출력 효율성이 증가된다.
- 페이지 단편화가 증가되고, 한 개의 페이지를 주기억장칭로 이동하는 시간이 늘어난다.
- 프로세스(프로그램) 수행에 불필요한 내용까지도 주기억장치에 적재될 수 있다.
페이지 단편화(내부 단편화) 예시
페이지 크기가 4KB이고, 사용할 프로그램이 17KB라면 프로그램은 페이지 단위로 4KB씩 나누어지게 된다. 이 때 마지막 페이지의 실제 용량은 1KB가 되고, 이 마지막 페이지가 주기억 장치에 적재되면 3KB가 비는데 이걸 내부 단편화가 발생되었다고 한다.
2. Locality
: Locality(지역성, 국부성, 구역성 ,국소성)는 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론.
- 스래싱을 방지하기 위한 워킹 셋 이론의 기반이 되었다.
- 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법 중 하나로, 가상기억장치 관리의 이론적인 근거가 된다.
- 캐시 메모리의 시스템의 이론적 근거이다.
- 시간 구역성과 공간 구역성 두 종류가 있다.
시간 구역성 (Temporal Locality)
- 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 엑세스하는 현상
- 한 번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높음을 의미한다.
- ex) 반복, 스택, counting, 집계에 사용되는 변수들에서 자주 나타난다.
공간 구역성 (Spatial Locality)
- 공간 구역성은 프로세스 실행 시 일정 위치의 페이지를 집중적을 엑세스하는 형상이다.
- 어느 하나의 페이지를 참조하면 그 근처의 페이지를 계속 참조할 가능성이 높음을 의미한다.
- ex) 배열 순회, 순차코드 실행, 관련 변수를 서로 근처에 선언하여 할당되는 기억장소에서 자주 나타난다.
3. 워킹 셋(Working Set)
: 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합이다.
- 프로그램의 Locality를 이용한다.
- 자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정된다.
- 시간이 지남에 따라 자주 참조하는 페이지들의 집합이 변화하기 때문에 워킹 셋은 시간에 따라 변경된다.
4. 페이지 부재 빈도 방식(Page Fault Frequency)
: page fault는 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상이며, 페이지 부재 빈도(PFF; Page Fault Frequency)는 페이지 부재가 일어나는 횟수를 의미한다.
- PFF에 따라 주기억 장치에 있는 페이지 프레임 수를 늘리거나 줄여서 페이지 부재율을 적정 수준으로 유지하는 방식이다.
- OS는 프로세스 실행 초기에 임의의 페이지 프레임을 할당하고, 페이지 부재율을 지속적으로 감시하고 있다가 부재율이 상한선을 넘어가면 좀 더 많은 페이지 프레임을 할당하고, 부재율이 하한선을 넘어가면 페이지 프레임을 회수하는 방식을 사용한다.
5. 프리페이징(Prepaging)
: 처음의 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재하는 기법이다. 하지만 기억장치에 들어온 페이지들 중에서 사용되지 않는 페이지가 많을 수도 있다.
6. 스래싱(Thrashing)
: 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상이다.
- 다중 프로그래밍 시스템이나 가상기억장치를 사용하는 시스템에서 하나으 ㅣ프로세스 수행 과정 중 자주 페이지 부재가 발생함으로써 나타나는 현상으로, 전체 시스템의 성능이 저하된다.
- 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지는 높았지만, 동시에 수행하는 프로그램의 수가 많아지면 스래싱이 나타나고, CPU의 이용률은 급격히 감소하게 된다.
- 스래싱 현상 방지 방법
- 동시 수행 프로그램 수를 적정 수준으로 유지
- PFF를 조절하여 사용(페이지 프레임 수 조절)
- 워킹 셋 유지
- 부족한 자원 증설, 일부 프로세스 중단
'운영체제' 카테고리의 다른 글
[운영체제] 가상기억장치 구현 기법 / 페이지 교체 알고리즘(FIFO, LRU 외 ... ) (0) | 2021.04.28 |
---|