오래 못 할 짓 하지 않기
[ 운영체제 ] 28. Storage Management - Directory 본문
Directory
: 모든 파일에 대한 정보를 담고있는 node들의 집합
● 특징
- 효과적이다 : File 저장을 빠르게 할 수 있음
- 이름 관리하기가 편하다 : 같은 파일이라도 다른 폴더에 있으면 이름이 같을 수 있다.
- Grouping이 가능하다 : 파일을 묶음 단위로 저장 가능하다.
● Tree Structure Directories
특
1. 검색이 간편하다.
2. 그룹핑 하기 좋다.
3. 절대경로, 상대경로를 나타낼 수 있다. ( 경로 나타내기 문제 나올 듯 )
● Acyclic - Graph Directories
특징 : 디렉토리들이 서로의 subDirectories나 File들을 공유할 수 있다.
Link를 사용해서 구현한다.
= 이 때문에 absolute path가 여러 개 존재한다.
삭제 관련 문제
이건 Cycle이 있음
이 챕터에선
Link가 뭔지 / 두 링크 차이점 / 어떤 그래프가 있는지, 특징은 뭔지
Protection
mode 설정을 3자리 숫자로 한다
주인 권한 | 그룹 권한 | 다른 사람들의 권한
으로 나눈다.
Memory Mapped file
: Virtual address space 와 File이 매핑이 되어있는 것
[ 파일 ↔ 주소 ]
1. Page fault 발생하고, demand paging의 결과로 초기화시킨다.
2. 이를 통해 file system과 physical memory가 Mapped된다.
3. 파일이 닫힐 때, File - memory Mapped 데이터는 Disk로 들어간다.
● 장점
- Read와 Write의 Overhead가 줄어든다.
- File Sharing이 가능해진다. (아래 사진)
M*Map은 Shared memory와 비슷
요약:
장점 , Memory Mapped File의 정의 , Mmap의 Function 알아두기
File System Structure
● File Structure
: Logical 저장 유닛 / 관련된 정보들의 집합체
● File System
: Disk에 저장되어 있다.
- Stroage와 mapping logical to physical 에 대한 Interface 를 담당한다.
File Control Block ( FCB )
: 파일에 대한 정보로 이루어져있는 저장 구조
이러한 File System은 여러 층으로 이루어져 있다.
1. Device Driver : I/O Control 층을 담당
2. Basic file System : 해당 단계에서, Memory buffer , caches, data block 관리
3. File organization module : File , Logical address , Physical block을 인식한다.
= Logical block ▶ Physical block으로 해석하는 단계
4. Logical file System : Metadata 정보 관리
= File number ,File handle 을 File name가지고 해석한다.
Layer의 장점 :
- 복잡성과 반복을 줄여준다.
= 저것들이 한 층에 있으면 복잡함.
- inode를 통해 여러 정보를 다룰 수 있다.
단점 : Overhead 가능성이 있다.
File System Operation
: 우리는 어떤 기능을 이용할 때 API 단계의 system call이 필요하다.
● Boot control block
: OS가 부팅 관련 기능을 할 떄 필요한 정보들이 있는 Block
Volume이 OS를 포함하고 있어야 함
● Volume control block
: Volume에 관련된 정보를 담고있는 Block
ex) Block의 총 갯수 , free block의 갯수 , size , Free block pointer
● Directory Structure
: 파일을 구성하는 데에 사용됨
In - Memory File System Structures
메모리 내에서 파일을 관리하는 방법이다.
파일의 List를 저장하는 File Table을 메모리 내에 저장한다.
Mount 시에 Data가 로드 , File operation시에 내용 수정 , Dismount 시에 제거
● Mount table
: 각각 mount된 volume에 대한 정보( File system mount , mount point )
● System wide open file table
: 각각의 File의 FCB 복제본 + 추가 정보들
● Per - process open-file table
: 시스템 전반에 걸쳐 open file table Entry를 가리키는 Pointer + 추가 정보
a) 파일을 열 때 user space에서 Kernel Memory로 들어가서
Directory Structure에 저장된 방식을 통해 원하는 파일로 FCB 블록을 찾는다.
b) 파일을 읽을 때는 per-process open-file Table에 대한 인덱스로 접근한 뒤
System - wide open-file Table로 가고, FCB를 찾은 뒤에 이를 통해 Data block 에 접근한다.
(출처)
한동대학교 고윤민교수님 - 운영체제
'3학년 1학기 > 운영체제 (OS)' 카테고리의 다른 글
[ 운영체제 ] 29. File 마무리 (0) | 2024.06.13 |
---|---|
[ 운영체제 ] 27. Storage Management (0) | 2024.06.11 |
[ 운영체제 ] 26. Virtual memory - Frame allocation / Thrashing (0) | 2024.06.03 |
[ 운영체제 ] 25. Virtual memory - Replacement (0) | 2024.06.01 |
[ 운영체제 ] 24. Virtual memory (0) | 2024.05.28 |