- •Содержание
- •Раздел 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.2.2. Методы распределения памяти с использованием дискового пространства
Методы распределения памяти с использованием дискового пространства подразделяются на:
страничное распределение;
сегментное распределение;
странично-сегментное распределение.
Понятие виртуальной памяти. Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает. Так, например, пользователю может быть предоставлена виртуальная память, размер которой превосходит всю имеющуюся в системе реальную память.
Хотя известны и чисто программные реализации виртуальной памяти, это направление получило наиболее широкое развитие после получения соответствующей аппаратной поддержки. Идея аппаратной части механизма виртуальной памяти состоит в том, что адрес памяти, вырабатываемый командой, интерпретируется аппаратурой не как реальный адрес некоторого элемента основной памяти, а как некоторая структура, разные поля которой обрабатываются по-разному.
Таким образом, виртуальная память – это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память. Для этого виртуальная память решает следующие задачи:
размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;
перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;
преобразует виртуальные адреса в физические.
Все эти действия выполняются автоматически, без участия программиста, то есть механизм виртуальной памяти является прозрачным по отношению к пользователю.
