운영체제

파일시스템

medai0 2025. 2. 2. 22:36

파일 시스템

: 파일관리자를 두어 저장장치의 관리를 맡기는 시스템(사용자가 직접 파일을 보관하지 않음->시스템 자원 보호)

파일 관리자는 파일 테이블을 사용하여 파일을 관리

사용자가 특정 파일에 접근하려면 : 파일관리자로부터 파일에 접근할 수 있는 권한을 획득해야 함

기능 설명
파일 구성 사용자의 요구에 따라 파일과 디렉터리를 만든다
파일 관리 파일 생성, 수정, 삭제 등의 관리를 하고
수시로 조각모음을 하여(디스크 수명저하)사용자가 파일에 빨리 접근할 수 있도록 한다
접근 권한관리 다른 사용자로부터 파일을 보호하기 위해 접근 권한을 관리한다
접근 방법제공 파일을 읽고 쓰고 실행할 수 있도록 사용자에게 접근 방법을 제공한다
무결성 보장 파일의 내용이 손상되지 않도록 무결성을 보장한다
백업과 복구 사고로부터 파일을 보호하기 위해 백업과 복구 작업을 한다
암호화 파일을 암호화 하여 악의적인 접근으로부터 파일을 보호한다

 

 

블록: 컴퓨터가 데이터를 전송하는 가장 작은 단위

한 블록에 주소를 하나씩 할당

여러개의 섹터로 구성됨

블록의 크기는 시스템마다 다름

 

블록의 크기를 작게 설정하면

내부단편화 감소->저장장치의 효율성 증가

파일이 여러 블록으로 나뉨 ->파일 입출력 속도가 느려짐

 

큰 파일을 많이 사용할 때는 블록 크기를 크게 잡는 것이 좋음

 

실행파일:운영체제가 메모리로 가져와 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