panda.jpg 


안녕하세요 판다 이우영입니다.


오늘부터는 무엇을 해볼까 고민하다  proc 파일시스템을 알아 보기로 했습니다.


그럼 일단 알아 보겠습니다.


1. PROC 파일 시스템?



한글로 피알오씨 파일 시스템 이라고 부르더군요.


회사에 처음 왔을때 proc 파일 시스템을 아냐고 물어봤을때 응? 피알오씨? 뭐지? ㄷㄷㄷ


회사 첫날부터 맨붕을 만들었던 놈입니다.

(전 프록 파일시스템이라고 불렀는데요 ㅎㅎ 알고 나니 허탈..)


proc 파일시스템은 커널의 시스템 정보를 담고 있는파일 시스템입니다.

(프로세스의 정보, 드라이버, bus, 등 많은 정보를 보관하고 있는 곳입니다.)


보통 /proc 에 생성됩니다.

(다른곳에 있는건 본적도 없지만요  ㅎㅎ)


01.PNG


위에 보시면 숫자로 이루어진 폴더들이 있습니다. 이것은 프로세스 번호 입니다.


그리고 그 프로세스의 정보를 담고 있죠


이렇게 시스템의 정보들을 가지고 있기 때문에 여기를 살펴보는것으로 간단하게 커널의 상태를 확인할 수 있습니다.


이 proc 파일 시스템은 디바이스 드라이버에서 생생 해줄 수 있습니다.


그럼 알아 볼까요?


2. 사용되는 함수




proc 파일은 디바이스 드라이버에서 만들어 줄 수 있습니다.


proc 파일도 일반적인 파일의 특징을 갖기 때문에 open, close, fopen, fclose 함수를 통해 열고 닫을 수 있습니다.


다만 파일을 새로 만들 수 없고, 써 넣은 데이터는 보존되지 않습니다.


proc 파일로 부터 읽는 데이터는 디바이스 드라이버에서 만들어준 내용 입니다.


데이터를 쓰면 이 데이터는 디바이스 드라이버에게 전달 됩니다.


잘 이해가 안되신다구요? 천천히 알아보다보면 감이 오실껍니다. 포기하지 마세요!!


그럼 먼저 커널에서 proc 파일 시스템을 위해 만들어 둔 구조체와 함수를 보겠습니다.


struct proc_dir_entry   - proc 디렉토리를 표현하기 위한 변수 구조체

proc_mkdir                   - 디렉토리 생성 함수

create_proc_entry        - 파일 생성 함수

remove_proc_entry      - 디렉토리나 파일 제거 함수


위의 4가지가 기본입니다.


proc 파일을 위한 구조체가 있고 이를 통해  디렉토리, 파일의 생성 및 제거가 가능 합니다.


자세한건 다음시간에 알아 보겠습니다.


그럼 오늘도 여기까지~


다음 시간에 만나요~