Kim Seon Deok
[OS] Allocation of Frames, Page size 본문
쓰레싱(Thrashing)
cpu utilization : cpu 이용률
degree of multiprogramming : 메인 메모리에 올라와 있는 프로세서의 수 = number of process
메인 메모리에 프로세서가 0개면 cpu는 아무것도 하지 않는다. (∴utilization = 0)
메모리 안에 프로세서를 많이 올리면 utilization이 올라가다 다시 감소한다 ∵ 빈번한 page in / out
메인메모리가 꽉 찬 상태에서 page in / out 반복하면 backing store에 read, write하게 되는데, 그 때까지 cpu는 아무것도 할 수 없다. ∴ dist i / o 증가해 utilzation 떨어짐
따라서 스레싱을 극복하려면 local replacement를 사용해야 한다.
프로세스 개수가 증가하면 cpu 이용률 증가하게 되는데, 일정 범위를 벗어나면 빈번한 page in/out 때문에 i/o시간 증가해 cpu 이용률 감소한다.
스레싱을 극복하려면
global replacement 보다는 local replacement를 사용해야 한다.
프로세스 당 메인메모리가 너무 남지도, 그렇다고 부족하지도 않게 적절한 수의 메모리 프레임을 할당해야 한다.
프레임 할당
특정 프로세서에 얼마만큼의 메모리를 할당할 것인가
- 정적 할당 (static allocation)
1. 균등할당 (equal allocation)
p1,p2,p3모두 동일한 프레임 할당
2. 비례할당 (proportional allocation)
p1,p2,p3모두 size에 비례해 프레임 할당
- 동적 할당 (proportional allocation)
working set model
locality를 포함할 수 있을 정도의 메모리만 할당해주면 된다.
몇 개를 할당해주어야 할 지 미래를 알 수 없기 때문에 과거를 보고 예측한다.
가까운 과거에서부터 현재까지의 시저멩 사용된 page를 working set이라 한다. (os 를 만드는 사람이 working set windowm의 길이를 결정)
page fault frequency
프레임을 할당해주지 않으면 page fault발생한다.
특정 프로세서에 대해 프레임을 많이 할당해주면 page fault가 적게 일어난다.
특정 프로세서에 대해 프레임을 적게 할당해주면 page fault가 많이 일어난다.
page fault frequency algorithm
메인 메모리 안 os의 memory management 부서에서는 page fault가 일어나는 횟수를 계속 체크한다.
page fault가 upper limit 보다 많이 일어나면 프레임을 많이 할당한다.
page fault가 lower limit 보다 적게 일어나면 프레임을 적게 할당하고 다른 프로세서에게 많이 할당한다.
'운영체제' 카테고리의 다른 글
[OS] Disk Scheduling (0) | 2022.12.04 |
---|---|
[OS] File Allocation (0) | 2022.12.04 |
[OS] Page Replacement (0) | 2022.12.04 |
[OS] Virtual Memory, Page Fault (0) | 2022.12.04 |
[OS] Segmentation (0) | 2022.12.04 |