Правильное ли решение к задаче про «среднее время доступа к слову»?
Текст задачи: Рассмотрим компьютерную систему, имеющую кэш-память, ОЗУ и диск, а также
операционную систему, использующую виртуальную память. Время доступа к слову из кэш-памяти занимает 1 нс, из ОЗУ — 10 нс, с диска — 10 мс. Если показатель
успешного поиска в кэш-памяти составляет 95 %, в ОЗУ (после неудачного поиска
в кэш-памяти) — 99 %, каким будет среднее время доступа к слову?
Я рассчитал, что вероятность того, что потребуется доступ к ОЗУ будет 0,0495 , а к диску 0,0005. Поделил всю вероятность(1 или 100%) на наименьшую и получил 2000 случаев. Дальше сложил всё время (10,000,011 наносекунд) и разделил на количество случаев(2000) получил примерно 5000 наносекунд. Всё правильно?
Для правильного вопроса надо знать половину ответа
2000 событий.
Каждый раз доступ к кэш-памяти, 2000 * 1нс = 2000нс
В 5% доступ к озу, 100 * 10нс = 1000нс
В 0.05% доступ к диску, 1 * 10000000нс = 10000000нс
10000000нс + 1000нс + 2000нс = 10003000нс
10003000нс / 2000 = 5001,5нс
mayton2019 Современные операционные системы | Бос Херберт, Таненбаум Эндрю 4-e издание. 1 глава, 15 вопрос.
Я предполагаю числа абстрактные, но приблизительно отражающие дейтсвительность
Dolarun, я просто могу написать приложение которое сломает этот принцип. И это будет вовсе не редкое приложение. Просто хеш-табллица в режиме прямой адресации размером с всю память. Нормальный кейс. Нагруженные in-memory БД так и работают.