운영체제_파일 관리_UNIX의 파일 관리

미뇽·2024년 6월 8일
0

운영체제(강의)

목록 보기
41/43
post-thumbnail

UNIX의 파일 관리

6가지의 파일 타입

  • 일반파일
    - 사용자, 응용 프로그램, 시스템 유틸리티 프로그램이 만들어 입력한 정보 등이 들어있음
    - 파일 시스템은 바이트 스트림으로 취급
  • 디렉토리
    - 파일명과 inode(index node) 번호들의 리스트
  • 특수파일
    - 데이터는 없지만 물리적 장치들을 파일명에 사상시키는 기법 제공
    - 단말기나 프린터와 같은 주변장치 등
  • 명명파이프
    - 프로세스 간 통신장치
  • 링크
    - 본질상 존재하는 파일을 공유한 또 다른 파일명
  • 심볼릭 링크
    - 자신과 연결된 파일명을 저장하고 있는 데이터 파일

Inode

각각의 파일에 대한 주요 정보가 저장된 제어 구조로, 모든 유형의 UNIX 파일은 inode를 통해 운영체제가 관리
각 파일 당 단 하나의 inode, 파일 속성들은 모두 inode에 저장

FreeBSD inode 구조(최소크기 4KB, 디폴트 16KB)

  • 파일의 유형 및 접근 모드
  • 파일의 소유주 및 그룹 접근 식별자
  • 파일 생성시간
  • 파일 크기
  • 블록 포인터의 나열
  • 물리 블록의 개수
  • 파일을 가르키는 디렉토리 항목의 개수 등

파일 할당

블록 단위 파일할당 + 동적할당
인덱스 중 일부가 해당 파일의 inode에 저장됨
모든 UNIX 구현에서 inode는 몇개의 직접 포인터와 3개의 간접지정 포인터 포함(단일,이중,삼중)

UNIX 파일의 용량

레벨블록 수바이트 수
직접지정(direct)12(처음 12개의 파일 데이터 블록)48K
단일 간접지정5122M
이중 간접지정512 * 512 = 256K1G
삼중 간접지정512 * 256K = 128M512G

해당 inode 파일 구조의 장점
1. inode는 작은 고정크기라 장시간동안 주기억장치에 있어도 됨
2. 작은 파일들은 간접 접근이 거의 없어서 처리 시간과 디스크 접근 시간을 줄여줌
3. 파일의 이론적 최대 크기는 실제로 모든 응용프로그램을 충족시킬만큼 큼

디렉토리와 볼륨구조

디렉토리

계층적인 트리 형태로 구조화
각 디렉토리(dentry)는 파일이나 다른 디렉토리 포함 가능(서브디렉토리)
디렉토리 = 파일명 + inode 번호(i-number)의 리스트
파일이나 디렉토리가 접근되면 그 인덱스 번호가 inode 테이블의 인덱스로 사용되는 방식

볼륨구조

UNIX 파일 시스템은 단일 논리 디스크 혹은 디스크 파티션에 위치하며 다음 요소로 구성

  • 부트블록(Boot block)
    - 운영체제 부팅에 필요한 코드
  • 수퍼블록(Superblock)
    - 파티션 크기, inode 테이블 그기 등 파일시스템에 대한 속성 및 정보
  • inode 테이블(inode table)
    - 파일별 inode들의 집합
  • 데이터 블록(Data blocks)
    - 데이터 파일과 서브디겔토리에 할당 가능한 저장공간
profile
문이과 통합형 인재(人災)

0개의 댓글