1. 파일과 디렉터리
1-1. 파일
파일 시스템
: 보조기억장치의 정보를 파일 및 디렉터리의 형태로 저장하고 관리할 수 있도록 하는 운영체제 내부 프로그램
파일 구성
: 파일의 이름, 파일을 실행하기 위한 정보, 파일과 관련된 부가 정보인 속성(메타데이터)
속성
: 파일의 형식, 위치, 크기 등 파일과 관련된 정보가 포함되어 있음
파일 디스크립터(파일 핸들)
: 저수준에서 파일을 식별하는 정보로, 0 이상의 정수 형태를 띄고 있음
운영체제는 프로세스가 새로 파일을 열거나 생성할 때 해당 파일에 대한 파일 디스크립터를 3부터 프로세스에 할당한다.
0 : 표준 입력(키보드)
1 : 표준 출력(모니터)
2 : 표준 에러
파일을 다루는 작업은 모두 운영체제에 의해 이루어진다. 따라서 응용 프로그램은 임의로 파일을 할당받아 조작하거나 저장할 수 없고, 파일을 다루는 시스템 콜을 이용해야 한다.
1-2. 디렉터리(폴더)
디렉터리 용도
: 여러 파일들을 유연하게 관리하기 위해 트리 구조 디렉터리를 활용
루트 디렉터리
: 최상위 디렉터리. 슬래시(/)로 표현. 윈도우에서는 "C:\"로 표현.
경로
: 디렉터리 정보를 활용해 파일 위치를 특정하는 정보
디렉터리에 속한 요소의 관련 정보는 테이블의 형태로 표현되며, 테이블 형태로 표현된 정보의 행 하나 하나를 디렉터리 엔트리라고 한다. 디렉터리 엔트리에는 '파일의 이름'과 '파일이 저장된 위치를 유추할 수 있는 정보(inode)'가 포함되어 있다.
파일 이름 | 위치를 유추할 수 있는 정보 |
.. | 상위 디렉터리가 저장된 곳을 유추할 수 있는 정보 |
. | 현재 디렉터리가 저장된 곳을 유추할 수 있는 정보 |
FileA | FileA 가 저장된 곳을 유추할 수 있는 정보 |
일부 파일 시스템은 '파일 생성 시간', '수정된 시간', '크기' 등이 명시되어 있다.
1-3. 파일 할당
블록
: 운영체제가 파일과 디렉터리를 읽고 쓰는 단위. 보통 하나는 4096바이트이다.
하나의 파일이 보조기억장치에 저장될 때는 하나 이상의 블록을 할당받아 저장된다.
연결 할당
: 각 블록의 일부에 다음 블록의 주소를 저장하여 각각의 블록이 다음 블록을 가리키는 형태로 할당한다.
색인 할당
: 파일을 이루는 모든 블록의 주소를 색인 블록이라는 특별한 블록에 모아 관리하는 방식으로 할당한다.
2. 파일 시스템
보조기억장치에 여러 파일 시스템을 적용하여 사용하기 위해 보조기억장치 내에 파일 시스템을 적용할 영역이 구분되어 있어야 한다.
파티셔닝
: 보조기억장치의 영역을 구획하는 작업
파티션
: 파티셔닝되어 나누어진 하나 하나의 영역
포맷팅
: 파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지를 결정하고, 새로운 데이터를 쓸 준비를 하는 작업
2-1. 아이노드 기반 파일 시스템
아이노드
: 색인 블록으로, 파일의 이름을 제외한 파일의 모든 것이 담겨져 있음.
ex) 파일이 저장된 위치, 속성
EXT4
: 대표적인 아이노드 기반 파일 시스템으로 각 블록 그룹은 슈퍼 블록, 그룹 식별자, 블록 비트맵, 아이노드 비트맵, 아이노드 테이블, 데이터 블록으로 구성된다.
슈퍼 블록
: 아이노드의 개수, 총 블록 개수, 블록 크기 등 전체적인 파일 시스템의 정보를 저장
그룹 식별자
: 블록 그룹에 대한 메타데이터를 저장
블록 비트맵
: 현재 블록 그룹 내에서 데이터가 어떻게 할당되었는지를 저장
아이노드 비트맵
: 현재 블록 그룹 내에서 아이노드가 어떻게 할당되었는지를 저장
아이노드 테이블
: 각 파일의 아이노드 정보를 저장
데이터 블록
: 각 파일의 데이터를 저장
아이노드 기반 파일 시스템에서는 데이터 영역에 공감이 남아 있어도 아이노드 영역이 가득 차 더이상의 아이노드를 할당할 수 없다면 운영체제는 새로운 파일을 생성할 수 없다.
2-2. 하드 링크, 심볼릭 링크
하드 링크
: 원본 파일과 같은 아이노드를 공유하는 파일을 의미.
하드 링크 파일을 변경하면 원본 파일도 변경된다. 원본 파일이 삭제되더라도 하드 링크 파일로 파일 데이터에 접근할 수 있다.
ex) 동일한 파일을 여러 이름으로 참조할 때
심볼릭 링크
: 원본 파일을 가리키는 파일을 의미.
원본 파일의 위치만을 저장하기 때문에 원본 파일이 삭제되는 경우 사용이 불가능하다.
ex) 복잡한 경로에 있는 파일을 바로가기 파일의 형태로 참조할 때
2-3. 마운트
마운트
: 저장장치의 파일 시스템에서 다른 저장장치의 파일 시스템으로 접근할 수 있도록 파일 시스템을 편입시키는 작업
'컴퓨터 과학 > 운영체제' 카테고리의 다른 글
[운영체제] 부팅의 과정 + 가상머신 vs 컨테이너 (0) | 2025.03.13 |
---|---|
[운영체제] 가상 메모리 (0) | 2025.03.11 |
[운영체제] CPU 스케줄링 (0) | 2025.03.11 |
[운영체제] 동기화와 교착 상태 (0) | 2025.03.11 |
[운영체제] 멀티프로세스와 멀티스레드 (0) | 2025.02.03 |