본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다.
파일과 파일 시스템
# 파일의 개념
- 파일 : 정보의 집합체
- 보통 보조기억 장치 속에 저장되어 있고, 주로 프로그램 파일 또는 데이터 파일
- 하나의 파일은 디스크 내 여러 개의 섹터로 구성
- 가상메모리 : 오브젝트 파일을 프로세스와 연관시키기 위한 추상화
- 장치 파일 : 모든 입축력 장치를 파일이라는 개념으로 일관성 있게 추상화
- 추상화 실현을 위해 파일 시스템 존재
# 파일시스템
- 저장장치는 선형적인 주소를 가진 바이트의 블록만을 저장
- 파일 시스템은 저장장치와 응용프로그램 간의 자료구조 차이점을 해결
- Stream-block Translation : 기억장치의 블록을 음수가 아닌 정수 값을 갖는 연속된 주소를 가진 바이트의 집합으로 변환
- Record-stream translation : 응용프로세스의 자료구조로 변환 - 바이트 스트림 파일
- Stram-Block translation에 의해 생성되는 파일
- file descriptor : 각 파일에 대한 상세 정보를 저장한 자료구조
# 파일의 조작
- 파일 생성
- 파일 열기
- 파일 읽기
- 파일 기록
- 파일 삭제
디렉토리
# 디렉토리 시스템
- 디렉토리 (폴더) : 자신에게 속하는 모든 파일과 부 디렉토리의 목록을 가진 자료구조의 파일
- 그래프 디렉토리 : 임의 파일이나 디렉토리가 서로 다른 두 개 이상의 디렉토리로 부모로 가질 수 있고 사이클을 형성할 수도 있음
- 융통성 좋음
- 서로 다른 경로 이름이 같은 파일 가리키는 경우
- 복잡 , 고아가 된 포인터 같은 문제 발생 가능 - 계층 구조 디렉토리
- 하나의 root 디렉토리가 다른 디렉토리나 파일을 포인트 - 트리구조
- 계층 구조의 가장 간단한 예 - 절대경로 : root에서부터 지정된 파일까지의 모든 경로
- 상대경로 : 현재 디렉토리 기준으로 목적하는 파일까지의 경로
블록 할당
# 디스크 공간 할당
- 디스크 공간의 효율적 관리와 성능이 목적
- 디스크 공간할당 이전에 빈 공간 관리 방법 필요
- 연속할당 : 임의 한 파일을 위해 디스크 내에 선형적으로 연속된 블록을 할당하는 방법
- 불연속할당 : 임의 한 파일을 위해 디스크 내에 산재딘 블록을 연결하여 할당하는 방법
- 블록이 디스크 내 어느 곳에 잇어도 엑세스 가능
- 연결 할당
- 색인 할당
- 간접 색인 ( 멀티레벨 색인, 혼합색인)
- 연속할당
- 장점 : 빠른 엑세스 가능 , 디렉토리 구현의 단순화 가능
- 단점 : 단편화 발생 - 연결할당
- 파일에 속해 있는 여러 섹터들이 서로 연결된 리스트로 되어 있고 각 섹터 간에는 연결을 위한 포인터를 갖고 있는 형태
- 장점 : 압축 불필요
- 단점 : 검색에 긴 시간, 구조 유지에 추가적 시간 필요, 신뢰성 문제
- FAT (File Access Table) 사용 - 색인할당
- 색인 블록이라는 곳에 포인터를 모아둠으로써 포인터가 산재되어 비효율적인 연결할당의단점 해결
- 장점 : 탐색 빠름
- 단점 : 작은 파일에도 하나의 색인 블록 필요 , 큰 파일은 저장 x - 간접색인
- 상위 색인파일이 하위 색인파일을 인덱싱 - 빈 공간 관리 : 가변 분할 기법에 의한 메모리 할당 방법과 거의 유사
- 연결리스트 : 맨 먼저 나오는 빈공간의 포인터 보유, 순차적으로 다음 빈 공간 접근
- 그룹핑
- 비트맵 (비트벡터)
- 계수
- 공간맵 - 메타슬랩 생성
'LECTURE > [2021-1] 운영체제' 카테고리의 다른 글
[운영체제] 10. 디스크와 RAID 경영 (0) | 2021.06.17 |
---|---|
[운영체제] 8. 가상메모리 (Virtual Memory) (0) | 2021.06.17 |
[운영체제] 7. 메모리 경영 (0) | 2021.06.17 |
[운영체제] 6. 교착 상태 (Deadlock) (0) | 2021.06.17 |
[운영체제] 6. 상호작용 프로세스와 동기화 (0) | 2021.06.17 |