- 커널은 컴퓨터를 운영하는데 있어서 중심이 되는 운영체제의 핵심 부분 (일반적으로 커널과 운영체제는 같은 의미로 사용됨)
- 커널 오브젝트는 커널에서 관리하는 중요한 정보를 담아둔 데이터 블록
| 커널 오브젝트의 이해
- 프로세스 상태 정보와 우선순위 정보는 운영체제 내부에 저장되어야 한다. 그리고 두가지 정보가 변경될 때마다 갱신되어야함 그래야 프로세스 스케줄러가 이 정보를 바탕으로 프로세스를 관리할 수 있음
- 프로세스를 관리하기 위한 구조체를 window 운영체제 개발자들이 정의함 편의상 '프로세스 관리 구조체'로 가칭함
프로세스가 생성될 때 마다 '프로세스 관리 구조체' 변수가 하나씩 생성되고 새롭게 생성된 프로세스 정보들로 초기화 됨 -> 커널 오브젝트
| 이외의 커널 오브젝트
- 프로세스 생성뿐만 아니라 프로세스내에서 프로그램 흐름을 구성하는 쓰레드를 생성할때도, IPC를 위해 사용되는 파이프나 메일슬롯을 생성할 때에도 커널 오브젝트를 생성, window에서 파일을 생성할때도 커널 오브젝트가 생성됨
| 커널 오브젝트의 조작
- 프로그래머가 직접적으로 커널 오브젝트를 조작하는것은 불가능하지만 MS에서 제공하는 시스템함수로 간접적 조작은 가능하다.
| 프로세스의 우선순위(Priority) 변경
- 핸들은 커널 오브젝트에 할당되는 숫자에 지나지않는다.
- window는 커널 오브젝트를 생성할 때 마다 핸들이라는 '정수값'을 하나씩 부여한다.
'프로그래밍 > 시스템프로그래밍' 카테고리의 다른 글
1.3 쓰레드의 동기화 (0) | 2019.09.25 |
---|---|
1.2 쓰레드의 생성과 소멸 (0) | 2019.09.25 |
1.1 쓰레드 (0) | 2019.09.24 |
2. 프로세스 (0) | 2019.09.20 |
1. 스레드 개요 (0) | 2019.09.19 |