
- •Оглавление
- •1 Операционные системы. Общие понятия 6
- •2 Однопользовательские операционные системы 16
- •3 Сетевые операционные системы 18
- •4 Управление локальными ресурсами 23
- •5 Современные концепции и технологии проектирования операционных систем 60
- •Введение
- •1Операционные системы. Общие понятия
- •1.1Понятие и функции операционной системы
- •1.1.1Ос как расширенная машина
- •1.1.2Ос как система управления ресурсами
- •1.2Этапы развития ос
- •1.3Классификация ос
- •1.3.1Особенности алгоритмов управления ресурсами
- •Поддержка многозадачности
- •Поддержка многопользовательского режима
- •Вытесняющая и невытесняющая многозадачность
- •Поддержка многонитевости
- •Многопроцессорная обработка
- •1.3.2Особенности аппаратных платформ
- •1.3.3Особенности областей использования
- •1.3.4Особенности методов построения
- •2Однопользовательские операционные системы
- •2.1Структура однозадачной операционной системы
- •2.2Структура многозадачной операционной системы
- •3Сетевые операционные системы
- •3.1Структура сетевой операционной системы
- •3.2Одноранговые сетевые ос и ос выделенных серверов
- •4Управление локальными ресурсами
- •4.1Понятие ресурса
- •4.1.1Свойства и классификация ресурсов
- •4.1.2Действия над ресурсами
- •4.2Управление процессами
- •4.2.1Состояние процессов
- •4.2.2Алгоритмы планирования процессов
- •4.2.3Вытесняющая и невытесняющая многозадачность
- •4.2.4Нити
- •4.2.5Взаимодействие процессов Разделяемая память
- •Программные каналы
- •Системы, управляемые событиями
- •4.2.6Средства синхронизации процессов Проблема синхронизации
- •Критическая секция
- •4.3Управление памятью
- •4.3.1Типы адресов
- •4.3.2Методы распределения памяти без использования дискового пространства
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •4.3.3Методы распределения памяти с использованием дискового пространства Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •4.3.4Иерархия запоминающих устройств. Принцип кэширования данных
- •4.4Управление вводом-выводом
- •4.4.1Физическая организация устройств ввода-вывода
- •4.4.2Организация программного обеспечения ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств, слой операционной системы
- •Пользовательский слой программного обеспечения
- •4.5Файловая система
- •4.5.1Имена файлов
- •4.5.2Типы файлов
- •4.5.3Логическая организация файла
- •4.5.4Физическая организация и адрес файла
- •4.5.5Права доступа к файлу
- •4.5.6Общая модель файловой системы
- •4.5.7Отображаемые в память файлы
- •4.5.8Современная архитектура файловой системы
- •5Современные концепции и технологии проектирования операционных систем
- •5.1Требования, предъявляемые к ос нового поколения
- •5.2Пользовательский интерфейс
- •5.2.1Интерфейс cli
- •5.2.2Интерфейс gui
- •5.3Операционная система Windows nt
- •5.3.1История создания
- •5.3.2Особенности Windows nt версий 4.0 и 5.0
- •5.3.3Требования к аппаратуре
- •5.3.4Области использования Windows nt
- •5.3.5Микроядерная структура Windows nt
- •5.3.6Планирование процессов и нитей
- •5.3.7Управление памятью
- •5.3.8Файловые системы Windows nt
- •Файловая система fat
- •Файловая система ntfs Структура ntfs
- •Короткие имена
- •Надежность ntfs
- •5.3.9Управление вводом-выводом в Windows nt
- •5.3.10Встроенная сетевая поддержка в Windows nt
- •5.3.11Доменная справочная служба Windows nt
- •5.3.12Служба каталогов Active Directory Общие сведения о службе каталогов
- •Архитектура Active Directory
- •Модель данных
- •Логическая структура
- •Модель защиты данных
- •Модель управления
- •Свойства Active Directory
- •Интеграция dns
- •Именование объектов
- •Доступ к Active Directory
- •Виртуальные контейнеры
- •Глобальный каталог
- •Безопасность
- •Репликация
- •Деревья и лес
- •Логическая структура
- •Публикация
- •Лабораторные работы по курсу «Операционные системы»
- •Управление файлами в ms dos
- •Основные отличия Windows от ms dos
- •Windows и объектно-ориентированное программирование
- •Принцип разделения ресурсов компьютера при работе нескольких задач в Windows
- •Динамически подключаемые библиотеки (dll) и принципы организации памяти Windows
- •Реестр Windows
- •Управление файлами в Windows
- •Общая организация традиционного ядра ос unix
- •Основные функции ядра
- •Принципы взаимодействия с ядром
- •Принципы обработки прерываний
- •Файловая система Linux
- •Задание на лабораторную работу
- •Состояние процессов
- •Алгоритмы планирования процессов
- •Взаимодействие и синхронизация процессов
- •Задание на лабораторную работу
- •Варианты заданий
- •Методы распределения памяти с использованием дискового пространства
- •Задание на лабораторную работу
- •Варианты заданий
- •Общая модель файловой системы
- •Физическая организация файла на устройстве внешней памяти
- •Файловая система fat
- •Файловая система ntfs
- •Файловая система ext2
- •Журналируемые файловые системы
- •Задание на лабораторную работу
- •Варианты заданий
- •Литература
Управление файлами в ms dos
Операционные системы MS DOS могут работать с файловыми системами FAT и FAT32. В соответствии с требованиями указанных файловых систем все дисковое пространство разбивается на логические диски, на каждом из которых располагается древовидная структура каталогов и файлов, во главе которой располагается корневой каталог.
Управление файлами и каталогами в MS DOS осуществляется при помощи команд вводимых в командной строке или при помощи файловых менеджеров, которые являются внешними программами по отношению к ОС. Среди наиболее популярных файловых менеджеров следует отметить программы Norton Commander и Volkov Commander.
Операционные системы класса Windows 9x
Основные отличия Windows от ms dos
В идеологии работы приложений Windows и MS DOS имеются коренные различия. В MS DOS любая программа может работать не только с функциями операционной системы, но и напрямую обращаться к базовой системе ввода-вывода (BIOS) и даже непосредственно к ресурсам компьютера. Такая открытость MS DOS объясняется тем, что она создавалась для работы одного пользователя с одной программой. Бурное развитие персональных компьютеров и появление очень мощных приложений привели к возникновению противоречия между возможностями MS DOS и потребностями пользователей. Поэтому Windows создавалась для того, чтобы обеспечить единый подход к разработке программного обеспечения для различных аппаратных средств, единый пользовательский интерфейс, позволяющий работать на одном компьютере с несколькими задачами, сохранив при этом возможность применения всего программного обеспечения, созданного для MS DOS.
Схема взаимодействия программы для Windows с ресурсами компьютера приведена на рисунке 6.2.
Как легко можно заметить, программа для Windows, в отличие от программы для MS DOS, непосредственно к ресурсам компьютера никогда не обращается. Вместо этого она вызывает системные функции Windows, которых насчитывается несколько сотен.
Все основные компоненты Windows сосредоточены в трех модулях: KERNEL, GDI и USER.
Модуль KERNEL является ядром системы и отвечает за управление памятью, загрузку и выполнение программ и т. п. Модуль GDI (Graphics Device Interface – интерфейс с графическими устройствами), как видно из его названия, взаимодействует с различными графическими устройствами. Модуль USER отвечает за организацию взаимодействия пользователя с Windows-приложением через устройства ввода-вывода.
Функции, которые входят в состав этих модулей, составляют Windows API (Applications Programming Interface – интерфейс для создания приложений) При работе программы под Windows она должна обращаться к этим функциям для выполнения тех или иных действий.
Windows и объектно-ориентированное программирование
Среда Windows неразрывно связана с объектно-ориентированным подходом к программированию. Главным объектом Windows, что отражается даже в названии системы, является объект Window. Любая программа Windows имеет хотя бы одно окно, называемое главным окном (WinMain), которое может владеть еще несколькими окнами.
С точки зрения пользователя, окно – это участок экрана, в котором отображается работа текущей программы, а с точки зрения программиста, это объект, параметры и поведение которого определяются в соответствии с принципами объектно-ориентированного программирования.
После того как создан экземпляр объекта типа окно, он получает доступ к сообщениям системы. Это значит, что все события, происходящие во время работы компьютера, – сигналы от таймера, нажатия клавиш мыши или клавиатуры, сообщения от различных устройств, а также от всех работающих в данный момент программ – обрабатываются Windows и помещаются в единообразном виде в специальный блок, который и называется системной очередью сообщений. Модуль USER распределяет эти сообщения по очередям приложений.
Программа для Windows периодически проверяет свою очередь сообщений, есть ли сообщения тех типов, на которые одно из его окон «умеет» реагировать. Алгоритм работы программы для Windows должен полностью отражать идеологию объектно-ориентированного программирования, так как сообщения, которые, по сути, являются структурами данных, управляют взаимодействием объектов – окон приложения Windows.
Windows предоставляет большое количество разнообразных стандартных сообщений, которыми могут обмениваться программы. Кроме того, программист может создать свои сообщения, отличные от стандартных.
Таким образом, после того, как программа создает главное окно, она передает управление Windows и только периодически проверяет свою очередь сообщений. Если какое-нибудь из окон приложения может реагировать на очередное сообщение, то соответствующая функция окна вызывается через Windows функцией управления этим окном приложения.