본문 바로가기

운영체제/파일 시스템(File System)

운영체제 - 파일 시스템(2)

운영체제 - 파일 시스템(2)

 

파일 시스템은 /Path를 file descriptor number로 변환한다. 이 inode정보를 main memory에 캐싱(caching)하여 디스크접근 오버헤드를 줄일 수 있다. 그러나 캐싱을 사용하면 data consistency(=redundancy)문제가 발생한다.

 

파일 시스템이 제공하는 주요 기능

1. logical address(=/Path)를 physical address(=file descriptor number)로 변환

2. 사용자 데이터를 저장장치로부터 읽어오거나 저장장치에 기록하는 역할 수행

 

주요 File Access 패턴

1. Sequential Access

- file pointer를 한 칸씩 움직이면서 파일의 내용을 읽는 방법

2. Random Access

- file pointer를 임의로 이동하면서 파일의 내용을 읽는 방법

 

<그림 1: file을 바라보는 관점(view)>

<그림 1>과 같이 파일을 바라보는 관점이 달라진다.

<그림 2: 파일을 바라보는 view가 점차 달라짐>

 

<그림 3: 파일 접근 절차>

 

#Volume(=Logical Drive)

- 단일 file system으로 관리되는 저장장치상의 영역

 

#Buffer cache

- 최근 접근한 file의 data block 내용을 main memory에 저장해두는 공간. 디스크로부터 한번 읽어온 파일 내용에 다시 접근할 때 빠르게 읽어 올 수 있게 함.

 

File의 구조

1. linked file

2. indexed file

 

Linked file

<그림 4: linked file>

<그림 4>는 linked file구조를 나타낸다. Sequential access에서는 성능저하가 발생하지 않지만 Random access시에는 File C의 세 번째 블록을 접근하더라도 File C의 첫 번째 블록부터 순차적으로 접근해야하므로 성능저하가 발생한다.

 

Indexed file

<그림 5: indexed file>

- <그림 5>와 같은 indexed file에서는 random access에서도 성능저하가 발생하지 않지만 file의 최대 크기가 index의 수로 제한되는 단점이 있다.

 

#Bitmap

- 저장장치의 Block의 allocation여부를 bitmap으로 확인하는 방법

 

Bitmap을 사용한 디스크의 free block관리

- 각 bit가 디스크 block이 사용 중인지 아닌 지를 나타내는 array. HW/SW string search 기법을 사용해 연속적인 사용가능한 block을 쉽게 찾을 수 있다.

'운영체제 > 파일 시스템(File System)' 카테고리의 다른 글

운영체제 - 파일 시스템(1)  (0) 2019.04.04