2017-03-07 1 views
1

평균 탐색 시간이 10msec이고 회전 시간이 20msec이고 디스크에 대해 32KB를 보유하고있는 디스크에서 64KB 프로그램을로드하는 데 소요되는 시간 2KB 페이지 크기? 페이지가 디스크 주위로 무작위로 확산되고 실린더 수가 두 배가 같은 실린더에있을 가능성이 거의 없음 .디스크에서 프로그램로드

내 솔루션 .. 각 트랙 용량이 32KB이기 때문에 64KB 프로그램이 2 트랙으로 구성됩니다.

전체 트랙을로드하려면 20msec가 필요합니다. 2KB를로드하려면 1.25ms가 필요합니다.

I/O 시간 = 시간 + avg.rotation 대기 시간 + 전송 시간

   10msec+10msec+1.25msec=21.25msec 

      Since 64KB program is organized into 2 tracks then I/O time will be 2(21.25)=42.5 msec. 

이 올바른지을 추구? 그렇다면 왜 시간 = 평균 회전 시간 지연을 찾으십니까?

+0

페이지가 모두 연속적으로 할당되었다고 가정하는 것처럼 페이지가 무작위로 디스크 주위에 퍼져 있다는 부분에 대해 놓친 것 같습니다. – twalberg

+0

어떻게 변경해야합니까? – Kleona

+0

페이지가 실제로 무작위로 확산되면 2KB 페이지로 구성된 64KB 프로그램에는 32 개의 개별 페이지로드가 필요하며 각 페이지로드에는 탐색 지연과 회전 지연이 발생해야합니다. 그것은 거기에서 꽤 간단해야합니다 ... – twalberg

답변

0

언급 한 바와 같이 : 실린더 수는 너무 커서 두 실린더가 동일한 실린더에있을 가능성이 거의 없습니다.은 단순히 각 페이지를로드하는 것을 의미하며 항상 다른 cylinder으로 이동해야합니다. 따라서 각 페이지 당 seek time을 추가해야합니다. seek time은 팔을 적절한 cylinder 이상으로 이동하는 데 걸리는 시간이기 때문에 각 페이지에 seek time을 추가해야합니다. 정의에 의해

Number of pages = 64KB/2KB = 32 

rotation time은 우리가 적절한 cylinder에 도달하면 해당 sector에 도착하는 데 걸리는 시간입니다. 그래서 시간이 될 것 촬영

= 32 * 10 * 20 = 6400 밀리 초는

+0

32 * 10 * 20이 잘못되었습니다. Kleona의 답변에서와 같이 32 * (10 + 20/2 + 1.25) 여야합니다. – twalberg

+0

@ twalberg 정확히 여기서 회전 시간을 고려하고 있습니까? 설명해주세요. –

+0

"회전 시간이 20msec입니다"라는 문항이 있습니다. 그것이 전체 플래터 회전 시간입니다.통계에 따르면 액세스 요청의 일정한 무작위 배포를 가정 할 수 있다면 평균 회전 대기 시간은 약 절반입니다 (실린더 당 홀수의 섹터가있는 경우 실제 수학이 약간 다르기 때문에 대략 짝수 대) . 그래서 저의 이전 댓글에 20/2가 있습니다. 평균 회전 대기 시간은 10ms입니다. 즉, 10ms의 탐색 시간과 1.25ms의 실제 전송 시간이 매 읽기마다 반복됩니다. – twalberg

0

나는 다른 해결책을 찾아 냈다. 탐색 플러스 회전 대기 시간은 20 밀리 초입니다. 2KB 페이지의 경우 전송 시간은 1.25msec이고 총 전송 시간은 21.25msec입니다. 이 페이지 중 32 개를로드하면 680 밀리 초가 걸릴 것입니다. 4KB 페이지의 경우 전송 시간이 2.5 밀리 초로 두 배가되므로 페이지 당 총 시간은 22.50 밀리 초입니다. 이 페이지 중 16 개를로드하려면msec 걸립니다. 이제 혼란스러워합니다.