DEVELOP

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다.


파일과 파일 시스템

# 파일의 개념

  • 파일 : 정보의 집합체 
  • 보통 보조기억 장치 속에 저장되어 있고, 주로 프로그램 파일 또는 데이터 파일 
  • 하나의 파일은 디스크 내 여러 개의 섹터로 구성 
  • 가상메모리 : 오브젝트 파일을 프로세스와 연관시키기 위한 추상화
  • 장치 파일 : 모든 입축력 장치를 파일이라는 개념으로 일관성 있게 추상화 
  • 추상화 실현을 위해 파일 시스템 존재 

# 파일시스템 

  • 저장장치는 선형적인 주소를 가진 바이트의 블록만을 저장 
  • 파일 시스템은 저장장치와 응용프로그램 간의 자료구조 차이점을 해결 
    - Stream-block Translation : 기억장치의 블록을 음수가 아닌 정수 값을 갖는 연속된 주소를 가진 바이트의 집합으로 변환
    - Record-stream translation : 응용프로세스의 자료구조로 변환 
  • 바이트 스트림 파일 
    - Stram-Block translation에 의해 생성되는 파일 
    - file descriptor : 각 파일에 대한 상세 정보를 저장한 자료구조 

# 파일의 조작 

  1. 파일 생성
  2. 파일 열기
  3. 파일 읽기
  4. 파일 기록
  5. 파일 삭제 

디렉토리

# 디렉토리 시스템

  • 디렉토리 (폴더) : 자신에게 속하는 모든 파일과 부 디렉토리의 목록을 가진 자료구조의 파일
  • 그래프 디렉토리 : 임의 파일이나 디렉토리가 서로 다른 두 개 이상의 디렉토리로 부모로 가질 수 있고 사이클을 형성할 수도 있음 
    - 융통성 좋음 
    - 서로 다른 경로 이름이 같은 파일 가리키는 경우 
    - 복잡 , 고아가 된 포인터 같은 문제 발생 가능 
  • 계층 구조 디렉토리 
    - 하나의 root 디렉토리가 다른 디렉토리나 파일을 포인트 
  • 트리구조 
    - 계층 구조의 가장 간단한 예 
  • 절대경로 : root에서부터 지정된 파일까지의 모든 경로
  • 상대경로 : 현재 디렉토리 기준으로 목적하는 파일까지의 경로 

블록 할당 

# 디스크 공간 할당

  • 디스크 공간의 효율적 관리와 성능이 목적 
  • 디스크 공간할당 이전에 빈 공간 관리 방법 필요 
  • 연속할당 : 임의 한 파일을 위해 디스크 내에 선형적으로 연속된 블록을 할당하는 방법 
  • 불연속할당 : 임의 한 파일을 위해 디스크 내에 산재딘 블록을 연결하여 할당하는 방법 
    - 블록이 디스크 내 어느 곳에 잇어도 엑세스 가능 
    - 연결 할당
    - 색인 할당 
    - 간접 색인 ( 멀티레벨 색인, 혼합색인)

 

 

  • 연속할당 
    - 장점 : 빠른 엑세스 가능 , 디렉토리 구현의 단순화 가능
    - 단점 : 단편화 발생 
  • 연결할당 
    - 파일에 속해 있는 여러 섹터들이 서로 연결된 리스트로 되어 있고 각 섹터 간에는 연결을 위한 포인터를 갖고 있는 형태 
    - 장점 : 압축 불필요 
    - 단점 : 검색에 긴 시간, 구조 유지에 추가적 시간 필요, 신뢰성 문제 
    - FAT (File Access Table) 사용 
  • 색인할당
    - 색인 블록이라는 곳에 포인터를 모아둠으로써 포인터가 산재되어 비효율적인 연결할당의단점 해결 
    - 장점 : 탐색 빠름 
    - 단점 : 작은 파일에도 하나의 색인 블록 필요 , 큰 파일은 저장 x 
  • 간접색인 
    - 상위 색인파일이 하위 색인파일을 인덱싱 
  • 빈 공간 관리 : 가변 분할 기법에 의한 메모리 할당 방법과 거의 유사 
    - 연결리스트 : 맨 먼저 나오는 빈공간의 포인터 보유, 순차적으로 다음 빈 공간 접근 
    - 그룹핑 
    - 비트맵 (비트벡터) 
    - 계수 
    - 공간맵  - 메타슬랩 생성 
profile

DEVELOP

@JUNGY00N