Non-continuous memory allocation
- 사용자 프로그램을 여러 개의 block으로 분할
- 실행 시, 필요한 block들만 메모리에 적재
- 나머지 block들은 swap device에 적재
Address mapping
- 가상 주소와 실제 주소 연결
- 가상 주소 : 연속된 메모리 할당을 가정한 주소
- 실제 메모리에 적재된 주소
- Block mapping
* 사용자 프로그램을 block 단위로 분할하여 mapping
* 가상 주소 : v =(b, d)
+ b : block number
+ d : displacement(offset) in a block
* BMT(block map table)
+ address mapping 정보 관리
+ kernel 공간에 프로세스마다 하나의 BMT를 가짐
+ residence bit : 메모리에 올라갔는지 확인 (0/1)
+ real address : 실제 메모리 어디에 올라갔는지 표시
* 동작 : 프로세스의 BMT에 접근 => BMT에서 block b에 대한 항목을 찾음 => residence bit를 확인 => residence bit = 0이면, swap device에서 해당 block을 메모리로 가져옴, residence bit = 1이면, read address 값 a 확인 => 실제 주소 계산(a+d) => 메모리에 접근
본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
'Software Courses > Operating System' 카테고리의 다른 글
[Memory] Segmentation system (0) | 2020.12.10 |
---|---|
[Memory] Paging system (0) | 2020.12.09 |
[Memory] Memory allocation : Continuous memory allocation (0) | 2020.12.09 |
[Memory] Memory Basic (0) | 2020.12.07 |
[Deadlock] Deadlock Solutions (0) | 2020.12.06 |