-
11-1. File system_Disk systme(디스크는 어떻게 이루어져있나?)OS/os 공부 2022. 1. 25. 21:02
파일(데이터)는 어디에 저장이 될까?
디스크라는 HW에 저장이 된다. 그럼 우선 DISK에 대해 알아보도록하자.
Disk System
하드디스크의 구조 우리가 일반적으로 알고있는 하드디스크를 분해해 보면 위와 같이 생겼다.
Disk Pack
파일의 정보/데이터는 Disk pack 에 저장되며 비휘발성으로 데이터의 영구 저장장치이다.
Disk Pack의 구성을 살펴보자자.
1. Sector
> sector 는 제이터 저장/ 판독의 물리적 단위로 0/1의 데이터를 저장해 원하는 데이터를 저장 할 수있다.
2. Track
> Platter 의 중심에서 같은 거리에 있는 sector들의 집합
3. Cylinder
> 같은 반지름을 갖는 track의 집합
4. Platter
> 양면에 자성 물질을 입힌 원형 금속판으로 데이터의 기록 및 판독이 가능한 기록매체
5. Surface
> Platter의 윗면과 아랫면
Disk drive
Disk drive는 Disk pack에 데이터를 기록/판독할 수 있도록 구성된 장치를 말한다.
구성은 다음과 같다.
1. Head : 디스크 표면에 데이터의 기록 /판독을 담당
2. Arm : Head를 고정 및 지탱
3. Positioner(boom) : Arm을 지탱하고 Head를 원하는 track으로 이동
4. Spindle : Disk pack을 고정하는 회전 축
RPM(Revolutions Per Minute) 분당회전수
Disk Address
디스크 드라이브에서 원하는 섹터를 찾아가려면 어떠한 정보가 필요할까?
아래 a 또는 b 처럼 몇번째 몇번째 실린더에 있는지 어느 surface에 있는지 몇번째 섹터에 있는지를 알아야 할것이다.
그런데 OS입장에서 어느 제조자의 Disk system이 어떤형식으로 주소를 형성하공 있는지 모른다. 따라서 OS는 Disk system의 데이터 전체를 그냥 block 들의 나열로 생각한다. 이것을 Logical disk address 또는 relative address라고 한다.
OS가 생각하는  Disk address 그럼 OS가 B0의 데이터를 부르려고 요청하면 이를 실제 PA로 바꿔줄 역할을 하는 무언가가 필요한데 이게 바로 우리가 어떠한 HW를 받으면 설치하게 되는 Disk driver이다.
Data Access in Disk System
이제 디스크에 쓰여있는 데이터에 접근하는 과정을 알아보자.
1. 먼저 디스크의 head를 필요한 cylinder로 이동시키다. 이때 소요되는 시간을 Seek time 이라 부른다.
2. 데이터가 저장된 sector를 head가 위치한 곳까지 회전시킨다. 이때 소요되는 시간을 Rotational time 이라 부른다.
3. 해당 sector를 읽어서 전송/기록한다. 이때 소요되는 시간은 Data transmission time 이라 부른다.
우리가 일반적으로 Disk Access time이라 말하는 시간은 위의 3가지 과정에 소요되는 시간을 모두 더한 값이다.
이제 왜 disk에서 파일을 읽어오는데 시간이 오래걸리는지 알것 같다. :)
'OS > os 공부' 카테고리의 다른 글
11-3. Directory Structure (0) 2022.01.26 11-2. File System overview (0) 2022.01.25 10-5. VM. Management 시 기타 고려해야 할 사항들 (0) 2022.01.12 10-4. VM. Management_Replacement Strategies_variable allocation (0) 2022.01.12 10-3. VM. Management_Replacement Strategies_fixed allocation (0) 2022.01.12