리눅스는 기본적으로 커널,쉘,응용프로그램으로 동작됩니다
커널이란 하드웨어와 소프트웨어 사이에서 제어 역활을 해주는것이며 쉘로 부터 데이터를 받아와서 주 기억 장치로 보내는 역활을 하고 있습니다
커널이 주 기억 장치로 보낸 데이터를 프로세스라고 하며 그 프로세스를 cpu는 처리하게 됩니다
또한 커널은 프로세서 및 메모리 파일 시스템 디바이스 네트워크르 관리하며
리눅스 커널의 특징은 Free,가상 메모리 시스템,가상의 파일시스템,멀티 쓰레드등을 지원합니다
커널은 이벤트 중심 프로그램으로써, 응용 프로그램으로부터의 시스템 콜 요청이나 하드웨어의 인터럽트 요청을 처리한다.
아래는 커널의 설정파일 내용이다. kernel /boot... 부분이 부팅에 사용되는 부분이다.
위 사진과 같이 proc 디렉토리에 version 파일을 보면 커널 버전을 확인 할수 있습니다
커널이란?
- 컴퓨터의 가장 기본적인 각 장치들을 관리하고 제어하기 위한 소프트웨어가 커널이다. 컴퓨터가 부팅되면서 GRUB 과 같은 부트로더에 의해서 메모리로 로딩되어 컴퓨터가 꺼질 때까지 항상 메모리에 상주해서 컴퓨터의 각 장치들을 관리하고 제어하는 역할과 사용자들과 의사소통을 지속적으로 하게 된다.
- 운영체제의 핵심을 이루는 부분으로 CPU, 메모리 그리고 기타 디바이스 등의 시스템 리소스를 관리하고, 사용자 프로그램이 이를 사용할 수 있도록 해줍니다.
크게 다섯가지로 나뉘며 다음과 같은 기능을 제공하는 역활을 합니다.
- 태스크 관리자 : CPU라는 물리적 자원을 태스크라는 추상적인 자원으로써 제공.
- 메모리 관리자 : 메모리를 세그먼트나 페이자라는 개념으로 제공.
- 파일 시스템 : 디스크를 파일이라는 개념으로 제공.
- 네트워크 관리자 : 네트워크 장치를 소켓이라는 개념으로 제공.
- 디바이스 드라이버 관리자 : 각종 장치를 디바이스 드라이버를 통해 일관되게 접근하도록 해줌.
'IT > Linux' 카테고리의 다른 글
[Linux] vi 이동 단축키 (0) | 2021.01.20 |
---|---|
[Linux] vi 에서 문자열 검색 (0) | 2021.01.20 |
[Linux] gcc Include / library 경로 설정 (0) | 2021.01.13 |
[Linux] gcc컴파일 옵션 (0) | 2021.01.12 |
[Linux] 파일속 문자열 찾기 (0) | 2021.01.08 |