커널 공간은 운영 체제의 핵심이 실행되고 서비스를 제공하는 메모리 섹션이며 사용자 공간은 사용자 프로그램이 실행되는 공간입니다. 또한 프로세스의 자체 주소 공간에 스택, 힙, 데이터 및 텍스트 섹션이 있음을 알고 있습니다. 하지만 사용자 스택 및 커널 스택의 개념과 혼동 스럽습니다. 내 질문은 :
커널 공간과 커널 스택의 관계는 무엇입니까?
- 내가 앞서 언급 한 프로세스 스택은 사용자 스택 및 커널 스택으로 구성되어 있습니까?
- 커널 스택은 커널 공간의 일부입니까?
- 두 개의 스택이 프로세스의 가상 메모리 주소로 분리되어 있습니까?
- 코드 세그먼트에서 :
void main(){user_mode_call(); system_call()}
두 호출의 스택 프레임은 각각 사용자 스택과 커널 스택에 있습니까?
관련 서적 및 링크는 도움이 될 것입니다.
(제 질문은 순진 할 수도 있지만 더 전문적인 방법으로 입력하는 즉시 알려 드리겠습니다)
답변을 얻으려면 전체 도서가 필요합니다. [* 운영 체제 : Three Easy Pieces *] (http://pages.cs.wisc.edu/~remzi/OSTEP/) - 무료로 다운로드 할 수 있습니다. 귀하의 질문이 너무 광범위합니다. [가상 주소 공간] (https : //en.wikipedia.org/wiki/Virtual_address_space)는 너무 순진합니다. 터미널에서'cat/proc/$$/maps'을 시도해보십시오. [proc (5)] (http://man7.org/linux/man-pages/man5/proc .5.html) –