Hostwinds 블로그
에 대한 검색 결과:
모든 운영 체제의 핵심에는 응용 프로그램 소프트웨어와 컴퓨터의 하드웨어 구성 요소 사이의 중재자 역할을하는 기본 소프트웨어 인 커널이 있습니다.컴퓨터의 하드웨어 (CPU, RAM, 스토리지 등)를 관리하고, 다양한 리소스가 달리기 및 휴면 애플리케이션에서 어떻게 그리고 언제 활용 되는지를 결정합니다.
예를 들어, Zoom 또는 Google Meet과 같은 앱을 사용하여 컴퓨터에서 컨퍼런스 통화에 참여하고 있다고 상상해보십시오.열면 응용 프로그램은 커널에 컴퓨터의 카메라와 마이크에 액세스하도록 요청합니다.커널은 컴퓨터에서 필요한 하드웨어를 활성화하여 요청을 처리합니다.또한 컴퓨터에 부드러운 연결을 유지하기 위해 일정량의 CPU 리소스를 할당하도록 지시합니다.
커널의 핵심 기능은 소프트웨어와 하드웨어가 효과적으로 통신하도록하는 것입니다.
다음은 컴퓨터가 부드럽게 실행할 수있는 일부 커널의 핵심 기능의 분석이 있습니다.
커널을 통해 응용 프로그램은 하드웨어 리소스를 공유 할 수 있으며, 주어진 작업 (프로세스)에 필요한 특정 하드웨어 리소스의시기와 양을 조정할 수 있습니다.
커널은 새로운 프로세스 생성, 실행시 예약 및 완료되면 정리하는 등 프로세스 관리의 모든 측면을 처리합니다.각 프로세스에는 서로를 방해하는 것을 보호하면서 작동하는 데 필요한 리소스가 있는지 확인합니다.
커널은 물리적 및 가상 메모리를 모두 감독하여 각 프로세스에 충분한 공간을 사용할 수 있도록합니다.페이징 (고정) 및 세분화 (가변)와 같은 기술을 사용하여 모든 것을 구성하고 효율적으로 유지합니다.
커널은 파일이 빠르고 안전하게 저장되고 검색되도록하여 컴퓨터의 하드 드라이브 또는 SSD에 데이터를 저장하는 방법을 구성합니다.
장치 드라이버는 다른 하드웨어 구성 요소 (프린터, 그래픽 카드 등)의 번역기와 같습니다.커널은 이러한 드라이버와 통신하여 장치 사용을 제어하고 조정합니다.
커널은 액세스 제어 및 권한을 시행하여 시스템을 무단 액세스로부터 보호합니다.프로세스를 서로 분리하여 악의적 인 코드가 시스템의 다른 부분에 영향을 미치는 것을 방지합니다.
다양한 유형의 커널이 있으며, 각각 고유 한 설계와 컴퓨터 리소스 관리에 대한 접근 방식이 있습니다.주요 커널의 주요 유형과 각각을 특별하게 만드는 이유를 살펴 보겠습니다.
모 놀리 식 커널을 큰 올인원 패키지로 생각하십시오.여기에는 운영 체제의 핵심 기능뿐만 아니라 장치 드라이버, 파일 시스템 관리 및 기타 시스템 서비스도 포함됩니다.
모든 것은 단일 커널 공간에서 실행되므로 고성능과 효율성으로 이어질 수 있습니다.
예 : Linux 및 이전 버전의 Unix.
마이크로 넬은 미니멀리스트 접근 방식을 취합니다.하드웨어와 소프트웨어 간의 통신과 같은 가장 중요한 기능 만 처리하고 장치 드라이버와 같은 다른 작업을 분리하여 사용자 모드 프로세스를 분리합니다.
이 설계는 안정성과 모듈성을 향상시켜 시스템 문제를 더 쉽게 분리하고 수리 할 수 있습니다.
예 : Mach (MacOS X에서 사용) 및 QNX.
나노 세공은 마이크로 넬보다 훨씬 작고 가볍습니다.컨텍스트 전환 및 하드웨어 추상화와 같은 절대 베어 최소 작업 만 처리하는 것을 목표로합니다.
이 유형의 커널은 단순성과 최소한의 리소스 사용량이 핵심 인 임베디드 시스템 또는 IoT 장치와 같은 특수 애플리케이션을 위해 설계되었습니다.
하이브리드 커널은 두 세계를 최대한 활용하기위한 모 놀리 식 및 마이크로 커널 설계의 혼합입니다.
단일성 커널의 성능 장점 중 일부를 유지하지만 마이크로 커널과 같은 모듈성을 유지합니다.
예 : Windows NT 및 MacOS (버전 X 이후).
Exokernel은 하드웨어에 매우 낮은 수준의 인터페이스를 제공하여 다른 접근 방식을 취하여 리소스를보다 많이 제어 할 수 있습니다.이 OS 커널은 더 큰 사용자 정의 및 잠재적 성능 이득을 허용하지만 관리하기가 복잡 할 수 있습니다.
장치 드라이버는 운영 체제의 커널이 컴퓨터 안팎의 하드웨어 장치와 통신 할 수있는 소프트웨어 구성 요소입니다.
운영 체제가 사용하는 3 가지 주요 장치 드라이버가 있습니다.
이 드라이버는 키보드, 마우스, 직렬 포트 및 터미널을 포함하여 문자별로 데이터 문자를 전송하는 장치를 관리하는 데 책임이 있습니다.일반적으로 많은 양의 데이터를 버퍼하지 않고 문자로 입력 및 출력 작업을 처리합니다.예를 들어 키 스트로크를 해석하기위한 키보드 드라이버 및 커서 움직임을 추적하기위한 마우스 드라이버가 포함됩니다.
블록 장치 드라이버는 하드 드라이브, 솔리드 스테이트 드라이브 (SSD) 및 USB 저장 장치와 같은 고정 크기 블록 또는 섹터로 데이터를 저장하고 검색하는 장치를 감독합니다.그들은 청크로 데이터를 처리하여 많은 양의 데이터를 효율적으로 읽고 쓸 수 있습니다.블록 장치 드라이버는 파티셔닝, 서식 및 읽기 및 쓰기 요청을 포함하는 스토리지 장치를 관리해야합니다.
네트워크 장치 드라이버는 네트워크 인터페이스 카드 (NIC) 및 기타 네트워킹 하드웨어 제어를 담당하여 네트워크를 통한 통신을 용이하게합니다.이 드라이버는 TCP/IP와 같은 네트워크 프로토콜을 구현하여 데이터 패킷의 전송 및 수신을 관리합니다.또한 네트워크 구성, 패킷 라우팅 및 데이터 전송도 처리합니다.
사용자 모드와 커널 모드는 운영 체제 내에서 두 개의 고유 한 장치 드라이버 상태입니다.
각 모드가 무엇인지, 왜 컴퓨터의 보안 및 안정성에 중요한지 살펴 보겠습니다.
커널 모드는 운영 체제의 핵심 구성 요소가 작동하는 특권 상태입니다.이 모드에서 커널은 하드웨어 리소스에 대한 무제한 액세스 권한을 가지고 있으며 메모리 관리, 하드웨어 장치 제어 및 처리 시스템 인터럽트와 같은 중요한 시스템 작업을 수행 할 수 있습니다.컴퓨터의 제어 센터와 같습니다. 운영 체제의 원활한 기능을 보장하기 위해 필수 작업이 효율적이고 안전하게 수행되는 것과 같습니다.
소프트웨어는 민감한 시스템 리소스에 대한 무제한 액세스가 있으므로 커널 모드에서 실행하려면 높은 수준의 신뢰가 필요합니다.따라서 커널 자체 및 장치 드라이버와 같은 운영 체제의 신뢰할 수있는 구성 요소 만 시스템 무결성을 유지하기 위해 커널 모드에서 작동합니다.
사용자 모드는 브라우저 및 워드 프로세서와 같은 대부분의 응용 프로그램이 실행되는 제한된 환경입니다.이 모드에서 소프트웨어는 하드웨어 또는 임계 시스템 리소스에 직접 액세스하지 않고 운영 체제가 설정 한 경계 내에서 작동합니다.이 제품은 운영 체제의 서로 또는 핵심 기능을 방해하지 않고 애플리케이션이 독립적으로 작동 할 수있는 안전하고 안정적인 환경을 제공하도록 설계되었습니다.
커널에는 잠재적 위협으로부터 시스템을 보호하기 위해 다양한 보안 조치가 포함되어 있습니다.
커널이 안전한 환경을 유지하고 잠재적 인 취약점을 완화 할 수있는 몇 가지 방법은 다음과 같습니다.
액세스 제어: 커널은 읽기, 쓰기 및 실행 허가와 같은 사용자 및 프로세스에 권한을 할당하여 액세스 제어 정책을 시행합니다.이 권한에 대한 액세스 요청을 확인하여 승인 된 엔티티 만 리소스에 액세스 할 수 있는지 확인합니다.
권한 : 커널은 자원과 관련된 권한에 대해 요청 엔터티의 액세스 권한을 확인하여 권한을 시행합니다.이를 통해 시스템 리소스의 무단 액세스 및 오용을 방지합니다.
샌드 박스 : 커널은 프로세스 격리, 네임 스페이스 분리 및 권한 분리와 같은 샌드 박스 기술을 구현하여 응용 프로그램에 대한 안전한 실행 환경을 만듭니다.이를 통해 시스템 크리티컬 리소스에 액세스하거나 수정하지 못하게됩니다.
작성자 Hostwinds Team / 할 수있다 15, 2024