운영 체제 코드의 어떤 부분이 커널과 관련되어 있습니까?
시스템 다이어그램은 이해하지만 코딩 부분에 과제가 있습니다.
답변1
"관련성"이 무엇을 의미하는지 정의해야 합니다.할 수 있다논쟁을 시도하다모두코드는관련된커널로:
- 커널이 없고,아무것도 없다사용자 공간에서도 실행되지 않습니다.
- 사용자 공간 애플리케이션이 없으면 시스템은 본질적으로 쓸모가 없습니다.
또한 커널 유형에 따라 시스템의 다른 부분은 다소 강한 종속성을 갖습니다.
- 완전한(예: Linux)는 일반적으로 드라이버와 같은 것이 커널에 상주하는 대규모 코드베이스입니다.
- 잡종(예: Windows) 구성요소는 커널 공간과 사용자 공간으로 나누어집니다.
- 마이크로커널(예: QNX)는 드라이버가 사용자 공간 "애플리케이션"으로 구현되는 비교적 작은 코드베이스입니다.
물론 이는 커널 자체를 사용하지 않는 "베어 메탈" 시스템에는 적용되지 않습니다.
요청에 따라 Linux 커널을 더 깊이 파고들면 주요 하위 시스템이 있음을 알 수 있습니다.
- 아키텍처(머신)별 지원(x86)
- 초기화 루틴
- 스케줄러
- 인터럽트 처리
- 메모리 관리
- 장치 지원(일명 "드라이버")(MMC)
- 파일 시스템(외부 4)
- 프로세스 간 통신
- 네트워킹(IPv4)
- ...그리고 목록은 계속됩니다
각 하위 시스템에는 추가 하위 시스템이 있습니다(일부는 위의 괄호 안에 표시됨).
귀하의 의견에서 제안한 대로 다이어그램을 그릴 수 있지만 매우 복잡해집니다.
이런 기사를 읽어보는 것도 좋을 것 같아요Linux 커널 분석'무슨 일이 일어나고 있는지 더 잘 이해하기 위해.