파일file이란 하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합을 의미합니다. 파일을 이루는 정보에는 이름과 파일을 실행하기 위한 정보, 그리고 파일 관련 부가 정보인 속성attribute[ 또는 메타데이터metadata ]이 있습니다.
파일 속성attribute
속성 이름 | 의미 |
유형 | 운영체제가 인지하는 파일의 종류 |
크기 | 파일의 현재 크기와 허용 가능한 최대 크기 |
보호 | 어떤 사용자가 해당 파일을 읽고, 쓰고, 실행할 수 있는지 나타냄 |
생성 날짜 | 파일이 생성된 날짜 |
마지막 접근 날짜 | 파일에 마지막으로 접근한 날짜 |
마지막 수정 날짜 | 파일이 마지막으로 수정된 날짜 |
생성자 | 파일을 생성한 사용자 |
소유자 | 파일을 소유한 사용자 |
위치 | 파일의 보조기억장치상의 현재 위치 |
파일 유형(확장자extension)
파일 유형 | 대표적인 확장자 |
실행 파일 | 없는 경우, exe, com, bin |
목적 파일 | obj, o |
소스 코드 파일 | c, cpp, cc, java, asm, py |
워드 프로세서 파일 | xml, rtf, doc, docx |
라이브러리 파일 | lib, a, so, dll |
멀티미디어 파일 | mpeg, mov, mp3, mp4, avi |
백업/보관 파일 | rar, zip, tar |
파일 연산을 위한 시스템 호출
파일 생성
파일 삭제
파일 열기
파일 닫기
파일 읽기
파일 쓰기
디렉터리directory
파일을 분류하기 위해 사용하는 네임스페이스로, 윈도우 OS에선 디렉터리를 폴더folder라고 부릅니다.
※ 많은 운영체제에서는 디렉터리를 그저 '특별한 형태의 파일'로 간주합니다.
트리 구조
경로path
디렉터리를 이용해 팡리 위치, 파일 이름을 특정 짓는 정보
예시 : C:\Users\Juho\Desktop\study\OS
절대 경로와 상대 경로
절대 경로absolute path : 루트 디렉터리에서 자기 자신까지 이르는 고유한 경로
상대 경로relative path : 현재 디렉터리(비교 대상)를 기준으로 작성된 경로
참조
https://linuxhandbook.com/absolute-vs-relative-path/
디렉터리 연산을 위한 시스템 호출 종류
디렉터리 생성
디렉터리 삭제
디렉터리 열기
디렉터리 닫기
디렉터리 읽기
디렉터리 엔트리
파일 시스템
컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록
보조기억장치에 저장 또는 조직하는 체제를 가리키는 말입니다.
파티셔닝partitioning
저장 장치의 논리적인 영역을 구획하는 작업을 의미합니다.
파티션partition : 파티셔닝을 통해 나누어진 각각의 영역
포매팅formatting
파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지를 결정하고,
새로운 데이터를 쓸 준비를 하는 작업입니다.
파일 할당 방법
운영체제는 파일과 디렉터리를 블록block 단위로 읽고 씁니다.
하나의 파일이 보조기억장치에 저장될 때는 하나 이상의 블록에 걸쳐 저장됩니다.
연속 할당contiguous allocation
보조기억장치 내 연속 블록에 파일을 할당하는 방식으로 디렉터리 엔트리에 파일 이름, 첫번째 블록 주소, 블록 단위의 길이를 명시합니다.
- 장점 : 단순한 구현
- 단점 : 외부 단편
불연속 할당
1. 연결 할당linked allocation
연속 할당의 문제를 해결할 수 있는 방식으로, 연결 할당은 각 블록 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 할당하는 방식입니다. 디렉터리 엔트리에 명시된 정보 연속 할당을 사용하는 파일 시스템의 디렉터리 엔트리 구성과 동일한 구성을 명시합니다.
- 장점
- 외부 단편화 문제 해결
- 단점
- 임의 접근random access 속도가 매우 느립니다.
- 하드웨어 고장이나 오류 발생시 해당 블록 이후 블록은 접근 불가
2. 색인 할당indexed allocation
파일의 모든 블록 주소를 색인 블록index block이라는 하나의 블록에 모아 관리하는 방식입니다. 이 방식을 사용하는 파일시스템에서는 디렉터리 엔트리에 파일 이름과 색인 블록 주소를 명시합니다.
- 장점
- 임의의 위치에 접근하기 쉽습니다.
- 외부 단편화 문제 해결
- 단점
- 작은 크기의 파일인 경우에도 하나의 블록을 인덱스 블록으로 사용하기 때문에 저장 공간이 손실됩니다.
FAT 파일 시스템
연결 할당 방식에서 각 블록에 포함된 다음 블록의 주소들을 한데 모아 테이블 형태로 관리하는 방식을 FAT(File Allocation Table, 파일 할당 테이블) 파일 시스템이라고 합니다. 주로 USB 메모리, SD카드와 같은 저용량 저장 장치용 파일 시스템으로 많이 이용되고 있습니다.
FAT에 다음 블록 주소가 -1인 경우 FAT 상에서 더 이상의 블록이 없음을 나타냅니다.
유닉스 파일 시스템
유닉스 운영체제에서 사용하는 색인 할당 기반의 파일 시스템입니다. 이 시스템에서는 색인 블록을 i-node(index-node)라고 부릅니다.
i-node 구성
- 파일 속성
- 블록 주소 0~ 14 (15개)
- 파일의 크기가 작은 경우
- 0~14 : 직접 블록direct block
- 파일의 크기가 큰 경우
- 0~11 : 직접 블록direct block
- 12 : 단일 간접 블록single indirect block
- 13 : 이중 간접 블록double indirect block
- 14 : 삼중 간접 블록triple indirect block
- 파일의 크기가 작은 경우
'OS' 카테고리의 다른 글
가상 메모리 (0) | 2024.01.20 |
---|---|
데드락(Deadlock, 교착 상태) (0) | 2024.01.20 |
프로세스 동기화[240222 - Spinlock추가] (2) | 2024.01.14 |
CPU 스케줄링 (2) | 2024.01.14 |
1. 운영체제(OS, Operating System) (0) | 2024.01.07 |