커널 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
23번째 줄: | 23번째 줄: | ||
=== 단일형 커널 === | === 단일형 커널 === | ||
{{본문|모놀리식 커널}} | |||
[[파일:Kernel-monolithic.svg|thumb|300px|right|단일형 커널의 구조]] | |||
단일형 커널은 하드웨어 위에 높은 수준의 가상 계층을 정의한다. 높은 수준의 가상 계층은 기본 연산 집합과 [[관리자 모드]]에 작동하는 [[모듈 (프로그래밍)|모듈]]인 [[프로세스]] 관리, [[동시성 (컴퓨터)|동시성]], [[메모리 관리]] 등의 운영 체제 서비스를 구현하기 위한 [[시스템 콜]]으로 되어 있다. | 단일형 커널은 하드웨어 위에 높은 수준의 가상 계층을 정의한다. 높은 수준의 가상 계층은 기본 연산 집합과 [[관리자 모드]]에 작동하는 [[모듈 (프로그래밍)|모듈]]인 [[프로세스]] 관리, [[동시성 (컴퓨터)|동시성]], [[메모리 관리]] 등의 운영 체제 서비스를 구현하기 위한 [[시스템 콜]]으로 되어 있다. | ||
44번째 줄: | 46번째 줄: | ||
=== 마이크로커널 === | === 마이크로커널 === | ||
{{본문|마이크로커널}} | {{본문|마이크로커널}} | ||
[[파일:Kernel-microkernel.svg|thumb|right|300px|마이크로커널의 구조]] | |||
마이크로커널은 하드웨어 위에 매우 간결한 추상화를 정의한다. 기본 연산 집합과 운영 체제 서비스를 구현한 [[스레드 관리]], [[주소 공간]], [[프로세스간 통신]]의 작은 [[시스템 콜]]으로 이루어져 있다. 일반적으로 커널이 제공하는 [[컴퓨터 네트워킹|네트워킹]]과 같은 다른 서비스들은 사용자 공간 프로그램인 '''서버'''로 구현한다. | 마이크로커널은 하드웨어 위에 매우 간결한 추상화를 정의한다. 기본 연산 집합과 운영 체제 서비스를 구현한 [[스레드 관리]], [[주소 공간]], [[프로세스간 통신]]의 작은 [[시스템 콜]]으로 이루어져 있다. 일반적으로 커널이 제공하는 [[컴퓨터 네트워킹|네트워킹]]과 같은 다른 서비스들은 사용자 공간 프로그램인 '''서버'''로 구현한다. | ||
75번째 줄: | 78번째 줄: | ||
=== 혼합형 커널(수정 마이크로커널) === | === 혼합형 커널(수정 마이크로커널) === | ||
{{본문|하이브리드 커널}} | |||
[[파일:Kernel-hybrid.svg|frame|right|혼합형 커널의 구조]] | |||
혼합형 커널은 본질적으로 마이크로커널을 따르나, 일부 커널의 비(非)본질적 기능이더라도 사용자 레벨에서 수행될 때 성능상 느린 코드들을 커널 레벨에서 수행하도록 수정한 것을 말한다. 이는 다양한 운영 체제 개발자들이 마이크로커널 기반의 설계를 받아들이던 시점에 순수한 마이크로커널의 성능상의 한계를 인식하고 타협한 결과이다. | 혼합형 커널은 본질적으로 마이크로커널을 따르나, 일부 커널의 비(非)본질적 기능이더라도 사용자 레벨에서 수행될 때 성능상 느린 코드들을 커널 레벨에서 수행하도록 수정한 것을 말한다. 이는 다양한 운영 체제 개발자들이 마이크로커널 기반의 설계를 받아들이던 시점에 순수한 마이크로커널의 성능상의 한계를 인식하고 타협한 결과이다. | ||
89번째 줄: | 95번째 줄: | ||
=== 엑소커널 === | === 엑소커널 === | ||
[[파일:Kernel-exo.png|frame|right|엑소커널의 구조]] | |||
{{본문|엑소커널}} | {{본문|엑소커널}} | ||