반응형
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 |
Tags
- Python
- Algorithmus
- 백트래킹
- 자소서
- Github
- 취준
- C++
- 백준
- GitHub Desktop
- 격리수준
- 네이버 검색 시스템
- 알고리즘
- 프로그래머스
- python3
- LeetCode
- SRE
- DP
- programmers
- baekjoon
- 프로콘
- Pro-Con
- 알고리즘 종류 정리
- 프로콘 갈림현상
- algorithm
- 리트코드
- ASF-110
- git
- 제노블레이드 2
- 코딩테스트
- Ultimate Search
Archives
- Today
- Total
산타는 없다
Locality, Working Set, Thrashing 본문
반응형
Locality(국부성, 지역성, 구역성, 국소성)
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
- 스래싱(Thrashing)을 방지하기 위한 워킹 셋(Working Set 이론의 기반이 되었다.
- 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법 중 하나로, 가상기억장치 관리의 이론적인 근거
- 캐시 메모리 시스템의 이론적인 근거
Locality의 종류
- 시간 구역성 (Temporal Locality)
- 시간 구역성은 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상이다.
- 한 번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높음을 의미
- 시간 구역성이 이루어지는 기억 장소 : Loop(반복, 순환), 스택(Stack), 부 프로그램(Sub Routine), Counting, 집계(Totaling)에 사용되는 변수(기억장소)
- 공간 구역성 (Spatial Locality)
- 공간 구역성은 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
- 어느 하나의 페이지를 참조하면 그 근처의 페이지를 계속 참조할 가능성이 높음을 의미
- 공간 구역성이 이루어지는 기억장소 : 배열 순회, 순차적 코드의 실행, 프로그래머들이 관련된 변수들을 서로 근처에 선언하여 할당되는 기억장소, 같은 영역에 있는 변수를 참조할 때 사용
워킹 셋(Working Set)
프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 프로그램의 Locality 특징을 이용
- 자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정된다.
- 시간이 지남에 따라 자주 참조하는 페이지들의 집합이 변화하기 때문에 워킹셋은 시간에 따라 변경된다.
스래싱(Thrashing)
프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 다중 프로그래밍 시스템이나 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정중 자주 페이지 부재가 발생함으로써 나타나는 현상으로, 전체 시스템의 성능이 저하된다.
- 다중 프로그래밍 정도*가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지는 높아지지만, 다중 프로그램ㅇ의 정도가 더욱 커지면 스래싱이 나타나고, CPU의 이용률은 급격히 감소ㄷ하게 된다.
* 다중 프로그래밍의 정도 : 얼마나 많은 프로그램을 동시에 수행하느냐를 나타내는 것으로, 다중 프로그래밍의 정도를 높인다는 것은 동시에 수행하는 프로그램의 수를 늘린다는 것
스래싱 현상 방지 방법
- 다중 프로그래밍의 정도를 적정 수준으로 유지한다.
- 페이지 부재 빈도(Page Fault Frequency)를 조절하여 사용한다.
- Working Set을 유지한다
- 부족한 자원을 증설하고, 일부 프로세스를 중단한다
- CPU 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영한다.
출처 - 2016 시나공 정보처리기사 필기
반응형
'Computer Science > 운영체제' 카테고리의 다른 글
동기화 처리와 데드락 (0) | 2021.08.22 |
---|---|
동적/공유 라이브러리(Dynamic/ Shared Library)와 동적 링킹(Dynamic Linking) (0) | 2021.05.31 |
정적 라이브러리(Static Library) 와 정적 링킹(Static Linking) (0) | 2021.05.17 |
라이브러리의 정의와 종류 (정적 / 동적) (0) | 2021.05.17 |
Lib와 Dll (0) | 2021.05.08 |
Comments