Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

CIDY

[Linux] proc 파일시스템 본문

Hack/Linux

[Linux] proc 파일시스템

CIDY 2023. 5. 20. 18:27

리눅스는 모든 것을 파일로 관리한다. proc파일 시스템은 운영체제의 각종 정보를 커널 모드가 아닌 유저 모드에서 쉽게 접근할 수 있도록 해준다. (proc은 process를 의미한다.)

 

이 파일 시스템은 시스템이 부팅될 때 커널이 메모리상에 만들어 둔 가상 파일시스템으로, 디스크에는 존재하지 않는다. 프로세스에 대한 다양한 정보를 제공해준다. (프로세스 정보뿐만 아니라 다른 시스템 정보들까지 광범위하게 제공해준다.)

 

다음은 proc디렉토리의 일부 파일에 대한 설명이다.

 

/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

커널의 버전을 알려준다.

 

 

ref.

https://codingcoding.tistory.com/193

http://doc.kldp.org/Translations/html/SysAdminGuide-KLDP/x642.html

'Hack > Linux' 카테고리의 다른 글

[Linux] pwnable을 위한 Ubuntu초기 환경 설정  (0) 2023.08.02