ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파일과 파일 시스템
    Computer Engineering/운영체제 2022. 11. 15. 13:49

    파일 시스템

    • 파일 관리자를 두어 저장장치의 관리를 맡기는 시스템
    • 파일관리자로부터 접근 권한을 얻어야 파일 접근 가능
    • 파일 테이블 사용

     

    파일 시스템의 기능

     

    블록

    • 저장장치에서 사용하는 가장 작은 단위,  한 블록에 주소 하나 할당

    파일 테이블과 블록

     

     

    파일 분류

    • 실행 파일 : 운영체제가 메모리로 올려 CPU를 사용하여 작업을 하는 파일
    • 데이터 파일 : 실행 파일이 작업하는데 필요한 데이터를 모아놓은 파일

    파일 분류와 파일 확장자
    확장자와 맞는 응용 프로그램 : 연결 프로그램

     

     

     

     

    파일 속성

     

    • 파일 이름
    • 파일 종류
    • 파일 크기
    • 파일 접근 시간
    • 파일의 위치
    • 파일의 접근 권한
    • 파일의 소유자

     

     

     

     

     

     

     

     

     

     

    파일 헤더와 고유 헤더

    • 파일 헤더 : 파일 테이블 관리 / 파일의 이름, 종류, 크기, 시간, 접근 권한 등 정보를 보유
    • 고유 헤더 : 응용프로그램이 필요로 하는 정보 ex) 파일의 버전 번호, 크기, 특수 정보 등

    파일 헤더와 고유 헤더

     

    파일 구조

    순차 파일 구조

    • 파일 내용이 하나의 긴 줄로 늘어선 형태
    • 장점
      • 앞부터 순서대로 채워나가기에 낭비되는 부분이 없음
      • 구조가 단순하여 다른 저장장치에도 적용 가능
      • 구조가 단순하여 빠르게 처리됨
    • 단점
      • 새로운 데이터를 삽입하거나 삭제할 때 시간이 오래 걸림
      • 데이터 검색에 적당하지 않음

    순차파일 구조

     

    인덱스 파일 구조

    • 순차파일 구조 + 인덱스 테이블
    • 인덱스 구조로 인해 순차 접근과 직접 접근이 가능
    • 현대의 파일 시스템에 적용되고 있는 구조로,
      파일을 저장할 때는 순차파일 구조 / 파일에 접글할 때는 인덱스 테이블을 보고 원하는 파일에 접근

    인덱스 파일 구조

     

    직접 파일 구조

    • 저장하려는 데이터의 값을 정의하여 물리적 주소로 바로 변환하려는 파일 구조
    • 특정 함수를 이용하여 직접 접근이 가능한 파일구조
    • 특정함수 = 해시 함수 hash function

     

     

     

    디렉터리

    • 관련 있는 파일을 하나로 모아 놓은 곳
    • 하나의 디렉터리 안에 여러 개의 파일과 자식 디렉터리가 존재
    • 디렉터리도 파일이며, 일반 파일에는 데이터 / 디렉터리에는 파일 정보 데이터가 담김

    디렉터리의 개념 / 디렉터리 파일 구조

     

    디렉터리 계층 구조

    • 디렉터리는 여러 층으로 구성할 수 있음
    • 루트 디렉터리 : 최상위에 있는 디렉터리
    • 경로 : 파일이 전체 디렉터리 중 어디에 있는지를 나타내는 정보

    디렉터리의 계층구조와 경로

    • 절대 경로 : 루트 디렉터리를 기준으로 파일의 위치를 나타내는 방식
    • 상대 경로 : 현재 있는 위치를 기준으로 파일의 위치를 표시하는 방식

     

    디렉터리 구조

    1단계 디렉터리 구조

    • 루트 디렉터리 안에 새로운 디렉터리를 만들 수 있지만, 디렉터리 안에 새로운 자식 디렉터리를 만들 수는 없음

    다단계 디렉터리 구조

    • 단계 확장에 제약이 없고, 디렉터리에 파일과 디렉터리 둘 다 저장 가능

     

     

    마운트

    • 여러 개의 파티션을 통합하는 명령어

    C / D / E 로 파티션 된 파일
    파일 C, D, E를 한 파일로 마운트
    2개의 파티션을 하나의 파일 시스템으로 만든 예

     

     

    디스크 파일 할당

    파일 내 블록을 연결하는 방식

    • 연속 할당 방식
      • 파일을 구성하는 데이터를 연속적으로 배열하는 간단한 방식
      • 빈 공간에 파일의 크기가 맞지 않을 경우 연속할당이 불가능하기 때문에 실제 사용 X

     

    • 불연속 할당 방식
      • 비어 있는 블록에 데이터를 분산하여 저장하는 방식
      • 연결 할당과 인덱스 할당이 대표적인 방식

     

     

     

     

    연결 할당 / 체인 할당 Chained allocation

    • 파일에 속한 데이터를 연결 리스트로 관리하는 방식
    • 파일 테이블에는 시작 블록에 대한 정보만 저장, 나머지 데이터는 시작 블록부터 연결하여 저장
    • 윈도우FAT ( File Allocation Table )이 연결 할당 / 체인 할당 방식 사용

    연결 할당 방식

     

     

    인덱스 할당 ( 유닉스 : I - node )

    • 데이터의 인덱스를 담고 있는 인덱스 블록을 연결
    • 인덱스 블록 : 실제 데이터의 위치에 관한 정보를 순서대로 보관
    • 유닉스의 I-node 방식

    인덱스 블록을 이용한 불연속 할당
    I-node 인덱스 할당 방식의 예시

     

     

    디스크의 빈 공간 관리

    • 빈 공간 리스트 : 빈 공간의 효율적 관리를 위해 빈 블록의 정보만 모아 놓은 리스트
    • 데이터를 지우고 새로운 데이터를 입력할 때 리스트에 있던 블록 중 맨 앞에 있는 블록에 할당

    빈 공간 리스트의 변화

     

     

     

     

     

    더보기

    참고문헌

     

    조성호 저, 「쉽게 배우는 운영체제」, 한빛아카데미, 2018, 616p


    ⊙ 이 글은 개인 공부를 목적으로 작성된 글입니다.

    ⊙ 내용에 대한 오류나 피드백 감사히 받고 있습니다 !

    반응형
Designed by Tistory.