10-11, preparatory for the test. The disk with a capacity of 255 GB has 65,536 cylinders with 255 sectors per track

  • 54
10-11, preparatory for the test. The disk with a capacity of 255 GB has 65,536 cylinders with 255 sectors per track and 512 bytes per sector. How many platters and heads does this disk have? Assuming that the average cylinder seek time is 11 ms, the average wait time for the working sector to approach the head is 7 ms, and the reading speed is 100 Mbps, calculate the average time required to read 400 KB from one sector. Any guesses on this problem would be greatly appreciated since it will be on our test (well, it will be the only problem, but similar...).
Журавль
55
Хорошо, давайте разберем данную задачу поэтапно.

Шаг 1: Определение числа пластинок и головок на жестком диске.

Данные задачи говорят нам о том, что диск имеет ёмкость 255 ГБ, 65536 цилиндров, 255 секторов на дорожку и 512 байт на сектор.

Нам известно, что каждый сектор на диске соответствует одной головке. Также каждая головка будет иметь доступ к каждому сектору на каждой пластинке. Таким образом, число головок на диске будет равно числу секторов на дорожку.

Итак, число головок на диске составляет 255 головок.

Мы также знаем, что каждый цилиндр состоит из секторов с одинаковыми номерами на каждой дорожке на всех пластинах. Таким образом, число пластинок на диске можно рассчитать, разделив общее количество секторов на число секторов на дорожку.

Итак, число пластинок на диске составляет 255 секторов/255 секторов/дорожку = 1 пластина.

Шаг 2: Расчет среднего времени чтения 400 КБ с одного сектора.

Задача указывает, что среднее время перемещения на цилиндр составляет 11 мс, среднее время ожидания приближения рабочего сектора к головке составляет 7 мс, а скорость чтения равна 100 Мбит/с.

Для расчета среднего времени чтения нам необходимо учесть следующие необходимые шаги:
1. Время перемещения с головки на головку (т.е. время, потраченное на переход между цилиндрами).
2. Время ожидания приближения рабочего сектора к головке (т.е. время, потраченное на ожидание правильного сектора).
3. Время чтения данных с сектора.

Сначала рассчитаем время перемещения с головки на головку. Поскольку мы размещаемся на смежной головке, то это займет половину времени перемещения на цилиндр.

Время перемещения с головки на головку = 1/2 * 11 мс = 5.5 мс.

Затем рассчитаем время ожидания приближения рабочего сектора к головке. Это время ожидания также будет разделено на две части - время ожидания оборота и время ожидания на одну секцию.

Время ожидания оборота = время ожидания на один оборот / количество секторов = (1/255) * общее время одного оборота.

Общее время одного оборота = время оборота цилиндра + время ожидания оборота.

1/255 * общее время одного оборота = (1/255) * (11 мс + 7 мс) = 0.072549 мс.

Остается рассчитать время чтения данных с сектора. Для этого мы можем использовать формулу: время чтения = размер данных / скорость чтения.

Размер данных = 400 КБ = 400 * 1024 байт.

Время чтения данных с сектора = (400 * 1024 байт) / (100 Мбит/с * 1 байт / 8 бит).

\[
Время чтения данных с сектора = (400 * 1024) / (100 * 10^6 / 8) с.
\]

Теперь мы можем получить общее время чтения данных с одного сектора, сложив все рассчитанные времена:

Общее время чтения данных с одного сектора = время перемещения с головки на головку + время ожидания приближения рабочего сектора к головке + время чтения данных с сектора.

Общее время чтения данных с одного сектора = 5.5 мс + 0.072549 мс + время чтения данных с сектора.

Шаг 3: Подставим значения и рассчитаем общее время чтения данных с одного сектора.

Общее время чтения данных с одного сектора = 5.5 мс + 0.072549 мс + ((400 * 1024) / (100 * 10^6 / 8)) с.

Вы можете использовать калькулятор для окончательных вычислений.

Надеюсь, эта информация поможет вам и подготовится к вашему тесту! Удачи! Если у вас есть еще вопросы, не стесняйтесь задавать их.