Skip to content

Latest commit

 

History

History
221 lines (115 loc) · 8.73 KB

15장_파일시스템_김민지.md

File metadata and controls

221 lines (115 loc) · 8.73 KB

파일

: 보조기억장치에 저장된 관련 정보의 집합 → 의미있고, 관련있는 정보를 모은 논리적 단위

모든 파일은 이름, 실행 정보, 부가 정보(속성, 메타데이터) 의 정보로 이루어져 있음

  • 윈도우

    image


  • 파일 속성

    image

    • 유형 : 확장자를 이용해서 운영체제에게 알려줌

      image

파일을 다루는 모든 작업 (파일의 생성, 삭제, 열기, 닫기, 읽기, 쓰기) → 운영체제는 시스템 호출 지원

디렉터리 (폴더)

파일을 관리하기 위해 이용됨

  • 1단계 디렉터리

    image

    옛날 운영체제는 하나의 디렉터리만 있었음

  • 트리 구조 디렉터리

    image

    루트 디렉터리는 “ / ” 로 표현

자연스럽게 생긴 개념이 “경로”

생성, 삭제, 열기, 닫기, 읽기 → 운영체제는 시스템 호출 지원

절대 경로 / 상대 경로

이 파일 구조 사진을 보고 예시를 들어보겠습니다!

image

같은 디렉토리 내에는 같은 이름 파일 X, but 경로가 다르다면 같은 이름 가능

❓ 절대 경로 : 루트 디렉토리에서 자기 자신까지 이르는 고유한 경로 → /home/minchul/a.sh

❓ 상대 경로 : 현재 위치한 디렉토리에서 시작하는 경로

질문

💡 그럼 파일과 디렉터리는 다른 별개의 존재인가??

→ 디렉터리는 “특별한 형태의 파일”

  • 파일이 내부에 해당 파일과 관련된 정보를 가지고 있다면, 디렉터리는 내부의 대상과 관련된 정보를 가짐

    image

    파일시스템마다 다를 수 있음, 위치를 유추할 수 있는 정보가 담긴다는게 포인트


아래 파일 구조를 예시로 들겠습니다.

image

home 디렉터리 테이블을 보면 다음과 같이 구성되어있습니다.

image

이때 . 은 현재 디렉터리 home을 의미, ..은 상위 디렉토리를 의미합니다.

image

다음과 같이 home 디렉터리에서 minchul 디렉터리의 저장된 곳을 알 수 있기에 이동할 수 있습니다.


파일시스템

💡 파일 시스템?? 파일과 디렉토리를 보조기억장치에 정리하고, 접근 할 수 있게 해주는 운영체제의 내부 프로그램

다양한 종류가 있음, 한 컴퓨터에서 여러 파일시스템 사용가능

파일 시스템은 보조기억장치에 어떻게 저장하고 어떻게 저장된 파일,디렉터리에 접근??

파티셔닝과 포매팅

사용된 적이 한번도 없는 새 하드디스크, SSD가 있다! → 곧바로 파일을 생성하거나, 저장 할 수 없다!

→ 보조 기억 장치를 사용하려면, 파티션을 나누는 작업인 파티셔닝과 포맷을 하는 작업인 포매팅을 거쳐야 함

파티셔닝

: 저장 장치의 논리적인 구획을 나누는 작업

image

나누어진 영역 하나 하나를 파티션이라 함

포매팅

: 파일 시스템을 설정하여 어떻게 파일을 저장,관리 할것인지 결정 / 새 데이터 쓸 준비

→ 이때 어떤 종류의 파일 시스템을 사용할지 결정

image

파일 시스템은 여러 종류가 있고, 파티션 마다 다르게 설정 가능

  • 저장 장치를 완전히 삭제하는 것이 아닌가요??

    저수준 포매팅 : 생성 당시 공장에서 수행되는 물리적 포매팅

    논리적 포매팅 : 파일 시스템을 생성하는 포매팅

파일 할당 방법

  • 운영체제는 파일과 디렉터리를 블록 단위로 읽고 씀.

    image

    • 하드디스크의 가장 작은 단위는 섹터
    • 하나 이상의 섹터를 묶어 블록으로 저장 → 개수도 많고 크기도 작아서
    • 하나의 파일이 보조기억 장치에 저장 될땐, 하나 이상의 블록으로 저장

    image

    오늘 날 사용되는 방법은 불연속 할당

연속 할당

image

가장 단순한 방식, 보조 기억 장치 내에 연속적으로 블록을 할당 파일의 첫번째 블록 주소와, 블록의 길이만 알면 파일에 접근이 가능함

단점 : 외부 단편화 야기

❓ 외부 단편화?

image

D,F 삭제해도 크기가 7 이상은 못담는 것 (블록이 남아도)

불연속 할당 - 연결 할당

image

파일이 이루는 데이터를 연결 리스트로 관리 → 연속할당의 문제 해결

10 → 5 → 13 → 2 처럼 4개의 블럭이 할당된다고 할 때, 내부에 다음 블럭의 위치를 가짐 (-1은 마지막 이라는 뜻)

단점 :

  1. 첫 번째 블럭 부터 읽어야 합니다. → 임의 접근 속도가 매우 느림 ex)영화
  2. 하드웨어 고장, 오류 발생 시 해당 블록 이후 블록은 접근 불가능

→ 살짝 변형해서 사용하기로 함 → FAT

불연속 할당 - 색인 할당

image

파일의 모든 블록 주소를 색인 블록이라는 하나의 블록에 저장

색인 할당을 기반으로 만든 파일 시스템 → 유닉스 파일 시스템

파일시스템 살펴보기

FAT 파일 시스템 - 파일 할당 테이블

연결할당의 단점을 보완한 파일 시스템임

image

image

image

유닉스 파일 시스템

색인 할당 기반

색인 블럭을 i-node 라고 지칭 image

  1. 블록 주소 중, 열 두개에는 직접 블록 주소를 저장합니다.
  2. 1의 내용으로 충분하지 않다면 열 세번째 주소에 단일 간접 블록 주소를 저장합니다.
  3. 2의 내용으로 충분하지 않다면 열 네번째 주소에 이중 간접 블록 주소를 저장합니다.
  4. 3의 내용으로 충분하지 않다면 열 다섯번째 주소에 삼중 간접 블록 주소를 저장합니다.

image