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

Я делаю школьный проект для класса операционных систем. Я должен оценить различные накладные расходы — например, накладные расходы на измерение времени, накладные расходы на переключение контекста, накладные расходы на доступ к памяти / диску. В некоторых из этих контекстов мне необходимо оценить, каким будет программный компонент служебной информации и какой будет аппаратный компонент. Может ли кто-нибудь привести пример того, какие операции будут характеризоваться как аппаратные издержки, а какие операции будут программными? Правильно ли я полагаю, что установка стека при вызове функции — это программные издержки, поскольку она включает только перемещение указателей? Доступ к блоку на диске был бы аппаратным? Эти операции кажутся простыми для характеристики. Возможно, кто-нибудь мог бы привести некоторые другие примеры, чтобы подтвердить мое понимание.

-2

Решение

Тот, кто дал вам задание, должен был определить соответствующие термины, такие как software overhead или же hardware component, Если они этого не сделали, вы должны спросить.

Это не так ясно, как может показаться. Вы, кажется, принимаете это Accessing a block on disk would be hardware overhead, Тогда как насчет памяти? Память — это аппаратный компонент, как и жесткий диск. Каждый доступ к памяти требует измеримого, хотя и крошечного, времени. Это должно быть учтено в счетах программного и аппаратного обеспечения? И это даже раньше, чем говорить о каналах, кэшах или сбоях страниц виртуальной памяти, которые могут привести к доступу к диску.

Я мог бы сделать аналогичные замечания о сети, GPU, мониторе и так далее. Однако остается главным моментом, что для задания всегда лучше спросить, чем угадать — и, возможно, угадать неправильно.

2

Другие решения

Это правильные примеры. Некоторые другие примеры аппаратных издержек включают ожидание устройства (например, принтера) и ожидание другого узла в сети.

Служебные программы могут получить доступ к общей библиотеке, как и виртуальные таблицы. Вам будет сложно найти любое из них в пространстве ядра; Я не думаю, что общие объекты могут существовать вне пользовательской земли.

1

По вопросам рекламы [email protected]