- •Операционные системы (учебное пособие)
- •Введение
- •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 поколение – лампы, 2 поколение – транзисторы, 3 поколение – интегральные микросхемы (ИС), 4 поколение большие и сверхбольшие интегральные схемы – БИС и СБИС.
Нулевое поколение (40 - 50 гг.) – ОС в современном понятии отсутствуют. Полный доступ к ресурсам ВМ осуществляется программами, написанными в двоичном коде и реализующими машинный язык. Компьютеры использовались в монопольном интерактивном режиме, причём основное время работы компьютера приходилось на ожидание каких-либо действий пользователя или программиста
Первое поколение (60-е гг.) – возникновение системы пакетной обработки, предусматривающей:
постоянное нахождение в машине управляющей программы;
формирование очереди задач, включающих в себя программу и данные;
выполнение в каждый момент работы ВМ одной прикладной программы;
формирование задания на выполнение программы в виде пакета, представляющего собой совокупность отдельных программ и данных, разделенных специальными символами;
вывод результатов выводятся на внешнее устройство в форме пакета результатов.
Пользователь общается с машиной через оператора, который принимает пакеты задач и выдаёт пакеты результатов.
Пакет может быть составлен на перфокартах или МЛ. В машине постоянно находится управляющая программа, которая считывает последовательно пользовательские программы и данные из пакета и загружает их на выполнение. Управляющая программа должна фиксировать время исполнения каждой программы, реагировать на определенные ситуации по управлению программами по мере их исполнения (прекращать выполнение). Другими словами, она должна выполнять внутрисистемные операции управления, которые пользователь осуществлял ранее на физическом уровне. Дополнительно эта программа должна автоматически переключать машину на исполнение программ из пакета по последовательной схеме (FIFO). Такую системную программу можно назвать простейшей ОС, обеспечивающей обработку программ в однопрограммном пакетном режиме.
Недостатки:
использование части машинного времени на выполнение системной управляющей программы;
простои процессора до завершения операций обмена данными между машиной и внешними устройствами;
простой внешних устройств во время вычислений.
Второе поколение (65 – 75 гг.) – операционные системы мультипрограммного пакетного режима, системы с разделением времени и первые системы реального времени.
В мультипрограммном пакетном режиме в начале работы формируется пакет задание, содержащий требования к системным ресурсам, а из полученного пакета – мультипрограммная смесь задач, отличающихся по требованиям к ресурсам, в которой нагрузка на процессор и внешние устройства была сбалансирована. Переключение процессов с выполнения одной задачи на другую происходит только в том случае, если активная задача сама отказывается от процессора, например, для выполнения операции ввода/вывода, что делает невозможным выполнение интерактивных задач.
Системы с разделением времени (РВ), предоставляли пользователям возможность непосредственно взаимодействовать с компьютером при помощи терминалов сначала телетайпного типа, а в последующем и с помощью клавиатуры и дисплея. В этих системах реализовывались диалоговый или интерактивный режимы.
Разделение времени предусматривает выделение каждой программе, готовой к выполнению, определенного интервала времени (кванта). Программа в течение одного кванта может быть не выполнена до конца, тогда она прерывается в момент окончания кванта и помещается в конец очереди программ. Из начала очереди извлекается другая программа, которой планируется свой квант времени. При этом пользователи, работающие за дисплеями не ощущают переключение (мультиплексирования) процессора с программы на программу.
Системы реального времени применялись для управления техническими объектами и гарантировали реакцию вычислительной машины на сигналы управления в течение некоторого предельно допустимого времени.
Особенностью второго поколения было и то, что ОС создавались как системы коллективного пользования с мультипрограммным режимом работы и как первые системы мультипроцессорного типа.
В то же время появились методы, обеспечивающие независимость программирования от внешних устройств. В программе необходимо указывать только тип устройства, а не программировать его физический адрес. Конкретный адрес устройства определялся в процессе выполнения программы. Это было серьезное достижение в развитии ОС.
Третье поколение (70-80 гг.) было поколением многорежимных систем, обеспечивающих пакетную обработку, разделение времени, режим реального времени и мультипроцессорный режим. Они были громоздкими, дорогостоящими монстрами. Например, фирме IBM разработка ОС/360 стоила 6 млрд. долларов, что соизмеримо с затратами американской программы NASA высадки человека на Луне. Эти системы значительно усложнили вычислительную среду, поэтому для выполнения простейшей программы необходимо было изучать сложные языки управления заданием (JCL – Job Control Language).
В третьем поколении ОС появились вытесняющая многозадачность, приоритетное планирование и выделение квот на использование ограниченных ресурсов вычислительных машин, концепция распределения времени между задачами.
В период третьего поколения начала использоваться концепция баз данных для хранения больших объёмов информации и организации распределённой обработки данных.
Четвертое поколение (с середины 70-х до 90-х гг.) развивалось в период удешевления стоимости вычислительной техники в условиях внедрения микропроцессоров, позволивших дать компьютер практически каждому пользователю. В этот период бурно развиваются вычислительные сети и средства оперативной обработки данных (on-line). Возникло понятие сетевого компьютера, способного получать все ресурсы через компьютерную сеть.
Рост числа пользователей стимулировал разработку операционных систем с дружественным интерфейсом для неподготовленного пользователя, в частности, операционные системы с меню управления и с графическим интерфейсом.
Важным достижением стала концепция виртуальных ресурсов и виртуальных вычислительных машин как функциональных программно моделируемых эквивалентов реальных монопольных ресурсов и вычислительных машин, позволившая пользователю забыть о физических деталях вычислительных машин и систем. Например, мультипрограммирование – это виртуализация процессора, а буферизация ввода-вывода – это виртуализация устройств ввода-вывода.
Другим важным достижением стала технология распределённой обработки данных Клиент - Сервер, которая предусматривает существование двух процессов (документов или устройств) – клиента (потребителя информации) и сервера (поставщика информации).
Существенное внимание в операционных системах четвёртого поколения уделено защите информации.
Пятое поколение (с середины 90-х гг.) операционных систем стало поколением операционных систем с широкой поддержкой беспроводной связи для мобильных устройств.
Настоящее учебное пособие предназначено для студентов профиля "Прикладная информатика" направления "Прикладная информатика" основной образовательной программы бакалавриата Российского государственного торгово-экономического университета. При написании пособия ставилась задача познакомить студентов с общими принципами построения операционных систем, управления внутренними и внешними устройствами, процессами, происходящими в операционной системе и с рядом конкретных операционных систем. При этом не предполагалось участие студентов в разработке операционных систем независимо от наличия открытого кода их модулей.
Контрольные вопросы:
Дайте определение операционной системе.
Какова роль операционной системы в комплексе человек–вычислительная машина?
Какие факторы влияют на развитие операционных систем?
Как осуществлялось управление вычислительной машиной операционными системами нулевого поколения?
Чем характерно первое поколение операционных систем?
Что такое пакет и пакетная обработка данных?
Каковы недостатки однопрограммной пакетной обработки данных?
Что такое мультипрограммный пакетный режим обработки данных?
Что такое разделение времени?
Что такое операционные системы реального времени?
Как кратко охарактеризовать операционные системы третьего поколения?
Что такое вытесняющая многозадачность?
Что такое приоритетное планирование?
Что такое квоты в операционных системах и что они в них определяют?
Что такое мультипроцессорный режим?
В каком поколении операционных систем стали активно поддерживаться вычислительные сети?
Что такое сетевой компьютер?
Что такое виртуальный ресурс?
Что такое технология Клиент – Сервер?
В каком поколении операционных систем одной из важнейших задач стала защита данных?
Какую особенность имеют операционные системы пятого (последнего на сегодняшний день) поколения?