ABOUT ME

네트워크 개발자

Today
Yesterday
Total
  • [Chapter-9] file system
    개발공부/OS 2024. 8. 24. 19:11

    -이대 반효경 교수님 강의 기반으로 작성되었습니다-

     

    File and file system

    • 파일 : 논리적인 저장 단위
    • 파일 시스템 : 운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법
    • 파티션 : 연속된 저장 공간을 나누어 사용할수 있도록 정의한 규약

    Access Methods

    • 순차접근 : 파일의 정보가 레코드 숱서대로 처리
    • 직접 접근 : 파일의 레코드를 임의의 순서로 접근 가능
    • index 접근 : index를 먼저 찾고 대응되는 포인터를 얻는다.

    Directory

    • 제공하는 기능들
      • 파일 찾기
      • 파일 생성
      • 파일 삭제 
      • 디렉터리 나열
      • rename
      • 파일 시스템 순회 ==> find로 찾을때 트리 아래 도 찾는기능
    • dir 구성
      • 1단계 디렉터리 : 모든 파일들이 디렉터리 밑에 (별로다)
      • 2단계 디렉터리 : 사용자 별로 별도의 디렉터리
      • 트리 구조 디렉터리 : 흔히 사용하는거, 절대 경로/ 상대 경로를 가진다.
        파일이면 0 디렉터리면 1로 구분


        여기서 부터 심볼릭 링크 등을 사용해서 dir 구조를 만듬
      • 비순환 그래프 디렉터리 : 디렉터리들이 서브 디렉터리들과 파일을 공유(트리와 유사)


      • 일반 그래프 디렉터리 : 비순환 그래프 dir + 순환을 허용 but 무한 루프 가능

     

     

    Allocation of File Data in Disk

    • Contiguous allocation
      • 파일을 디스크에 연속되게 저장
      • 시작부분 위치 + 파일의 길이에 대한 정보
      • 외부 단편화(빈 공간), 유연성 부족...
    • Linked Allocation
      • 빈 위치면 자유롭게 할당 
      • linked list 저장 방식이랑 비슷함
      • random access 불가능, 포인터 공간때문에 효율성 저하
      • 포인터 유실시 데이터 유실 ==> FAT 파일시스템(포인터 별도 위치 보관) 으로 해결
    • Indexed Allocation
      • 한블록 하나의 파일에 대한 데이터의 index 모두 저장
      • 외부 단편화 발생 x, random access 가능
    • ++Journaling File system
      • 데이터 무결성을 보장하기 위해 로그에 기록 ==> 실제 디스크에 반영
      •  

    '개발공부 > OS' 카테고리의 다른 글

    [Chapter-8] Virtual Memory  (0) 2024.08.24
    [Chapter-7] Memory Management  (0) 2024.08.10
    [Chapter-6] Deadlock  (0) 2024.08.10
    [Chapter-5] Process Synchronization  (0) 2024.08.04
    [Chapter-4] cpu 스케줄링  (1) 2024.07.21
Designed by Tistory.