- •Операционные системы (учебное пособие)
- •Введение
- •1. Операционная система: основные понятия
- •1.1. Понятие операционной системы, её роль и функции
- •1.2. Операционная и программная среды
- •1.3. Очередь и стек
- •1.4. Машинная команда, способы адресации, привилегированные команды
- •1.5.Система прерываний
- •1.6. Задачи, вычислительные процессы и ресурсы
- •Ресурс – это абстрактная структура, имеющая множество атрибутов, характеризующих способы доступа к ресурсу и его физическое представление в системе
- •1.7. Мультипрограммный, мультизадачный и многопользовательский режимы работы операционной системы. Режим разделения времени
- •2. Управление памятью в операционных системах
- •2.1. Память и отображения, виртуальное адресное пространство
- •2.2. Простое непрерывное распределение и распределение с перекрытием
- •2.3. Распределение памяти статическими разделами
- •2.4. Распределение памяти с динамическими разделами
- •2.5. Распределение памяти с фрагментацией задач
- •3. Управление процессами
- •3.1. Реализация последовательного процесса в операционной системе
- •3.2. Планирование и диспетчеризация процессов и задач
- •3.3. Управление параллельными процессами
- •3.3.1. Понятие параллельных процессов
- •3.3.2. Методы реализации взаимных исключений
- •3.3.3. Блокировка памяти
- •3.3.4. Применение специальных операций типа "проверка–установка"
- •3.3.5.Семафоры и их применение
- •3.3.6. Мониторы
- •3.3.7. Почтовые ящики, конвейеры и очереди сообщений
- •4. Проблема тупиков и её решение
- •4.1. Проблема тупиков, разделяемые ресурсы и модели параллельных процессов
- •4.2. Модель повторно используемых ресурсов Холта1
- •4.3. Сети Петри
- •4.4. Модель пространства состояний системы
- •4.5. Борьба с тупиками
- •4.5.1. Предотвращение тупиков
- •4.5.2. Обход тупиков
- •4.5.3. Обнаружение тупика
- •5. Жёсткий диск
- •5.1. Устройство накопителя жесткого диска (hdd) и адресация элементов дискового пространства
- •5.2. Логическая структура диска
- •5.3. Создание загрузочных дисков
- •6. Файловые системы
- •6.1. Файлы и каталоги
- •6.2. Понятие и функции файловой системы и системы управления файлами.
- •6.3. Обзор файловых систем
- •6.3.1. Файловая система fat16, fat32 и vfat
- •6.3.2. Файловая система ntfs
- •6.3.3. Файловые системы компакт-дисков
- •7. Средства защиты и восстановления операционных систем
- •7.1. Цифровая подпись драйверов и её верификация
- •7.2. Защита и проверка системных файлов
- •7.3. Откат драйверов
- •7.6. Безопасный режим загрузки
- •7.7. Мастер и точки восстановления системы
- •7.8. Резервное копирование и восстановление
- •7.9. Аварийное восстановление системы. Консоль восстановления.
- •8. Загрузчики операционных систем
- •8.1. Понятие загрузчика и виды его реализации
- •8.2. Решение проблемы четырех разделов в mbr
- •8.3. Установка загрузчиков ос
- •8.4. Настройка загрузчиков ос
- •8.5. Удаление загрузчиков ос
- •9. Системный реестр и системные службы
- •9.1. Назначение и структура реестра
- •9.2. Работа с реестром
- •9.3. Системные службы
- •10. Безопасность операционных систем
- •10.1. Угрозы, уязвимости, атаки
- •10.2. Политика безопасности
- •10.3. Защита от вторжений
- •10.4. Межсетевые экраны
- •10.5. Отключение ненужных служб
- •10.6. Защита от спама
- •10.7. Защита от вредоносных программ и вирусов средствами операционных систем
- •10.8. Защита конфиденциальной информации.
- •Список литературных источников
1.7. Мультипрограммный, мультизадачный и многопользовательский режимы работы операционной системы. Режим разделения времени
Появление в архитектуре вычислительных систем контроллеров внешних устройств создало возможность разгрузки центрального процессора от операций ввода-вывода. В операционных системах ранних поколений на время операций ввода-вывода центральный процессор стал простаивать, что было непростительной расточительностью для дорогого устройства. Схема такой работы показана на рис. 1.7,а. Процесс развернут во времени t, серыми прямоугольниками показана работа центрального процессора, белыми – работа устройства ввода (или вывода). Буквами А и Б обозначены задачи. Как видно из рис. 1.7,а время ТИ выполнения обеих задач равно сумме длительностей задач, причём в течение длительных отрезков времени процессор будет простаивать.
Мультипрограммным режимом называется такой режим работы операционной системы, в котором одновременно выполняется две и более задачи, а процессор переключается с решения одной задачи на решения других на время совершения операций, не требующих его участия
а)
б)
Рис. 1.7. Монопрограммный (а) и мультипрограммный (б) режимы работы
На рис. 1.7,б показана работа операционной системы в мультипрограммном режиме. В этом режиме на время операций ввода-вывода процессор переключается с решения одной задачи на решение другой. В результате время выполнения задач несколько увеличивается, но общее время ТИ выполнения обеих задач уменьшается, т.е. производительность вычислительной системы увеличивается. Мультипрограммирование является синонимом слова "многопроцессность". При этом подразумевается обособление процессов друг от друга посредством выделения индивидуальных виртуальных адресных пространств в памяти и назначения других ресурсов.
Развитие устройств ввода-вывода привело к появлению терминалов – комбинаций мониторов и клавиатур. Программное обеспечение немедленно отреагировало на эту ситуацию появлением диалогового режима работы. Операционные системы стали поддерживать этот режим и появились системы с разделением времени, в которых каждому процессу отводился квант времени, по истечении которого вычислительная система переключалась на выполнение следующего процесса.
Поскольку процессы могли содержать разные задачи, то появился многозадачный режим, а т.к. задачи могут принадлежать разным пользователям, то появился и многопользовательский режим. В мультизадачном режиме в противовес мультипрограммному режиму обеспечивается взаимодействие между вычислениями. Для подчёркивания этой разницы были введены термины "легковесные процессы" (thin), они же потоки выполнения, нити и треды (threads). Легковесными они называются потому, что процессору не требуется для их реализации организовывать полноценную виртуальную машину. Единственно, что имеют легковесные процессы своего, это процессорное время, всё остальное у связанных легковесных процессов общее. Наличие легковесных процессов позволило организовать много поточное выполнение задач.
Контрольные вопросы:
Перечислите основные функции операционной системы?
Что такое привилегированные и непривилегированные команды?
Что такое модули операционной системы?
Что такое ядро операционной системы?
Что такое монолитное ядро?
Нарисуйте и поясните структуру слоёной операционной системы?
Что такое супервизор?
Что такое микроядерная операционная система?
Что такое BIOS, где она находится при старте вычислительной машины и где помещается во время её работы?
Что такое переносимый и непереносимый модуль операционной системы?
Что такое системный запрос?
Что такое интерфейс прикладного программирования?
Что такое операционная среда?
В чём причина отказа работы программы пользователя при запуске её в другой операционной системе?
Как обеспечить переносимость программ из одной операционной системы в другую?
Что такое очередь, и как она работает?
Как происходит адресация в стеке?
Что такое стек, и как он работает?
Можно ли прочитать данные, записанные в стек, после их считывания?
Что такое машинная команда? Какова её структура (формат)?
Что такое адресация? Какие существуют способы адресации?
Что такое непосредственная адресация?
Что такое прямая адресация?
Что такое регистровая адресация?
Что такое косвенная адресация?
Каким образом процессор распознаёт способ адресации операндов в машинной команде?
Что такое прерывание?
Что такое состояние процесса вычислений? Где оно хранится?
Что такое контекст программы?
Что такое дескриптор программы, и какова его структура?
Нарисуйте и поясните схему обслуживания прерывания в простых системах?
Нарисуйте и поясните схему обслуживания прерывания в сложных системах?
Чем отличаются схемы обслуживания прерывания в простых и сложных системах?
Какова структура программы, обслуживающей прерывание?
Что такое синхронные (внутренние), асинхронные (внешние) и программные (события) прерывания?
Перечислите источники внешних прерываний.
Перечислите источники внутренних прерываний.
Что такое маскирование прерываний?
Как решается вопрос о порядке обслуживания одновременно возникших запросов на прерывания?
Что такое приоритет прерываний? Как можно изменить приоритет?
Что такое режим прерываний? Как он устанавливается?
Что такое дисциплина обслуживания прерывания? Для чего необходимо это понятие?
Перечислите и поясните основные дисциплины обслуживания прерываний.
Что такое дисциплина обслуживания прерываний с относительными приоритетами?
Что такое дисциплина обслуживания прерываний с абсолютным приоритетом?
Что такое дисциплина обслуживания прерываний LCFS (FIFO)?
Расположите в порядке возрастания приоритета источники прерываний: системный таймер, внешние устройства, средства контроля процессора и программные прерывания.
Расположите в порядке возрастания приоритета источники прерываний: сетевое оборудование, терминалы, магнитные диски.
Что такое процесс? Приведите примеры.
Дайте современное определение понятия "Задача".
Что такое ресурс? Приведите примеры ресурсов.
Что такое дескриптор процесса, и какова его структура?
Нарисуйте и поясните диаграмму состояния процесса.
Что такое делимые и неделимые ресурсы? Приведите примеры.
Опишите три ситуации выделения ресурса задаче.
Что такое одновременное и параллельное (попеременное) разделение ресурсов? Приведите примеры.
В чём особенность оперативной памяти как разделяемого ресурса?
Как разделяется внешняя память? В чём особенность разделения памяти как ресурса?
Как решается вопрос разделения ресурсов с последовательным доступом?
Опишите классификацию программных модулей как разделяемых и неразделяемых ресурсов.
Что такое однократно используемые программные модули? Могут ли они быть разделяемыми ресурсами? Почему?
Что такое непривилегированные программные модули? Могут ли они быть разделяемыми ресурсами? Почему?
Что такое привилегированные программные модули? Могут ли они быть разделяемыми ресурсами?
Почему привилегированные программные модули могут быть разделяемыми ресурсами?
Что такое реентабельные программные модули? Могут ли они быть разделяемыми ресурсами?
Почему реентабельные модули могут быть разделяемыми ресурсами?
Что такое повторно входимые программные модули? Могут ли они быть разделяемыми ресурсами? Почему?
Что такое мультипрограммный режим работы операционной системы? Поясните временной диаграммой.
Почему в мультипрограммном режиме производительность вычислительной системы увеличивается? Поясните временной диаграммой.
Верно ли утверждение "Т.к. в мультипрограммном режиме производительность вычислительной машины выше, то и время выполнения отдельных процессов в этом режиме меньше, чем в однопрограммном"?
Что такое мультизадачный режим работы операционной системы?
Что такое легковесные процессы?
Что такое потоки выполнения?
Что такое нити?
Что такое треды?
Что такое разделение времени?