[8]파일 시스템

김두미·2022년 7월 4일
0

OS

목록 보기
8/9
post-thumbnail

1. 파일 그리고 파일 시스템

1-1. 파일

1) 파일

" A named collection of related information"

  • 일반적으로 비휘발성의 보조기억장치에 저장
  • OS는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해준다.

연산에는?
생성(create), 읽기(read), 쓰기(write) , reposition(lseek), delete, open, close등 ..


OPEN : 파일의 메타데이터를 메모리로 올려놓는 것 <시스템 콜>

("a/b")라는 파일을 open을 하면?

  1. cpu제어권이 os로 넘어간다.
  2. root의 메타데이터를 메모리에 올린다.
  3. 실제 content를 찾아 a의 메타데이터를 찾는다.
  4. a의 메타데이터를 메모리에 올린다.
  5. a의 content를 찾으러간다.
  6. a의 content에 있는 b의 메타데이터를 찾아 메모리에 올린다.

return하는 결과값은 디스크에 올라온 b의 메타데이터를 가리키는 포인터의 인덱스이다.

2) 파일의 속성 (metadata)

파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들
ex) 저장위치, 파일 사이즈, 파일 이름, 유형, 접근권한, 시간 , 소유자 등 ...

3) 파일의 시스템

  • 운영체제에서 파일을 관리하는 부분
  • 파일 및 파일의 메타데이터, 디렉토리 정보 등을 관리
  • 파일의 저장 방법 결정
  • 파일 보호 등

4) Directory

파일의 메타데이터 중 일부를 보관하고 있는 일종의 특별한 파일

5) Partition (=logical disk)

하나의 디스크안에 여러 파티션을 두는게 일반적



1-2. 파일 Protection

각 파일에 대해 누구에게 어떤 유형의 접근을 허락할 것인가?
Access control 방법 - 1.엑세스 컨트롤 메트릭스 2. 그루핑, 3. 패스워드

1) Access Control Matrix

ACL(Access Control List) : 파일별로 누구에게 어떤 접근 권한이 있는지 표시
Capability : 사용자별로 자신이 접근 권한을 가진 파일 및 해당 권한 표시

2) Grouping

  • 전체 user를 owener, group, public의 세 그룹으로 구분
  • 각 파일에 대해 세 그룹의 접근 권한(rwx)을 3비트씩으로 표시
  • 일반적인 운영체제에서 사용

3) Password

  • 파일마다 password를 두는 방법
  • 모든 접근 권한에 대해 하나의 password : all-or-nothing



1-3. Access Methods

시스템이 제공하는 파일 정보의 접근 방식

  • 순차 접근 (sequential access) ; 카세트 테이프
  • 직접 접근 (direct access, random access) ; Lp레코드 판



2. 파일 시스템의 구현

2-1. 디스크에 파일 데이터의 할당


1) 연속할당

하나의 파일이 디스크 안에서 연속해서 저장되는 방법

단점 : 외부조각 발생 , File grow가 어려움
장점 :
- 빠른 I/O 가능 (한번의 seek로 많은 바이트를 읽고 쓸수있다.)
- 직접 접근 가능

2) 연결 할당 ( Linked Allocation )

파일의 시작위치만 디렉토리가 갖고있다.

장점 : 외부 조각 발생 X
단점 :
- 직접 접근 안된다. (순차 접근만 가능)
- Reliability 문제

3) 인덱스 할당

디렉토리에 인덱스 블록을 가리킴
-> 순차 접근 가능 , 외부조각이 발생 X

단점 :
- 작은 파일일 경우 공간을 낭비 ( 블록을 2개 이용)
- 너무 큰 파일의 경우 인덱스 블록 하나로 표시 불가

2-2. UNIX 파일 시스템의 구조

  • 인덱스 할당을 조금 변경해서 사용 중

1) Boot Block : 부팅에 필요한 정보 [0번 블록]

2) Super Block : 파일 시스템에 관한 총체적인 정보를 담고있다.

3) Inode List : (Index node), 파일의 메타데이터

4) Data Block : file 이름, inode 번호

대부분의 파일은 크기가 작다.

2-3. FAT 파일 시스템의 구조

Boot Block, FAT, Root Directory, Data Block

직접 접근이 가능하다는 장점이 있다.
포인터 하나가 유실되더라도 FAT에 저장되어있기 때문에 상관없다.
Linked 할당의 단점을 극복 -!



2-4. Free-Space Management

1) Bit Map(= bit vector)

연속적인 n개의 fred block을 찾는데 효과적

2) Linked List

3) Grouping

4) Counting



2-5. VFS and NFS

VFS(virtual file system) :

NFS(network file system) :

profile
개발자를 꿈꾸는 대학생

0개의 댓글