- •Эволюция операционных систем. Структура вычислительной системы
- •Понятие операционной системы.
- •Функции операционных систем.
- •Основные понятия и концепции ос.
- •Архитектурные особенности ос.
- •Классификация ос.
- •Краткие сведения об архитектуре компьютера.
- •История создания ос корпорации Microsoft.
- •Системы Unix и Linux.
- •Дистрибутивы Linux.
- •Процессы. Понятие процесса.
- •Состояния процесса.
- •Одноразовые операции. Упрощенная иеархическая структура процессов.
- •Многоразовые операции. Приостановка, блокирование и разблокирование процесса.
- •Переключение контекста. Выполнение операции разблокирования процесса.
- •Планирование процессов. Уровни планирования процессов.
- •Критерии планирования и требования к алгоритмам.
- •Вытесняющее и невытесняющее планирование.
- •Алгоритм планирования First-Come, First-Served (fcfs).
- •Алгоритм планирования Round Robin (rr).
- •Алгоритм планирования Shortest-Job-First (sjf).
- •Гарантированное планирование.
- •Приоритетное планирование.
- •Многоуровневые очереди с обратной связью (Multilevel Feedback Queue).
- •Категории средств обмена информацией.
- •Логическая организация механизма передачи информации. Установка связи.
- •Особенности передачи информации с помощью линий связи.
- •Буферизация.
- •Поток ввода/вывода и сообщения.
- •Надежность средств связи. Завершение связи.
- •Потоки исполнения.
- •Алгоритмы синхронизации. Interleaving, race condition и взаимоисключения.
- •Критическая секция.
- •Программные алгоритмы организации взаимодействия процессов.
- •Требования, предъявляемые к алгоритмам синхронизации.
- •Запрет прерываний.
- •Переменная-замок.
- •Флаги готовности.
- •Алгоритм Петерсона.
- •Команда Test-and-Set (проверить и присвоить).
- •Команда Swap (обменять значения).
- •Механизмы синхронизации процессов и потоков.
- •Цели и средства синхронизации.
- •Решение проблемы producer-consumer с помощью семафоров.
- •Wait-функции и ожидаемые таймеры.
- •События и семафоры.
- •Мьютексы.
- •Реализация мониторов и передачи сообщений с помощью семафоров.
- •Реализация семафоров и передачи сообщений с помощью мониторов
- •Реализация семафоров и мониторов с помощью очередей сообщений
- •Управление памятью. Физическая организация памяти
- •Физическая организация памяти компьютера
- •Свойство локальности
- •Логическая память
- •Связывание адресов
- •Функции системы управления памятью
- •59. Схема управления памятью с одним процессом в памяти
- •Страничная память
- •Сегментная и сегментно-страничная организация памяти
- •Виртуальная память. Архитектурные средства поддержки виртуальной памяти. Понятие виртуальной памяти
- •Архитектурные средства поддержки виртуальной памяти
- •Страничная виртуальная память
- •Сегментно-страничная организация виртуальной памяти
- •Структура таблицы страниц
- •Ассоциативная память
- •Размер страницы
- •Аппаратно-независимый уровень управления виртуальной памятью. Исключительные ситуации при работе с памятью
- •Стратегии управления страничной памятью
- •Алгоритмы замещения страниц: общие правила, классификация, эффективность
- •Алгоритм fifo
- •Аномалия Билэди
- •Оптимальный алгоритм (opt)
- •Алгоритм nru
- •Алгоритм lru
- •Программное моделирование алгоритма lru
- •Трешинг
- •Моделирование рабочего множества
- •Страничные демоны (сервисы). Фоновый процесс
- •Программная поддержка сегментной модели памяти процесса
- •Файловая система. Файлы с точки зрения пользователя. Функции файловой системы
- •Общие сведения о файлах (имена, типы, атрибуты)
- •Организация файлов и доступ к ним (последовательный, прямой). Формы организации файлов
- •Операции над файлами
- •Директории. Логическая структура файлового архива
- •Разделы диска
- •Операции над директориями
- •Защита файлов
- •Реализация файловой системы. Общая структура файловой системы. Блок-схема файловой системы
- •Управление внешней памятью. Методы выделения дискового пространства
- •Выделение непрерывной последовательностью дисковых блоков
- •Связанный список. Хранение файла в виде связанного списка дисковых блоков.
- •Индексные узлы.
- •Управление свободным и занятым дисковым пространством.
- •Структура файловой системы на диске. Примерная структура файловой системы на диске.
- •Связывание файлов. Структура файловой системы с возможностью связывания файла с новым именем.
- •Кооперация процессов при работе с файлами.
- •Примеры разрешения коллизий и тупиковых ситуаций.
- •Hадежность файловой системы.
- •Целостность файловой системы.
- •Порядок выполнения операций.
- •Журнализация.
- •Производительность файловой системы. Кэширование.
- •Современные архитектуры файловых систем.
- •Дополнительные возможности современных файловых систем (на примере ntfs ос Windows xp).
- •Система управления вводом-выводом
- •Физические принципы организации ввода-вывода.
- •Общие сведения об архитектуре компьютера.
- •Прямой доступ к памяти (Direct Memory Access – dma).
- •Структура системы ввода-вывода. Логические принципы организации ввода-вывода.
- •Структура подсистемы ввода-вывода. Драйверы.
- •Функции подсистемы ввода-вывода.
- •Компоненты подсистемы ввода-вывода (структурная схема).
- •Диспетчер ввода-вывода.
- •Типовая обработка ввода-вывода.
- •Установка драйвера.
- •Диспетчер электропитания.
- •Сетевые и распределенные операционные системы.
- •Взаимодействие удаленных процессов как основа работы вычислительных сетей.
- •Основные вопросы логической организации передачи информации между удаленными процессами.
- •Понятие протокола.
- •Многоуровневая модель построения сетевых вычислительных систем. Семиуровневая эталонная модель osi/iso.
- •Проблемы адресации в сети. Одноуровневые адреса. Двухуровневые адреса.
- •Удаленная адресация и разрешение адресов. Схема разрешения имен с использованием dns-серверов.
- •Основные понятия информационной безопасности. Угрозы безопасности
- •Формализация подхода к обеспечению информационной безопасности.
- •Криптография как одна из базовых технологий безопасности ос.
- •Шифрование. Шифрование открытым ключом.
- •Шифрование с использованием алгоритма rsa.
- •Защитные механизмы ос. Идентификация и аутентификация
- •Пароли, уязвимость паролей.
- •Шифрование пароля.
- •Авторизация. Разграничение доступа к объектам ос.
- •Аудит системы защиты.
- •Анализ некоторых популярных ос с точки зрения их защищенности: ms-dos; Windows nt/2000/xp; Windows Vista; Windows 7.
- •Брандмауэр ос ms Windows.
Критическая секция.
Важным понятием при изучении способов синхронизации процессов является понятие критической секции (critical section) программы. Критическая секция – это часть программы, исполнение которой может привести к возникновению race condition для определенного набора программ. Чтобы исключить эффект гонок по отношению к некоторому ресурсу, необходимо организовать работу так, чтобы в каждый момент времени только один процесс мог находиться в своей критической секции, связанной с этим ресурсом. Иными словами, необходимо обеспечить реализацию взаимоисключения для критических секций программ. Реализация взаимоисключения для критических секций программ с практической точки зрения означает, что по отношению к другим процессам, участвующим во взаимодействии, критическая секция начинает выполняться как атомарная операция. Давайте рассмотрим следующий пример, в котором псевдопараллельные взаимодействующие процессы представлены действиями различных студентов.
Здесь критический участок для каждого процесса – от операции «Обнаруживает, что хлеба нет» до операции «Возвращается в комнату» включительно. В результате отсутствия взаимоисключения мы из ситуации «Нет хлеба» попадаем в ситуацию «Слишком много хлеба». Если бы этот критический участок выполнялся как атомарная операция «Покупает две буханки хлеба», то проблема образования излишков была бы снята.
Сделать процесс покупки хлеба атомарной операцией можно было бы следующим образом: перед началом этого процесса закрыть дверь изнутри на засов и уходить за хлебом через окно, а по окончании процесса вернуться в комнату через окно и отодвинуть засов. Тогда пока один студент покупает хлеб, все остальные находятся в состоянии ожидания под дверью.
Итак, для решения задачи необходимо, чтобы в том случае, когда процесс находится в своем критическом участке, другие процессы не могли войти в свои критические участки. Мы видим, что критический участок должен сопровождаться прологом (entry section) – «закрыть дверь изнутри на засов» – и эпилогом (exit section) – «отодвинуть засов», которые не имеют отношения к активности одиночного процесса. Во время выполнения пролога процесс должен, в частности, получить разрешение на вход в критический участок, а во время выполнения эпилога – сообщить другим процессам, что он покинул критическую секцию.
В общем случае структура процесса, участвующего во взаимодействии, может быть представлена следующим образом:
while (some condition) {
entry section
critical section
exit section
remainder section
}
Здесь под remainder section понимаются все атомарные операции, не входящие в критическую секцию.
Оставшаяся часть этого раздела посвящена различным способам программной организации пролога и эпилога критического участка в случае, когда очередность доступа к критическому участку не имеет значения.
Программные алгоритмы организации взаимодействия процессов.
Включает все вопросы с 37-43(если найдет лучший вариант скиньте на 630-330-945)
