- •Оглавление
- •Введение
- •1. Назначение и функции операционной системы
- •1. 1. Функциональные компоненты операционной системы автономного компьютера
- •1. 1. 1. Управление процессами
- •1. 1. 2. Управление памятью
- •1. 1. 3. Управление файлами и внешними устройствами
- •1. 1. 4. Защита данных и администрирование
- •1. 1. 5. Интерфейс прикладного программирования
- •1. 1. 6. Пользовательский интерфейс
- •Вопросы для самопроверки
- •Контрольные вопросы
- •1. 2. Сетевые операционные системы
- •1. 2. 1. Сетевые и распределенные ос
- •1. 2. 2. Два значения термина «сетевая ос»
- •1. 2. 3. Функциональные компоненты сетевой ос
- •1. 2. 4. Сетевые службы и сетевые сервисы
- •1. 2. 5. Встроенные сетевые службы и сетевые оболочки
- •1.3 Одноранговые и серверные сетевые операционные системы
- •1.3.1 Ос в одноранговых сетях
- •1.3.2 Ос в сетях с выделенными серверами
- •1. 4. Требования к современным операционным системам
- •Вопросы для самопроверки
- •Контрольные вопросы
- •2. Архитектура операционной системы
- •2. 1. Ядро и вспомогательные модули ос
- •2. 2. Ядро и привилегированный режим
- •2. 3. Многослойная структура ос
- •2. 4. Аппаратная зависимость и переносимость ос
- •2. 5. Переносимость операционной системы
- •Вопросы для самопроверки
- •Контрольные вопросы
- •2. 6. Микроядерная архитектура
- •2 .6. 1. Концепция
- •2. 6. 2. Преимущества и недостатки микроядерной архитектуры
- •2. 7. Совместимость и множественные прикладные среды
- •2. 7. 1. Двоичная совместимость и совместимость исходных текстов
- •2. 7. 2. Трансляция библиотек
- •2. 7. 3. Способы реализации прикладных программных сред
- •Вопросы для самопроверки
- •Контрольные вопросы
- •3. Процессы и потоки
- •3. 1. Мультипрограммирование
- •3. 1. 1. Мультипрограммирование в системах пакетной обработки
- •3. 1. 2. Мультипрограммирование в системах разделения времени
- •3. 1. 3. Мультипрограммирование в системах реального времени
- •Вопросы для самопроверки
- •Контрольные вопросы
- •3. 2. Мультипроцессорная обработка
- •Вопросы для самопроверки
- •Контрольные вопросы
- •3. 3. Планирование процессов и потоков
- •3. 4. Понятия «процесс» и «поток»
- •3 .4. 1. Создание процессов и потоков
- •3. 4. 2. Планирование и диспетчеризация потоков
- •3. 4. 3. Состояния потока
- •3. 4. 4. Вытесняющие и невытесняющие алгоритмы планирования
- •3. 4. 5. Алгоритмы планирования, основанные на квантовании
- •3. 4. 6. Алгоритмы планирования, основанные на приоритетах
- •3. 4. 7. Смешанные алгоритмы планирования
- •3.5 Мультипрограммирование на основе прерываний
- •3.5.1 Назначение и типы прерываний
- •3.5.2 Механизм прерываний
- •3.5.3 Программные прерывания
- •3.5.4 Диспетчеризация и приоритезация прерываний в ос
- •3.5.5 Функции централизованного диспетчера прерываний на примере Windows nt
- •3.5.6 Процедуры обработки прерываний и текущий процесс
- •3.5.7 Системные вызовы
- •3. 6. Синхронизация процессов и потоков
- •3. 5. 1. Цели и средства синхронизации
- •3.6.2 Необходимость синхронизации и гонки
- •3.6.3 Критическая секция
- •3.6.4 Блокирующие переменные
- •3.6.5 Семафоры
- •3.6.6 Тупики
- •3.6.7 Синхронизирующие объекты ос
- •3.6.8 Сигналы
- •Вопросы для самопроверки
- •Контрольные вопросы
- •4. Управление памятью
- •4. 1. Функции ос по управлению памятью
- •4. 2. Типы адресов
- •Вопросы для самопроверки
- •Контрольные вопросы
- •4. 3. Алгоритмы распределения памяти
- •4. 3. 1. Алгоритмы распределения без использования внешней памяти Распределение памяти динамическими разделами
- •Перемещаемые разделы
- •4. 3. 2. Алгоритмы распределения с использованием внешней памяти
- •Свопинг и виртуальная память
- •Страничное распределение
- •Сегментное распределение
- •Сегментно-страничное распределение
- •Разделяемые сегменты памяти
- •4.4 Кэширование данных
- •4. 4. 1 Иерархия запоминающих устройств
- •4.4.3 Проблема согласования данных
- •4.4.4 Способы отображения основной памяти на кэш
- •Вопросы для самопроверки
- •Контрольные вопросы
- •5. Ввод-вывод и файловая система
- •5. 1. Задачи ос по управлению файлами и устройствами
- •5. 2. Специальные файлы
- •5. 3. Логическая организация файловой системы
- •5. 3. 1. Цели и задачи файловой системы
- •5. 3. 2. Типы файлов
- •5. 3. 3. Иерархическая структура файловой системы
- •5. 3. 4. Имена файлов
- •5. 3. 5. Монтирование
- •5. 3. 6. Атрибуты файлов
- •5. 3. 7. Логическая организация файла
- •Вопросы для самопроверки
- •Контрольные вопросы
- •5. 4. Физическая организация файловой системы
- •5. 4. 1. Диски, разделы, секторы, кластеры
- •5. 4. 2. Физическая организация и адресация файла
- •2048 Записей
- •5. 5. Физическая организация fat
- •5. 6. Физическая организация s5 и ufs
- •5. 7. Физическая организация ntfs
- •5. 7. 1. Структура тома ntfs
- •5. 7. 2. Структура файлов ntfs
- •5. 7. 3. Каталоги ntfs
- •Вопросы для самопроверки
- •Контрольные вопросы
- •5. 8. Контроль доступа к файлам
- •5. 8. 1. Доступ к файлам как частный случай доступа к разделяемым ресурсам
- •5. 8. 2. Механизм контроля доступа
- •5. 8. 3. Организация контроля доступа в ос unix
- •Процесс
- •Запрос операции
- •Вопросы для самопроверки
- •Контрольные вопросы
- •5. 8. 4. Организация контроля доступа в ос Windows nt
- •Разрешения на доступ к каталогам и файлам
- •Вопросы для самопроверки
- •Контрольные вопросы
- •5.9 Отказоустойчивость файловых систем
- •5.9.1 Восстанавливаемость файловых систем Причины нарушения целостности файловых систем
- •5.9.2 Протоколирование транзакций
- •5.9.3 Восстанавливаемость файловой системы ntfs
- •5.9.4 Избыточные дисковые подсистемы raid
- •Библиографический список
- •Ответы на вопросы для самопроверки
Библиографический список
1. Дайсон П. Овладеваем пакетом NortonUtilites6: Пер. с англ. М.: Мир, 1993.
2. Дунаев С. UNIX SYSTEM V. Release 4.2. Общее руководство. М.: ДИАЛОГ–МИФИ, 1995.
3. Дженнингс Р. Windows 95 в подлиннике: Пер. с англ. СПб.: BHV – Санкт-Петербург, 1995.
4. Зубанов Ф. Windows NT Server: администрирование и надежность. М:. Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1996.
5. Ричард Петерсен, Linux: Руководство по операционной системе. Дюссельдорф – Киев – Москва. СПб: BHV, 1997.
6. Гантер Д., Барнет С., Гантер Р. Интеграция Windows NT и UNIX. Дюссельдорф – Киев – Москва. СПб: BHV, 1998.
7. Хьюз Джефри Ф., Томас Блейер В. Руководство от Novell. Сети NetWare. : Пер. с англ. М.: Издательский дом «Вильямс», 2000.
8. Андреев А. Г. и др. Microsoft Windows 2000: Server и Professional. Русские версии. СПб.: БХВ-Петербург, 2001.
9. Олифер В. Г., Олифер Н .А. Сетевые операционные системы. СПб.: Питер, 2002.
Ответы на вопросы для самопроверки
Заменяет реальные машинные команды командами высокого уровня.
Создание и уничтожение процессов, распределение процессорного времени, обеспечение процессов ресурсами, синхронизация и межпроцессное взаимодействие.
Использование объемов памяти больших размеров, чем наличной физической памяти.
Преобразует символьные имена файлов в физические адреса данных на диске, организует совместный доступ к данным, защищает данные от несанкционированного доступа.
Логический вход в систему, назначение прав доступа к файлам и принтерам, ограничение на выполнение системных действий, аудит со-бытий.
Экранирует от пользователя все низкоуровневые аппаратные интерфейсы.
Сетевая надстройка к операционной системе.
Интерфейс между потребителем и поставщиком услуг (службой).
Да.
Структурная организация ОС на основе различных программных модулей.
Аппаратура, ядро, утилиты и приложения.
Согласовать прикладной программный интерфейс с функциями операционной системы.
Большая часть кода пишется на языке, трансляторы которого имеются на всех машинах, аппаратно-зависимый код изолируется в нескольких модулях
В привилегированном режиме остается небольшая часть ОС, соответствующая базовым механизмам, работа которых в пользовательском режиме невозможна.
Микроядро использует механизмы, аналогичные взаимодействию клиента и сервера путем обмена сообщениями.
Возможность ОС выполнять приложения, написанные для дру-гих ОС.
Библиотечные функции одной ОС подготавливаются в среде другой ОС. За счет выполнения этих функций на родном процессоре скорость работы приложения существенно повышается.
Количество задач, выполняемых системой в единицу времени; интерактивная работа пользователя; способность системы выдерживать заранее заданные интервалы времени между запуском задачи и получением результатов.
Нет.
Квант времени, выдаваемый системой каждому процессу.
Выдерживание заданного интервала времени между запуском задачи и получением результата.
В мультипрограммной среде в каждый момент времени выполняется только одна задача, а в мультипроцессорной – несколько, но каждая на своем процессоре.
Нет.
Нет.
Обеспечение процессов необходимыми ресурсами, синхронизация потоков, «зачистка » завершившихся процессов.
Нет.
Определяет момент времени смены активного потока, выбирает на выполнение готовый поток.
При значительном увеличении кванта времени, когда любая задача может быть решена за один квант.
Потоки реального времени, потоки с переменным приоритетом.
101. Символьные имена – присваивает пользователь при написании программы.
Виртуальные адреса (математические или логические адреса) –вырабатывает транслятор, переводящий программу на машинный язык.
Физические адреса – соответствуют номерам ячеек оперативной памяти, где будут расположены переменные и команды.
102. Замена всех виртуальных адресов один раз во время загрузки процесса.
Программа загружается в виртуальных адресах, но во время обращения к ОП они преобразуются в физические адреса ОП.
Вытесняемая (paged) и невытесняемая (non-paged).
110. Алгоритмы, основанные на перемещении сегментов процессов между ОП и дисками, и алгоритмы, в которых внешняя память не используется.
111. Свопинг (swapping) – образы процессов перемещаются целиком.
Виртуальная память (virtual memory) – только части образов процессов (сегменты и страницы) перемещаются между ОП и диском.
Файл свопинга или страничный файл.
Нет, так как в этом случае отсутствует механизм прав доступа к областям ОП.
129. Блок-ориентированные и байт-ориентированные.
130. Да.
Логическая модель заменяет физическую структуру хранимых данных на более удобную, представляя ее в виде файла.
Обычные файлы, каталоги и специальные файлы.
Один файл – одно полное имя.
Принципы размещения файлов, каталогов и системной информации на реальном устройстве.
Одно.
152. На системную (загрузочная запись, FAT, корневой каталог) и область данных.
153. Главная таблица файлов (MFT).
Атрибут. Данные также являются атрибутом файла, как и его имя.
Для разбиения упорядоченных имен файлов на группы с целью сокращения поиска нужного файла.
169. Нет. В роли общего ресурса могут выступать различные внешние устройства: принтеры, модемы, графопостроители и т. п. Область памяти, используемая для обмена данными между процессами, также является разделяемым ресурсом. Сами процессы в некоторых случаях выступают в роли разделяемого ресурса, когда пользователи посылают процессам сигналы, на которые процесс должен реагировать.
170. Пользователи осуществляют доступ к разделяемым ресурсам не непосредственно, а с помощью прикладных процессов, которые запускаются от его имени.
Нет. Для файла – чтение, запись, удаление. Для принтера – перезапуск, очистка очереди, приостановка печати.
Избирательный доступ, когда для каждого объекта сам владелец может определить допустимые операции с объектами.
Мандатный доступ (обязательный, принудительный) – это такой подход к определению прав доступа, при котором система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу в зависимости от того, к какой группе пользователей он принад-лежит.
Реальные идентификаторы субъектов задаются процессу при его порождении, а по эффективным идентификаторам проверяются права доступа процесса к файлу. Эффективные идентификаторы могут заменить реальные, но в исходном состоянии они совпадают с реальными.
184. Набор допустимых операций.
Идентификатор владельца.
Управление доступом.
185. Древовидная иерархическая структура для файлов и каталогов.
Иерархическая структура родитель-потомок для процессов.
Для устройств – принадлежность к определенному типу устройств и связь с устройствами других типов.
Централизованный.
Разрешения (permissions) – это множество операций, которые могут быть определены для субъектов всех типов по отношению к объектам любого типа: файлам, каталогам, принтерам, секциям памяти и т. д.
Права (user rights) – определяются для субъектов типа группа на выполнение некоторых системных операций: установку системного времени, архивирование файлов, выключение компьютера и т. п. Именно права, а не разрешения отличают одну встроенную группу пользователей от другой. Некоторые права у встроенной группы являются также встроенными – их у группы нельзя отнять. Остальные права можно удалить или добавить из общего списка прав.
Возможности пользователей (user abilities) определяются для отдельных пользователей на выполнение действий, связанных с формированием их операционной среды, например изменения состава главного меню и т.д.
Если процесс во время создания объекта явно задает все права доступа, то система безопасности приписывает этот ACL объекту.
Если процесс не снабжает объект списком ACL и объект имеет имя, то применяется принцип наследования разрешений.
Если процесс не задал явно ACL для создаваемого объекта и не имеет наследуемых элементов ACL, то используется список ACL по умолчанию из токена доступа процесса.
Пользователи не могут работать с каталогом или файлом, если они не имеют явного разрешения на это или же они не относятся к группе, которая имеет соответствующее разрешение. Разрешения имеют накопительный характер за исключением разрешения No Access, которое отменяет все прочие разрешения.
1ПРИМЕЧАНИЕ ——————————————————————————————————-
При восстановлении часто возникают ситуации, когда система пытается отменить транзакцию, которая уже была отменена или вообще не выполнялась. Аналогично при повторении некоторой транзакции может оказаться, что она уже была выполнена. Учитывая это, необходимо так определить подоперации транзакции, чтобы многократное выполнение каждой из этих подопераций не имело никакого добавочного эффекта по сравнению с первым выполнением этой подопераций. Такое свойство операции называется идемпотентностью (idempotency). Примером идемпотентной операции может служить, например, многократное присвоение переменной некоторого значения (сравните с операциями инкремента и декремента).