일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MSA
- 디자인 패턴
- c언어
- 운영체제
- MySQL
- IT
- Java
- OS
- 자료구조
- JPA
- 백준
- JavaScript
- 파이썬
- 알고리즘
- Spring
- Algorithm
- Kafka
- Heap
- 컴퓨터구조
- react
- mongoDB
- spring webflux
- 네트워크
- 자바
- Proxy
- redis
- C
- Data Structure
- design pattern
- Galera Cluster
Archives
- Today
- Total
시냅스
파일 시스템 인터페이스, File-System Interface 본문
파일 시스템 인터페이스, File-System Interface
- 파일 시스템은 정보를 저장한 실제적인 파일의 집합체와 시스템 내의 모든 파일에 관한 정보를 제공하는 디렉터리 구조로 구성된다.
- storage에 logical하게 data를 쓴 것!
파일 연산
- 파일을 정의하기 위해 OS는 아래의 시스템 콜을 제공한다.
- 아래는 파일 조작을 위한 최소 연산이다.
- 파일 생성 : 공간 확보 -> 디렉터리에 포함
- 파일 열기 : open() 사용 -> fd...
- 파일 쓰기 : 쓰기가 일어날 위치를 가리키는 쓰기 포인터를 유지해야 한다, 쓰기가 일어날 때마다 갱신된다.
- 파일 읽기 : 순차적 읽기를 위한 읽기 포인터 유지 및 갱신, 프로세스는 하나의 현재 파일 위치 포인터(ftell)을 가진다.
- 파일 위치 재설정 : fseek (파일 포인터 위치 조정)
- 파일 삭제 : 하드링크를 사용해 삭제한다. (unlink)
- 파일 절단 : 파일 내용은 지우고, 속성은 유지
접근 방법, Access Methods
- 순차 접근, Sequential Access
- 카세트테이프처럼 재생하는 방식
- 옛날 방식이다.
- 직접 접근 Direct Acccess
- 직접 접근을 위해 파일은 고정 길이의 논리 레코드의 집합으로 정의
- 임의의 파일 블록에 임의적 접근
디렉터리 구조, Directory Structure
- 디렉터리는 파일 이름을 상응하는 파일 제어 블록으로 바꾸어 주는 심볼 테이블
1단계 디렉터리
- 모든 파일이 하나의 디렉토리에 있음
- 모든 파일은 유일한 이름을 가진다.
2단계 디렉터리
- user만 따로 둔 1단계 디렉터리...
- UFD : 사용자 개인 파일 디렉토리
- MFD : 사용자 이름과 계정번호로 색인되어 있는 디렉토리
트리 구조 디렉터리
- 디렉터리 내부에 다시 디렉터리를 갖는 방식
비순환 그래프 디렉터리
- 현재 우리가 사용하는 디렉터리와 비슷하나, 순환할 수 없다.
일반 그래프 디렉터리
- 현재 우리가 일반적으로 사용하는 디렉터리 구조
- a라는 파일을 어디에서도 참조하지 않지만, 순환으로 인해 참조 계수가 0이 아니어 삭제되지 않을 수 있다.
- 만약 참조 계수가 0이면 링킹되지 않았다는 뜻으로 삭제될 수 있다.
- 이를 위해 가비지 수집(garbage-collection)이 필요하다.
- 가비지 컬렉션은 전체 파일 시스템을 검색하고 접근 가능한 모든 것을 표시한다. 그 후 두 번째 탐색에서 표시되지 않은 것들을 수집하여 사용 가능한 공간 리스트에 추가한다.
'운영체제' 카테고리의 다른 글
EC2 스토리지 증가 시 적용되지 않을 때 (+ Linux File System) (1) | 2023.10.08 |
---|---|
파일 시스템 구현, Implementing File-Systems (0) | 2022.07.03 |
입출력 시스템, I/O System (0) | 2022.06.07 |
대용량 저장장치 구조, Mass-Storage Structure (0) | 2022.06.06 |
가상 메모리, Virtual Memory (0) | 2022.05.24 |
Comments