Unix/Linux 파일 처리

(2023-10-20)

Linux 파일 처리, Unix 파일 처리, Unix/Linux 파일 종류, ELF


1. [Unix/Linux]  파일 처리 방식의 특징UNIX/Linux에서는 거의 모든 것이 파일로 처리됨  :  (유닉스/리눅스 철학의 중심이 파일임)
     - 즉, `디스크 파일, 직렬 포트, 프린터` 등과 `파일`을 사용할 때, 똑같은 방법을 사용 가능
        . 파일,디텍토리,디바이스(디스크,터미널,사운드카드,...) 등을 파일로 취급할 수 있으므로,
        . 이들을, 파일 처리 시스템호출을 이용하여, 동일 형태로 조작 가능 함

  ㅇ 리눅스는, 가상 파일시스템 (VFS, Virtual File System) 구조를 사용
     - 여러 다양한 파일 구현 상세를, 하나의 VFS 계층 밑에 숨김으로써,
        . 사용자에게 간단한 파일 모델 만을 사용할 수 있게 함
     - 즉, 다양한 파일시스템들을,
        . 마치 하나의 파일시스템 처럼 사용 가능

  ㅇ 공통적인 파일 처리 방식을 사용                                       ☞ 파일 입출력 참조
     - 모든 것에 대해, 열려있는 파일을 통해, 유사한 형태의 입출력이 이루어짐
        . 즉, `디스크,직렬 포트,프린터 등`과 `파일`을 사용할 때 똑같은 방법을 사용
     - 파일 I/O를 위한 버퍼 캐시
        . 상이한 속도를 갖는 장치의 읽기쓰기를 즉시 해당 장치에서 수행않고, 반드시 버퍼를 통함

  ㅇ 또한, 유닉스/리눅스는, 
     - 시스템 정보, 장치 정보 등도 모두 파일로써 관리 함

  ㅇ 파일 처리 수준에 따른 구분
     - 저 수준 파일처리 (Low Level File Handling)  : 파일 기술자 (File Descriptor)
     - 고 수준 파일처리 (High Level File Handling) : 파일 포인터 (File Pointer)

  ㅇ 파일 끝(EOF) 도달여부의 확인
     - 프로그램파일 끝 도달 여부를 결정하도록, 파일 크기 카운터를 유지관리


2. [Unix/Linux]  파일 구분 (파일 타입)

  ㅇ 일반 파일 (regular file, normal file)  :  어떤 형태로든 자료를 담고있는 일반적인 파일
     - `데이터 파일`, `이미지 파일` 뿐만 아니라, `실행 파일`도 이에 포함됨

     * 실행 파일 
        . 파일 형식 : ELF (Executable and Linkable Format) 라는 바이너리 파일 형식을 갖음
           .. ELF : UNIX/Linux에서, 실행 파일,목적 파일,공유 라이브러리 등을 위한 표준 파일 형식
           .. 실행 파일,재배치 가능 파일 등 각각 별도의 ELF 형식이 사용됨
           .. 과거에는, a.out,COFF 라는 파일 형식 사용
        . 포멧 구성 : 1개 헤더와 여러 섹션으로 구성
        . 내용 구성 : 메타데이터,코드,데이터 등
        . 한편, 동적 재배치되는 (shared object) 등도 실행 파일로 간주됨

  ㅇ 디렉토리 파일 (directory file)  :  파일을 가리키는 포인터 및 파일 관련 정보를 갖는 파일
     - UNIX 운영체제 커널 만이 디렉토리 파일에 쓸 수 있는 권한 있음

  ㅇ 파일 링크 (file link)
     - 심볼릭 링크 (symbolic link)  :  다른 파일을 가리키는 파일
     - 하드 링크

  ㅇ 특수 파일      
     - 장치 파일 
        . 블록 특수 파일 (block device file)
        . 문자 특수 파일 (character device file)
     - 파이프
     - 소켓3. [Unix/Linux]  파일 구분의 확인ls 명령어로 볼 때, 다음과 같이 파일 구분 가능
     -  - : 일반 파일
     -  b : 블록 디바이스 파일
     -  c : 문자 디바이스 파일
     -  d : 디렉토리
     -  l : 심볼릭 링크
     -  p : FIFO (Named Pipe, 네임드 파이프)
     -  s : 소켓 통신 파일
     -  ? : 기타 파일 타입

Unix/Linux 파일시스템
1. UNIX 파일시스템 (UFS)   2. 슈퍼 블록   3. Inode   4. 디렉토리   5. 파일 처리 방식   6. 파일 링크   7.
파일
  8.
접근권한
 

용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]          편집 이력          소액 후원