728x90
1. Linux 커널이란 ?
리눅스 운영 체제(OS)의 주요 구성 요소이며 컴퓨터 하드웨어와 프로세스를 연결하는 핵심 인터페이스
주로 디바이스 관리, 프로세스 관리, 메모리 관리, 시스템 콜 제공과 같은 기능 == 컴퓨터 자원 관리
2. Linux 커널의 주요 기능
- 디바이스 관리
: 리눅스 커널은 디바이스 드라이버라는 하드웨어 입출력을 제어하는 소프트웨어를 이용하여 장치를 관리함
- 프로세스 관리
: 리눅스에서는 프로그램을 실행할 때 파일 시스템 내 특정 디렉터리에 있는 프로그램의 파일을 읽어와 메모리에 적재함. 이 프로그램이 메모리에서 실행되는 프로세스가 되는데 프로그램이 종료되면 프로세스 역시 삭제됨
사용자가 시스템에 로그인을 하면 약 100여개의 프로세스가 동시에 실행되는데, 프로세스가 이용할 수 있는 CPU는 하나이므로 여러 프로세스를 동시에 이용할 수 는 없다.
> 따라서 커널은 동시에 실행되는 프로세스 간 CPU를 이용할 수 있는 시간을 분배하여 각 프로세스에 PID(Process Id)를 통해 관리하게 됨
- 메모리 관리
: 프로그램이 실행될 때 메모리에는 프로그램뿐만 아니라 프로그램이 이용하는 데이터 영역 또한 메모리에 할당됨.
사용자 프로그램의 요구에 따라 메모리 영역을 분배하거나 이용이 끝난 메모리 영역 회수 등을 담당하는 것이 커 널이 수행하는 메모리 관리이다.
! 메모리 관리에서는 가상 메모리 또한 지원함
가상 메모리 : 실제로는 없는 메모리지만 실제로 존재하는것처럼 메모리를 사용할 수 있게 해줌
가상 메모리는 실제 메모리가 아닌 HDD와 같은 보조 기억장치의 일부도 프로세스가 볼 때에는 같은 메모리인 것 처럼 보리게 하기 때문에 실제 내장된 메모리보다 더 큰 용량의 메모리 사용이 가능
스왑(swap) : HDD에 마련된 가상 메모리 영역
스왑 아웃 : 메모리에 있는 프로그램 전체 영역을 보조 기억 장치로 내보내는 것
스왑 인 : 내보냈던 데이터를 메모리에 다시 가져오는 것
- 시스템 콜 제공
: 시스템 콜이란 표준 출력이나 파일을쓰는 write, 읽어들이는 read, 프로세스를 fork하는 기능 등을 가지고 있어서 사용자 프로그램에서 액세스할 수 있도록 도와줍니다.
(리눅스 커널에서는 약 300개의 시스템 콜을 제공하고 있음)
fork : 프로세스를 복제하는 방법
3. Linux 커널 파라미터란 ?
리눅스에서 사용되는 시스템 변수들을 의미.
커널 변수값을 제어하여 시스템을 운영 용도에 맞게 최적화 할 수 있는 설정
'Linux' 카테고리의 다른 글
[Linux] 방화벽 (firewalld) 해제, selinux 비활성화 (0) | 2024.01.24 |
---|---|
[Linux+DB] 리눅스 sql Backspace (0) | 2024.01.19 |
[Linux] 리눅스 옵션이란? (1) | 2024.01.10 |
[Linux] IP 고정하기 (0) | 2024.01.05 |
[리눅스] root계정으로 전환하기 hostname변경 명령어 (0) | 2024.01.04 |