[LINUX] 리눅스 기초 지식 정리(2-3)

2020. 1. 8. 11:47개발나들이/server

Linux Kernel 의 주요 기능을 정리해보고자 합니다.


1. 디바이스 관리

 - Device Driver 라는 소프트웨어를 이용하여 하드웨어를 제어함.


2. 프로세스 관리

 - Linux에서 명령을 실할할 때는 해당 프로그램 파일에 쓰혀 있는 내용을 '읽고' 이를 메모리상에 '전개'한 후 

   메모리상의 프로그램을 '실행' 하는 일련의 프로세스를 따르게 됨.

- Linux Kernel은 프로세스들에게 각각 PID(Process ID) 라는 식별자를 붙여 프로세스 실행에 필요한 CPU를 

  효율적으로 할당하는 열할을 담당함.


3. 메모리 관리

- 프로세스가 실행되면 메모리상에 프로그램이 전개될 때 프로그램 안에서 시용하는 데이터도 메모리상에 전개됨.

- Linux Kernel 은 프로그램과 데이터가 물리 메모리에 효율적으로 할당하는 역할과 실행이 끝난 프로세스가 사용

  하던 메모리 영역을 해제하는 역할도 담당함.

- 다만 메모리에는 용량의 제한이 있기에 메모리의 물리적인 용량을 초과하는 경우 HDD나 보조기억장치에 가상의

  메모리 영역을 만들고 사용하는데 이를 swap 이라 함.

- Linux Kernel 은 메모리상에 전개된 이용 빈도가 낮은 데이터를 swap으로 보내고 (swap out), 되돌리는 (swap in) 

  역할을 담당함.

- 이러한 Linux Kernel 을 조각하기 위해서는 Shell 을 사용하며 다음과 같은 기능을 실행할 수 있다.