728x90
참조의 지역성이란?
CPU가 프로그램을 실행하는 동안 짧은 시간 범위 내에 일정 구간의 메모리 영역을 반복 참조(액세스)하는 경향이 있는데 이것이 참조의 지역성이라고 한다.
참조의 지역성 특성
- 참조의 지역성은 프로그램이 가지는 기본적인 실행 특성이다.
- 프로세스의 실행동안 메모리가 균일하게 참조되지 않고 특정 부분이 집중 참조된다.
- 참조의 지역성은 지역성(locality), 지역성의 원리(principle of locality)라고도 부른다.
- 프로세스는 최근에 참조한 데이터와 코드를 다시 참조하는 경향이 있다.
- 프로세스가 실행되는 동안 메모리 영역을 옮겨 다니면서 참조의 지역성이 나타난다.
- 경험적 관찰에서 발견한 90/10 규칙은 "프로그램 코드의 10%가 프로그램 전체 실행 시간의 90%를 소비한다"는 규칙이다.
참조의 지역성 2가지 형태
시간 지역성 : 시간 면에서, 프로그램 내에 지금 참조되는 주소가 가까운 미래에 다시 참조될 가능성이 큰 특성을 시간 지역성이라고 한다. 코드나 데이터, 자원등이 아주 짧은 시간 내에 사용되는 특성이다.
공간 지역성 : 공간(메모리 주소) 면에서, 지금 참조되는 주소의 주변 번지들(동일한 페이지)이 가까운 미래에 참조되는 특성을 공간 지역성이라고 한다.
작업 집합이란
일정 시간 범위 내에 프로세스가 참조한 페이지들의 집합이다. 그러므로 작업 집합은 현재 프로세스의 실행에 필요한 페이지들의 집합이다.
만일 작업 집합에 포함된 페이지들이 모두 메모리에 적재되어 있다면 프로세스는 한 동안 페이지 폴트 없이 최고의 실행 성능을 얻을 것이다.
프로세스의 실행 중 갑자기 페이지 폴트가 계속된다면 그것은 프로세스의 작업 집합 페이지를 메모리에 적재하고 있는 과정이라고 생각하자.
728x90
'Computer Science > OperatingSystem' 카테고리의 다른 글
[OS] 요구 페이징 (0) | 2023.04.19 |
---|---|
[OS] CPU 스케줄링이란? (0) | 2023.04.17 |
[OS] 가상 메모리(Virtual Memory System) 란? (0) | 2023.02.23 |
[OS] 운영체제 란? (0) | 2023.01.11 |
[OS] DeadLock(교착상태) 란 (0) | 2023.01.07 |