혼자 공부하는 컴구, 운체

[6주차] Chapter 15. 파일, 디렉터리, 파일 시스템

털난 모짜렐라 2023. 8. 21. 00:50

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.