
프로젝트/Pint OS
[Pint OS] User Memory Access
Virtual Memory Layout Pint OS에서 가상 메모리는 2개의 영역으로 나뉜다. User Virtual Memory: 가상 주소 0부터 KERN_BASE(0x8004000000) 사이의 영역 Kernel Virtual Memory: 가상 주소 KERN_BASE(0x8004000000) 이상의 영역 User Virtual Memory 유저 가상 메모리는 프로세스마다 할당된다. 커널이 한 프로세스를 다른 프로세스로 전환할 때, 페이지 테이블을 통해 유저 가상 주소 공간도 전환된다(Context Switching).구조체 thread는 프로세스의 페이지 테이블을 가리키는 포인터를 가지고 있다(curr_thread->pml4). 유저 프로그램은 오직 할당된 유저 가상 메모리에만 접근할 수 있다...