1.파일시스템
1)정의
-파일과 디렉터리를 보조기억장치에 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램.
2.파티셔닝과 포매팅
1)파티셔닝(partitioning): 저장장치의 논리적인 영역을 구획하는 작업을 의미하고 나누어진 각각의 영역을
파티션(partition)이라고 한다.
2)포매팅(formatting):파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지 결정하고,
새로운 데이터를 쓸 준비를 하는 작업.
-파일시스템은 여러종류가 있고 파티션마다 다른 파일시스템을 적용할 수 있다.
3.파일할당 방법
1)개요
-운영체제는 파일과 디렉터리를 블록 단위로 읽고 쓴다. 이것은 하나의 파일이 보조기억장치에 저장될 때
최소단위가 블록 단위다.
-하드디스크의 가장 작은 저장단위는 섹터이지만 파일시스템이 모든 섹터를 관라하기에는 너무 많고 크기가
작다.
-블록안에는 블록의 위치를 식별하는 주소가 적혀있다.

-파일을 할당하는 방법에로 연속할당과 불연속한당이 있고 불연속 할당에서 연결할당과 색인 할당이 있다.
2)연속할당(contiguous allocation)
-보조기억장치 내 연속적인 블록에 파일을 할당하는 방식.
-연속으로 할당된 파일에 접근하기 위해서는 첫 번째 블록 주소와 블록단위의 길이만 알면 된다.

-만약 파일이름 'a'를 찾는다면 첫번째 블록주소(2번 주소)를 찾고 주소에서 길이가 3 즉 2번부터 순차적으
로 세어 개수가 3이 되는 곳(4번주소)까지가 파일 'a'이다.
-연속 할당 방식은 구현이 단순하다는 장점이 있다.
하지만 파일을 삭제함에 있어 외부 단편화를 야기할 수 있다는 단점이 있다.


3)연결할당(linked allocation)
-각 블록 일부에 다음 블록의 주소를 저장하여 다음 블록을 가리키도록 하는 형태의 할당 방식.
-불연속 할당이므로 파일이 흩어져 있어도 무방하다.

-파일 'a'를 찾는다고 가정했을시 첫번째 블록 주소(10번)에서 시작하여 첫번째 주소에 저장된
블록의 주소로 파일의 길이만큼 이동하는 형식이다.
-연속할당의 외부 단편화를 해결할 수 있지만 다른 단점이 존재한다.
-파일에 임의로 접근하려고 할 때 무조건 첫번째 파일부터 순차적으로 읽어야 하므로 속도가 느리다.
-블록안에 파일 데이터와 다음 블록 주소가 포함되어 있기 때문에 하드웨어 고장이나 오류 발생 시 해당
블록 이후 블록을 접근할 수 없다.
4)색인할당(indexed allocation)
-파일의 모든 블록의 주소를 색인블록(index block)이라는 별도의 블록을 두어 관리하는 방식.
-연결할당보다 임의 접근이 쉽다.
-파일 'a'에 접근 하고 싶다면 색인블록(4번 블록) 안의 주소(7,11,13번 블록)의 주소를 찾아가면 된다.
4.파일 시스템 종류
1)FAT(File Allocation Table)
-각 블록에 포함된 다음 블록의 주소들을 한데 모아 테이블 형태로 만들어 연결 할당의 단점을 보완한
파일 시스템이다.
-이 테이블을 파일 할당 테이블(FAT:File Allocation Table)라고 부른다.
-USB 메모리 SD카드에 많이 사용되는 파일시스템이다.

2)유닉스
-i-node라는 색인 블록을 가지고 있는 색인할당 기반 파일 시스템
-i-node에는 파일 속성과 열 다섯개의 블록 주소가 담긴다.

-유닉스 파일 시스템에는 파일마다 i-node가 존재하고 고유의 번호가 부여되어 있다.
-i-node 특정 파티션 내에 모여 있다. i-node영역에 i-node들이 있고,데이터 영역에 디렉터리와 파일들이
존재한다.

-i-node의 크기는 유한하며 기본적으로 15개의 블록의 주소를 저장하기에 그 이상의 블록의 주소는
전부 가라킬 수 없다.
-파일 데이터가 저장된 블록을 직접 블록(direct block)이라 하며 12번쨰 블록 내에서 직접블록만으로 데이터
를 모두 가리킬 수 있다면 추가적인 작업은 필요하지 않는다.
-그렇지 않다면 13번째 블록부터는 파일 데이터를 저장한 블록의 주소를 담아 보관한 단일 간접 블록(single
indirect block)를 저장한다.
-이것으로도 모자르다면 이중 간접 블록(double indirect block)라는 단일 간접 블록의 주소를 저장하는
블록을 사용하여 저장한다.
-이렇게 주소의 주소를 저장하는 방식으로 저장의 파일을 늘릴 수 있다.
삼중 간접 블록은 이중 간접 블록의 주소를 저장한다.

'컴퓨터 공학 > 혼자 공부하는 컴퓨터 구조 +운영체제' 카테고리의 다른 글
엄청 늦었지만 후기 (0) | 2023.09.04 |
---|---|
33.파일과 디렉토리 (0) | 2023.08.08 |
32.페이지 교체와 프레임 할당 (0) | 2023.08.07 |
31.페이징을 통한 가상메모리 관리 (0) | 2023.08.03 |
29.교착 상태 해결방법 (0) | 2023.07.30 |