[OS] Lecture 9. Virtual Memory (3_5) - kibitzing/EnGrow GitHub Wiki
유튜브링크
진구
- av, available entry 는 다음 빈 곳을 아는 것이 중요하기 때문에 링크드 리스트 자료구조로 들고 있음. 자료구조도 함 복습하면 재밌겠다.
- 공유가능 페이지라는 개념이 등장하면서 프로그램에서 사용하는 구조가 보이는듯, 함수하나 만들어 놓으면 하나의 주소를 갖고 하나의 변수를 만들어 놓으면 몇번 쓰이든 하나의 주소를 갖는다. 오버헤드가 좀 있어도 메모리 절약은 상당할듯?
- 공유할때는 역시 뮤쳘 익스클루시브랑 보안을 신경 써야함. 보안은 비트로 한다고 함
세영
Page와 같은 크기로 Page를 잘라 놓는데, 그 하나가 Page Frame
-
Page frame을 관리하기 위해 Frame Table이 존재
- Allocated/available field
- 해당 프레임이 가용 상태인지 확인하는 비트
- PID field
- Link field
- AVailable
- 빈 공간을 찾기 위해 사용되는 포인터 (처음으로 비어 있는 frame table row를 가리키는 포인터)
- Allocated/available field
-
Page sharing (non continuous allocation 덕분에 공유 가능)
- 여러 프로세스가 공유할 수 있는 페이지
- Procedure page, Data page 등
-
Page sharing의 문제점
- 메모리 공간에 Branch가 존재할 경우, 다른 프로세스에서 각각 다른 곳을 가리키도록 하면 문제가 생길 수 있음
- 해결: PMT에서 같은 entry에 저장함
-
Page protection
- protection bit를 사용하여 공유되는 페이지에 대한 권한을 관리할 수 있음