- •Вопросы и литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради)
- •Структура программного обеспечения персонального компьютера.
- •Понятие операционной системы персонального компьютера. Основные интерфейсы компьютерной системы.
- •Краткая история операционных систем.
- •Доисторический период
- •Первый период (1945-1955)
- •Основные функциональные компоненты ос.
- •Подсистема управления процессами
- •Управления памятью
- •Управление файлами и внешними устройствами
- •Защита данных и администрирование
- •Интерфейс прикладного программирования
- •Пользовательский интерфейс
- •Сетевые и распределенные операционные системы.
- •Требования к современным операционным системам.
- •Базовая архитектура операционной системы. Понятие ядра системы. Классификация операционных систем в зависимости от особенностей архитектуры ядра.
- •По архитектуре ядра системы можно разделить на:
- •-2) Слоистая архитектура ядра
- •Аппаратная зависимость и переносимость операционных систем.
- •Совместимость операционных систем и множественные прикладные среды.
- •Подсистема управления процессами, основные задачи. Понятие многозадачности.
- •Многозадачность в системах пакетной обработки, разделения времени и реального времени. Системы пакетной обработки.
- •Системы разделения времени
- •Системы реального времени
- •Состояния потока
- •Планирование и диспетчеризация потоков
- •Квантование – каждому потоку последовательно выделяется квант процессорного времени.
- •Алгоритмы планирования, основанные на приоритетах
- •Смешанные алгоритмы планирования
- •Приоритеты и концепции планирования потоков в Windows 2000, ос Unix System V и os/2. Система ос Unix System V Release 4
- •Система os/2
- •Система Windows 2000
- •Планирование процессов и потоков в системах реального времени.
- •Назначение
- •Механизм прерываний
- •Реализация системных вызовов. Использование механизма прерываний для реализации системных вызовов.
- •Понятие гонок
- •Критическая секция кода и исключение гонок
- •Блокирующие переменные
- •Понятие семафора и его использование для целей синхронизации.
- •Синхронизация и проблема тупиков.
- •Синхронизирующие объекты в операционных системах.
- •Методы распределения памяти
- •Фиксированные разделы
- •Динамические разделы
- •Перемещаемые разделы
- •Остальные методы требуют использования внешней памяти
- •Свопинг
- •Виртуальная память
- •Страничная организация памяти
- •2 Базисных свойства страничной организации:
- •Сегментное распределение памяти
- •Сегментно-страничное распределение
- •Организация виртуальной памяти, преобразование адреса.
- •Обмен данными между процессами на основе виртуальной памяти.
- •Аппаратная поддержка сегментной организации памяти в системах на основе процессоров с архитектурой ia32. Небольшое вступление про процессоры ia-32 и аппаратную поддержку мультипрограммирования
- •Регистры сегментов
- •Управляющие регистры:
- •Регистры системных адресов
- •Регистры отладки и тестирования
- •Средства поддержки сегментной организации памяти в процессорах Пентиум (собственно ответ на билет)
- •Итак, процесс обратился за памятью. Что происходит?
- •Защита данных в системах с сегментной организацией памяти на основе процессоров с архитектурой ia32.
- •Привилегии подробнее:
- •Смешанная сегментно-страничная организация памяти в системах на основе процессоров с архитектурой ia32. Трансляция адреса. Буфер ассоциативной трансляции (tlb).
- •Кэширование данных
- •Принципы работы кэш - памяти.
- •Проблема согласования данных.
- •Вытеснение данных из кэШа
- •Случайное отображение
- •Детерминированный способ отображения
- •Управление памятью в реальном режиме адресации на примере консоли Windows xp.
- •Задачи подсистемы управления внешними устройствами.
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена
- •Разделение устройств и данных между процессами
- •Обеспечение удобного и логического интерфейса между устройствами и остальной частью системы
- •Поддержка широкого спектра драйверов с возможностью расширения
- •Динамическая загрузка и выгрузка драйверов.
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Поддержка нескольких файловых систем.
- •Типы файлов
- •Иерархическая структура фс
- •Имена файлов
- •Монтирование
- •У файла есть:
- •Логическая организация файла:
- •Физическая организация данных на диске.
- •Физическая организация файла.
- •Связанный спискок кластеров дисковой памяти
- •Связанный список индексов – фс фат.
- •Файловые операции.
- •Универсальные действия:
- •Стандартные файлы ввода и вывода, перенаправление ввода-вывода.
- •Файловые системы Unix (s5 и ufs).
- •Обзор семейства операционных систем Microsoft Windows.
- •Системный реестр: структура системного реестра Windows;
- •Импорт и экспорт данных системного реестра;
- •Предопределенные ключи системного реестра;
Требования к современным операционным системам.
Главные требование к ОС
- выполнение ею своих функций эффективного управления ресурсами и
- обеспечение удобного интерфейса для пользователей и прикладных программ.
От современных ОС ожидается:
- мультипрограммная обработка
- виртуальная память
- свопинг
- многооконный ГАЙ
Это все требования ФУНКЦИОНАЛЬНОЙ полноты.
Но кроме этого есть еще ЭКПЛУАТАЦИОННЫЕ требования
Расширяемость.
Ось живет десятки лет, а новые устройства появляются ежедневно. Ось должна легко расширяться поддержкой новых сетевых технологий, новых внешних устройств.
Достигается это за счет модульной структуры ОС, где ОС делится на набор изолированных модулей, взаимодействующих исключительно через функциональный интерфейс (инкапсуляция, короче).
Переносимость.
Иначе – многоплатформенность. ОС должна безболезненно переноситься с одного железа на другое, с проца одного типа- на другой, с одной аппаратной платформы (с одной архитектурой) – на другую с совсем другой архитектурой.
Совместимость.
ОС должна поддерживать работу привычных для пользователя другой системы приложений.
Надежность и отказоустойчивость
Действия ОС должны быть предсказуемыми
Приложения не должны иметь возможности причинять вред ОС
ОС должна поддерживать аппаратные средства обеспечения отказоустойчивости (дисковые массивы, бесперебойники)
Все это зависит от качества архитектуры ОС и отлаженности ее кода
Безопасность ОС
- Защита от несанкционированного доступа:
* аутентификация – определение легальности юзеров
* авторизация – предоставление легальным юзерам разных прав доступа к ресурсам
* аудит – фиксация всех подозрительных событий
- Для сетевых ОС – защита данных, передаваемых по сети.
Производительность
ОС должна по максимуму использовать производительность железа, на котором она стоит.
Базовая архитектура операционной системы. Понятие ядра системы. Классификация операционных систем в зависимости от особенностей архитектуры ядра.
Intel и Интел-совместимые процессоры обеспечивают несколько режимов исполнения кода, а именно 4. Эти режимы можно представить в виде колец защиты, и по ним строится система разграничения доступа:
3
2
1
0
0 – любые команды процессора
Все команды, кроме некоторых
Еще ограничения
Лишь ограниченный набор команд (не дает изменить важные параметры системы)
На самом деле сейчас используются только два режима: 0 и 3.
Итак, ЯДРО – это код, исполняемый в режиме 0.
А пользовательские программы исполняются в режиме 3.
Архитектуру ОС, основанную на привилегированном ядре и приложениях, выполняемых в пользовательском режиме, называют базовой или классической.
В классической архитектуре модули ОС делятся на 2 группы:
(Модуль – это программа или ее часть, которая имеет логическое обособление и свою функцию и может быть загружена/выгружена в память в процессе работы. Часто представлена в виде отдельного файла или динамически подгружаемой библиотеки).
- модули, выполняющие основные ф-и ОС – ЯДРО
* управление процессами
* памятью
* файлами
* устройствами ввода-вывода и тд
Эти модули нужны часто и должны работать быстро, т.к. определяют производительность системы в целом. Поэтому они резидентны, т.е постоянно находятся в оперативной памяти.
- модули, выполняющие вспомогательные ф-и – обычно транзитны.
Это:
- утилиты – проги, решающие отдельные задачи управления и сопровождения комп системы (сжатие, дефрагментация, форматирование дисков, подготовка данных - блокнот)
- либы процедур и функций (математических ф-й, либа ввода-вывода)
- проги, предоставляющие юзеру доп услуги (игры, калькулятор)
- системные обрабатывающие проги (текстовые и графические редакторы, компиляторы, компоновщики, отладчики);
Вспомогательные модули обращаются к ядру так же как и обычные проги – через системные вызовы.
Работа системы с привилегированным ядром замедляется за счет необходимости переключения туды-сюды при выполнении системных вызовов.
В некоторых ОС (например, в чисто серверной Novell NetWare) вся работа идет в режиме ядра. Но там нет прикладных процессов, соответственно, не нужна защита, и система работает быстро и хорошо.
