• 컴퓨터에서 데이터, 프로그램 등의 파일을 보관하는 체제
  • 파일유형 : 일반 파일, 디렉토리, 장치파일

파일구현 방식

1. 연속 할당 방식

  • 파일을 디스크내에 연속적으로 인접된 공간에 할당
  • 장점 : 물리적으로 인접해 있어 빠른 액세스가 가능
  • 단점 : 새로운 파일을 생성하기 위해 공간을 미리 명시해야함, 주기적인 재배치가 필요

2. 연결 할당 방식

  • 디스크내에서 떨어져 있는 블록들을 연결시켜 할당
  • 파일 접근 속도가 느리다

3. 인덱스 할당 방식

  • 인덱스 정보를 이용하여 모든 파일 블록의 포인터를 관리
  • 분산 저장된 블록에 대해 직접 접근이 가능

Unix/Linux 파일시스템 구조

  1. Boot Block : 부팅에 필요한 정보
    • 모든 파일시스템이 갖고 있음
  2. Super Block : 파일 시스템에 관한 총체적인 정보
  3. I-node Block : 파일 이름을 제외한 모든 메타 데이터
    • I는 index를 뜻함
    • 파일 이름은 디렉토리가 갖고 있음
  4. Data Block : 파일의 실제 내용

하드디스크(HDD)

  • 자기장을 이용해 플래터라는 금속 회전판 위에 데이터를 기록

하드디스크 구조

  1. 헤드(Head) : 데이터를 읽어주는 장치
  2. 트랙(Track) : 동심원을 따라 나뉘어진 부분 (가장 바깥쪽이 0부터 시작해서 안쪽으로 들어오면서 번호가 커짐)
  3. 섹터(Sector) : 트랙내의 나뉘어진 부분
  4. 실린더(Cylinder) : 디스크 내의 모든 플래터에서 같은 트랙인 부분들의 집합

하드디스크 접근시간

  • 하드디스크에서 데이터를 읽어오기 위해서는 여러 과정이 필요하다
  • 데이터를 읽어오기 위해서는 탐색시간 + 회전지연시간 + 전송시간이 소요된다.
  • 탐색시간이 제일 오래 걸리며 이를 줄이기 위해 디스크 스케줄링(링크)가 존재한다.
  1. 탐색시간(Seek Time) : 해드를 원하는 트랙으로 옮기는 시간
  2. 회전 지연 시간(Ratational Latency Time) : 헤드를 탐색된 트랙 내에서 원하는 섹터로 옮기는 시간
  3. 전송시간(Data Transfer Time) : 위치된 헤드가 실제로 데이터를 읽어 전송하는 시간