1. Linux kernel
- 리눅스 OS의 메인 컴포넌트이며, 하드웨어와 프로세스 간 Interface로서의 역할을 한다.
- OS 내부에 존재하며 하드웨어의 주요 기능들을 제어함.
2. Linux kernel의 역할
- Memory Management: 메모리가 얼마나 사용되었는지 추적한다.
- Process Management: 어떤 프로세스가 얼마 기간동안 CPU를 사용하는지에 대해 결정
- Device drivers: 하드웨어와 프로세스 간 조정 및 통역을 해줌
- System calls and security: 프로세스로부터 요청을 받아 특정 역할을 수행한다.
3. ps [options] : 현재 실행중인 Process의 목록을 보여준다.
보면, tony의 ps -af는 PPID가 106번째 PID 프로그램으로, bash 임을 알 수 있다. 이 구조를 tree 구조로 확인할 수 있다.
u 태그와 함께 작성하면 Process의 user 관점의 정보들이 등장한다.
각 항목들의 의미는 다음과 같다
- user : 사용자 이름
- PID : 프로세스 ID ( process를 kill 혹은 modify 할 때 사용됨 )
- PPID : 부모 프로세스 ID
- TTY (teletype) : terminal을 구별하는데 사용되는 코드. 모든 프로그램이 tty를 갖고 있지는 않고, console을 가리키고 잇는 text-mode program 들이 이를 가지고 있다.
- CPU : 해당 명령어를 실행할 때 점유한 CPU Time을 의미함
- MEM : 해당 프로그램이 사용하고 있는 메모리를 의미
- VSZ (Virtual memory SiZe) : 가상 메모리 크기. 해당 프로세스가 접근할 수 있는 모든 메모리의 크기.
- RSS (Resident Set Size) : RAM에 해당 프로그램이 얼마나 많은 용량을 차지하고 잇는가.
top - ps를 dynamic 하게 조회하는 명령어
nice - cpu 스케줄링 우선순위(niceness)를 정하는 리눅스 명령어
nice의 기본 값은 부모 프로세스의 것을 따르며, 보통 0이다.
kill - 프로세스를 제거하는 명령어
kill -s signal pid
해당하는 pid의 프로세스에 signal을 전달 후 종료한다.
signal은 kill 할 때 process에 signal을 전달하는데, number 혹은 signal으로 전달한다. kill -l 하면 전달 가능한 signal의 종류를 알 수 있다.
killall - kill의 variant, PID가 아니라 이름으로 제거할 수 있다.
pkill - username, user ID, group ID로 제거할 수 있다.
### Reference
https://www.redhat.com/ko/topics/linux/what-is-the-linux-kernel
'운영체제 > Linux' 카테고리의 다른 글
리눅스 개념 및 명령어 2 - Linux CL tool (0) | 2020.04.17 |
---|---|
리눅스 개념 및 명령어 1 - Linux CL tool (0) | 2020.04.16 |
댓글