파일 시스템
: 파일관리자를 두어 저장장치의 관리를 맡기는 시스템(사용자가 직접 파일을 보관하지 않음->시스템 자원 보호)
파일 관리자는 파일 테이블을 사용하여 파일을 관리
사용자가 특정 파일에 접근하려면 : 파일관리자로부터 파일에 접근할 수 있는 권한을 획득해야 함
기능 | 설명 |
파일 구성 | 사용자의 요구에 따라 파일과 디렉터리를 만든다 |
파일 관리 | 파일 생성, 수정, 삭제 등의 관리를 하고 수시로 조각모음을 하여(디스크 수명저하)사용자가 파일에 빨리 접근할 수 있도록 한다 |
접근 권한관리 | 다른 사용자로부터 파일을 보호하기 위해 접근 권한을 관리한다 |
접근 방법제공 | 파일을 읽고 쓰고 실행할 수 있도록 사용자에게 접근 방법을 제공한다 |
무결성 보장 | 파일의 내용이 손상되지 않도록 무결성을 보장한다 |
백업과 복구 | 사고로부터 파일을 보호하기 위해 백업과 복구 작업을 한다 |
암호화 | 파일을 암호화 하여 악의적인 접근으로부터 파일을 보호한다 |
블록: 컴퓨터가 데이터를 전송하는 가장 작은 단위
한 블록에 주소를 하나씩 할당
여러개의 섹터로 구성됨
블록의 크기는 시스템마다 다름
블록의 크기를 작게 설정하면
내부단편화 감소->저장장치의 효율성 증가
파일이 여러 블록으로 나뉨 ->파일 입출력 속도가 느려짐
큰 파일을 많이 사용할 때는 블록 크기를 크게 잡는 것이 좋음
실행파일:운영체제가 메모리로 가져와 cpu를 이용하여 작업하는 파일
기계어로 변환된 코드가 탑재되니 파일 ex).exe파일
데이터파일:실행 파일이 작업하는데 필요한 코드(아스키코드)를 모아놓은 파일 ex).py파일
파일 이름 : 경로를 포함하여 최대 255자(한글은 127자)
윈도우 운영체제에서 사용 불가능한 이름
문자:|\:*?“<>
이름:con prn aux nul com1~9 LP1~9(영어는 모두 대문자)
확장자: 데이터의 종류를 구분하기 위한 표시명 ex)mp3,txt등
대부분 3자 이하
파일이름에 사용된 여러개의 마침표 중 마지막 마침표 다음의 글자가 확장자
확장자를 바꾼다고 해서 파일의 내용이 바뀌지 않음
파일헤더 : 파일 테이블에서 관리
파일의 이름,종류,크기,시간,접근 권한 등과 같은 일반적인 내용 및
파일이 저장장치의 몇 번째 블록에 있는지에 대한 정보 저장
고유헤더 : 데이터 파일에 저장된 내용에 대한 정보(파일의 버전 번호,크기,특수정보 등)
순차파일구조: 파일 내용이 하나의 긴 줄로 늘어선 형태
장점: 모든 데이터가 순서대로 기록되기 때문에 저장공간이 낭비되지 않음
구조가 단순(테이프는 물론 플로피디스크나 메모리를 이용한 저장장치에도 적용가능)
데이터를 읽거나 저장할 때 마우 빠르게 처리됨
단점: 파일에 새로운 데이터를 삽입하거나 삭제할 때 시간이 오래걸림
(항상 앞에서부터 순서대로 움직이기 때문)
직접 파일 구조: 데이터의 값에 어떤 관계를 정의하여 물리적인 주소로 변환하는 구조
특정 함수를 이용하여 직접 접근 가능(해시함수)
장점: 데이터 접근이 매우 빠름(해시 함수를 이용하여 바로 주소를 변환)
단점: 적합한 해시 함수를 찾기가 어려움(전체 데이터가 고르게 저장될 수 있어야함)
인덱스 파일 구조:순차 파일 구조에 인덱스 테이블(파일테이블)을 추가
->순차접근과 직접 접근 가능
현대의 파일 시스템은 인덱스 파일 구조
: 파일을 저장할 때는 순차 파일 구조로 저장
파일에 접근할 때는 인덱스 테이블을 보고 원하는 파일에 직접 접근
디렉터리: 관련있는 파일들을 한데 모아놓은 곳
=윈도 운영체제의 폴더
1개 이상의 자식 디렉터리 저장 가능
1개이상의 파일 저장 가능
->하나의 디렉터리에는 여러개의 파일과 자식 디렉터리 존재
[디렉터리의 계층구조]
: 디렉터리는 여러층으로 구성 가능
루트 디렉터리: 디스크 파티션 최상위에 있는 디렉터리
디렉터리 파일
: 디렉터리도 파일 ->디렉터리에 포함된 파일/디렉터리들의 정보저장
디렉터리 헤더
: 디렉터리의 이름, 만든시간, 접근권한 등의 정보저장
경로: 파일이 전체 디렉터리 중 어디에 있는지를 나타내는 정보
한 디렉터리에는 같은 이름을 가진 파일이 존재할 수 없음(서로 다른 디렉터리에는 같은 이름의 파일 저장 가능)
1단계 디렉터리 구조
: 초창기 컴퓨터 시스템이 사용하던 구조
특징: 루트 디렉터리에만 새로운 디렉터리 생성가능
일반 디렉터리 안에 자식 디렉터리 생성 불가
다단계 디렉터리 구조 : 단계 확장에 제약이 없음
일반 디렉터리 안에 파일과 디렉터리 둘다 저장 가능
‘바로가기’링크를 포함한 디렉터리 구조
:‘바로가기’ 때문에 그래프 구조로 설계됨 (그래프= 트리+사이클)
기존의 디렉토리 구조는 트리구조
[디스크 파일 할당]
연속할당 방식: 파일을 구성하는 데이터를 디스크의 연속된 블록에 저장하는 방식
실제로 거의 사용되지않음(디스크에 파일의 크기와 맞는 연속된 빈 공간이 없을 때는 연속할당이 불가능하기때문)
불연속 할당 방식: 비어있는 블록에 데이터를 분산하여 저장(이에 관한 정보를 파일시스템이 관리)
1)연결 할당(연결 리스트를 이용)
2)인덱스 할당(인덱스를 이용)
연결할당: 파일에 속한 데이터를 연결 리스트로 관리하는 방식
파일 제어 테이블에는 시작 블록에 대한 정보만 저장(나머지 데이터는 시작 블록부터 연결하여 저장)
=체인할당(파일구조가 체인으로 연결한 것처럼 보여서)
윈도우에서 사용하는 파일 시스템
인덱스 할당
-테이블의 블록 포인터
:데이터의 인덱스를 담고 있는 인덱스 블록을 연결
데이터 블록을 직접 연결하는 것이 아님
인덱스 블록:실제 데이터의 위치에 관한 정보를 순서대로 보관
[디스크 빈 공간 관리]
빈공간 리스트: 빈 블록의 정보만 모아 큐의 형태로 저장하고 있는 자료구조
디스크의 내부 단편화를 줄이고 빈 공간을 효율적으로 관리
파일 삭제: 파일 테이블의 내용을 삭제하고 사용했던 블록을 빈 공간 리스트에 등록
새파일저장:리스트에 있는 블록 중 맨 앞의 블록에 할당
'운영체제' 카테고리의 다른 글
입출력 시스템과 저장장치 (0) | 2025.01.18 |
---|---|
프로세스 동기화 (0) | 2024.12.22 |
컴퓨터의 구성 (1) | 2024.11.24 |
운영체제의 역할 (3) | 2024.10.27 |