시냅스

파일 시스템 인터페이스, File-System Interface 본문

운영체제

파일 시스템 인터페이스, File-System Interface

ted k 2022. 6. 16. 20:27

파일 시스템 인터페이스, File-System Interface

  • 파일 시스템은 정보를 저장한 실제적인 파일의 집합체와 시스템 내의 모든 파일에 관한 정보를 제공하는 디렉터리 구조로 구성된다.
  • storage에 logical하게 data를 쓴 것!

파일 연산

  • 파일을 정의하기 위해 OS는 아래의 시스템 콜을 제공한다.
  • 아래는 파일 조작을 위한 최소 연산이다.
    • 파일 생성 : 공간 확보 -> 디렉터리에 포함
    • 파일 열기 : open() 사용 -> fd...
    • 파일 쓰기 : 쓰기가 일어날 위치를 가리키는 쓰기 포인터를 유지해야 한다, 쓰기가 일어날 때마다 갱신된다.
    • 파일 읽기 : 순차적 읽기를 위한 읽기 포인터 유지 및 갱신, 프로세스는 하나의 현재 파일 위치 포인터(ftell)을 가진다.
    • 파일 위치 재설정 : fseek (파일 포인터 위치 조정)
    • 파일 삭제 : 하드링크를 사용해 삭제한다. (unlink)
    • 파일 절단 : 파일 내용은 지우고, 속성은 유지

 

접근 방법, Access Methods

  • 순차 접근, Sequential Access
    • 카세트테이프처럼 재생하는 방식
    • 옛날 방식이다.

 

  • 직접 접근 Direct Acccess 
    • 직접 접근을 위해 파일은 고정 길이의 논리 레코드의 집합으로 정의
    • 임의의 파일 블록에 임의적 접근

 

디렉터리 구조, Directory Structure

  • 디렉터리는 파일 이름을 상응하는 파일 제어 블록으로 바꾸어 주는 심볼 테이블

 

1단계 디렉터리

  • 모든 파일이 하나의 디렉토리에 있음
  • 모든 파일은 유일한 이름을 가진다.

 

2단계 디렉터리

  • user만 따로 둔 1단계 디렉터리...
  • UFD : 사용자 개인 파일 디렉토리
  • MFD : 사용자 이름과 계정번호로 색인되어 있는 디렉토리

 

트리 구조 디렉터리

  • 디렉터리 내부에 다시 디렉터리를 갖는 방식

 

비순환 그래프 디렉터리

  • 현재 우리가 사용하는 디렉터리와 비슷하나, 순환할 수 없다.

 

일반 그래프 디렉터리

  • 현재 우리가 일반적으로 사용하는 디렉터리 구조
  • a라는 파일을 어디에서도 참조하지 않지만, 순환으로 인해 참조 계수가 0이 아니어 삭제되지 않을 수 있다.
    • 만약 참조 계수가 0이면 링킹되지 않았다는 뜻으로 삭제될 수 있다.
  • 이를 위해 가비지 수집(garbage-collection)이 필요하다.
  • 가비지 컬렉션은 전체 파일 시스템을 검색하고 접근 가능한 모든 것을 표시한다. 그 후 두 번째 탐색에서 표시되지 않은 것들을 수집하여 사용 가능한 공간 리스트에 추가한다.
Comments