[6주차] Chapter 15. 파일, 디렉터리, 파일 시스템
Chapter 15 파일 시스템
15-1 파일과 디렉터리
1. 파일
① 파일(file)
-보조기억장치에 저장된 관련 정보의 집합
② 속성(attribute) 또는 메타데이터(metadata)
-파일 관련 부가 정보
ex) 파일 형식, 위치, 크기 등
③ 파일 속성과 유형
-대표적 파일 속성의 종류는 아래 표 참고
속성 이름 | 의미 |
유형 | 운영체제가 인지하는 파일의 종류 |
크기 | 파일의 현재 크기와 허용 가능한 최대 크기 |
보호 | 어떤 사용자가 해당 파일을 읽고, 쓰고, 실행할 수 있는지 |
생성 날짜 | 파일이 생성된 날짜 |
마지막 접근 날짜 | 파일에 마지막으로 접근한 날짜 |
마지막 수정 날짜 | 파일이 마지막으로 수정된 날짜 |
생성자 | 파일을 생성한 사용자 |
소유자 | 파일을 소유한 사용자 |
위치 | 파일의 보조기억장치상의 현재 위치 |
-파일 유형 : 운영 체제가 인식하는 파일 종류, 주로 확장자(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 |
④ 파일 연산을 위한 시스템 호출
-운영체제는 파일 생성, 파일 삭제, 파일 열기, 파일 닫기, 파일 읽기, 파일 쓰기와 같은 시스템 호출을 제공한다.
2. 디렉터리
① 디렉터리(directory)
-파일을 일목요연하게 관리할 수 있게 해주는 것
-윈도우 운영체제에서는 폴더(folder)라고 부른다.
-1단계 디렉터리(single-level directory) : 모든 파일이 하나의 디렉터리 아래에 있는 디렉터리 구조
-트리 구조 디렉터리(tree-structured directory) : 여러 계층을 가진 디렉터리 구조, 최상위 디렉터리는 루트 디렉터리(root directory)라고 부르며 슬래시(/)로 표현
-경로(path) : 디렉터리를 이용해 파일 위치, 파일 이름을 특정 짓는 정보
② 절대 경로와 상대 경로
-절대 경로(absolute path) : 루트 디렉터리에서 자기 자신까지 이르는 고유한 경로
-상대 경로(relative path) : 현재 디렉터리부터 시작하는 경로
③ 디렉터리 연산을 위한 시스템 호출
-운영체제는 디렉터리 생성, 디렉터리 삭제, 디렉터리 열기, 디렉터리 닫기, 디렉터리 읽기의 시스템 호출을 제공한다.
④ 디렉터리 엔트리
-디렉터리 또한 담겨 있는 대상과 관련된 정보를 저장하는 파일이다.
-이 정보는 보조기억장치에 테이블 형태의 정보로 저장된다.
확인문제
1. ④
2. ① minchul/c.tar, ② /home/minchul/c.tar
3. ①
15-2 파일 시스템
파일 시스템
-파일과 디렉터리를 효율적으로 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램
-대표적 파일 시스템으로는 FAT 파일 시스템과 유닉스 파일 시스템, 윈도우에서 사용되는 NT 파일 시스템(NTFS), 리눅스에서 사용되는 ext 파일 시스템 등이 있다.
1. 파티셔닝과 포매팅
① 파티셔닝(partitioning)
-저장 장치의 논리적인 영역을 구획하는 작업
-파티션(partition) : 파티셔닝 작업을 통해 나누어진 영역 하나하나
② 포매팅(formatting)
-파일 시스템을 설정하는 과정(포맷하는 작업)
-저수준 포매팅(생산 당시 공장에서 수행되는 물리적 포매팅)과 논리적 포매팅(파일 시스템을 생성하는 포매팅)이 있다.
2. 파일 할당 방법
① 블록(block)
-운영체제가 파일과 디렉터리를 읽고 쓰는 단위
② 연속 할당(contiguous allocation)
-보조기억장치 내 연속적인 블록에 파일을 할당하는 방식
-장점 : 구현이 단순하다.
-단점 : 외부 단편화를 야기한다.
③ 불연속 할당 - 연결 할당(linked allocation)
-블록 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 할당하는 방식
-장점 : 외부 단편화를 해결할 수 있다.
-단점
: 반드시 첫 번째 블록부터 하나씩 차례로 읽어야 한다. = 임의 접근(random access) 속도가 매우 느리다.
: 하드웨어 고장이나 오류 발생 시 해당 블록 이후 블록은 접근할 수 없다.
④ 불연속 할당 - 색인 할당(indexed allocation)
-파일의 모든 블록 주소를 색인 블록(index block)이라는 하나의 블록에 모아 관리하는 방식
-색인 할당을 사용하는 파일 시스템은 디렉터리 엔트리 파일에 파일 이름과 색인 블록 주소를 명시한다.
-장점 : 임의의 위치에 접근하기 쉽다.
3. 파일 시스템 살펴보기
① FAT 파일 시스템
-연결 할당의 단점을 보완하여 FAT을 이용하는 파일 시스템
-파일 할당 테이블(FAT; Fild Allocation Table) : 각 블록에 포함된 다음 블록의 주소를 모아 관리하기 위해 테이블 형태로 표현한 것
② 유닉스 파일 시스템
-색인 할당 기반의 파일 시스템
-i-node(index-node) : 유닉스 파일 시스템에서 색인 블록을 부르는 말, 크기가 유한하다.
-15개의 블록 주소를 저장할 수 있는 i-node로 그 이상의 블록을 갖는 파일을 가리키는 법
: 블록 주소 12 개에는 직접 블록(direct block, 파일 데이터가 저장된 블록) 주소를 저장한다.
: 위 내용으로 충분하지 않다면 열세 번째 주소에 단일 간접 블록(single indirect block, 파일 데이터를 저장한 블록 주소가 저장된 블록) 주소를 저장한다.
: 위 내용으로 충분하지 않다면 열네 번째 주소에 이중 간접 블록(double indirect block, 단일 간접 블록 주소가 저장된 블록) 주소를 저장한다.
: 위 내용으로 충분하지 않다면 열다섯 번째 주소에 삼중 간접 블록(triple indirect block, 이중 간접 블록 주소가 저장된 블록) 주소를 저장한다.
확인문제
1. ②
2. ④
3. ①
4. ①