[OS] 스토리지와 입출력

Chris Kim·2024년 10월 28일

공룡책

목록 보기
13/14

출처 인프런 강의

1. Mass-Storage

비 휘발성 메모리, 보조저장장치 시스템이다. 일반적으로 HDD, NVM으로 구성된다.(디스켓 등 종류는 다양하다.)

1.1 HDD 스케줄링

목표는 접근 시간을 최소화 하고 bandwidth를 최대화 하는 것이다.
seek time(탐색 시간)

disk bandwidth

알고리즘

  • FIFO 스케줄링

  • SCAN 스케줄링

  • C-SCAN 스케줄링

1.2 Boot Block

컴퓨터에 전원이 들어올 때, 맨 처음에 실행할 프로그램이 있어야 한다. 부트스트랩 로더는 NVM 플래시 메모리에 저장되고, 알려진 메모리 주소에 위치한다.

1.3 RAID

Redundant Arrays of Independent Disks의 약자다. 데이터 읽기/쓰기 속도를 증가시키고(Parallelism), 데이터 저장의 안정성을 높인다(Redundancy).

2. I/O 시스템

컴퓨터의 주 작업은 계산과 입출력 처리다. 대부분의 경우 입출력 처리가 주 작업이다. 운영체제는 입출력 연산과, 입출력 기기 관리라는 역할을 맡는다.

2.1 Memory-Mapped I/O

입출력 전환을 하기위해 컨트롤에 데이터와 명령어를 프로세서는 어떻게 전달하는가? data-in, data-out, status, control이라는 4개의 레지스터를 이용한다.

2.2 입출력의 3가지 종류

(1) Polling: 반복적으로 status 레지스터를 busy bit가 clear 될 때까지 읽는 것이다.
(2) interupt: CPU는 인터럽트-요청 라인을 가진다.(챕터 1 참고)
(3) DMA(Direct Memory Access): 프로그램된 I/O 사용을 지양함. 큰 데이터를 다룰때 유용하다.

2.3 Blocking I/O, Non-blocking I/O

non-blocking은 즉시 반환이 이뤄진다. 하지만 asynchronous read()는 transfer를 요청만 하고 바로 돌아간다.

3. 파일 시스템

3.1 Access Methods

두 가지가 있다.
(1) Sequential access
(2) Direct access

3.2 Directory Structure

(1) Single-Level Directory
(2) Two-Level Directory

(3) Tree-Structured Directories

(4) Acyclic-Graphic Directories

3.3 Allocation Method

파일 시스템 구현에서 해결해야 하는 문제는 다음과 같다.
(1) 파일들에게 공간을 어떻게 할당할 것인가
(2) 공간을 어떻게 효율적으로 구성할 것인가
(3) 파일에 어떻게 빠르게 접근할 것인가

세 가지 방법이 사용된다.
(1) Contiguous Allocation

(2) Linked Allocation

(3) Indexed Allocation
FAT: File Allocation Table
linked allocation는 파일 접근시 일정한 순서대로 접근해야한다는 단점이 있었다. 이를 위해 파일의 인덱스를 담은 테이블을 사용한다.

이 방법을 통해 Free Space Management 도 달성 할 수 있다.

profile
회계+IT=???

0개의 댓글