포도가게의 개발일지
메모리 관리 참조 : CS chapter 9 & [OS] Lec 8. Memory Management (2/3) - Fixed Partition Multiprogramming 본문
CS
메모리 관리 참조 : CS chapter 9 & [OS] Lec 8. Memory Management (2/3) - Fixed Partition Multiprogramming
grape.store 2021. 9. 9. 22:56반응형
https://www.youtube.com/watch?v=te-GU7NKa5Y
Memory Allocation
continuos Memory Allocation(연속 메모리 할당)
- 메모리 구성 정책
- 메모리에 동시에 올라갈 수 있는 프로세스의 수
- 각 프로세스에게 할당되는 메모리 공간 크기
- 메모리 분할 방법
- uni-programming : 프로세스가 하나만 올라가는 경우
- 가장 간단한 메모리 관리 기법
- 하나의 프로세스만 메모리 상에 존재
1. 문제점 : 프로그램의 크기 > 메모리 크기 보다 큰 경우
해결법
- Overlay structure(프로그램을 나눠준다)
- 메모리에 현재 필요한 영역만 적재
- 사용자가 프로그램의 흐름 및 자료구조를 모두 알고 있어야 함
- 공통부분은 올리고 남은 프로그램을 필요한 경우만 올려준다
2. 문제점 : 커널 보호
해결법
- 경계 레지스터(boundary register) 사용
- 메모리 안에서 커널과 경계가 되는지점 바운드리 메모리 주소를 적어줌으로써 못넘어가게 막아줌
3. 문제점 : 메모리가 낭비되는 경우(시스템의 활용도가 낮다)
해결법
- Multi-programming을 구현 - Multi-programming
구분
- Fixed partition(FPM)
- Variable partition(VPM)
1. Fixed partition
- 메모리 공간을 고정된 크기로 미리 분할
- 각 프로세스는 하나의 partition에 적재
- partition의 수 = K, mutiprogramming degree = K
- Fragmentation(단편화)
1. internal fragmentation
- 내부 단편화
- partition 크기 > process 크기 -> 메모리가 낭비되는 현상
2. External fragmentation
- 외부 단편화
- 남은 메모리의 크기 > new process의 크기보다 큰데
partition에는 하나의 process만 담을 수 있어서 못담는 경우
'CS' 카테고리의 다른 글
Comments