-
[OS] 파일 시스템 개요운영체제 2020. 11. 30. 16:26728x90
Files
파일 : 데이터의 집합
특성 : 장기간 보존, 프로세스간의 공유 가능, 편리한 내부 구조(계층 구조, 연관 관계)
Contiguous logical address space 에 저장됨 ( Physical address 와는 무관 )
종류 : 데이터 파일, 프로그램 파일 : 확장자로 구분
-
텍스트 파일
-
소스 파일
-
실행 파일 : 로더가 메모리로 가져와 실행할 수 있는 파일
File Structure
-
Field : 데이터의 가장 작은 단위 : 고정 or 가변 길이
-
Record : 필드의 집합 : 고정 or 가변 길이
-
File : 레코드의 집합
-
Database : 관련된 데이터의 집합
File Systems
데이터를 파일로 저장하고, 다양한 기능을 제공
-
Create(생성)
-
파일 시스템 내에 공간을 할당하고 FCB(File Control Block) 이 해당 주소를 가리키게함
-
특정 디렉터리에 파일이 만들어져야함
-
Open(열기)
-
모든 연산 전에 open 이 수행되어야함
-
사실 파일 연산이 딱 한번만 이루어진다면 open 하지 않아도 되지만 일반적으로 그렇지 않음
-
매 연산마다 open 하는 오버헤드는 매우 큼
-
Read(읽기)
-
file pointer 가 가리키는 위치의 내용을 버퍼에 읽음
-
Write(쓰기)
-
버퍼의 내용을 file pointer 가 가리키는 위치에 씀
-
Delete(삭제)
-
파일이 차지한 공간을 방출하고, 정보를 디렉토리에서 삭제 : unlink()
-
Close(닫기)
-
Reposition (재설정)
-
file pointer 의 위치를 변경 : seek()
-
Truncate (절단)
-
파일 속성은 유지한 상태로 파일 일부 내용을 지움 : truncate()
목적
-
파일 데이터의 유효성 보장
-
성능 최적화
-
저장 장치의 입출력 지원
-
데이터 손실 및 파괴 가능성 최소화
-
표준화된 입출력 인터페이스 제공
-
다중 사용자 입출력 지원
특징
-
파일 시스템은 파일을 논리적인 저장 단위로 사용
-
파일 시스템은 논리적인 데이터를 저장 장치에 맵핑시키는 시스템
-
파일은 sector의 block 단위로 이루어짐 ( 512KB ~ 4MB )
-
File control block( = inode)
-
Device driver : 물리 디바이스를 제어
-
계층(layer) 구조
Device Driver (장치 드라이버)
-
파일 시스템의 가장 하위 레벨
-
Character Device Driver
-
Block Device Driver ( 주로 사용되는 파일 시스템 )
-
Network Device Driver
-
입출력 연산 담당
Basic file system (기본 파일 시스템)
-
물리적인 입출력 레벨
-
컴퓨터 시스템 외부 환경과의 인터페이스
-
Disk 와의 Data block 교환 처리
-
보조 저장 장치의 Block 배치 담당
-
Block 의 메인 메모리 버퍼링 담당
Basic I/O supervisor (기본 입출력 감독자)
-
모든 파일 입출력의 시작과 종료를 담당
-
I/O 를 수행할 물리적인 장치를 선택
-
디스크 접근 스케줄링
-
입출력 버퍼의 할당과 보조기억장치 할당
Logical I/O (논리 입출력)
-
응용프로그램들이 레코드에 접근할 수 있도록 허용
-
레코드 입출력 기능 제공
-
파일의 기본 데이터 유지
Access Mode
-
사용자와 가장 가까운 파일시스템
-
응용프로그램, 파일 시스템, 저장 장치 간의 표준 인터페이스 제공
-
Sequential access, direct access 등이 있음
'운영체제' 카테고리의 다른 글
[OS] Unix, Linux 파일(inode) 구성요소 (0) 2020.11.30 [OS] 파일 구조 유형 (0) 2020.11.30 [OS] 자원 기아(Resource starvation), 우선순위 역전(Priority inversion) (0) 2020.11.29 [OS] Deadlock handling (2) (0) 2020.11.29 [OS] Deadlock handling (1) (0) 2020.11.29 -