티스토리 뷰

목차

    반응형

    리눅스 PROC 1. 파일 시스템 이해하기 (Linux Format)


    리눅스 proc 파일시스템이란?

    proc 파일 시스템은 운영체제의 각종 정보를 커널 모드가 아닌 유저 모드에서 쉽게 접근할 수 있도록 만들어 줌

    - 시스템 정보를 일반 프로그래머가 쉽게 접근할 수 있도록 도와준다.


    리눅스에서는 프로세스 정보뿐 아니라 다른 시스템 정보(Linux Format)들까지 광범위하게 제공

    - 프로세스 상황감시에서부터, CPU사용율, 인터럽트, 네트워크 패킷전송량, 적재된 모듈, IDE-SCSI와 같은 장치정보, CPU정보 등

    - Proc 파일시스템을 제대로 이해할 경우 리눅스 운영체제를 깊이 있게 다룰 수 있다 


    리눅스 proc 파일시스템의 필요성

    일반 파일 시스템을 이용해서 필요한 데이터를 남기는 방법

    - open, read, write 이 3개의 함수만 사용할 줄 안다면, 필요한 모든 데이터를 읽고 쓰기가 가능하다.

    일반 파일 시스템은 상당한 오버헤드 발생

    - 각 파일의 inode와 같은 객체를 관리해야 하고, 

    - 이러한 정보(Linux Format)를 필요할 때마다 운영체제에 요청

    - 모든 것을 운영체제가 관리해주므로 상당한 오버헤드 발생


     proc 파일시스템

    - 리눅스 커널에서 직접 파일시스템을 관리하는 방법을 채택


    1. 파일 시스템 오버헤드를 줄여 준다

    mount 명령으로 proc 파일 시스템이 자동으로 마운트 된 것을 확인할 수 있다.


    mount 명령으로 proc 마운트 확인[Linux 프로그래밍 기초] mount 명령으로 proc 마운트 확인


    운영체제가 부팅 시 자동으로 생성되는 파일시스템이다.

    어떤 장치에도 마운트 되어 있지 않다

    - 커널 메모리상에 가상파일 시스템 (Linux Format)

    - 메모리에서 동작하고 커널이 직접 관리하므로 속도가 빠르다


    2. 물리적인 파일시스템 장치가 필요 없다

    리눅스 proc은 커널 메모리에서 유지하는 파일 시스템이다.

    별도의 장치(하드디스크 등) 필요로 하지 않는다.

    임베디드시스템을 설계할 때 중요한 요소가 된다.


    3. 최적화된 파일 작업 수행한다

    일반적인 파일 시스템 계층은 프로그래머를 위해서 POSIX 형식의 인터페이스를 제공

    - open, read, write, close

    - POSIX (Portable Operating System Interface for Computer Environment)

       - 라이브러리, 시스템 호출 등에 대한 표준 사양

       - 이식성을 가진 인터페이스


    리눅스 PROC 1. 파일 시스템 이해하기 (Linux Format)[Linux 프로그래밍 기초]


    최적화된 인터페이스 사용

    - 일반 파일 시스템은 대용량의 데이터를 다루는 데 유용한 반면 데이터양이 적은 분야는 비효율적이다

    - proc 파일시스템은 데이터(Linux Format)의 양이 적으며, 사용하는 정보가 대부분 정해져 있으므로 일반 파일시스템은 부적절


    리눅스 proc 파일시스템의 사용


    1. 커널 모듈 프로그래밍

    - 커널 모듈과 같이 커널과 밀접하게 관계있는 프로그램에서 유용

    - 주로 장치를 올리기 위한 용도로 사용되는데, 커널 레벨에서 작동하다 보니 모듈의 작동상황이나 성능 등을 알아오기가 그리 쉽지 않다

    - proc를 사용하여 간단하게 해결할 수 있다. (Linux Format 응용)


    2. 임베디드 프로그래밍

    - 파일 시스템을 구동하지 못하는 임베디드 시스템은 proc를 이용해서 관리자 환경이라든지 데이터 입출력 환경을 구축할 수 있다.



    리눅스 PROC 1. 파일 시스템 이해하기 (Linux Format)

    반응형