본문 바로가기
CS/Operating System

디스크 스케줄링

by JHyun0302 2023. 8. 31.
728x90

파티션 (Disk Partition) : 하드디스크 같은 저장장치를 논리적으로 분할하는 작업

  • Windows : 저장장치에 알파벳 순으로 드라이브 이름 부여
  • Linux : 각 파티션에 파일시스템을 설치 후 특정 디렉토리에 마운트하여 접근

 

 

 

 

 

포멧 (Disk Format) : 디스크에 파일 시스템 설치 & 모든 섹터 내의 데이터 지움

  • 빠른포맷 : 파일 테이블만 초기화
  • 느린포맷 : 파일 테이블 초기화 & 모든 섹터 내의 데이터를 지움

 

 

 

 

 

 

블록 (Block) : 한번에 데이터를 읽거나 쓰는 기본 단위

  • 파일 시스템의 논리적 블록 크기: 4KB ~ 64 KB
  • 하드디스크의 물리적 블록(섹터) 크기: 512 byte

 

 

 

 

 

 

 

 

 

리눅스 파일 시스템 구조

 

 

  • 부트 블록(boot block) : 운영체제 부팅에 필요한 부트스트랩 코드를 저장
  • 슈퍼 블록(super block) : 파일 시스템 정보 저장
  • 아이노드 블록(inode block) : 파일에 대한 정보 저장 (1개 파일은 1개 아이노드 가짐)

 

 

 

조각 모음 : 하드 디스크 내 빈 공간 없애는 작업 (단, USB, SSD 같은 반도체에는 조각 모음 필요 X)

 

 

 

 

 


디스크 스케줄링

 

 

디스크의 데이터 전송 시간 : 탐색 시간+회전 지연 시간+ 전송 시간

  • 탐색 시간 (seek time) : 헤드 → 특정 트랙
  • 회전 지연 시간 (rotational latency time) : 헤드 → 트랙 내 섹터
  • 전송 시간 (transfer time) : 헤드 → 섹터 내 데이터를 메모리에 전송

 

 

 

물리적 블록 데이터 읽기

 

 

 

 

 

 


FCFS 디스크 스케줄링 (first come first served disk scheduling)

 

입출력 요청을 받은 순서대로 트랙 이동

 

 

 

 

 


SSTF 디스크 스케줄링 (shortest seek time first disk scheduling)

 

현재 위치에서 가장 가까운 트랙으로 이동

 

 

 

장점 : FCFS보다 우수

 

 

단점 : 헤드에서 멀리 있는 트랙은 starvation 발생

 

 

 

 

 


SCAN 디스크 스케줄링 (SCAN disk scheduling)

 

SSTF의 starvation 해결

 

 

 

 

 

장점 : FCFS보다 우수

 

 

단점 : 바깥쪽 트랙은 starvation 발생, 중앙 트랙은 2번씩 접근

 

 

 

 

 


C - SCAN 디스크 스케줄링 (circular SCAN  disk scheduling)

 

SCAN의 중앙 트랙 2번씩 접근하는 문제 해결

 

 

 

 

 

 

 

 

단점 : 바깥쪽 트랙은 starvation 발생

 

 

 

 

 


LOOK 디스크 스케줄링 (LOOK  disk scheduling)

 

SCAN의 양 끝 접근을 최소화

 

 

 

 

 

 

장점 : 헤드의 트랙 이동 줄임

 

 

 

 

 


C - LOOK 디스크 스케줄링 (circular LOOK  disk scheduling)

 

헤드가 한 방향으로만 이동

 

 

 

 

 

 

 

장점 : 헤드의 트랙 이동 줄임

 

 

반응형

'CS > Operating System' 카테고리의 다른 글

분산 시스템  (0) 2023.09.01
디스크 할당  (0) 2023.09.01
요구 페이징 & 페이지 교체 알고리즘  (0) 2023.08.31
메모리 주소 & 메모리 할당  (0) 2023.08.31
프로세스 간 통신 & 임계 영역  (0) 2023.08.31