- •Вопрос 1. Виды программного обеспечения
- •Вопрос 2. Понятие, функции и состав ос.
- •Вопрос 3. Классификация ос
- •Вопрос 4. Программы ос
- •Вопрос 5: Файловая система
- •Вопрос 6. Форматы файлов (типичные файлы данных)
- •Вопрос 7. Основные типы файлов
- •Вопрос 8. Управление заданиями, процессами, задачами
- •Вопрос 9. Классификация процессов.
- •Пакетные
- •Вопрос 10. Классификация ресурсов
- •Вопрос 11. Планирование процессов: подсистема управления процессами, функции подсистемы, контекст процесса.
- •Вопрос 12. Планирование процессов: стадии состояния процесса, метод очередей ресурсов
- •Вопрос 13. Планирование процессов. Алгоритмы, основанные на квантовании
- •Вопрос 14. Планирование процессов: алгоритмы, основанные на приоритетах
- •Вопрос 15. Вытесняющая и не вытесняющая многозадачность
- •Вопрос 16. Прерывания. Механизм обработки (7 шагов)
- •Вопрос 17. Функции механизма прерываний. Классы прерываний.
- •Вопрос 18. Программные прерывания. Дисциплины обслуживания.
- •Вопрос 19. Общие принципы обработки исключений.
- •Вопрос 20. Список возможных исключений
- •Вопрос 21. Память. Функции ос по управлению памятью
- •Вопрос 22. Типы имен и адресов. Виртуальное адресное пространство.
- •Вопрос 23. Разделение памяти на несколько разделов фиксированной величины
- •Вопрос 24. Разделение памяти разделами переменной величины
- •Вопрос 25. Виртуальная память. Задачи
- •Вопрос 26. Страничное распределение памяти
- •Вопрос 27. Сегментное распределение памяти
- •Вопрос 28.Странично – сегментное распределение памяти
- •Вопрос 29. Свопинг
- •Вопрос 30. Кэш – память Кэширование информации.
- •Вопрос 31. Алгоритм запроса к оперативной памяти в системах, оснащенных кэш – памятью
- •Вопрос 32. Пространственная и временная локальность
- •Вопрос 33. Управление вводом – выводом: типы устройств. Состав внешнего устройства. Контроллер.
- •Вопрос 34. Организация программного обеспечения вводом – выводом. Синхронные и асинхронные передачи.
- •Вопрос 35. Четыре слоя по. Функции слоя ос, независимых от устройств
- •Вопрос 36. Спулинг. Механизм прямого доступа внешних устройств к памяти.
- •Вопрос 37. Принцип модульности: понятие модуля ос, рентабельности. Ядро ос. Транзитные программные модули.
- •Вопрос 38. Принцип генерируемости и функциональной избыточности ос.
- •Вопрос 39. Принцип виртуализации.
- •Вопрос 40 Принцип независимости программ от внешних устройств.
- •Вопрос 41. Принцип совместимости
- •Вопрос 42. Принцип открытой и наращиваемой ос. Принцип мобильности.
- •Вопрос 43. Принцип обеспечения безопасности
Вопрос 35. Четыре слоя по. Функции слоя ос, независимых от устройств
Для решения имеющихся проблем целесообразно разделить программное обеспечение ввода – вывода на четыре слоя:
Обработка прерываний
Драйверы устройств
Слой ОС независимый от устройств
Пользовательский слой программного обеспечения
Прерывание должны быть скрыты как можно глубже в ОС чтобы как можно меньшая часть ОС имела с ним дело. Наилучший способ состоит в разрешении процессу, инициировавшему операцию ввода – вывода, блокировать себя до завершения операции и наступления прерывания.
При наступлении прерывания процедура обработки выполняет разблокирование процесса. В любом случаи ранее заблокированный процесс будет продолжать свое выполнение.
Весь зависимый от устройства код помещается в драйвер устройства.
Каждый драйвер управляет устройством одного типа. В ОС (как правило) только драйвер устройства обладает информацией о конкретных особенностях какого либо устройства (например только драйвер диска имеет дело с дорожками, секторами, цилиндрами и т.д., обеспечивающими правильную работу диска).
Первый шаг в реализации запроса ввода – вывода, например для диска состоит в преобразовании его из абстрактной формы в конкретную. Для дискового драйвера это означает преобразование номеров блоков в номера цилиндров, секторов, во вторых выполняет проверку находится ли головка над нужным цилиндром и т.д.
Большая часть программного обеспечения является независимой от устройств. Типичными функциями слоя ОС, независимого от устройства являются:
Обеспечение общего интерфейса к драйверам устройств
Именование устройств
Защита устройств
Обеспечение независимого размера блока
Уведомление об ошибках
Вопрос 36. Спулинг. Механизм прямого доступа внешних устройств к памяти.
Еще одной категорией программного обеспечения ввода – вывода является подсистема спулинга.
Спулинг - это способ работы с выделенными устройствами в многозадачной системе.
Одно из типичных устройств – принтер. Технически легко позволить каждому пользовательскому процессу открыть специальный файл связанный с принтером, но такой способ опасен из – за того что пользовательский процесс может монополизировать принтер на произвольное время. Вместо этого создается специальный процесс – монитор, который получает исключительные права на использование этого устройства. Также создается специальный каталог называемый каталогом спулинга.
Запись, или чтение большого количества информации из адресного пространства ввода – вывода (с диска) приводит к большому количеству операций ввода – вывода. Для освобождения процессора от операций последовательного ввода – вывода данных был предложен механизм прямого доступа внешних устройств к памяти (ПДП, или DMA). Суть работы: чтобы какое то устройство, кроме процессора, могло записать информацию, или прочесть ее из памяти необходимо чтобы это устройство могло забрать у процессора управление локальной магистральной для выставления соответствующих сигналов на шины адреса, данных и управления. Для централизации эти обязанности обычно возлагаются на специальный контроллер – контроллер прямого доступа к памяти.
Контроллер прямого доступа к памяти имеет несколько спаренных линий – каналов DMA, которые могут подключаться к различным устройствам.
