운영 체제 커널은 사용자 프로세스가 연속된 큰 가상 메모리 청크에 쓰는 것을 어떻게 효과적으로 방지합니까?
답변1
가상 메모리는 다음과 같이 구성됩니다.메모리 관리 유닛, 하드웨어 구성 요소입니다. 커널만 MMU 구성을 수정할 수 있습니다. MMU 구성은 각 가상 주소에 해당하는 물리적 주소(있는 경우)와 프로그램이 이 주소에서 갖는 권한(적어도 읽기 또는 읽기 및 쓰기, 특정 기능은 하드웨어 아키텍처에 따라 다름)을 결정합니다.
커널은 이러한 주소가 읽기 전용으로 매핑되거나 전혀 매핑되지 않도록 하여 프로세스가 가상 메모리 블록에 쓰는 것을 방지할 수 있습니다.
이것이 숙제라면 아키텍처에서 MMU가 어떻게 작동하는지, 특히 더 높은 수준의 디렉토리(섹션, L1/L2 테이블 또는 아키텍처에서 호출되는 모든 것)를 사용하는 방법을 설명해야 할 수도 있습니다. vs. 그 반대는 사실입니다. 하위 레벨 디렉토리(L2/L3)용.
답변2
Unix 계열 시스템에서는 mprotect 시스템 호출을 사용하여 메모리 보호를 제어합니다.
세부 사항: