Kwonlog
로그인
Kwonlog
로그인
File Systems Interface_운영체제(12)
조권휘
·
2023년 1월 5일
팔로우
0
OS
Operating Systems
운영체제
0
운영체제
목록 보기
12/14
File system basics
Basic Concepts
File → 대용량의 정보를 지속적으로(persistence)하게 저장하기 위해 사용
HDD, SDD, CD ROM 등도 기한이 있어 주의해야한다.
정보를 file에 담아 여러 process가 공유하기 위해서 사용하기도 한다.
File system
file : 물리적인 저장 장치에 저장하는 것이 아닌 추상적인 관점에서 secondary storage를 운영
directories : 계층적으로, 논리적으로 file을 모아둔다.
process, user, machine들 사이 data를 공유할 수 있도록 한다.
적법한 방법으로 data에 access하도록 security 기능도 존재한다.
Storage : Logical View
512 byte의 크기로 이루어진 N개의 sector로 이루어져 있다.
identify() : return N
Read(start sector #, # of sectors, buffer) : 시작 sector부터 x개의 sector를 읽어서 buffer에 저장
Write(start sector #, # of sectors, buffer) : buffer의 data를 시작 sector부터 x개의 sector까지 작성
File
관련된 정보들의 집합
system이 rebooting 한 뒤에도 이전의 정보가 연속적으로 유지된다.
OS는 file들을 이용하여 여러 정보를 관리하고 제공한다.
File structures
Flat : byte sequence
Structured : Lines, Fixed/Variable length records
File System Basics
File contents(data) : file이 담고 있는 내용
File attributes(metadata) : file의 크기, 만든 사람, access 권한, last access time, modify time 등의 정보를 관리하는 정보, metadata 또한 저장이 되어있어야한다.
File name(hierarchical) : 계층적인 이름으로 부여가 된다. - 절대경로 / 상대 경로
<filename, data, metadata> → < set of blocks >
file은 연속된 공간에 저장되는 것이 아니라 block으로 분리되어 각 각 나눠져서 저장된다.
목표 : Performance(수행 능력) + Reliability(신뢰성) + Scalability(확장성)
File Operations
Directory
여러 file들을 구조적, 계층적으로 관리하는 것을 도와준다.
편리하게 이름을 부여하여 user가 생각하는 논리적인 계층 체계와 물리적인 저장 체계를 분리시켜준다.
Relative names(상대 경로) : 현재 directory를 기준
Absolute names(절대 경로) : root directory를 기준
directory도 file이다.
Directory = list of (file name, file attributes(metadata))
Mounting
file system끼리 연결하는 작업
기존에 있던 file system을 mount point에 연결한 뒤, 해당 mount point를 다른 file system과 연결한다.
File sharing
자신에게 연결된 것처럼 보이지만, 실제로는 NFS protocol을 통해 다른 공간에 있는 file을 가져온다.
동시 접근에 대한 처리 방식(semantics)
file이 write 중인데 read하면 어떻게 되는가?
2개의 file이 write를 동시에 하려고 하면 어떻게 되는가?
기본적으로 lock을 사용하고, 각 file마다 protection을 가진다.
Consistency Semantics
UNIX
file에 대한 write는 즉시 그 file을 열고 있는 다른 user들에게 보여져야한다.(visible)
현재 location의 pointer(r/w offset)을 share하는 방식
AFS session
open file이 즉시 다른 user에게 보여지는 것이 아니라 close 되면 변화가 나중에 보여진다.
lock을 이용해서 진행한다.
Immutable-shared-files
read only 방식
File locking
flock : file 전체에 lock을 거는 방식
LOCK_SH, LOCK_EX, LOCK_UN
fcntl : record lock 방식
cmd : F_GETLK, F_SETLK, F_SETLKW
System V mandatory lock
group bit를 없애고 setgid를 해서 OS가 책임을 지도록 하는 방식
Protection
Protection system
누가 file에 접근 가능한가, 조작할 수 있는가를 보호해야한다.
어떤 object에 대해서 어떤 subject들이 허용할 수 있는 action을 정의하는 것
object : files / subjects : users / action : read, write
Representing protection
Access control lists(ACLs) : object 위주로 subject, actions를 관리
주로 ACL을 많이 쓰고 관리하기가 더 쉽다.
Capabilities : user 위주로 object, actions를 관리
누군가에게 권한을 넘겨주기(transfer) 쉽다.
조권휘
안녕하세요 :) Data/AI 공부 중인 한국외대 컴퓨터공학부 조권휘입니다.
팔로우
이전 포스트
Page Replacement_운영체제(11)
다음 포스트
File System Internals_운영체제(13)
0개의 댓글
댓글 작성