커널

커널이란 무엇입니까?

커널은 컴퓨팅에서 컴퓨터의 주요 부분 인 운영 체제핵심 을 지정하는 데 사용되는 영어 단어입니다.

커널 버전에서 이전 버전 또는 이전 버전으로 간단히 변경하면 컴퓨터의 하드웨어 및 호환성 문제를 해결하는 데 충분할 수 있습니다.

시스템과 관련된 모든 것을 완벽하게 제어 할 수있는 커널은 시작 중에로드되는 첫 번째 프로그램 중 하나입니다.

실행이 시작되면 커널은 적절한 컴퓨터 작동에 필요한 모든 하드웨어를 감지하는 프로세스를 시작합니다.

또한 커널은 소프트웨어 입출력 요청을 처리하고 예를 들어 사용 된 메모리 및 주변 장치를 관리합니다.

커널 기능

시스템의 핵심 인 커널은 소프트웨어를 하드웨어에 연결합니다.

이 방법으로 운영 체제의 리소스간에 효과적인 통신을 설정하고 주요 기능을 관리합니다.

아래에서 커널이 관리하는 운영 체제의 주요 기능을보십시오.

프로세스 관리

운영 체제에서 프로세스는 실행중인 프로그램입니다.

커널에 의해 수행되는 프로세스 관리는 어떤 프로세스가 실행될지를 결정합니다.

실행중인 각 프로세스는 동일한 초에 여러 번 프로세서에 들어가고 나갈 수 있으며 다른 프로세스로 연결됩니다.

커널은 프로세서에 할당 할 프로세스를 결정합니다.

프로세스 간의 전환이 매우 빠르게 발생하기 때문에 프로그램이 프로세서에 없더라도 프로그램을 계속 실행할 수 있습니다.

액세스 모드

프로세스의 실행은 두 가지 방법으로 수행 될 수 있습니다.

사용자 모드 : 여러 하위 시스템으로 구성됩니다. 환경 서브 시스템을 포함한 그 중 하나는 다양한 유형의 운영 체제 용으로 설계된 응용 프로그램을 실행합니다.

사용자 모드는 비 특권 모드로 간주됩니다. 이 모드의 모든 소프트웨어는 프로세스 생성과 같은 권한있는 명령어를 실행하기 위해 커널에 요청해야합니다.

커널 모드 : 전체 컴퓨터에 액세스 할 수 있으므로 권한이 있다고 간주됩니다. CPU가 커널 모드에있을 때, 이는 신뢰할 수있는 소프트웨어를 실행 중이며 모든 명령을 실행할 수 있음을 나타냅니다.

CPU의 의미를 참조하십시오.

메모리 관리

작업 관리자에서 RAM의 일부 (총 메모리)가 커널에 할당됩니다.

프로세스 관리 중에 커널은 프로그램을 주소 공간으로 보냅니다.

커널에 할당 된 전체 메모리의 일부는 핵심 프로세스가 해당 공간으로 전송되도록 항상 사용 가능한 메모리가 있음을 보장합니다.

커널은 각 프로세스가 작동하는 동안 액세스 할 수있는 메모리 양을 정의하는 기능도 가지고 있습니다.

장치 관리

커널은 컴퓨터에 연결된 주변 장치를 제어합니다.

사용자가 펜 드라이브, 프린터, 헤드셋, 마우스 등의 장치를 연결할 때마다 커널은 해당 장치의 메모리를 관리하고 컴퓨터의 프로그램 및 하드웨어와 통신합니다.

각 장치에는 특정 운영 체제에서 작동하도록 만들어진 드라이브가 있습니다. 따라서 Windows 용으로 설계된 드라이버는 예를 들어 MAC에서 작동하지 않습니다.

각 장치의 드라이버는 특정 전자 장치와 컴퓨터의 운영 체제간에 실행되는 명령의 일종의 번역을 수행합니다.

운영 체제의 서비스는 이라는 사용자 인터페이스를 통해 액세스됩니다.이 인터페이스는 영어로 "쉘"을 의미합니다. 이름은 껍질이 코어 주변의 가장 바깥 쪽 레이어라는 사실 때문입니다.

인터페이스의 의미를 참조하십시오.

시스템 호출

시스템 호출은 사용자 모드에서 사용되는 컴퓨터 프로그램의 특정 기능입니다. 이들은 컴퓨터 운영 체제의 핵심을 호출하여 특정 작업을 수행하는 데 사용됩니다.

이러한 기능은 종종 복잡하며 일반 사용자가 액세스 할 수없는 기능을 사용합니다.

Windows 시스템 호출 및 해당 Linux 커널의 몇 가지 예는 아래를 참조하십시오.

Windows리눅스상품 설명

CloseHandle

닫기

파일 닫기

CreateFile열리다파일 만들기
DeleteFile링크를 끊다파일 삭제
ExitProcess출구프로세스 및 모든 세그먼트 종료
GetLocalTime시간현재 위치, 날짜 및 시간 검색

Windows에 대해 자세히 알아보십시오.

커널 유형

아키텍처와 관련하여 운영 체제의 핵심은 모 놀리 식, 하이브리드 또는 소핵 일 수 있습니다.

모 놀리 식

장치 드라이버 및 커널 확장은 완전한 하드웨어 액세스로 커널 공간에서 실행됩니다.

모든 모듈이 동일한 주소 공간에서 실행되기 때문에 이러한 공간 중 하나에서 오류가 발생하면 전체 시스템이 영향을받을 수 있습니다.

모 놀리 식의 예 : Linux, BSD, MS-DOS 및 Solaris.

Linux는 가장 잘 알려진 단일 칩 커널 중 하나입니다.

자유롭고 이식 가능한 소프트웨어로서 Linux는 IBM 컴퓨터에서 모바일 장치, 스마트 폰 또는 iPod에 이르는 수십 가지 플랫폼에서 작업 할 수 있다는 이점이 있습니다.

소프트웨어 및 하드웨어에 대해 자세히 알아보십시오 ..

마이크로 핵 또는 마이크로 커널

이름에서 알 수 있듯이 소핵은 매우 작은 커널이므로 커널 공간에서 가능한 한 적은 수의 프로세스를 수행합니다.

일부 프로세스는 사용자 공간에서 실행됩니다.

소핵 유형 커널에서 오류가 발생하면 문제를 제시 한 서비스를 다시 시작하십시오.

이렇게하면 전체 시스템이 괴롭히지 않게됩니다 (모 놀리 식 커널과 마찬가지로).

소핵의 예 : AIX, BeOS, L4, Mach, Minix, MorphOS, QNX, RADIOS, VSTa 및 GNU Hurd.

하이브리드

하이브리드 시스템은 모 놀리 식 및 소핵과 비교할 때 중간 지점에서 작동하는 시스템으로 간주됩니다.

하이브리드는 마이크로 커널의 안정성과 보안을 모 놀리 식의 성능과 결합합니다.

하이브리드 커널은 소핵과 비슷하지만 핵심 공간에 코드 ( "필수적이지는 않음")가있어 실행 된 작업이 더 빠릅니다.

하이브리드의 예 : AmigaOS, Android, Chrome, Macintosh, webOS, Windows, OSX 및 Xinu

Android Kernel은 Linux에서 제작되었습니다. 그러나 안드로이드는 리눅스만을 기반으로한다고 생각하기 때문에 안드로이드를 리눅스로 분류하지는 않는다.

Android에 대해 자세히 알아보십시오.