일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 코딩테스트
- programmers
- level2
- python
- 스택
- 다이나믹 프로그래밍
- DP
- level1
- 그리디
- BFS
- 딕셔너리
- 재귀
- 다익스트라
- 백준
- 수학
- 에라스토테네스의 체
- dfs
- level0
- BOJ
- 운영체제
- 가상메모리 관리
- 힙
- 가상메모리
- MYSQL
- 브루트포스
- level3
- 파이썬
- 구현
- N과M
- Today
- Total
동캄의 코딩도장
운영체제 [메모리 할당] 본문
Continuous Memory Allocation
- 프로세스(context)를 하나의 연속된 메모리 공간에 할당하는 정책
Uni-programming
- 하나의 프로세스만 메모리 상에 존재
- 가장 간단한 메모리 관리 기법
문제점
프로그램 크기> 메모리크기
-Overlay structure( 프로그램의 영역을 잘라서 메모리에 적재)
커널 보호
- 경계 레지스터 사용
Low system resoucre utilization & preformance
- Multi- programming 사용
Multi-programming
Fixed partition Multiprogramming
- 메모리 공간을 고정된 크기로 분할
- 각 프로세스는 하나의 partition에 적재
- 메모리 관리 간편
- 시스템 자원이 낭비 될 수 있음
Fragmentation
internal fragmentation
- 내부 단편화
- partition 크기> process 크기 --> 메모리 낭비
external fragmentation
- 외부 단편화
- (남은 메모리 크기> process 크기)지만, 연속된 공간이 아님 --> 메모리 낭비
Variable Partition Multiprogramming
- 초기에는 전체가 하나의 영역
- 프로세스를 처리하는 과정에서 메모리 공간이 동적으로 분할
- fragmentation 발생 x
- 남은 메모리공간 발생--> 배치전략, 외부단편화 해결 필요
배치전략
First-fit (최초 적합)
- 충분한 크기를 가진 첫 번째 partition을 선택
- simple and low overhead
- 공간 활용률이 떨어질 수 있음
Next-fit (순차 최초 적합)
- First-fit 전략과 유사
- State table에서 마지막으로 탐색한 위치부터 탐색
- 메모리 영역의 사용 빈도 균등화
- low overhead
Best-fit (최적 적합)
- Process가 들어갈 수 있는 partition중 가장 작은 곳을 선택
- 탐색시간이 오래 걸림 -> 모든 partition을 살펴봐야 함
- 크기가 큰 partition을 유지 할 수 있음
- 작은 크기의 partition이 많이 발생
Worst-fit(최악 적합)
- Process가 들어갈 수 있는 partition중 가장 큰 곳 선택
- 탐색시간이 오래 걸림 --> 모든 partition을 살펴봐야 함
- 작은 크기의 partition 발생을 줄일 수 있음
- 큰 크기의 partition 확보가 어려움
외부단편화 해결
Coalescing holes (공간 통합)
- 인접한 빈 영역을 하나의 partition으로 통합
- process가 memory를 반환하고 나가면 수행
- low overhead
Storage Compaction (메모리 압축)
- 모든 빈 공간을 하나로 압축
- 프로세스 처리에 필요한 적재 공간 확보가 필요 할 때 수행
- High overhead
'CS > 운영체제' 카테고리의 다른 글
운영체제 [가상메모리 - 페이징] (0) | 2022.01.19 |
---|---|
운영체제 [가상 메모리] (0) | 2022.01.19 |
운영체제 [메모리 background] (0) | 2022.01.19 |
운영체제 [deadlock 해결방법] (0) | 2022.01.19 |
운영체제 [Deadlock] (0) | 2022.01.19 |