Q2. 프레임 할당 중 동적 할당인 Working set model과 PFF(Page-Fault Frequency)에 대해 간단하게 설명해주세요.
Working set model
Locality에 기반하여 프로세스가 일정 시간 동안 원활하게 수행되기 위해 한꺼번에 메모리에 올라와 있어야 하는 page 들의 집합을 Working Set이라고 합니다.
(프로세스는 특정 시간 동안 일정 장소만을 집중적으로 참조, 이 장소들의 집합을 working set이라 함)
- working set
- 메모리에 올라가 있는 페이지의 집합
- working set window
- working set window 주로 델타로 표현 (고정)
- working set size
- 각 프로세스 별로 가장 많이 쓰이고있는 페이지의 개수
PFF(Page-Fault Frequency)
페이지 폴트(page fault) 빈도를 조절하는 방법으로, 페이지 폴트가 적당한 범위 기준 내에서 (상한선 , 하한선 이내에서) 발생하도록 유지하는 방식입니다.
if) page fault 발생 횟수 > 상한선 초과
→ 프레임 할당이 너무 적다는 것을 의미
해결 방법=> 프레임을 추가하여 늘려준다
if) page fault 발생 횟수 < 하한선 미만
→ 프레임 할당 너무 많아서 메모리 낭비 중인 것을 의미
해결 방법=> 프레임을 회수하여 줄여준다.
Q1. 프레임 할당 중 정적 할당의 종류 및 내용, 장단점에 대해 설명하시오
정적 할당(Static Allocation)의 종류
- 동일 할당(Equal Allocation): 모든 프로세스에게 똑같은 수의 프레임을 할당합니다. 이 방식은 프로세스의 크기에 따라 매우 비효율적입니다.
- 비례 할당(Proportional Allocation): 프로세스의 크기에 따라 프레임을 할당합니다. 이 방식 역시 단점이 있는데, 프로세스 크기가 크더라도 모든 기능을 사용하지 않기 때문에 이 방식 또한 비효율적입니다.
두 방식 모두 메모리 자동 반납으로 인해 메모리 누수가 발생하지 않습니다.
예를 들어 프레임의 수가 100개이고 메모리에 올리고자 하는 프로세스가 4개라고 가정을 해보자.
균등 할당의 경우 각 프로세스 당 동일한 프레임을 할당하는 것이다. 각 프로세스에 프레임을 25개씩 할당을 하여 사용하게 만드는 방식이다.
비례 할당은 프로세스의 크기에 따라 비례적으로 나누는 방식이다. 프로세스 1이 프로세스 2보다 크기가 크면 프레임을 조금 더 할당을 하게 되는 것이다.
- 이처럼 정적 할당은 한계가 뚜렷합니다. 이를 해결하기 위한 방법은 실행 중에 프레임을 할당하는 동적 할당입니다.
C언어의 정적 메모리와 동적메모리
- 컴파일 타임이란 무엇인가? :컴파일하는 도중
medium.com
https://copycode.tistory.com/128
운영체제 25장 - 메모리 관리(12) : 프레임 할당 -
운영체제 25장 - 프레임 할당 - CPU의 이용률과 프로세스의 수는 어떤 관계를 가지고 있을까? CPU의 이용률이 높을수록 효율이 높다고 할 수 있다. 프로세스의 개수가 증가할수록 CPU의 이용률은 증
copycode.tistory.com
https://dudumandu0321.tistory.com/3
[운영체제 OS] -10장. 스레싱 (Thrasing),워킹셋(Working set),PFF ②
스레싱이란? - page fault가 빈번하게 발생하여 페이지교체(swap-in, swap-out)하는 시간이 많아지는 현상을 말한다. (계속 page fault가 나면 cpu가 원하는 데이터를 가져오기위해 swap영역과 메인메모리 사
dudumandu0321.tistory.com
https://developyo.tistory.com/218
[OS] 운영체제 10. Virtual Memory 2 : 페이지 할당, Global replacement, Thrashing, Thrashing 예방책
Page Frame의 Allocation(할당) : 각 Process에 얼마만큼의 Page Frame을 할당할 것인지의 문제 - 메모리 참조 명령어 수행시 명령어, 데이터 등 여러 페이지를 동시에 참조하므로 명령어 수행을 위해 최소한
developyo.tistory.com
https://velog.io/@codemcd/운영체제 OS-17.-프레임-할당
[운영체제(OS)] 17. 프레임 할당
1. Global VS Local Replacement Global Replacement: 메모리 상의 모든 프로세스 페이지에 대한 교체 작업을 수행한다. Local Replacement: 메모리 상의 자기 자신의 프로세스 페이지에 대해서만 교체 작업을 수행
velog.io