본문 바로가기

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

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

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

파일(file)
- A named collection of bytes stroed on disk(ssd)

사용자와 운영체제가 파일을 바라보는 관점의 차이
- 파일은 사용자 입자에서는 byte sequence이지만, 운영체제 입장에서는 block sequence이다.

Naming
- 사용자가 file 접근(addressing)을 위한 text name이다.
- I/O device의 접근도 naming을 통한 file접근으로 이루어진다.

1. 파일 시스템은 /path를 file descriptor로 변경시키는 역할을 수행한다.
(* file descriptor : 파일 내용에 접근하기 위해 필요한 메타 데이터를 저장하는 자료구조)
2. 파일 시스템은 file을 그룹핑(grouping)하는 역할을 수행한다.
- driectory(=folder)개념을 도입하여 /root로 시작하는 tree 구조를 만든다.

<그림 1: file descriptor>

file descriptor(=inode)는 file descriptor(=inode number, 파일이 저장된 위치)를 포함한다.

Directory
- UNIX에서는 file과 directory간 차이가 없다.
- tree 형태로 각 file은 unique한 path를 가질 수 있다.
- <"file name", "file descriptor #"> 정보를 갖는다.

Symbolic link vs. Hard link.

<그림 2: link>

/class/hong/src/hw-p1.c - inode number : 20
/class/park/src/hw-p2.c - inode number : 30
파일이 존재하면 파일 시스템은 위 파일을 <그림 2>와 같은 tree구조로 나타낸다.
이러한 tree구조를 깨는 것이 link이다.
windows의 환경변수 /Path를 설정하는 것과 같이 파일을 실행하기 위해서는 해당 디렉토리에 위치하거나 /Path에 등록되어야 한다. link는 이런 귀찮음을 해결해 준다.

Symbolic link는 /class/hong/src 디렉토리에 <"hw-p2.c", /class/park/src> 라는 정보를 추가한다. 따라서, /class/hong/src 디렉토리에서 hw-p2.c 파일을 실행시킬 수 있다.

Hard link는 /class/hong/src 디렉토리에 <"hw-p2.c", 30> 라는 정보를 추가한다. 따라서, /class/hong/src 디렉토리에서 hw-p2.c 파일을 실행시킬 수 있다.

symbolic link는 hard link에 비해 보다 유연하다는 장점을 갖는다. 왜냐하면, inode number(=file descriptor number)는 컴퓨터 시스템 내에서 unique한 것이 아니라 각 volume(C:, D:, E:)단위로 unique한 단위이다. 따라서, 기존에 존재했던 volume을 마운트(mount)한다면 hard link는 파일의 unique 특성을 보장하지 못 한다.(두 개이상의 file을 가르킬 수 있다.)

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

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