- •Введение
- •Понятие операционной системы. Типы операционных систем
- •Функции операционной системы
- •Структура операционной системы. Ос ms dos
- •Файлы и каталоги на дисках
- •Драйверы устройств
- •Базовая система ввода-вывода (bios)
- •Загрузчик операционной системы
- •Ядро ms dos
- •Командный процессор dos
- •Внешние команды dos
- •Файловая структура диска
- •Стартовый сектор
- •Каталоги
- •Область данных
- •Операционные системы Windows
- •Выбор платформы Windows
- •Термины
- •Архитектура Windows Режимы выполнения программного кода
- •Многозадачность
- •Управление памятью в Windows
- •Выполнение приложений
- •Интерфейс прикладного программирования Win32
- •Реестр Windows
- •Операционная система unix
- •Ядро и процессы unix
- •Диспетчер unix
- •Процессы unix
- •Дескриптор и контекст процесса
- •Иерархия процессов
- •Идентификаторы процесса
- •Группы процессов
- •Взаимодействие процессов
- •Процессы-«демоны»
- •Межпроцессные коммуникации unix
- •Сигналы
- •Сигналы unix по мере возрастания их значений:
- •Семафоры
- •Программные каналы (Pipes)
- •Очереди сообщений
- •Разделяемая память
- •Многопользовательская защита в unix
- •Идентификаторы пользователя и группы
- •Код защиты файла
- •Привилегированный пользователь
- •Эффективные и реальные идентификаторы
- •Свопинг и пейджинг в unix
- •Буфер кеш-памяти
- •Управление вводом/выводом
- •Специальные файлы
- •Взаимодействие драйверов с программной и аппаратной средой
- •Файловая система unix
- •Основные системные каталоги
- •Корневой каталог /
- •Каталог /var
- •Каталог /etc
- •Каталог /usr
- •Каталог /home (/export/home)
- •Каталог/opt (/opti, /opt2, ... /optn)
- •Команды управления swap
- •Команда mkfile
- •Специальные файлы
- •Класс устройства
- •Тип и номер
- •Связь физической и логической структур
- •Создание и монтирование файловой системы
- •Дисковые устройства в unix
- •Внутренняя структура файловой системы Распределение дискового пространства
- •Индексные дескрипторы
- •Системные вызовы unix для работы с файлами
- •Стандартные библиотечные функции ввода/вывода
- •Поточные функции ввода/вывода
- •Литература
- •Оглавление
-
Архитектура Windows Режимы выполнения программного кода
Два режима: пользователя и ядра, четыре уровня привилегий (кольца) для защиты от менее привилегированного кода (модель защиты Intel).
Уровень привилегий 0, режим ядра, максимальный .
Уровень привилегий 3, режим пользователя, минимальный .
ОС Windows используют только 0 и 3 уровни .
Режим ядра (кольцо 0) – наиболее привилегированный режим :
- имеет прямой доступ к аппаратному обеспечению ;
- имеет доступ ко всей памяти компьютера ;
- не может быть вытеснен в страничный файл на жестком диске ;
- выполняется с большим приоритетом , чем процессы режима пользователя . Компоненты режима ядра защищены архитектурно , процессор предотвращает их изменение другой программой .
Процесс режима пользователя характеризуется следующим :
- не имеет прямого доступа к аппаратуре , это защищает систему от неисправных приложений или неавторизированного доступа ;
- ограничен выделенным им адресным пространством. Этим обеспечивается целостность ОС ;
- может быть вытеснен из физической памяти в виртуальную память на жестком диске. Пространство на диске используется как дополнительное ОЗУ ;
- выполняется с меньшим приоритетом , чем ядро .
Процессы режима пользователя получают меньший доступ к процессу, чем процессы режима ядра . ОС не ожидает окончания выполнения приложения . Неисправный программный компонент не вызывает разрушения системы .
Многозадачность
Многозадачность – способность операционной системы обеспечить совместное использование процессора несколькими программами, т.е. выполнять более одной программы (задачи) одновременно. Рабочие программы можно назвать задачами.
Однозадачность – один процесс должен завершиться прежде, чем может начаться другой.
Процесс – выполняемая программа, ему принадлежит адресное пространство и выделенные ресурсы, а также один или более потоков, выполняющихся в его контексте. В Windows 2000 и UNIX загруженная в память программа называется процессом. В Windows 95 также применяется термин процесс . Термины процесс и задача можно считать синонимами. Поток – основная единица, которой ОС выделяет процессное время, и минимальный квант кода, который может быть запланирован для выполнения. Поток – это часть процесса , выполняющаяся в данный момент времени. Поток работает в адресном пространстве процесса и использует ресурсы, выделенные процессу . Любой процесс содержит хотя бы один поток, 16-разрядные приложения имеют один поток, 32-разрядные могут включать несколько потоков. Ресурсами владеют процессы, а не потоки .
Корпоративная многозадачность – это тип многозадачности, когда контроль над процессором никогда не отбирается у задачи, приложение должно самостоятельно отказаться от контроля над процессором, чтобы другое приложение заработало. Программа должна учитывать необходимость возврата управления процессором операционной системе, иначе ОС будет заблокирована.
Вытесняющая многозадачность – ОС получает контроль над процессором без согласия выполняющегося приложения. С помощью планирования ОС определяет, какой поток использует процессор в данный момент времени. Каждому потоку присваивается приоритет. Планирование основано на заранее заданной единице времени – кванте (продолжительность кванта зависит от конфигурации системы).
Уровни приоритетов – от 0 (наименьший) до 31 (наибольший). Поток с наибольшим приоритетом получает процессор в свое распоряжение. Приоритет каждого потока определяется по :
- классу приоритета процесса , которому принадлежит поток ;
- уровню приоритета потока внутри класса приоритета его процесса.
Уровни приоритетов Windows разделены на два класса :
- реального времени (приоритеты от 16 до 31) используются для выполнения основных функций ОС и обычно не применяются для приложений;
- переменного приоритета (от 0 до 15) – определяет процессорный приоритет приложения; приоритет 0 – для бесстраничного системного потока.
Базовые уровни приоритетов :
- низкий – запускает приложение с уровнем приоритета 4;
- обычный – запускает приложение с уровнем приоритета 7;
- высокий – запускает приложение с уровнем приоритета 13;
- реального времени – запускает приложение с уровнем приоритета 24.
