File   파일, 화일

(2024-01-13)

파일구조


1. 파일 (File)

  ※ 파일의 개념은, 대단히 일반화된 것임
     - 이에 의해, 정보에 대한 일관된 논리적 관점을 주게 됨 
        . 복잡한 정보 형태를 감싸서, 하나의 단위로 단순화시켜, 이에 이름을 붙인 것

  ㅇ 사실상, 운영체제에 의해, 
     - 정의되고 구현되는, 추상적자료형으로써,
     - 파일 (추상적)과 실제 장치 (물리적)들과 사상되어짐

  ㅇ 사용자가 저장장치를 바라보는 관점에서 볼 때, 파일은,
     - 저장장치물리적 특성을 추상화시킨, 논리적 저장 단위로써,
     - 논리적으로 구분 가능한, 가장 작은 할당 단위가 됨


2. 파일의 유형/종류

  ㅇ 내용에 따른 구분 (파일 유형)
     - 텍스트 파일    : 라인 단위로 조직된 연속된 문자열 파일
     - 소스 파일      : 명령문이 모여진 파일
     - 오브젝트 파일  : 소스 파일을 기계어로 단순히 번역시킨 파일
     - 실행 가능 파일 : 링커로더메모리로 가져와 실행시킬 수 있는, 기계어 파일

  ㅇ 파일 구조에 따른 구분
     - 순차 파일 (sequential file)
        . 파일 내 정보가 순서대로 배열된 파일
        . 통상, 순차 파일의 끝을 가리키는 EOF 정보 유지
        . 例) PC 내 저장되는 대부분의 파일들
     - 색인 파일 / 인덱스된 파일 (indexd file)
        . 구성 : 인덱스인덱스화된 파일 
        . 例) 음악 CD에서 개별 곡 파일들에 대한 인덱스 유지 등
     - 해시 파일 / 직접 파일 (hash file)


3. 파일의 성격을 특징짓는 속성

  ㅇ 파일 이름   : 사람이 읽을 수 있음
  ㅇ 식별자      : 파일시스템 내 파일 식별용으로 사람이 읽을 수 없는 형태
  ㅇ 파일 타입   : 텍스트, 이미지, 실행 파일 등 파일 유형
  ㅇ 위치 포인터 : 파일 스트림으로 접근 가능한 위치 포인터
  ㅇ 접근 모드   : 읽기, 쓰기 등의 구분
  ㅇ 크기        : 파일 크기 (통상, 바이트 수)
  ㅇ 시간        : 생성,변경,접근 시간 등
  ㅇ 보호        : 접근 제어 관련 정보 (읽기,쓰기,실행 가능 등 권한)


4. 파일의 처리(연산)의 종류

  ㅇ 파일 읽기, 파일 쓰기, 파일 생성, 파일 이동, 파일 삭제, 파일 절단 등


5. 파일 처리 상의 특징  :  저수준 파일 처리 (운영체제 관점 : 특히, 유닉스/리눅스)

  ㅇ 거의 모든 것이 파일로 처리됨   ☞ Unix/Linux 파일 처리 참조
     - 파일 타입(종류) : 일반 파일, 디렉토리 파일, 파일 링크, 특수 파일(장치 파일, 소켓 등)
  ㅇ 파일에 대한 연산 전에, 반드시 파일을 열어 두어야 함
     - (파일,장치,소켓 등)에 대해, 파일 열기에 의해, 파일 디스크립터 값이 생성됨
  ㅇ 열린 파일에 대해, 파일 디스크립터 라는, 음이 아닌 정수 값으로 대응시킴
     - (기본) 0 ~ 1,024, (최대) 1,048,576, (파일 열기 오류) 음수 값
     - 단, 0 (stdin), 1 (stdout), 2 (stderr) 는, 표준 파일 디스크립터 라고 해서, 
        . 모든 프로세스가 항상 열어두고 별도 관리
  ㅇ 운영체제는, 프로세스별로 열린 파일 목록을 관리하기 위해, 파일 테이블을 관리 유지함
     - 파일 테이블 내 각 항목들의 내용은, 파일 위치, 접근 모드 등 각종 메타 데이터 형태임 
  ㅇ 파일을 읽고 쓰거나, 파일 크기를 나타낼 때, 바이트 단위로 이루어짐 (바이트 스트림)
  ㅇ 하나의 파일을 여러 프로세스가 동시에 접근이 가능함


5. 파일 처리 상의 특징  :  고수준 파일 처리 (프로그래밍 언어 관점 : 특히, C 언어)

  ㅇ 파일 처리 형태   : 파일 스트림 (특징 : 버퍼링 제공)
  ㅇ 파일 처리 단위   : 크게, 바이트(텍스트) 스트림 및 바이너리(이진) 스트림으로 구분 처리
  ㅇ 파일 관리 식별자 : 파일 포인터
     - 파일 사용 전에, 반드시 파일 열기에 의해, 파일 포인터를 생성하는 과정 있게 됨
  ㅇ 파일 타입(종류)  : 텍스트 파일, 바이너리 파일


6. [참고사항]파일 시스템
     - 파일 사용을 구조화하고, 저장장치 공간의 할당,조정, 데이터 위치 추적 등에 대해,
        . 기능,성능,안정성 등을 고려하여 설계시스템으로, 그 종류가 굉장히 많음

파일시스템
   1. 파일시스템   2. 파일   3. 디렉토리   4. FAT   5. MBR   6. VFAT   7. NTFS   8. CDFS   9. NFS   10. UDF   11. UFS  
파일
   1. 파일   2. 파일 I/O   3. 저수준 파일 I/O   4. 파일 기술자   5. 고수준 파일 I/O (파일 포인터)   6. 파일 끝 (EOF)  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"