os-2015-10-dist
.pdfРеализация: Hardware Abstraction Layer, сокрытие аппаратуры
Hardware Abstraction Layer (HAL) — слой абстрагирования,
реализованный в программном обеспечении, находящийся между физическим уровнем аппаратного обеспечения и программным обеспечением, запускаемом на этом компьютере.
HAL предназначен для скрытия различий в аппаратном обеспечении от основной части ядра операционной системы, таким образом чтобы большая часть кода, работающая в режиме ядра не нуждалась в изменении при её запуске на системах с различным аппаратным обеспечением.
На персональных компьютерах HAL, по существу, может рассматриваться как драйвер материнской платы, позволяющий взаимодействовать инструкциям высокоуровневых языков программирования с низкоуровневыми компонентами, такими как аппаратное обеспечение.
71
Реализация: полезные методы
Косвенность
Номер клавиши как индекс в таблице
Повторное использование и реентерабельность
72
Реализация: защитное программирование
Стиль написания программ, при котором появляющиеся ошибки легко обнаруживаются и идентифицируются программистом
Общее недоверие. Для каждого модуля входные данные должны тщательно анализироваться в предположении, что они могут быть ошибочными
Немедленное обнаружение. Каждая ошибка должна быть выявлена как можно раньше, это упрощает установление ее причины
Изолирование ошибки. Ошибки в одном модуле должны быть изолированы так, чтобы не допустить их влияние на другие модули
73
Производительность
Почему ОС такие медленные?
Сканирование шин для поиска новых аппаратных устройств
А нужно ли нам большое количество действий при загрузке
Что следует оптимизировать?
Использование локальности
…
74
Поколения операционных систем
Нулевое поколение — В первых компьютерах операционные системы отсутствовали
Это период с момента появления первых компьютеров до середины 50-х годов XX века
Первое поколение — Пакетная обработка, многозадачные операционные системы
Появились в середине 50-х годов XX века
Первая ОС была создана в исследовательской лаборатории компании General Motors для компьютера IBM-701
Второе поколение — Многорежимные операционные системы, операционные системы реального времени
Появились в середине 60-х годов XX века
Третье поколение — Операционные системы для персональных компьютеров, сетевые операционные системы, графический пользовательский интерфейс ОС.
Появились в начале 80-х годов XX века
Четвертое поколение — Распределенные операционные системы
Появились на границе 80-х и 90-х годов XX века
Пятое поколение — Операционные системы с поддержкой беспроводной связи для мобильных устройств
Появились в середине 90-х годов XX века
Шестое поколение? |
75 |
|
Иеще раз о пользе ОС
Многие программисты знакомы с операционными системами в основном в меру тех помех, которые они создают при работе
Приносимая операционными системами польза незаметна по определению
76
ИТОГИ
77
Изучали основные артефакты операционных систем, иногда применяя метафоры
Изучали пользовательский опыт и принципы разработки интерфейсов
Изучали основные идеи, понятия, классификации,
С чем будем работать:
специализированные ОС, ...
Идеи
Методика
Области
Базовые
понятия
80