커널은 운영체제와 같은 의미를 지닌다. 그렇지만 커널 오브젝트를 ‘운영체제 오브젝트’라고 파악하는 것을 잘못된 파악이다.
커널 오브젝트는, 커널에서 관리하는 중요한 정보를 담아둔 데이터 블록이다.
운영체제가 프로세스를 관리하고 스케줄링하는 과정에서 여러 정보를 저장할 수 있어야 하는데, 이를 정의한 것을 “프로세스 관리 구조체”라고 한다. 이 프로세스 관리 구조체는 프로세스가 새로 생성될 때마다 변수가 생성되고, 새롭게 생긴 프로세스의 정보들로 초기화하게 되는데 이것이 “커널 오브젝트”다.
윈도우 운영체제는 프로세스,쓰레드,파일 등을 리소스라고 부르고 이 데이터를 저장하는 메모리블록이 커널 오브젝트
다만, 커널 오브젝트는 모두 동일한 구조체로부터 생성되는 것이 아닌, 종류에 따라서 서로 다른 구조체를 기반으로 생성된다.
- [*] 프로그래머는 직접 커널 오브젝트를 조작할 수 없다
- [*] 커널 오브젝트는 운영체제에 종속적이다 -즉, 여러 프로세스에서 커널 오브젝트에 접근 및 공유가 가능하다