이 포스팅은 한국기술교육대학 김덕수 교수님의 강의를 참고하여 작성했습니다.
#1 Memory Management
Page와 같은 크기로 미리 분할하여 관리/사용
- Page frame
- FPM 기법과 유사
Frame table
- Page frame당 하나의 entry- 구성 : Allocated/available field PID fieldLink field(For free list, 사용가능 한 fp들을 연결)AV(Free list header, free list의 시작점)
AV는 가장 처음으로 비어있는 entry를 지칭한다.
link는 빈 entry에 대한 linked list를 만든다.
#2 Page Sharing
여러 프로세스가 특정 page를 공유 가능
Non-continuous allocation이기 때문에 가능
공유 가능 page
1. Procedure pages : pure code (reenter code)
2. Data page : read-only data , read-write data : 병행성 제어 기법 관리하에서만 가능
데이터는 당연하게도 공유 가능하다.
위 그림은 함수를 공유하는 그림이다.
함수를 공유하기 위해서는 Page num를 똑같이 맞춰줘야한다.
#3 Page Protection
여러 프로세스가 page를 공유할 때,
protection bit 사용
#4 정리
1. 프로그램을 고정된 크기의 block으로 분할 (page)
/ 메모리를 block size로 미리 분할 (page frame)
- 외부 단편화 문제 없음
- 메모리 통합/압축 불필요
- 프로그램의 논리적 구조 고려하지 않음 : Page sharing/protection이 복잡
2. 필요한 page만 page frame에 적재하여 사용
- 메모리의 효율적 활용
3. Page mapping overhead
- 메모리 공간 및 추가적인 메모리 접근이 필요
- 전용 HW 활용(TLB)으로 해결 가능 : 하드웨어 비용 증가
긴 글 읽어주셔서 감사드립니다.
22.12.01
'TIL (Today I Learned) > 컴퓨터 시스템(CS)' 카테고리의 다른 글
[CS] 가상 메모리 Hybrid system #5 (0) | 2022.12.02 |
---|---|
[CS] 가상 메모리 Segmentation system #4 (1) | 2022.12.02 |
[CS] 가상 메모리 Paging System #2 (0) | 2022.12.01 |
[CS] 가상 메모리 VItual Storage (Memory) #1 (0) | 2022.12.01 |
[CS] CS:APP #1 (1) | 2022.11.30 |
댓글