본문 바로가기

프로그래밍 기초/기초문법

커널, 배포판, 리눅스 커널 구조

https://5equal0.tistory.com/entry/Linux-Kernel-%EC%BB%A4%EB%84%90%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%BB%A4%EB%84%90%EC%9D%98-%EA%B5%AC%EC%A1%B0

 


1. 개념

 

컴퓨터 구조

하드웨어와 소프트웨어로 구분

1). 하드웨어: 모니터, 본체(CPU, 메모리 등)등의 물리적인 장치

2). 소프트웨어: 시스템에서 특정 작업을 수행하게 하는 프로그램의 집합

    (1). 운영체제

          ①. 커널(Kernel): 운영체제의 핵심 기능부, 컴퓨터 자원들을 관리

          ②. 시스템 프로그램: - 사용자와 컴퓨터가 소통할 수 있도록 해석하는 프로그램

                                             - 대표적으로 쉘(Shell)이라는 명령어 해석기가 존재

    (2). 응용프로그램

  .

  .

  .


배포판

 

- 운영체제와 유사한 의미로 사용됨

- 리눅스 계열의 운영체제들을 대체하여 사용되는 용어

- 커널과 함께, 시스템 프로그램과 쉽게 설치할 수 있는 기능까지 제공하는 것

  (리눅스 커널을 포함한 운영체제, 리눅스에 한해 사용됨)


정리

 

- 리눅스는 오픈소스

- 리눅스 커널을 사용하는 과정에서, 모든 사용자들이 자신의 필요에 맞게 형태를 바꿈

- 이 과정을 통해 '배포' 하는 사례가 생김 (우분투, 레드햇 등)

- 운영체제 ≒ 배포판 커널 

 


 

2. 리눅스 커널 구조

 

1). 커널의 역할

     (1). 사용자가 하드웨어에 접근 및 사용할 수 있도록 매개

     (2). 하드웨어와 추상화 자원들을 관리

           - 추상화 자원이란 하나뿐인 하드웨어를 여러개처럼 보이도록 하는 기술

           - 메모리 관리, 파일 시스템, 프로세스 관리, 디바이스 제어 등

 

물리적자원

추상화자원
CPU(프로세스) Task
메모리 Page, Segment
디스크 파일(File)
네트워크 소켓(Socket)
각종 외부장치 디바이스 드라이버(Devixe Driver)

 

'프로그래밍 기초 > 기초문법' 카테고리의 다른 글

Math 함수  (0) 2023.09.11
리눅스 기초, 명령어  (0) 2023.09.04
splice  (0) 2023.08.23
map, reduce  (0) 2023.08.09
따옴표, 백틱(backtick, `)  (0) 2023.08.08