Operating System

Operating System : Concepts - 가상 메모리 (Virtual Memory) (3)

Boo0 2022. 10. 11. 13:13

https://github.com/BOOOO0/linux-operating-system

 

GitHub - BOOOO0/linux-operating-system: 리눅스 명령어, 이론과 운영체제 실습

리눅스 명령어, 이론과 운영체제 실습. Contribute to BOOOO0/linux-operating-system development by creating an account on GitHub.

github.com

깃허브에 더 많은 내용이 있습니다.

 

프레임의 할당 (Allocation of Frames)


프레임의 할당은 여러 개의  프로세스들에게 한정된 프레임을 어떻게 얼만큼씩 할당해줄지에 대한 고찰이다.

 

 

그리고 할당의 방식으로는 우선 각 프로세스에 얼만큼을 줄 것이냐를 결정해야 하는데

 

균등 할당 (Equal Allocation) 과 비례 할당 (Propotional Allocation)이 있다.

 

균등 할당은 모든 프로세스에 동일한 프레임을 할당하고 비례 할당은 프로세스의 크게이 따라서 할당한다.

 

그리고 프로세스에 할당되는 프레임의 영역을 어떻게 할 것인지를 결정해야 하는데

 

전역 할당 (Global Allocation) 과 지역 할당 (Local Allocation)이 있다.

 

page out될 victim을 선정할 때 프로세스에 할당된 프레임 내에서만 선정하는 것이 지역 교체이고 시스템 메모리 전체에서 선정하는 것이 전역 교체이다.

 

 

 

스레싱 (Thrashing)


스레싱이란 어떤 프로세스가 실행보다 페이징에 더 많은 시간을 사용하는 경우를 말한다.

 

이것은 프로세스가 충분한 프레임을 할당받지 못했을 경우에 발생한다.

 

 

 

작업 집합 모델 (Working-set Model)


참조의 지역성에 기반한 Model이다.

 

 

위처럼 참조가 되는 페이지들은 지역적으로 서로 근접해있다. 

 

Working-set Model은 최근에 참조된 페이지들의 집합이다.

 

사용중인 페이지라면 Working-set에 있을 것이고 사용하지 않는다면 Working-set 바깥에 있을 것이므로 victim을 선정할 때 Woking-set 바깥에 있는 페이지를 선정한다면 좋은 교체가 될 수 있다.