/proc
리눅스 시스템에 부팅될 때 커널에 의해서 생성되는 가상 파일시스템. 각종 시스템과 네트워크에 관련된 정보를 포함하고 있다.(정보확인은 vi 나 cat 명령어로 가능)
/proc은 시스템의 갖가지 정보를 제공해 주는데, 원래는 주로 프로세스에 대한 정보를 제공했기 때문에 proc(process)이란 이름을 갖게 되었다.
커널 설명
커널: 컴퓨터의 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든 것을 완전히 통제
커널 기능
- 메모리 관리: 메모리가 어디에서 무엇을 저장하는 데 얼마나 사용되는지를 추적합니다.
- 프로세스 관리: 어느 프로세스가 중앙 처리 장치(CPU)를 언제 얼마나 오랫동안 사용할지를 결정합니다.
- 장치 드라이버: 하드웨어와 프로세스 사이에서 중재자/인터프리터의 역할을 수행합니다.
- 시스템 호출 및 보안: 프로세스의 서비스 요청을 수신합니다.
/proc/1
프로세스 번호 1번에 대한 정보가 있는 디렉토리이다. 각 프로세스는 자신만의 디렉토리를 /proc 아래에 갖고 있게 되는데, 자신의 프로세스 식별 번호(process identification number)가 그 디렉토리의 이름이 된다.
/proc/cpuinfo
프로세서의 정보가 들어있다. cpu의 타입, 모델, 제조회사, 성능 등에 관한 정보를 알려준다.
/proc/devices
현재 커널에 설정되어 있는 장치의 목록을 볼 수 있다.
/proc/dma
현재 어느 DMA 채널이 사용 중인지를 알려준다.
/proc/filesystems
어떤 파일시스템이 커널에 설정되어 있는지를 알 수 있다.
/proc/interrupts
현재 어느 인터럽트가 사용 중인지, 그리고 얼마나 많이 사용되었는지를 알 수 있다.
/proc/ioports
현재 어느 I/O 포트가 사용 중인지를 알려준다.
/proc/kcore
이것은 시스템에 장착된 실제 메모리의 이미지이다(즉, 실제 메모리의 내용을 그대로 본뜬 것이다). 따라서 이 파일의 크기는 실제 메모리의 크기와 정확히 일치하는 것처럼 보인다. 그러나 이 파일은 프로그램이 필요로 하는 부분의 이미지만 그때 그때 만들어 내도록 되어 있어서, 실제로 메모리를 그만큼 차지하고 있는 것은 아니다. (/proc 파일시스템의 내용을 다른 곳에 복사하지만 않는다면, /proc 안의 내용은 아무런 디스크 공간을 차지하지 않는다는 점을 알아두자.)
/proc/kmsg
커널이 출력하는 메시지들이다. 이것은 syslog 파일에도 기록된다.
/proc/ksyms
커널이 사용하는 심볼들의 표를 보여준다.
/proc/loadavg
시스템의 평균부하량(load average)을 보여준다. 지금 시스템이 해야하는 일들이 얼마나 많은지 알려주는 세가지 지표를 볼 수 있을 것이다.
/proc/meminfo
메모리 사용량에 관한 정보를 보여준다. 실제 메모리와 가상 메모리를 모두 다룬다.
/proc/modules
현재 어떤 커널 모듈이 사용되고 있는지를 알려준다.
/proc/net
네트워크 프로토콜들의 상태에 대한 정보가 들어 있다.
/proc/self
이 곳은 이 디렉토리를 들여다보는 프로그램 자신의 프로세스 디렉토리로 링크가 되어 있다. 즉, 서로 다른 두 프로세스가 /proc를 본다면 그들은 서로 다른 링크를 보게 되는 것이다. 이렇게 하면 프로그램들이 자신의 프로세스 디렉토리가 어디인지를 쉽게 알 수가 있게 된다.
/proc/stat
이 곳에는 시스템의 상태에 관한 다양한 정보가 있다. 즉, 부팅된 후 page fault가 몇번 일어났는가 하는 것들을 알아 볼 수가 있다.
/proc/uptime
시스템이 얼마나 오랫동안 살아 있었는지 보여준다.
/proc/version
커널의 버전을 알려준다.
참고: https://www.redhat.com/ko/topics/linux/what-is-the-linux-kernel
'CS' 카테고리의 다른 글
MIME 개념 정리 (0) | 2021.07.28 |
---|---|
패킷, 프레임, 세그먼트의 차이점은? (0) | 2021.07.28 |
NESTAT 명령어 설명(리눅스 기준) (0) | 2021.07.28 |
ARP 스푸핑, 공격 기법, 과정 (0) | 2021.07.27 |
NAT 개념 공부 (0) | 2021.07.27 |