(15) 파일 시스템( File System ) & 디렉터리와 디스크 구조
1. 파일 시스템이란?
1-1) 정의
컴퓨터에서 파일이나 자료를 쉽게 발견할 수 있도록 유지 및 관리하는 방법
> 컴퓨터 내에는 수많은 파일들이 있기 때문에 이를 관리하는 방법을 말함
1-2) 특징
- 커널 영역에서 동작
- 파일 CRUD 기능을 원할히 수행하기 위한 목적
- 계층적 디렉터리 구조를 가짐
- 디스크 파티션별로 하나씩 둘 수 있음
1-3) 역할
- 파일 관리
- 보조 저장소 관리
- 파일 무결성 매커니즘
- 파일 원본이 조작되지 않았음을 나타내는 용어
- 파일 내용, 크기, 최종 수정날짜와 시각, 소유자, 권한 등이 판단 기준
- 대표적인 기준은 checksum이며 sum(모든 비트를 덧셈) 혹은 MD5 알고리즘 방식 등이 있다 - 접근방법 제공
1-4) 개발 목적
- 하드디스크와 메인 메모리 속도의 차를 줄이기 위함(보조메모리 ↔ 주메모리 사이 속도를 위해 )
- 파일 관리
- 하드디스크 용량의 효율적 이용
1-5) 구조
- 메타 영역 : 데이터 영역에 기록된 파일의 이름, 위치, 시간정보, 삭제유무 등의 파일 정보
- 데이터 영역 : 파일의 데이터
2. 파일접근 방법
파일 접근시 System call로 유저모드에서 커널모드로 변경되어 접근해야 함
참조 : https://korshika.tistory.com/140?category=970462
(5) System Call
1. System Call 이란? 1-1) 정의 OS가 Application / 사용자에게 제공하는 interface 1-2) 사용 이유 OS가 프로세스 실행, 종료 / I/O 작업 등, 사용자가 함부로 사용하면 안되는 명령어들을 Privileged Instructi..
korshika.tistory.com
2-1) 순차 접근( Sequential Access )
(a) 정의
가장 간단한 접근 방법으로, 대부분의 연산은 read와 write
(b) 작동 방식
현재 위치를 가리키는 포인터에서 시스템 콜이 발생할 경우, 포인터를 앞으로 보내면서 read와 write를 진행
뒤로 돌아갈 땐, 지정한 offset 만큼 되감기를 해야 한다(테이프 모델 기반)
2-2) 직접 접근( Direct Access )
(a) 정의
특별한 순서 없이 빠르게 레코드를 read, write를 하는 것이 가능
(b) 작동 방식
현재 위치를 가르키는 cp 변수를 사용하여
2-1)에서 설명된 순차접근을 구현할 수 있다.
또한 무작위 파일블록에 대한 임의접근을 허용하고, 때문에 순서의 제약이 없음
(c) 특징
대규모 정보를 접근할 때 유용하기 때문에, 데이터베이스에 활용됨
2-3) 기타 접근
(a) 정의
직접 접근 파일에 기반하여 색인 구축
(b) 작동 방식
크기가 큰 파일을 입출력 탐색할 수 있게 도와주는 방법
indexing 자료구조처럼 사용
참조 : https://korshika.tistory.com/93
(2) 데이터베이스의 본질과 index
■ 데이터베이스의 본질 > 어떻게 입력하고 출력 하는가? - 가 본질이 된다 > CRUD 가 본질 1) 입력 - Create - Update - Delete 2) 출력 - Read ■ File vs Spread-sheet vs Database > File로 무언가를..
korshika.tistory.com
2. 디렉터리와 디스크 구조
2-1) 1단계 디렉터리
(a) 정의
가장 간단한 파일 디렉터리 구조로
파일들은 서로 유일한 이름을 가지고, 서로 다른 사용자라도 같은 이름을 사용하는 것을 불가
→ 파일 이름이 유일성 기준
2-2) 2단계 디렉터리
개별 사용자에게 개별적인 디렉토리를 만들어 줌
→ 개별 사용자에 대해 다른 사용자에게 있는 이름이라도 사용할 수 있음
- MDF( Master File Directory ) : 사용자의 이름과 계정번호로 색인되어있는 디렉터리
- UFD( User File Directory ) : 자신만의 사용자 파일 디렉터리
2-3) 트리구조 디렉터리
(a) 정의
2단계 디렉터리 구조를 확장한
다단계 트리 구조
한 비트를 활용하여, 일반 파일(0) 인지, 디렉터리 파일(1)인지 구분
→ 같은 level의 디렉터리 안에서는 파일 이름은 유일해야 함
2-4) 그래프 구조 디렉터리
(a) 정의
순환이 발생하지 않도록, 하위 디렉터리가 아닌 파일에 대한 링크만 허용하거나
가비지 컬렉션을 이용하여 전체 파일시스템을 순회하고 접근 가능한 모든 것을 표시
참조
https://gyoogle.dev/blog/computer-science/operating-system/File%20System.html
파일 시스템(File System) | 👨🏻💻 Tech Interview
파일 시스템(File System) 컴퓨터에서 파일이나 자료를 쉽게 발견할 수 있도록, 유지 및 관리하는 방법이다. 저장매체에는 수많은 파일이 있기 때문에, 이런 파일들을 관리하는 방법을 말한다. 특징
gyoogle.dev
[운영체제] 파일의 구조
1. 파일의 구조 - 파일의 구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미하는 것으로, 편성 방법에 따라 순차 파일, 색인 순차 파일, 랜덤 파일, 분할 파일 등이 있다. -
jess2.tistory.com