안녕하세요 리눅스 커널 공부 입문잔데요,
지금까지 커널 공간이라하면 예를들어 4G 물리메모리를 딱 절반으로 나눠서 반틈은 프로세스의 주소공간으로,
나머지 반틈은 커널의 이미지가 로드되고 커널 코드가 수행되는 영역으로 알고있었는데요,
로버트 러브씨의 리눅스 커널 심층분석을 보니까 커널 공간이란
일반적으로 태스크에 4G의 주소공간이 할당되고, 0~3G까지는 태스크 자원(세그먼트 등),
나머지 1G는 8KB짜리 커널 스택이 존재하여 커널 코드가 수행되고
여타 레지스터값을 저장하기 위한 구조체, 프로세스 디스크립터를 저장하기 위한 구조체 등이 저장된다고 되있네요.
지금까지 알고 있던 내용과 달라서 혼란스럽습니다.
책에 의하면 태스크(프로세스)별로 할당 된 주소공간에 유저영역과 커널영역이 공존한다는 예긴데,
그렇다면 커널 이미지는 어디에 존재하는것인지...
공부가 부족하여 명확한게 하나없네요.
간략하나마 알려주시면 감사하겠습니다.