IT공부

[ETC] 커널 전역 데이터 구조, 전역 or 프로세스별 커널 오브젝트

shine94 2024. 12. 14. 22:43

* 커널

   컴퓨터를 운영하는데 있어서 중심이 되는 운영체제 핵심 부분

 

* 프로세스별 커널 오브젝트

   프로세스 생성시, 각 프로세스마다 독립적인 커널 오브젝트가 생성된다

   ㄴ 커널 오브젝트?

        커널이 프로세스를 관리하기 위해 필요한 데이터를 저장

   ㄴ 프로세스별 커널 오브젝트에 포함된 정보

         1. 프로세스 ID(PID)
         2. 프로세스 상태 (실행 중, 대기 중, 종료 등)
         3. 스케줄링 우선순위
         4. 메모리 관련 정보 (페이지 테이블, 메모리 매핑 등)
         5. 열려 있는 핸들(파일, 소켓 등) 정보
         6. 부모 및 자식 프로세스 정보
         7. CPU 레지스터 값(컨텍스트 스위칭 시 필요)

 

* 커널 전역 데이터 구조(Kernel Global Data Structure)

   커널이 시스템의 모든 프로세스나 리소스를 추적하기 위해 사용하는 데이터 구조이다

   모든 프로세스별 커널 오브젝트를 효율적으로 관리한다

   ㄴ 커널 전역 데이터 구조에 포함된 정보

         1. 프로세스 테이블(Process Table): 프로세스별 커널 오브젝트를 추적.
         2. 파일 테이블(File Table): 파일 핸들과 파일 상태를 추적.
         3. 메모리 매핑 테이블(Memory Map Table): 메모리 매핑 정보를 관리.

 

* 전역 커널 오브젝트(Global Kernel Object)

   모든 프로세스나 시스템 전체에서 공용으로 사용하는 특정한 커널 오브젝트이다

   개별 프로세스에 귀속되지 않고 시스템 전반에 걸쳐 공유된다

   ㄴ 전역 커널 오브젝트에 포함된 정보

         1. 세마포어(Semaphore): 여러 프로세스 간의 동기화를 위해 사용.
         2. 이벤트(Event): 시스템 전반에서 상태 변화를 관리.
         3. 파일 시스템 정보 오브젝트: 파일 시스템 상태를 추적.

 

 

* 정리하면,

   커널 전역 데이터 구조프로세스별 커널 오브젝트를 관리하며,

   전역 커널 오브젝트는 커널에 의해 관리되고, 모든 프로세스별 오브젝트는 커널을 통해 간접적으로만 접근 가능하다

'IT공부' 카테고리의 다른 글

[ETC] 레드 블랙 트리  (0) 2024.12.19
[C++] Placement New  (0) 2024.12.18
[ETC] 지수와 로그 역관계  (0) 2024.12.14
[ETC] 꼭 알아야 하는 어셈블리 명령어  (0) 2024.12.05
[ETC] 확률  (0) 2024.11.13