13. Disk & File Management

chelseey·2024년 12월 13일

Why Have Disks?

메모리 부족: 디스크를 가상 메모리 시스템의 swap space로 사용.
메모리의 휘발성: 디스크는 장기 저장용으로 사용.

Anatomy of a Disk

Disk Read/Write Operation

  1. 디스크에 섹터 주소 제공
    디스크의 특정 데이터를 찾기 위해 위치를 지정.
    디스크 주소는 드라이브, 표면(플래터),트랙,섹터로 구성.

  2. 헤드를 대상 트랙으로 이동
    디스크 읽기/쓰기 장치의 head가 데이터를 읽을 트랙으로 이동하는 과정.
    이 단계에서 걸리는 시간 = 탐색 시간(Seek Time)

  3. 적절한 헤드 활성화
    여러 플래터(디스크 층) 중에서 적절한 데이터가 있는 층을 선택.
    선택된 플래터의 읽기/쓰기 헤드가 데이터를 읽을 준비를 함.

  4. 대상 섹터가 헤드 아래에 도달할 때까지 대기
    디스크가 회전하면서 데이터가 있는 섹터가 읽기/쓰기 헤드 아래로 올 때까지 기다리는 시간 = 회전 지연 시간(Rotational Latency).

  5. 섹터 읽기/쓰기 수행
    데이터 전송이 시작됨.

Disk Addressing

디스크는 3D 구조(표면, 트랙, 섹터)로 이루어져 있지만,
데이터를 읽거나 쓰기 위해서 이를 1D 논리적 블록(Logical Blocks)으로 변환.

Disk Structure

Logical Block (논리적 블록)

디스크의 외부에서 바라본 단위 정보 저장 공간.
주소를 가진 1차원 배열처럼 취급.
데이터를 저장하고 읽는 기본 단위로 사용.

Sector (섹터)

Logical Block이 물리적 디스크에 매핑된 위치.
Sector 0: 디스크의 최외곽 실린더 첫 트랙에 위치한 첫 번째 섹터.
Sector 0에 Boot Block이 위치하여 부팅에 중요한 역할을 담당.

Disk Management (디스크 관리)

Physical Formatting (low-level 포맷팅 , 물리적 섹터 정의)

: 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터로 나누는 과정.
각 섹터 = Header + 실제 Data + Trailer 로 구성

Header: 섹터 정보 (예: 번호).
실제 Data: 보통 512 bytes.
Trailer: ECC(Error-Correcting Code) 같은 오류 검출 및 수정 정보.

컨트롤러가 섹터에 직접 접근 및 운영.

Partitioning

: 디스크를 여러 실린더 그룹으로 나누는 과정.
운영체제(OS)는 이를 독립적인 Logical Disk로 취급.

Logical Formatting

: 디스크에 파일 시스템을 생성하는 과정.
데이터를 조직화하고 저장/검색 가능하도록 구조를 설정.

Disk Addressing

Cylinder-based Mapping

: 디스크의 주소를 논리적 블록 주소로 변환하는 방식.

하나의 Cylinder는 여러 Surface(표면)로 구성.
각 Surface에는 TrackSector가 존재.

Address Mapping Formula (주소 매핑 공식)

Sector Address → Logical Block Address 변환:

(surface j, track i, sector k) = k + s(j + ip)

p : 디스크 표면 수
s : 한 트랙당 섹터 수

File and File System

File

: A named collection of related information

일반적으로 비휘발성 저장 장치에 정보가 저장됨.
운영체제는 다양한 저장 장치를 동일한 논리적 단위인 file로 간주하여 관리.

File Attribute (파일 속성 또는 metadata)

: 파일 자체의 내용이 아닌, 파일 관리를 위한 정보.

• 포함 정보 :
파일 이름, 유형, 저장된 위치, 파일 크기.
접근 권한 (읽기, 쓰기, 실행).
생성/변경/사용 시간.
파일의 소유자 등.

File System

: 운영체제에서 파일을 관리하는 부분.

• 기능:
파일 및 파일의 메타데이터, 디렉토리 정보를 관리.
파일 저장 방식을 결정.
파일 보호 및 관리.

Directory and Partition

Directory

: 파일의 메타데이터(관리를 위한 정보) 중 일부를 보관하는 특정한 파일.

• 기능:
디렉토리 내에는 파일 이름과 파일 속성(attribute)의 리스트가 포함됨.

Partition (= Logical Disk)

: 하나의 물리적 디스크를 여러 파티션으로 나누거나, 여러 물리적 디스크를 하나의 파티션으로 구성하는 방식.

• 특징:
물리적 디스크를 파티션으로 나눈 후, 각 파티션에 파일 시스템(file system)을 설치하거나 스왑 공간(swapping) 등 특정 용도로 활용 가능.

File System in UNIX

• Boot Block
부팅에 필요한 정보 (ex. bootstrap loader) 가 저장된 블록.

• Super Block
파일 시스템에 대한 전반적인 정보가 포함되어 있는 블록.
ex. 파일 시스템 크기, 사용 가능한 블록 수, inode의 총 개수 등.

Inode List
파일 이름을 제외한 파일의 모든 메타데이터를 관리하는 영역.
ex. 파일의 소유자, 권한, 크기, 생성/수정 시간 등.

• Data Block
파일의 실제 데이터가 저장되는 블록.
파일의 내용이 이 영역에 저장됨.

Partition
: 디스크의 물리적 영역을 논리적으로 분리하여 관리하기 위한 단위.
하나의 파티션에는 위의 블록 구조가 포함되어 있음.

Swap-Space Management

Swap-Space
: Virtual Memory System 에서 main memory의 확장 공간으로 사용하는 영역.
메모리가 부족할 경우 사용하지 않는 데이터를 디스크의 스왑 공간으로 이동하여 메모리 공간을 확보.

• 공간 효율성보다는 속도 효율성이 더 중요.
: 스왑은 일반 파일보다 더 짧은 시간 동안 데이터를 저장하고, 더 자주 참조됨.

• 저장 방식의 차이
: Block 크기와 데이터 저장 방식이 일반 파일 시스템과 다름.

0개의 댓글