커널 개요
100%

Kernel · 레슨 1

커널 개요

리눅스 커널이 하드웨어, 리소스, 격리 및 사용자 공간 요청을 중개하는 방법을 알아봅니다.

리눅스는 운영체제 커널입니다. 프로세서, 메모리, 장치, 프로세스 및 공통 리소스 추상화를 관리하는 특권 소프트웨어입니다. 완전한 리눅스 시스템에는 사용자 공간 라이브러리, 유틸리티, 서비스, 셸, 그래픽 소프트웨어 및 배포판 정책도 포함됩니다.

하드웨어 리소스

프로세서는 명령어를 실행하고, 메모리는 활성 상태를 저장하며, 컨트롤러는 저장 장치, 네트워크, 디스플레이, 입력 장치 및 기타 주변 장치를 연결합니다. 하드웨어는 모든 애플리케이션을 위한 하나의 안전한 인터페이스가 아니라 아키텍처 및 장치별 메커니즘을 노출합니다.

커널은 아키텍처 코드와 장치 드라이버를 통해 이러한 리소스를 초기화하고 제어합니다. 작업 부하 사이의 접근 경계를 적용하면서 인터럽트, DMA 조정, 타이머 및 전원 관리 이벤트를 처리합니다.

리눅스에서 일반적으로 장치 드라이버와 하드웨어 인터럽트를 조정하는 계층은 무엇입니까?

커널의 책임

주요 책임은 다음과 같습니다.

  • 실행 가능한 스레드를 CPU에 스케줄링
  • 가상 주소 공간 생성 및 격리
  • 프로세스 자격 증명, 권한 및 보안 정책 적용
  • 파일 시스템, 네트워킹, IPC 및 장치 인터페이스 제공
  • 신호, 타이머 및 프로세스 수명 주기 처리
  • 리소스 할당, 회계 및 회수

핵심 서비스와 여러 드라이버가 하나의 특권 커널 주소 공간에서 실행되므로 리눅스는 일반적으로 모놀리식 커널로 설명됩니다. 동시에 모듈식이기도 합니다. 지원되는 구성 요소는 커널 모듈로 불러오고 내릴 수 있습니다. 특권 커널 코드의 버그는 전체 시스템을 손상시킬 수 있으므로 커널 업데이트와 모듈 출처는 보안에 매우 중요합니다.

커널 스케줄러가 관리하는 것은 무엇입니까?

사용자 공간

사용자 공간에는 init과 서비스, 명령줄 도구, 언어 런타임, 데이터베이스, 셸 및 데스크톱 애플리케이션 같은 일반 프로세스가 있습니다. 하드웨어 권한은 이러한 프로그램이 여러 민감한 명령어를 직접 실행하거나 임의의 커널 메모리에 접근하지 못하게 합니다.

프로세스는 시스템 호출로 커널 작업을 요청하며 파일 디스크립터, 소켓, 장치 노드, procfs, sysfs, netlink 및 메모리 매핑 같은 노출된 인터페이스와 상호 작용합니다. 라이브러리는 이러한 인터페이스를 더 높은 수준의 API로 감싸는 경우가 많습니다.

사용자 공간의 root는 정책상 높은 권한을 갖지만 일반적으로 프로세서 사용자 모드에서 실행됩니다. 사용자 식별 정보와 CPU 권한 모드는 서로 다른 개념입니다.

일반적인 root 소유 애플리케이션은 모든 명령어를 커널 모드에서 실행합니까?

경계와 추상화

커널은 원시 물리 장치를 직접 노출하는 대신 가상 프로세스, 파일, 소켓 및 주소 공간을 제공합니다. 이러한 추상화는 격리와 이식성을 지원하지만 그 자체로 완벽한 보안 경계는 아닙니다. 네임스페이스, cgroup, capability, 보안 모듈, seccomp 및 가상화가 특수한 제어를 추가합니다.

문제를 해결할 때 어떤 계층이 동작을 소유하는지 질문하십시오. 애플리케이션, 라이브러리, 시스템 호출 인터페이스, 파일 시스템, 드라이버, 커널 하위 시스템, 펌웨어 또는 하드웨어일 수 있습니다. 잘못된 계층의 증거는 잘못된 해결책으로 이어질 수 있습니다.

시스템 호출이란 무엇입니까?

레슨 완료

커널 개요 완료

이제 물리 리소스와 격리된 사용자 공간 프로세스 사이에서 커널의 위치를 설명할 수 있습니다.

  • 드라이버 및 아키텍처 코드를 하드웨어 제어와 연결합니다.

  • 스케줄링, 메모리, 보안, 파일 시스템 및 네트워크 책임을 식별합니다.

  • root 자격 증명과 프로세서 커널 모드를 서로 다른 개념으로 취급합니다.

  • 사용자와 커널의 상호 작용을 제어된 런타임 인터페이스에서 찾습니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
Kernel(으)로 돌아가기