컴퓨터(Computer Science)/운영체제(Operation System)

Disk Management, 디스크 관리 [운영체제]

게임이 더 좋아 2020. 6. 11. 01:38
반응형
728x170

 

디스크는 느리다 뭐다

그래서 지금까지 배워왔고

이제 디스크가 뭔지 알아 보려고 한다.

 

 

일반적인 디스크를 기준으로 설명한다.

디스크의 최소 단위는 섹터고 (물리적)

디스크 외부에서는 logical block( 논리적) 으로 사용한다.

 

 

** Sector 0은 일반적으로 부팅과 관련된 정보가 들어있다.

 

 

 

섹터에는 데이터만 단독 저장이 되는 것이 아니라

head와 trailer가 같이 저장된다.

에러 검출 코드나 섹터 번호와 같은 것들이 같이 저장된다.

 

 

부팅이 된다면

당연히 메인 메모리는 Volatile이기 때문에 다 비어있을 것이다.

그래서 ROM이라는 비휘발성 영역을 이용한다.

ROM의 주소로 가서 0번 섹터의 내용을 메모리에 적재하고 실행하는 것이다.

결국 디스크에 있는 부팅영역을 실행하게 되어  OS는 부팅이 된다.

 


위에서 봤듯이

Disk에서는 3가지 시간 종류가 있다. 3가지가 총 접근시간을 결정한다.

 

1. Seek Time - 헤드가 실린더로 움직이는 시간 (가장 비중이 큼)

2. Rotational Latency - 헤드가 해당 섹터까지 걸리는 회전 지연시간

3. Transfer time - 실제 데이터가 전송되는 시간

 

결국 디스크도 요청하는 것을 전송하기 위해서

스케줄링으로 효율적으로 수행해야 할 필요성을 느끼게 되었다.

 

아래에는 수 많은 스케줄 알고리즘이 있다.

 

 

 

먼저 FCFS, 선입 선출

먼저 들어온 것부터 접근한다, 전송한다는 뜻이다.

 

 

하지만 딱봐도 비효율적이어 보인다.

 

 

다음은 SSTF로 Shortest Seek Time First이다.

헤드가 가장 가까운 위치부터 수행해서 나간다.

 

 

하지만 가까운 것만 처리하다보면

정말 먼 것은  중간의 요청에 밀려 자꾸 실행되지 않는 starvation 이 발생할 수 있다.

 


 

다음은 SCAN이다.

전체를 돌되 가는 길에 수행해야하는 섹터가 있으면 수행하고 지나간다. 이런 느낌이다.

 

 

공평해보이지만 조금 다르긴 하다.

버스를 놓치면 다음 배차시간까지 버스를 기다려야 한다.

즉, 바로 앞에서 놓치면 대기 시간이 그만큼 길어진다고 생각하면 된다.

disk arm이 지나가자마자 놓치면 대기시간이 길어진다는 말이다.

더군다나 버스가 순환이 아니라 왕복일 경우에는

버스 시점에서 차를 놓치면 해당 버스가 종점까지 돌아서 다시 시점까지 오는 시간만큼 기다려야 한다.

 

 

아래는 Circular Scan이다.

 

 

위에서 너무 시간이 많이 차이나는 것을 방지하고자 만든 방법이다.

 

또 SCAN을 변형하여 다른 알고리즘들도 나왔다.

 

 

C-LOOK도 아래와 같다.

 

 


 

그래도 요즘은 SCAN을 바탕으로한 알고리즘을 많이 쓰고있다.

또한 FIle의 할당 방법도 디스크 요청이 영향을 준다.

-> 연속적으로 배치했으면 헤드가 많이 안움직이겠지..?

 

 

 


 

Swap-space에 대해서 알아보자

 

우선 Disk를 사용하는 이유가 2가지가 있다.

메모리의 크기, 특성 때문에 쓰는 것이다.

 

 

특히 Swap-space에서는 조금 더 알아봐야할 필요가 있다.

 프로세스에서 쓰이는 데이터가 쓰이지 않을 때는 Swap area에서 있다가 쓰인다고 했는데

도대체 어떻게 그렇게 되는 것일까?

 

 


RAID라고 

분산 중복 저장이다.

 

Disk의 처리 속도 향상을 목적으로 하며

분산 저장을 하고 병렬로 불러올 수 있게 하여 속도의 향상을 꾀하고

 

중복저장으로 장치의 에러에도 신뢰도를 높인다. 즉, reliability를 늘린다.

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
그리드형