ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 하드 디스크의 구성 및 스케줄링
    Computer Engineering/운영체제 2022. 11. 14. 12:20

    하드디스크

    • 컴퓨터의 보조 기억장치로, 비휘발성 저장장치이다.

    하드디스크 드라이브

     

     

    하드디스크의 구조

    하드 디스크의 외부 구조 / 하드디스크의 내부 구조

     

    1. 전원 커넥터 : 전원을 공급하는 역할
    2. 데이터 커넥터 : 하드디스크와 컴퓨터 사이의 데이터 전송해주는 역할
    3. 헤드 : 데이터를 읽고 쓰는 역할
    4. 엑츄에이터 / 디스크 암 : 헤드를 움직이는 팔 역할
    5. 플래터 : 하드디스크 내부의 데이터가 저장되는 공간
      • 자기를 이용하여 0과 1의 데이터를 저장
      • 플래터의 표면이 N극 = 0, S극 = 1

    섹터

    • 하드디스크의 가장 작은 저장 단위
    • 하나의 섹터에 한 덩어리의 데이터 저장

    블록 / 클러스터

    • 여러 개의 섹터로 구성되어 있는 저장 단위
    • 하드디스크와 컴퓨터 사이에 데이터를 전송하는 논리적 저장 단위 중 가장 작은 단위
    • 윈도우 운영체제에서는 클러스터 Cluster라고 표현

    트랙 : 회전축을 중심으로 동일한 동심원상에 있는 섹터의 집합

    실린더 : 여러 개의 플레터에 있는 같은 트랙의 집합

    섹터 < 클러스터 < 트랙 < 실린더

     

     

     

     

     

    하드디스크 플래터와 CD의 디스크 회전

    각 속도 일정 방식

    • 단위 시간 당 디스크의 이동 각도가 같은 방식
    • 바깥 트랙의 속도 > 안쪽 트랙의 속도 → 섹터의 크기도 다름
    • 디스크가 일정한 속도로 회전하기에 구동 장치가 단순하고 조용함
    • 바깥 트랙으로 갈 수록 공간이 낭비됨

    선 속도 일정 방식

    • 단위 시간 당 디스크의 이동 거리가 같은 방식
    • 헤드가 안쪽 트랙에 있을 때는 디스크의 회전속도를 빠르게 하고, 헤드가 바깥쪽 트랙에 있을 때는 디스크의 회전속도를 느리게 해야 구현 가능
    • 각 속도 일정 방식과 달리 낭비되는 공간이 없음
    • 모터 제어가 복잡하고 소음 발생

     

     

    하드디스크 플래터의 회전 방식

     

     

    하드디스크의 데이터 전송 과정

     

    데이터 전송 시간 = ①탐색시간 + ②회전 지연 시간 + ③전송 시간

     

     

     

    디스크 장치 관리

    파티션 

    • 디스크를 논리적으로 분할하는 작업

    디스크와 파티션의 관계

    마운트 mount

    • 유닉스 운영체제에서 여러 개의 파티션을 하나로 통합하는 기능

     

     

    포매팅

    • 디스크에 파일 시스템을 탑재하고 디스크 표면을 초기화하는 작업
    • 빈 저장장치에 파일 테이블을 탑재
      • 빠른 포매팅 : 데이터는 그대로 두고 파일 테이블을 초기화
      • 느린 포매팅 : 디스크 표면을 모두 초기화

    저장 장치에 탑재된 파일 테이블

    조각 모음

    • 하드 디스크의 섹터, 블록들을 정렬

    하드디스크 조각 모음

     

     


     

    하드디스크 스케줄링

    • 트랙의 이동을 최소화하여 탐색 시간을 줄이는 것이 목적

    FCFS 디스크 스케줄링 ( First Come, First Service disk scheduling )

    • 요청이 들어온 순서대로 서비스
    • 헤드 이동 거리 : 7 +9 + 6 + 8 +20 + 4 + 5 + 6 = 65

     

    SSTF 디스크 스케줄링 ( Shortest Seek Time First disk scheduling ) 

    • 지역성에 따라 가장 가까운 트랙부터 서비스
    • 헤드 이동 거리 : 1 + 3 +3 + 1 +3 +12 +3 5 = 31
    • 효율성은 좋으나, 아사 현상 발생

     

    블록 SSTF 디스크 스케줄링 

    • SSTF + 그룹화
    • 트랙 요청을 일정 블록 형태로 묶어서 
    • 헤드 이동 거리 : 2 + 9 + 3 + 8 +20 + 3 +1 +5 = 51
    • 에이징을 사용하여 공평하지만, 성능이 좋지 못함

     

    SCAN 디스크 스케줄링

    • 진행중인 방향으로만 끝까지 진행
    • 헤드 이동 거리 : 1 + 3 + 5 + 3 + 17 + 2 + 1 + 3 = 38
    • 동일한 요청이 발생하면 헤드가 나아가지 못해 바깥 트랙이 아사 현상을 겪음

     

    C-SCAN 디스크 스케줄링 Circular SCAN

    • 반대방향으로 돌아갈때 서비스하지 않고 이동만 함
    • 헤드 이동 거리 : 1 + 3 + 3 + 5 + 3 + 24 + 1 + 3 + 1 +2 = 46
    • 작업 없이 헤드를 이동하여 매우 비효율적

     

    LOOK 디스크 스케줄링 

    • 앞을 보고 LOOK하고 서비스할 트랙이 없으면 중간에 방향을 바꿈
    • 헤드 이동 거리 : 1 + 3 + 3 + 5 + 17 + 2 + 1 + 3 = 35

     

    C-LOOK 디스크 스케줄링 

    • C-SCAN 디스크 스케줄링 + LOOK 버전
    • 헤드 이동 거리 : 1 + 3 + 3 + 5 + 20 + 3 + 1 + 2 = 38

     

    SLTF 디스크 스케줄링 Shortest Latency Time First disk scheduling

    • 디스크의 회전방향에 맞춰 재정렬

     

     

     

    더보기

    ⊙ 이 글은 개인 공부를 목적으로 작성된 글입니다.

    ⊙ 내용에 대한 오류나 피드백 감사히 받고 있습니다 !

    반응형

    'Computer Engineering > 운영체제' 카테고리의 다른 글

    스레싱과 프레임할당  (0) 2022.11.14
    CPU 스케줄링  (0) 2022.11.14
    프로세스와 스레드  (0) 2022.10.31
    병렬 처리의 개념  (0) 2022.10.31
    CPU의 메모리 접근 구조  (0) 2022.10.28
Designed by Tistory.