반응형
사용자 프로세스 영역의 할당 방법
- Contiguous allocation (연속 할당) : 각각의 프로세스가 메모리의 연속적인 공간에 적재되도록
- Noncontiguous allocation (비연속적 할당) : 하나의 프로세스가 메모리의 여러 영역에 분산되어 올라갈 수 있음
Contiguous allocation
1. 고정 분할 방식
- 물리적 메모리를 주어진 개수만큼의 영구적인 분할로 미리 나누어두고 각 분할에 하나의 프로세스를 적재해 실행 시킬 수 있게함, 분할의 크기는 모두 동일하게 할 수도 있고, 서로 다르게 할 수도 있다
- 융통성이 없음
- 외부 단편화 : 프로그램의 크기보다 분할의 크기보다 작은경우에는 해당 분할이 비어 있는데도 불구하고 프로그램을 적재하지 못하기 때문에 발생하는 현상
- 내부 단편화 : 프로그램의 크기보다 분할의 크기가 큰 경우 해당 분할에 프로그램을 적재하고 남는 현상
- 물리적 메모리를 몇 개의 영구적 분할(partition)로 나눔
2. 가변 분할 방식
- 메모리에 적재되는 프로그램의 크기에 따라 분할의 크기, 개수가 동적으로 변하는 방식
- 외부 단편화 발생( 내부 단편화는 발생하지 않는다)
- 사용중인 프로세스가 종료되어 메모리에 새로운 프로세스를 올릴 메모리 공간이 충분하지 않을 경우 외부 조각 문제가 발생한다
- 어디 메모리 공간에 프로세스를 올려야 할지 결정해야하는 문제가 있다(Dynamic Storage Allocation Problem)
Dynamic Storage Allocation Problem
가변 분할 방식에서 size N인 요청을 만족하는 가장 적절한 hole을 찾는 문제
- First - fit : size가 n 이상인 것 중 최초로 찾아지는 hole에 할당
- Best - fit : size가 n 이상인 것 중 가장 작은 hole을 찾아서 할당
- Worst - fit : 가장 큰 hole에 할당
어찌됐든 외부 조각 문제를 해결할 수는 없는걸까?? - > Compaction
- 외부 조각 문제 해결하는 한 가지 방법
- 매우 비용이 많이 드는....
- 사용중인 메모리 영역을 한군데로 몰고 hole들을 다른 한 곳으로 몰아 큰 block을 만드는 것
이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.
필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.
http://www.kocw.net/home/search/kemView.do?kemId=1046323
반응형
'CS > 운영체제' 카테고리의 다른 글
운영체제(14) - 가상 메모리 (Virtual Memory) (0) | 2023.10.24 |
---|---|
운영체제(13) - 프로세스의 메모리 할당 (비연속적 할당 방식) (2) | 2023.10.23 |
운영체제(11) - Memory, 주소, 논리적 주소 물리적 주소, 주소 바인딩 (1) | 2023.10.09 |
운영체제 (10) - Deadlock (데드락) (1) | 2023.10.08 |
운영체제(9) - 고전적인 동기화 문제들 (1) | 2023.10.05 |