커널

전지현·2025년 2월 22일

리눅스 커널

목록 보기
1/2

운영체제가 (커널보다) 더 큰 개념 (운영체제의 핵심 기능을 담당하는 것 중 하나가 커널)
운영체제 = 커널 + 디바이스 드라이버 + 시스템 유틸리티 + 응용프로그램 + 등등

커널은 운영체제의 핵심 부분. 하드웨어와 소프트웨어를 이어주는 중계 역할을 함.
중간에 이어주는 역할을 하는 것이 커널.

커널이 하는 여러가지 기능:
1. Task(Process) Management
2. Memory Management
3. File System
4. Network Management
5. Device Driver Management
6. Interrupt Handling
7. I/O Communication

커널에서 하드웨어 부분을 직접 손댄다.
User space (Application)
Kernel (Process, Memory, Device Management)
Hardware (CPU Memory Device)

user단에서 system call을 사용해 커널에 접근할 수 있고, 커널의 기능을 사용할 수 있다.


CPU 벤더, SoC 벤더, OEM(보드) 벤더

CPU 벤더 (CPU 아키텍쳐를 제공하는 회사)
ARM, 인텔, IBM AMD
ARMv7, x86 : 32비트
ARMv8 : 64비트

ALU와 레지스터를 연결하는 선이 몇개냐에 따라 32비트, 64비트 운영체제가 결정됨.
32비트 컴퓨터보다 64비트가 빠를 수 밖에 없고 CPU 아키텍쳐도 다르다.

시스템 콜, 익셉션, 컨텍스트 스위치 (주요 기능들)
CPU가 다르면 위 기능 어셈블리 코드는 반드시 달라진다.


리눅스에서는 여러가지 다양한 SoC를 지원함. 본인이 어떤 칩을 개발할건지 선택해서 그 선택에 따라 다 다르게 컴파일해야 한다.

=>커널에 맞게 빌드 스크립트를 변경하고 빌드하면 된다.




SoC 벤더
브로드컴, 퀄컴, 삼성전자(엑스노스), 인텔(아톰) ..

SoC
하나의 칩: CPU + 메모리 + 주변장치 + 무선통신
등등을 하나로 합쳐서 하나의 칩으로 만들어 놓은 것을 SoC라고 한다.

보드 벤더 (라즈베리파이)
OEM (상용 제품)

0개의 댓글