파일 시스템 5

PintOS Project 4 - File Systems (2) Extensible Files(91일차 TIL)

간만에 잘 쉬다 왔다! 가서 텅 비우고 왔으니 다시 꽉꽉 채워보자! 0. 과제 관련 개념 정리 저번 글에서 첫번째 과제를 다 구현한 것처럼 적어놨지만, 사실은 반쪽만 구현해놓은 상태이다. 저번 과제에서는 기존에 연속 할당으로 디스크에 저장하는 방식을, FAT 테이블을 구현하고 디스크 내 클러스터 위치를 테이블에 저장하는 방식으로 변경하는 작업(Indexed Files)을 수행했다. 과제에서는 이어서 File growth를 구현하라고 했다. 이는 무엇인가? 확장 가능한 파일을 구현해라. 기본 파일 시스템에서, 파일 크기는 파일이 생성될 때 정해진다. 하지만 대부분 현대 파일 시스템에서는 파일은 처음에 사이즈 0으로 생성되고 매 시간 write가 완료될 때마다 크기가 확장된다. 우리의 파일 시스템은 반드시 ..

PintOS Project 4 - File Systems (1) Indexed and Extensible Files(정글사관학교 88일차 TIL)

Gitbook 정리는 요기! Indexed and Extensible Files 기본 파일 시스템은 파일을 단일한 범위(연속 할당한다는 의미인듯)로 파일을 할당하는데, 이는 외부 단편화에 취약하다. 즉, 이는 n개의 블록이 가용 상태임에도 n개 블록을 점유해야 하는 파일 woony.notion.site 0. 과제 개요 이번 과제에서는 FAT 파일 시스템을 구현하는 것이 목표이다. Gitbook 설명을 보면 현재 파일 시스템 구조는 연속 할당 방식이라는 것을 알 수 있다. 이전 글에서도 설명했듯, 연속 할당 방식은 하나의 파일이 디스크 상에 연속적으로 저장되는 방식을 뜻하며 이는 외부 단편화에 취약한 구조이다. 이를 FAT file system으로 변환하면, FAT에 파일 위치 정보를 저장하고 이를 메모리..

운영체제 - File system (3) File system implementation 2 (정글사관학교 87일차 TIL)

Page Cache and Buffer Cache page cache VM의 페이징 시스템에서 사용하는 페이지 프레임을 캐싱 관점에서 설명하는 용어 memory-mapped I/O를 쓰는 경우 file I/O에서도 page cache 사용! Memory-mapped I/O File 일부를 vm에 매핑 매핑시킨 영역에 대한 메모리 접근 연산은 파일 입출력을 수행하게 한다. Buffer cache 파일 시스템 통한 I/O 연산은 메모리 특정 영역인 buffer cache 사용 파일 사용의 locality 활용 한번 읽어온 블록에 대한 후속 요청시 버퍼 캐시에서 즉시 전달 모든 프로세스가 공용으로 사용하는 캐시! Replacement algorithm 필요(LRU, LFU 사용 가능 → 모든 정보를 운영체제에..

운영체제 - File system (2) File system implementation (정글사관학교 86일차 TIL)

File system Implementation 1 파일 접근 방법(Access Method) 파일 접근 방법은 시스템이 제공하는 파일 정보의 접근 방식을 뜻한다. 디스크가 파일에 접근하는 방식은 순차접근과 직접 접근 두 가지 방식이 있다. 1) 순차 접근(sequential access): 카세트 테이프를 사용하는 것처럼 접근하는 방식이다. a-b-c 순으로 정보가 저장되어 있다고 하면, a, c만 접근하고 싶다고 해도 c에 접근하기 위해서는 반드시 b를 거쳐가야 한다. 2) 직접 접근(direct access, random access): LP 레코드판과 같이 해당 위치에 다이렉트로 이동해 접근하는 방식을 뜻한다. 임의로 접근한다기보다 어디에 있든 해당 위치로 바로 접근하는 방식을 뜻한다. 예컨대 1..

운영체제 - File system (1) File system (정글사관학교 85일차 TIL)

오늘은 file system 이론 공부를 진행했다. 공부자료는 반효경 교수님의 운영체제(갓효경..) https://woony.notion.site/File-system-9cb913a86d3a435fa92b8b9fe24fa687 File system File and File system woony.notion.site File system File이란? 파일은 하드디스크에 저장하는 정보의 단위(A named collection of related information)이다. 메모리가 주소를 통해 접근하는 장치라면 파일은 이름을 통해 접근하는 정보 단위로, 관련 정보를 파일 이름을 가지고서 저장한다. 파일은 일반적으로 비휘발성 보조 기억 장치에 저장한다. 리눅스의 경우, 파일이라는 형태를 단순히 데이터 저장..