본문 바로가기
Computer Science/Operating System

File System, File

by Gofo 2021. 6. 20.

File System

File system은 file과 directory로 구성된 구조이다.

  • file
    • 사용자 관점에서 저장의 단위
    • 실제 disk에는 block 단위로 저장된다.
    • data file : 숫자, 문자, binary data
    • program : 실행 파일
  • directory structure : 다수의 파일을 효율적으로 관리하도록 도와준다.

 

File System Mount

File system을 사용하기 위해서는 file system을 mount 해야 한다.

File을 사용하기 위해서 file을 open하는 것과 마찬가지이다.

 

운영체제 고유의 file system이 아닌 제 3의 file system을 가져와서 사용해야할 경우가 있다.

이 때 운영체제의 file system tree의 node 아래에 붙여서 사용을 해야 한다.

이를 mounting이라 한다.

 


File

File의 속성

모든 file은 공통적인 속성을 가진다.

  • name
  • identifile
  • type
  • location : 주로 path
  • size
  • protection : 어떤 사용자가 어떤 권한을 가지고 있는가
  • time, data, user identification 등

 

File Control Block

file의 속성은 file control block에 저장된다.

실제 data block들이 어디에 저장되어있는지도 포함한다.

  • file permission
  • file dates(creat, access, write)
  • file owner, group, ACL
  • file size
  • file data block

 

File Type

일반적으로 운영체제에서는 프로그램 외에는 파일의 유형을 구분하지 않는다.

 

파일의 유형을 구분하기 위해서 확장자를 사용한다.

확장자는 운영체제에 정보를 전달하지 않고, 사용자의 편의성을 위해 존재한다.

 

저장의 단위

  • logical record unit
    • 사용자 입장에서 저장의 단위는 file이다.
    • UNIX는 모든 파일을 byte의 stream으로 본다.
  • physical record unit
    • disk 관점에서는 저장의 단위는 block이다.
    • 모든 정보는 block 단위로 관리/저장 된다.

 

File을 보는 다양한 관점

  • user : file name + byte offset
  • kernel : logical block의 집합
  • device driver : physical block의 집합
  • device : drive, cyliner, head, block

 


File Operation

사용자 관점에서 operation은 다음과 같다.

  • open(create), close, read, write
  • copy = create + read + write

 

open system call

disk에 있는 file의 metadata를 memory(open file table)로 옮긴다.

file을 read/write 할 때마다 disk를 찾는 것이 아니라 메모리의 metadata를 이용하기 때문에 상대적으로 성능이 높아진다.

 

해당 file에 대해 독점적으로 open 하기 때문에, 하나의 파일에 대해서 여러 사용자가 동시에 접근할 수 없다.

 

close system call

메모리에 있는 metadata를 제거한다.

 

운영체제는 2 종류의 open file table을 사용한다.

  • per-process open file table
  • system -wide open file table

 

Access Method : Sequential Access

가장 단순하고 많이 사용되는 방법이다.

 

file의 정보는 앞에서부터 순차적으로 접근된다.

read/write를 하면 자동으로 file pointer가 증가한다.

 

random access와 반대되는 방법이다.

 

'Computer Science > Operating System' 카테고리의 다른 글

File System의 구조와 작동원리  (0) 2021.06.21
File System, Directory  (0) 2021.06.21
I/O Register, Device Driver  (0) 2021.06.20
I/O Devices  (0) 2021.06.20
성능에 미치는 요인들  (0) 2021.06.20

댓글