Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- OS
- react-redux
- 리덕스장바구니
- Redux
- 기초100제
- 정렬
- C++
- 분할메모리할당
- 스프링
- CPU 스케줄링
- 토이프로젝트
- codeup
- 타입스크립트
- Spring
- 협업
- 알고리즘
- 자료구조
- Operating System
- 일상
- react
- web
- 공부
- 프로그래머스
- Java
- 백준
- 파이썬
- 코드업
- error
- js to ts
- memory
Archives
- Today
- Total
감자튀김 공장🍟
[OS] 연속 메모리 할당 본문
반응형
고정 크기 할당
- 고정 크기 할당은 메모리를 파티션(partition)이라는 동일한 크기로 나누고, 각 프로세스가 실행될 때 1개의 파티션을 할당하는 기법이다.
- 예시
- 메모리 전체를 n개의 파티션으로 분할하고 프로세스가 실행을 시작할 때 각 프로세스에게 1개의 파티션을 할당한다.
- 동시에 실행시킬 수 있는 프로세스의 개수는 n개로 제한되어, n개의 프로세스가 실행 중일 경우 새로운 프로세스가 도착하면 프로세스 중 하나가 종료될 때까지 큐에서 대기한다.
- 문제점
- 프로세스가 파티션의 크기보다 작은 경우 메모리의 일부가 낭비된다.
- 프로세스가 파티션의 크기보다 큰 경우 처음부터 실행할 수 없다는 문제가 있다.
가변 크기 할당
- 프로세스의 크기가 모두 다른 것을 고려하여, 각 프로세스에게 프로세스와 동일한 크기의 메모리를 할당하는 기법이다.
- 예시
- 할당되는 메모리 공간을 region (리전)이라고 불렀다.
- 가변 크기 할당을 사용하면 수용 가능한 프로세스의 개수는 가변적이다.
- 프로세스가 도착했을 때 가용 메모리가 부족하면 실행 중인 프로세스가 종료되어 필요한 가용 공간이 생길 때까지 큐에서 대기한다.
단편화(fragmentation)
- 단편화란 프로세스에게 할당할 수 없는 조각난 메모리들이 생기는 형상을 뜻한다.
- 조각 메모리를 홀(hole)이라고 부르며 홀이 너무 작아 프로세스에게 할당할 수 없을 때 단편화가 발생한다.
- 홀이 생기는 위치에 따라 내부 단편화와 외부 단편화로 나뉜다.
- 내부 단편화(internal fragmentation)
- 프로세스에게 할당된 메모리 내부에 작은 홀이 생기는 경우이다.
- 고정 크기 파티션의 경우에서 볼 수 있다.
- 외부 단편화(external fragmentation)
- 할당된 메모리들 사이에 작은 메모리 홀이 생기는 경우이다.
- 가변 크기의 경우 외부 단편화가 나타나는데, 크기가 다른 리전이 할당되고 반환되면서 리전과 리전 사이의 홀이 발생한다.
출처
운영체제(Operating system), 황기태 지음
반응형
'Study > Operating System' 카테고리의 다른 글
[OS] 분할 메모리 할당 - 페이징(Paging) (0) | 2022.04.13 |
---|---|
[OS] 분할 메모리 할당 - 세그먼테이션(Segmentation) (0) | 2022.04.12 |
[OS] 메모리 할당(Memory Allocation) (0) | 2022.04.10 |
[OS] 메모리(Memory)와 메모리 계층 구조 (0) | 2022.04.09 |
[OS] 교착 상태(DeadLock)이란? (0) | 2022.04.08 |
Comments