- •1. Структура программного обеспечения вычислительной системы.
- •2. Назначение операционных систем. Слои и точки зрения на вычислительную систему.
- •3. Сервисы операционных систем.
- •4 Понятие ресурса. Классификация ресурсов.
- •5 Ядро операционной системы. Требования к ядру.
- •Модульное ядро
- •Микроядро
- •Экзоядро
- •Наноядро
- •Гибридное ядро
- •6 Эволюция операционных систем. Последовательная обработка данных.
- •7 Эволюция операционных систем. Простые пакетные системы. Мониторы, jcl.
- •10 Эволюция операционных систем. Многозадачные системы с разделением времени. Алгоритм планирования на основе абсолютного приоритета (с вытеснением).
- •11. Проблемы классификации операционных систем.
- •Классификация ос
- •12. Управление выполнением приложений. Понятия процесса и потока
- •13 Процесс. Элементы процесса. Pcb. Элементы процесса в Windows nt.
- •14 Создание и завершение процессов. Этапы создания процесса в Windows nt.
- •Контекст и дескриптор процесса
- •15.Состояния процессов.
- •21. Многопоточность. Однопоточная и многопоточная модели процессов.
- •22. Преимущества использования потоков.
- •23. Состояния потоков.
- •24. Структура потоков в Windows 2000.
- •25. Взаимодействие «клиент-сервер». Использование потоков на стороне клиента для вызова удалённо-вызываемых процедур: однопоточный и многопоточный клиенты.
- •26. Взаимодействие «клиент-сервер». Использование потоков на стороне сервера: однопоточный сервер, многопоточный сервер, многопоточный сервер на базе пула потоков.
- •27.Реализация потоков в системе. Потоки на уровне пользователя.
- •28.Реализация потоков в системе. Потоки на уровне ядра.
- •29.Реализация потоков в системе. Комбинированный подход
- •31. Кластеры. Системное программное обеспечение кластеров. Типы кластеров.
- •32. Многопроцессорные системы. Соглашения относительно многопроцессорных систем. Диспетчеризация потоков на smp.
- •33.Диспетчеризация потоков в Windows 2000 при однопроцессорной и многопроцессорной конфигурации.
- •34. Модели параллелизма. Примеры.
- •35.Монолитная архитектура операционной системы. Преимущества и недостатки
- •Монолитные системы
- •36. Микроядерная архитектура операционной системы.
- •37. Архитектура операционных систем семейства Windows nt.
- •38.Архитектура операционной системы Linux.
- •39.Архитектура операционной системы qnx.
- •40. Процессы и синхронизация. Основные понятия: состояние, действие, история. Независимость параллельных процессов.
- •41. Разделяемый и критический ресурс. Доказательство корректности параллельных алгоритмах Примеры.
- •42.Понятие синхронизации. Виды синхронизации.
- •43. Мелкомодульная неделимость. Условие «не больше одного».
- •44.Задача критической секции.
- •45.Активные блокировки. Алгоритм «Проверить-установить». Недостатки.
- •46.Активные блокировки. Алгоритм «Проверить-проверить-установить».
- •47. Реализация взаимоисключения. Аппаратная поддержка. Реализация алгоритма «Проверить-установить» на x86 с использованием инструкции xchg.
- •48.Спин-блокировки в Windows 2000. Назначение спин-блокировок. Спин-блокировки очередями.
- •49.Задача критической секции. Решения со справедливой стратегией.
- •50.Семафоры Дейкстры. Псевдокод реализации семафора. Бинарные семафоры.
- •51.Реализация семафора средствами Windows api.
- •52.Семафорные механизмы в Windows api.
- •53.Задача «производитель/потребитель». Реализация на бесконечном буфере.
- •54.Задача «читатели-писатели».
- •55.Задача «обедающие философы». Заговоры и голодовка. Решения.
- •56. Мониторы. Мониторы с сигналами.
- •57.Мониторы. Мониторы с оповещением и широковещанием.
- •58.Принципы взаимного блокирования. Условия возникновения взаимоблокировок.
- •59. Управление памятью. Требования к управлению памятью.
- •60.Управление памятью. Распределение памяти. Фиксированное распределение. Алгоритм размещения при фиксированном распределении.
- •61.Управление памятью. Распределение памяти. Динамическое распределение. Алгоритмы размещения при динамическом распределении.
- •Не с лекции: Распределение памяти разделами переменной величины
- •62.Управление памятью. Перемещение. Типы адресов. Аппаратная поддержка перемещения.
- •63.Управление памятью. Простая страничная организация. Трансляция логических адресов. Страничная организация
- •Страничное распределение
- •64.Управление памятью. Простая сегментная организация. Трансляция логических адресов.
- •65. Виртуальная память (вп). Основные идеи. Выполнение программы с использованием вп. Преимущества вп. Поддержка функционирования вп.
- •66. Виртуальная память (вп). Типы памяти. Виртуальное адресное пространство. Пробуксовка (Thrashing). Принцип локализации.
- •67. Страничная организация вп. Биты таблицы страниц. Многоуровневая адресация. Страничная адресация в 80386.
- •68.Ассоциативный буфер трансляции (tlb). Функционирование tlb.
- •69.Размеры страниц. Влияние размеров страниц на поведение процесса.
- •70. Сегментная вп. Таблицы сегментов. Трансляция при сегментной организации.
- •1)Сегментная схема функционирования вп
- •71.Сегментно-страничная организация. Трансляция адресов при сегментно-страничной организации в 80386.
- •72.Задачи управления памятью. Стратегии выборки.
- •73.Задачи управления памятью. Стратегии размещения.
- •74.Задачи управления памятью. Стратегии замещения.
- •75.Задачи управления памятью. Буферизация страниц. Буферизация страниц в Windows 2000.
- •76.Управление резидентным множеством. Фиксированное распределение, локальное замещение.
- •77.Управление резидентным множеством. Переменное распределение, глобальное замещение.
- •78.Управление резидентным множеством. Переменное распределение, локальное замещение.
- •79.Управление резидентным множеством. Стратегия рабочего множества. Управление рабочим множеством в Windows 2000.
- •80.Архитектура компьютерной системы. Подключение устройств к магистрали. Иерархия магистралей.
- •83.Вызов сервисов операционной системы с использованием прерываний. Вызов сервисов в Windows nt.
- •84.Вызов сервисов операционной системы с использованием инструкций мп Pentium II sysenter/sysexit. Вызов сервисов в Windows 2000/xp/Server 2003.
- •85.Сложность систем ввода-вывода. Модуль (контроллер) ввода-вывода. Структура и функции модуля ввода-вывода.
- •86.Решения по организации ввода-вывода: программируемый (pio), управляемый прерываниями, прямой доступ к памяти (dma).
- •87.Ввод-вывод в операционных системах. Требования к эффективности и универсальности.
- •88.Подсистема ввода-вывода в операционной системе. Обзор функций.
- •89.Подсистема ввода-вывода. Организация параллельной работы устройств ввода-вывода и процессора.
- •90.Подсистема ввода-вывода. Согласование скоростей обмена. Буферизация в операциях ввода-вывода.
- •91. Подсистема ввода-вывода. Кэширование данных: кэширование на основе логических и виртуальных блоков.
- •93.Синхронный и асинхронный ввод-вывод. Средства поддержки асинхронного ввода-вывода в Windows api.
- •94.Подсистема ввода-вывода. Поддержка различных файловых систем. Ifs в системах Windows nt.
- •95.Файловые системы fat и ntfs. Отказоустойчивость в ntfs.
- •96.Отказоустойчивые дисковые массивы raid. Raid 0 6.
- •97.Многослойная модель подсистемы ввода-вывода. Многослойная модель подсистемы ввода-вывода в Windows nt.
- •12. Общие принципы построения операционных систем.
12. Общие принципы построения операционных систем.
Частотный принцип – это наиболее общий принцип реализации системных программ. Основан, на выделении в алгоритмах программ и в обрабатываемых массивах действий и данных по частоте использования. Для действий, которые часто встречаются при работе ОС, обеспечиваются условия их быстрого выполнения. Например, такие программные тексты постоянно находятся в оперативной памяти, активно поддерживаются специальными средствами; к данным, к которым происходит частое обращение, обеспечивается наиболее быстрый доступ. К тому же, как правило, «частые» операции стараются делать и более короткими. Присутствует в любой ОС.
Принцип модульности – этот принцип в равной степени отражает технологические и эксплуатационные свойства. Под модулем в общем случае понимают функциональный элемент рассматриваемой системы, имеющий оформление, законченное и выполненное в пределах требований системы, и средства сопряжения с подобными элементами или элементами более высокого уровня данной или другой системы. По своему определению модуль предполагает лёгкий способ его замены на другой при наличии заданных интерфейсов. Способы обособления основных частей ОС в отдельные модули могут быть существенно различны. Чаще всего разделение происходит по функциональному признаку. В значительной степени разделение системы на модули определяется используемым методом проектирования ОС.
Как правило модули строят с учётом характера их будущего использования. Модуль может быть построен так, что после очередного своего исполнения становится непригоден для последующего своего исполнения. Это происходит, например, если при исполнении были изменены и не восстановлены в исходное состояние, либо совсем исчезли некоторые команды или данные модуля.
Модули, которые могут испортить сами себя после окончания работы и не восстанавливаются в исходное состояние, называются однократными. Если же модули могут испортить себя, но в конце работы восстанавливаются, то их называют многократными.
Особо важное значение при построении ОС имеют модули, называемые параллельно используемыми или реентерабельными. Каждый реентерабельный модуль можно использовать параллельно (одновременно) несколькими программами при их исполнении.
Принцип функциональной избирательности – этот принцип является логическим продолжением частотного и модульного принципов. В ОС выделяется некоторая часть важных модулей, которые должны быть постоянно «под рукой» для эффективной организации вычислительного процесса. Эту часть в ОС называют ядром, так как это действительно основа системы. При формировании состава ядра требуется удовлетворить двум противоречивым требованиям. В состав ядра должны войти используемые наиболее часто системные модули. Количество модулей должно быть таковым, чтобы объём памяти, занимаемый ядром, был бы не слишком большим. В его состав, как правило, входят модули по управлению системой прерываний, средства по переводу программ из состояния счёта в состояние ожидания, готовности и обратно, средства по распределению таких основных ресурсов, как оперативная память и процессор.
Принцип функциональной избыточности – этот принцип учитывает возможность проведения одной и той же работы различными средствами. Например ОС ЕС ЭВМ обладает функциональной избыточностью при организации пакетной мультипрограммной обработки. Она допускает три альтернативных конфигурации ОС; MFT – ОС, обеспечивающая мультипрограммирование с фиксированным числом задач; MVT – ОС, обеспечивающая мультипрограммирование с переменным числом задач; SVC – ОС, обеспечивающая мультипрограммирование с переменным числом задач на основе использования виртуальной памяти.
Принцип «По умолчанию»
Принцип перемещаемости – этот принцип предусматривает построение модулей, исполнение которых не зависит от места расположения в оперативной памяти. Настройка текста модуля в соответствии с его расположением в памяти может осуществляться специальными механизмами либо непосредственно перед исполнением программы, либо по мере её исполнения. Настройка заключается в определении фактический адресов, используемых в адресных частях команд модуля, и определяется используемым в конкретной машине способом адресации (например базовая адресация в ЕС ЭВМ), а так же алгоритмом распределения оперативной памяти, используемым в составе ОС. Программный модуль, обладающий свойством перемещаемости, может после настройки выполняться в любом месте оперативной памяти.
Принцип обеспечения безопасности вычислений в ОС со ссылкой на знакомые операционные системы.
ОРАНЖЕВАЯ КНИГА:
Основы стандартов в области безопасности были заложены "Критериями оценки надежных компьютерных систем". Этот документ, изданный в США в 1983 году национальным центром компьютерной безопасности (NCSC - National Computer Security Center), часто называют Оранжевой Книгой. В соответствии с требованиями Оранжевой книги безопасной считается такая система, которая "посредством специальных механизмов защиты контролирует доступ к информации таким образом, что только имеющие соответствующие полномочия лица или процессы, выполняющиеся от их имени, могут получить доступ на чтение, запись, создание или удаление информации". Иерархия уровней безопасности, приведенная в Оранжевой Книге, помечает низший уровень безопасности как D, а высший - как А.
Обеспечение безопасности при выполнении вычислений является желательным свойством для любой многопользовательской системы. Правила безопасности определяют такие свойства, как защита ресурсов одного пользователя от других и установление квот по ресурсам для предотвращения захвата одним пользователем всех системных ресурсов (таких, как память). Обеспечение защиты информации от несанкционированного доступа является обязательной функцией сетевых ОС. Во многих современных ОС гарантируется степень безопасности данных, соответствующая уровню С2 в системе стандартов США («Критерии оценки надежных компьютерных систем»). В соответствие с требованиями безопасной считается система, которая «посредством механизмов защиты контролирует доступ к информации таким образом, что только имеющие соответствующие полномочия лица или процессы, выполняющиеся от их имени, могут получить доступ на чтение, запись, создание и удаление информации». Иерархия уровней безопасности помечает низший уровень безопасности как D, а высший – как А. В класс D попадают системы, оценка которых выявила их несоответствия требованиям всех других классов. Основными свойствами, характерными для систем класса С, являются наличие подсистемы учета событий, связанных с безопасностью, и избирательный контроль доступа. Уровень С делится на 2 подуровня: уровень С1, обеспечивающий защиту данных от ошибок пользователей, но не от действий злоумышленников; и более строгий уровень С2. На уровне С2 должны присутствовать:
Средства секретного ввода, обеспечивающие идентификацию пользователей путем ввода уникального имени и пароля перед тем, как им будет разрешен доступ к системе;
Избирательный контроль доступа, позволяющий владельцу ресурса определить, кто имеет доступ к ресурсу и что он может с ним делать;
Средства учета и наблюдения (auditing), обеспечивающие возможность обнаружить и зафиксировать важные события, связанные с безопасностью, или любые попытки создать, получить доступ или удалить системные ресурсы;
Защита памяти, заключающаяся в том, что память инициализируется перед тем, как повторно используется.
Системы уровня В основаны на помеченных данных и распределения пользователя по категориям. Каждому пользователю присваивается рейтинг защиты, и он может получать доступ к данным только в соответствии с этим рейтингом. Уровень А является самым высоким уровнем безопасности, он требует в дополнение ко всем требованиям уровня В выполнения формального, обоснованного доказательства соответствия системы требованиям безопасности.
Принцип мобильности (переносимости) – ОС относительно легко должна переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа. Заметим, что принцип переносимости очень близок к принципу совместимости. Введение стандартов POSIX преследовало цель обеспечить переносимость создаваемого ПО.
