Dev/Linux System Programming

Linux 프로그래밍 기본 개념

chiftkey 2021. 4. 25. 23:40

출처 : wikipedia

 

커널 (kernel) : 사물의 중심이란 뜻을 가지며, Linux에서는 운영체제의 중심을 의미한다.

보통 커널을 하나의 프로그램으로 구성되어 컴퓨터를 구성하는 모든 하드웨어와 소프트웨어를 관리한다.

 

디바이스 (device) : CPU, 메모리, HDD USB 등 물리적인 부품을 디바이스 (device) 라고 한다. 커널의 중요한 역할 중 하나는 컴퓨터의 하드웨어를 관리하는 것이다. 

 

디바이스 드라이버 (device driver) : 특정 디바이스를 조작하는 프로그램을 디바이스 드라이버라 한다.

디바이스는 수많은 종류가 있고, 각각의 조작 방법이 다르다. 커널에 기본적으로 디바이스 드라이버가 설치된 것들도 있지만 모든 디바이스 드라이버를 커널에 포함시키는 것은 현실적으로 불가능 하다. 따라서, 커널은 필요에 따라 디바이스드라이버를 커널에 적재할 수 있도록 디자인 되어있다.

 

http://haifux.org/lectures/86-sil/kernel-modules-drivers/kernel-modules-drivers.html

 

시스템 콜 (System Call) : 하드웨어를 직접 다루는 것은 커널만이 할 수 있기 때문에, 일반 프로그램은 하드웨어를 조작하기 위해서 커널에 요청해야 한다. 이렇듯 일반 프로그램이 커널에게 요청하는 것을 시스템 콜이라 한다.

  • open
  • read
  • write
  • fork
  • 등등

 

출처 : 모두를 위한 리눅스 프로그래밍

'Dev > Linux System Programming' 카테고리의 다른 글

Linux 프로그래밍 시작..  (0) 2021.04.25