>  기사  >  운영 및 유지보수  >  리눅스 커널이 뭐야?

리눅스 커널이 뭐야?

藏色散人
藏色散人원래의
2023-03-23 10:20:505336검색

linux 커널은 주로 IO 드라이버 장치 관리, TCP/IP 및 작업 스케줄링을 완료하는 기능을 하는 Linux 커널을 의미하며 Linux 운영 체제의 주요 구성 요소이자 컴퓨터 하드웨어와 프로세스 간의 핵심 인터페이스를 담당합니다. 사용자 간의 두 가지 통신을 위해 최대한 효율적으로 리소스를 관리합니다.

리눅스 커널이 뭐야?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

리눅스 커널이란 무엇인가요?

linux 커널은 Linux 커널을 의미하며 주로 IO 드라이버 장치 관리, TCP/IP 및 작업 스케줄링을 완료하는 기능을 수행합니다.

Linux 커널은 Linux 커널로 번역됩니다. 그 기반은 Linux 플랫폼입니다. Linux는 이 커널을 기반으로 Red Hat Linux 및 Open Suse Linux와 같은 특정 운영 체제가 파생됩니다. Linux 커널 기반 시스템 전체 운영 체제를 Linux 운영 체제 또는 GNU/Linux라고 합니다.

Linux 커널 소개

Linux 커널은 Linux 운영 체제(OS)의 주요 구성 요소이자 컴퓨터 하드웨어와 프로세스 간의 핵심 인터페이스입니다. 둘 사이의 통신을 담당하고 리소스를 최대한 효율적으로 관리합니다.

전화기, 노트북, 서버 또는 기타 모든 유형의 컴퓨터 등 하드웨어의 모든 주요 기능을 제어하는 ​​운영 체제 내에서 과일의 단단한 껍질에 있는 씨앗과 같아서 커널이라고 합니다.

Linux 커널의 역할

콘텐츠에는 다음 네 가지 기능이 있습니다.

  • 메모리 관리: 메모리가 얼마나 저장되어 있는지, 어디에 저장되어 있는지 추적합니다.

  • 프로세스 관리: 중앙 집중식을 사용할 수 있는 프로세스를 결정합니다. 처리(CPU), 사용 시기 및 사용 기간

  • 장치 드라이버: 하드웨어와 프로세스 사이의 중재자/해석자 역할을 합니다.

  • 시스템 호출 및 보안 보호: 프로세스의 서비스 요청을 수락합니다.

올바르게 구현되면 커널은 사용자에게 보이지 않으며 메모리를 할당하고 모든 것이 저장되는 위치를 추적하는 자체 작은 세계(커널 공간이라고 함)에서 작동합니다. 사용자가 보는 것(예: 웹 브라우저 및 파일)을 사용자 공간이라고 합니다. 이러한 애플리케이션은 SCI(시스템 호출 인터페이스)를 통해 커널과 상호 작용합니다.

이렇게 생각할 수 있습니다. 커널은 경영진(하드웨어)에게 서비스를 제공하는 바쁜 개인 비서와 같습니다. 보조자의 임무는 직원과 대중(사용자)의 메시지와 요청(프로세스)을 경영진에게 전달하고, 저장된 내용과 위치(기억)를 기억하고, 주어진 시간에 누가 경영진을 방문할 수 있는지, 언제 회의가 열릴지 결정하는 것입니다. 얼마나 오래.

Linux 커널의 경우 먼저 디렉터리 구조를 살펴보겠습니다. 다음은 몇 가지 중요한 지침입니다.

arch에는 아키텍처와 관련된 모든 핵심 코드가 포함되어 있습니다. 내부에서 arm, alpha, i386, mips 및 ia64와 같은 폴더를 볼 수 있습니다. 각 프로세서 아키텍처에는 서로 다른 하드웨어 모듈이 있습니다. 여기서는 서로 다른 아키텍처에 대해 서로 다른 초기화를 수행해야 합니다.

init에는 커널의 모든 초기화 작업(메모리 초기화, 모든 하드웨어 초기화, 첫 번째 작업 task0 생성 포함)을 수행하는 데 사용되는 main.c 파일이 있는 커널 초기화 코드(시스템 부팅 코드 아님)가 포함되어 있습니다. 인터럽트 허용 플래그 설정) 그런 다음 사용자 모드로 이동하고 fork() 함수를 호출하여 새 프로세스를 만들고 콘솔에서 셸을 실행합니다.

kernel에는 커널 관리의 핵심 코드가 포함되어 있습니다. 이름만 보면 이 디렉토리가 포크, 종료, 스케줄러(sched.c) 및 일부 시스템을 포함하여 작업을 처리하는 모든 프로그램을 포함하고 있음을 알 수 있습니다. 호출(sys.c).), 신호 처리(signal.c), 시간 함수(time.c) 및 인터럽트 예외 처리, 전원 관리 등과 같은 복잡한 호출 관계가 있는 일련의 함수입니다.

mm에는 모든 메모리 관리 코드가 포함되어 있습니다. 여기에는 프로세스의 논리적 주소를 실제 물리적 주소로 매핑하는 것, 페이징 및 분할 메커니즘 구현, 메모리 페이지 예외 인터럽트 핸들러 구현 등이 포함됩니다.

드라이버에는 CDROM, Bluetooth, PCI, i2c 등과 같은 시스템의 모든 장치 드라이버가 포함됩니다.

ipc에는 핵심 프로세스 간 통신 코드가 포함되어 있습니다.

fs는 ext2, ext3, ext4, fat, ntfs 등과 같은 여러 디렉터리를 포함하는 Linux에서 지원하는 파일 시스템 코드를 저장합니다.

net은 커널의 네트워크 부분 코드입니다. 각 하위 디렉터리는 ieee80211, ipv4 및 ipv6 디렉터리와 같은 네트워크 측면에 해당합니다.

lib에는 strcpy, sprintf 및 sort와 같은 기능을 포함한 핵심 라이브러리 코드가 포함되어 있습니다.

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 리눅스 커널이 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.