- •Оглавление
- •1 Операционные системы. Общие понятия 6
- •2 Однопользовательские операционные системы 16
- •3 Сетевые операционные системы 18
- •4 Управление локальными ресурсами 23
- •5 Современные концепции и технологии проектирования операционных систем 60
- •1.1.1Ос как расширенная машина
- •1.1.2Ос как система управления ресурсами
- •Введение
- •1Операционные системы. Общие понятия
- •1.1Понятие и функции операционной системы
- •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
- •Свойства Active Directory
- •Интеграция dns
- •Виртуальные контейнеры
- •Глобальный каталог
- •Безопасность
- •Репликация
- •Деревья и лес
- •Логическая структура
- •Публикация
- •Лабораторные работы по курсу «Операционные системы»
- •Управление файлами в ms dos
- •Основные отличия Windows от ms dos
- •Windows и объектно-ориентированное программирование
- •Принцип разделения ресурсов компьютера при работе нескольких задач в Windows
- •Динамически подключаемые библиотеки (dll) и принципы организации памяти Windows
- •Реестр Windows
- •Управление файлами в Windows
- •Общая организация традиционного ядра ос unix
- •Основные функции ядра
- •Принципы взаимодействия с ядром
- •Принципы обработки прерываний
- •Файловая система Linux
- •Задание на лабораторную работу
- •Состояние процессов
- •Алгоритмы планирования процессов
- •Взаимодействие и синхронизация процессов
- •Задание на лабораторную работу
- •Варианты заданий
- •Методы распределения памяти с использованием дискового пространства
- •Задание на лабораторную работу
- •Варианты заданий
- •Общая модель файловой системы
- •Физическая организация файла на устройстве внешней памяти
- •Файловая система fat
- •Файловая система ntfs
- •Файловая система ext2
- •Журналируемые файловые системы
- •Задание на лабораторную работу
- •Варианты заданий
- •Литература
Принципы обработки прерываний
Суть механизма обработки прерываний состоит в том, что каждому возможному прерыванию процессора (будь то внутреннее или внешнее прерывание) соответствует некоторый фиксированный адрес физической оперативной памяти. В случае возникновения прерывания происходит передача управления на ячейку физической оперативной памяти с соответствующим адресом – обычно адрес этой ячейки называется "вектором прерывания". Задача ОС, в этом случае, состоит в размещении в соответствующих ячейках оперативной памяти программного кода, обеспечивающего начальную обработку прерывания и инициирующего полную обработку.
В ОС Linux в векторе прерывания, соответствующем внешнему прерыванию, т.е. прерыванию от ВУ, содержатся команды, устанавливающие уровень выполнения процессора (уровень выполнения определяет, на какие внешние прерывания процессор должен реагировать незамедлительно) и осуществляющие переход на программу полной обработки прерывания в соответствующем драйвере устройства. Для внутреннего прерывания (например, прерывания по инициативе программы, страничное прерывание и т.д.) или прерывания от таймера в векторе прерывания содержится переход на соответствующую программу ядра ОС Linux.
Файловая система Linux
Файловая система Linux, в отличие от файловых систем DOS и Windows, является единым деревом. Корень этого дерева – каталог, называемый root (рут), и обозначаемый "/". Части дерева файловой системы могут физически располагаться в разных разделах разных дисков или вообще на других компьютерах, – для пользователя это прозрачно. Процесс присоединения файловой системы раздела к дереву называется монтированием, удаление - размонтированием. Например, файловая система CD ROM в ALT Linux монтируется по умолчанию в каталог mnt/cdrom (путь в Linux обозначается с использованием / , а не \, как в DOS/Win). Текущий каталог обозначается "./" . Любую файловую систему можно смонтировать используя команду mount и размонтировать используя umount.
Файловая система ALT Linux содержит каталоги первого уровня:
/bin (командные оболочки (shell), основные утилиты),
/boot (содержит ядро системы),
/dev (псевдофайлы устройств, позволяющие работать с ними напрямую),
/etc (файлы конфигурации),
/home (личные каталоги пользователей),
/lib (системные библиотеки, модули ядра),
/mnt (каталоги для монтирования файловых систем сменных устройств и внешних файловых систем),
/рrос (файловая система на виртуальном устройстве, ее файлы содержат информацию о текущем состоянии системы),
/root (личный каталог администратора системы),
/sbin (системные утилиты),
/usr (программы и библиотеки, доступные пользователю),
/var (рабочие файлы программ, очереди, журналы),
/tmp (временные файлы).
Для работы Linux необходимо создать на жестком диске (дисках) по крайней мере два раздела: корневой (то есть тот, который будет содержать каталог /) и раздел своппинга (swap, раздел подкачки). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Можно создавать отдельные разделы для каталогов /usr, /home, /var и т.д..
Все физические устройства ПК с установленной ОС Linux отображаются в каталог /dev файловой системы. Диски IDE (в том числе жесткие диски, дисководы CD ROM, ATAPI floppy) имеют имена:
/dev/hda - первый на первом канале IDE,
/dev/hdb - второй на первом канале IDE,
/dev/hdc - первый на втором канале IDE,
/dev/hdd - второй на втором канале IDE.
Жесткие диски SCSI обозначаются /dev/sdX, где Х - a,b,c,d,e,... в зависимости от порядкового номера диска на шине SCSI.
Раздел диска обозначается числом после его имени. Например, /dev/hdb4 – четвертый раздел второго диска на первом канале ide.
Управление файлами и каталогами в Linux осуществляется при помощи команд вводимых в командной строке или при помощи файловых менеджеров. Встроенным в ОС Linux файловым менеджером является программа Midnight Commander, которая имеет очень близкий к Norton Commander интерфейс.
