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