- •Содержание
- •Раздел I. Теоретические сведения 10
- •Раздел II. Лабораторные работы 131
- •Раздел III. Тест выходного контроля знаний 172
- •Введение
- •Раздел I. Теоретические сведения
- •1. Определение, функции и состав операционных систем
- •1.1. История развития операционных систем
- •1.2. Классификация операционных систем
- •Количество пользователей:
- •Способы построения ядра системы:
- •Особенности методов построения:
- •2. Управление локальными ресурсами
- •2.1. Управление процессами
- •2.1.1. Состояния процессов. Контекст и дескриптор процесса
- •2.1.2. Нити
- •2.1.3. Алгоритмы планирования процессов
- •2.1.3.1. Алгоритмы планирования процессов в ос unix
- •2.1.3.2. Алгоритмы планирования процессов в Windows nt
- •2.1.4. Средства синхронизации и взаимодействия процессов
- •2.1.4.1. Критическая секция. Тупики
- •2.2. Управление памятью
- •2.2.1. Методы распределения памяти без использования дискового прстранства
- •2.2.2.1. Страничное распределение памяти
- •2.2.2.2. Сегментное распределение памяти
- •2.2.2.3. Странично-сегментное распределение памяти. Свопинг
- •2.2.3. Иерархия запоминающих устройств. Принцип кэширования данных
- •2.3. Управление вводом/выводом
- •2.3.1. Физическая организация устройств ввода/вывода. Организация программного обеспечения ввода/вывода
- •2.3.2. Драйверы устройств
- •2.3.3. Независимый от устройств слой операционной системы. Пользовательский слой программного обеспечения ввода/вывода
- •2.4. Файловая система
- •2.4.1. Имена файлов. Типы файлов
- •2.4.2. Логическая организация файла. Физическая организация и адрес файла
- •2.4.3. Права доступа к файлу
- •2.4.4. Общая модель файловой системы. Современные архитектуры файловых систем
- •2.4.5. Файловые системы fat, fat32 и hpfs
- •3. Управление распределенными ресурсами
- •3.1. Блокирующие и неблокирующие примитивы. Буферизуемые и небуферизуемые примитивы
- •3.2. Вызов удаленных процедур
- •3.3. Синхронизация в распределенных системах. Алгоритм синхронизации логических часов. Алгоритмы взаимного исключения
- •3. 4. Распределенные файловые системы. Организация файлового сервера
- •3.4.1. Файловые системы ntfs, dfs и efs
- •4. Сетевые операционные системы
- •4.1. Одноранговые сетевые ос и ос с выделенными серверами
- •4.2. Сетевые операционные системы масштаба отдела и масштаба предприятия
- •5. Операционная система ms dos
- •5.1. Основные команды ms dos
- •6. Операционная система unix
- •6.1. Некоторые команды ос unix и стандартные файлы
- •6.2. Редакторы VI и ex
- •6.3. Связь пользователь-пользователь
- •6.4. Средства разработки программ
- •7. Операционная система linux
- •7.1. Приобретение и общие принципы инсталляции linux
- •Инсталлируйте программы linux в новую(вые) файловую(вые) систему(мы).
- •7.2. Создание загрузочной дискеты или инсталляция lilo. Программное обеспечение, которое поддерживает ос linux
- •8. Операционная система Windows nt
- •9. Средства защиты информации в сети
- •Уровни обработки
- •9.1. Обеспечение безопасности в Windows nt
- •9.2. Принципы защиты информации в ос unix
- •10. Общие сведения о системном реестре
- •10.1. Разделы реестра
- •10.2. Работа с редактором реестра. Резервное копирование и восстановление реестра
- •11. Программные средства человеко-машинного интерфейса в ос Windows xp: мультимедиа и аудио
- •12. Современные концепции и технологии проектирования распределенных операционных систем
- •Одним из аспектов совместимости является способность ос выполнять программы, написанные для других ос или для более ранних версий данной операционной системы, а также для другой аппаратной платформы.
- •13. Far manager — текстовая системная оболочка
- •Раздел II. Лабораторные работы
- •Лабораторная работа 1. Инсталляция и конфигурирование операционной системы, начальная загрузка
- •Лабораторная работа 2. Работа в ос Windows xp
- •Лабораторная работа 3. Работа с командной строкой
- •Лабораторная работа 4. Работа с Far manager
- •Варианты заданий к лабораторным работам № 2, 3, 4
- •Вариант 2
- •Вариант 3
- •Лабораторная работа 5. Работа в верхнем меню Far manager
- •Лабораторная работа 6. Основы администрирования в ос Windows хр
- •Лабораторная работа 7. Наблюдение за работой системы с помощью диспетчера задач
- •Лабораторная работа 8. Наблюдение за работой системы с помощью системных журналов и монитора
- •Лабораторная работа 9. Настройка работы служб Windows xp
- •Лабораторная работа 10. Решение задач управления ресурсами
- •Раздел III. Тест выходного контроля знаний
- •Вопросы
- •Заключение
- •Глоссарий
- •Литература
2. Управление локальными ресурсами
Как уже отмечалось выше, важнейшей функцией операционной системы является организация рационального использования всех аппаратных и программных ресурсов системы. Располагающая одними и теми же ресурсами, но управляемая различными ОС, вычислительная система может работать с разной степенью эффективности.
2.1. Управление процессами
Важнейшей частью операционной системы является подсистема управления процессами.
Процесс (или по-другому, задача) – абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Говоря о процессах, можно отметить, что операционная система поддерживает их обособленность: у каждого процесса имеется свое виртуальное адресное пространство, каждому процессу назначаются свои ресурсы – файлы, окна, семафоры и т.д. Такая обособленность нужна для того, чтобы защитить один процесс от другого, поскольку они, совместно используя все ресурсы машины, конкурируют друг с другом.
Понятие «процесс» включает следующее:
исполняемый любой код;
собственное виртуальное адресное пространство;
ресурсы системы, такие как файлы, семафоры и т.п., которые назначены процессу операционной системой;
хотя бы одну выполняемую нить (поток).
Подсистема управления процессами распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
Основной проблемой организации многозадачного режима в любой операционной системе является организация планирования параллельного выполнения нескольких процессов. Операционная система должна обладать четкими критериями для определения того, какому готовому к выполнению процессу и когда предоставить ресурс процессора.
2.1.1. Состояния процессов. Контекст и дескриптор процесса
В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:
ВЫПОЛНЕНИЕ – активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором.
ОЖИДАНИЕ – пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам. Процесс ждет осуществления некоторого события, например, завершения операции ввода/вывода, получения сообщения от другого процесса.
ГОТОВНОСТЬ – также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе.
В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ – несколько процессов. Эти процессы образуют очереди соответственно ожидающих и готовых процессов.
На рисунке 1.1 показан жизненный цикл процесса.
Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЕ, либо будет насильно вытеснен из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.
Рис. 1.1. Жизненный цикл процесса
На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для возобновления выполнения процесса необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров счетчика команд, состояния процессора, указателя стека, программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода/вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.
Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую для планирования процессов, называют дескриптором процесса.
Контекст процесса используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Каждый дескриптор содержит хотя бы один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет их переупорядочивать, включать и исключать процессы.
Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс.
Создать процесс – это значит:
создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;
включить дескриптор нового процесса в очередь готовых процессов;
загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
