- •18. Ос семейства unix. Архитектура виртуальной файловой системы. Виртуальные индексные дескрипторы. Монтирование файловых систем. 82
- •31. Файловая система Novell NetWare. Журналирование. Поддержка дополнительных пространств имен. 126
- •32. Ос семейства unix. System V ipc. Разделяемая память. Семафоры. Сообщения. Программные каналы. 126
- •Билет 1
- •1. Классификация современных ос.
- •2. Ос семейства unix. System V ipc. Разделяемая память. Семафоры. Сообщения. Программные каналы.
- •Разделяемая память
- •Семафоры
- •Сообщения
- •Программные каналы
- •Билет 2
- •Распределение оперативной памяти (conversional memory, hma, ems, xms)
- •Базовая память (conventional memory)
- •Дополнительная память (Extended Memory Specification - xms)
- •Расширенная память (Expanded Memory Specification - ems)
- •Верхняя память (High Memory Area - hma)
- •4. Ос семейства unix. Сигналы. Сигналы
- •Доставка и обработка сигнала
- •Билет 3
- •5. Файловые системы fat и vfat. Файловая система fat
- •Загрузочный сектор
- •Корневой каталог root
- •Файловая система vfat
- •6. Ос семейства unix. Управление вводом - выводом. Блочные, символьные и потоковые драйверы. Управление вводом – выводом
- •Принципы системной буферизации ввода/вывода
- •Системные вызовы для управления вводом/выводом
- •Блочные, символьные и потоковые драйверы Блочные драйверы
- •Символьные драйверы
- •Потоковые драйверы
- •Билет 4
- •7. Сравнительные особенности ядер операционных систем Windows nt и os/2 Ядро Windows nt
- •8. Ос семейства unix. Потоки. Программный интерфейс сокетов. Потоки
- •Программный интерфейс сокетов Сокет
- •Программный интерфейс сокетов
- •Билет 5
- •9. Одноранговые сетевые ос. Структура сетевой операционной системы
- •Одноранговые сетевые ос и ос с выделенными серверами
- •10. Ос семейства unix. Архитектура виртуальной файловой системы. Виртуальные индексные дескрипторы. Монтирование файловых систем. Архитектура виртуальной файловой системы
- •Виртуальные индексные дескрипторы
- •Монтирование файловых систем
- •Структура NetWare и обзор особенностей
- •Способы повышения производительности
- •Способы обеспечения открытости и расширяемости
- •Способы обеспечения надежности
- •Защита информации
- •Нити Диспетчеризация процессов (нитей)
- •Кольца защиты Первый уровень защиты sft-I
- •Второй уровень надёжности sft-II
- •Третий уровень надёжности sft-III
- •12. Основные сетевые сервисы ос unix. X-Window. Основные сетевые сервисы ос unix
- •Перечень основных сетевых сервисов
- •Общая организация X-Window
- •Клиентская и серверная части
- •Базовые библиотеки
- •13. Файловая система Novell NetWare. Журналирование. Поддержка дополнительных пространств имен. Файловая система Novell NetWare
- •Журналирование Поддержка дополнительных пространств имен Пространства имен
- •Билет 8
- •15. Концепции Windows nt. Архитектура ядра nt, защищенные подсистемы (Win 32, Win 16, dos, os/2, posix). Концепции Windows nt
- •Архитектура ядра nt, защищенные подсистемы (Win 32, Win 16, dos, os/2, posix) Архитектура ядра Windows nt 5.0
- •Архитектура системы
- •Режим ядра
- •Исполняемая часть
- •Абстракция от оборудования
- •Пользовательские процессы
- •Подсистемы среды и библиотеки dll
- •Новые черты ядра nt 5.0
- •Объект "Задание"
- •Управление памятью большой емкости
- •Пользователи и группы
- •Идентификаторы
- •Разграничения прав на доступ к файловой системе
- •Алгоритм планирования процессов и нитей
- •Передача параметров
- •Связывание (binding)
- •Обработка особых ситуаций (exception)
- •Семантика вызова
- •Представление данных
- •Билет 11
- •21. Концепции построения семейств Windows 3.X и 9x/me
- •1. Самое начало
- •2. Начало: Windows 1.0 /Ноябрь 1985/
- •3. Улучшения: Windows 2.0 /Ноябрь 1987/
- •Windows 386 /9 декабря 1987 / Windows 2.1 (286) /Июнь 1988/
- •4. Обещанное: Windows 3.0/22 мая 1990/
- •5. Ещё лучше: Windows 3.1 /1992/
- •6. Интеграция сетевых средств: Windows for Workgroups 3.11 /Ноябрь 1992/
- •7. Новые технологии: Windows nt 3.1 /27 июля 1993/
- •Windows nt 3.5 /21 сентября 1994/ Windows nt 3.51 /30 мая 1995/
- •8. Прорыв: Windows 95 /24 августа 1995/
- •9. Nt с новым лицом: Windows nt 4.0 /31 июля 1996/
- •10. Хит: Windows 98 /Ноябрь(?) 1998/
- •11. Продолжение: Windows Me/1999(?)/
- •22. Ос семейства unix. Пользовательская и ядерная составляющая процессов. Жизненный цикл процесса. Пользовательская и ядерная составляющая процессов Понятие нити (threads)
- •Жизненный цикл процесса
- •Суперблок
- •Индексные дескрипторы
- •Имена файлов
- •Недостатки и ограничения
- •Структура каталога
- •Каталоги
- •Виртуальная память
- •Аппаратно-независимый уровень управления памятью
Пользователи и группы
UNIX - многопользовательская операционная система. Пользователи, занимающиеся общими задачами, могут объединяться в группы. Каждый пользователь обязательно принадлежит к одной или нескольким группам. Все команды выполняются от имени определенного пользователя, принадлежащего в момент выполнения к определенной группе.
В многопользовательских системах необходимо обеспечивать защиту объектов (файлов, процессов), принадлежащих одному пользователю, от всех остальных. ОС UNIX предлагает базовые средства защиты и совместного использования файлов на основе отслеживания пользователя и группы, владеющих файлом, трех уровней доступа (для пользователя-владельца, для пользователей группы-владельца, и для всех остальных пользователей) и трех базовых прав доступа к файлам (на чтение, на запись и на выполнение). Базовые средства защиты процессов основаны на отслеживании принадлежности процессов пользователям.
Идентификаторы
Для отслеживания владельцев процессов и файлов используются числовые идентификаторы. Идентификатор пользователя и группы - целое число (обычно) в диапазоне от 0 до 65535. Присвоение уникального идентификатора пользователя выполняется при заведении системным администратором нового регистрационного имени. Значения идентификатора пользователя и группы - не просто числа, которые идентифицируют пользователя, - они определяют владельцев файлов и процессов. Среди пользователей системы выделяется один пользователь - системный администратор или суперпользователь, обладающий всей полнотой прав на использование и конфигурирование системы. Это пользователь с идентификатором 0 и регистрационным именем root.
При представлении информации человеку удобнее использовать вместо соответствующих идентификаторов символьные имена - регистрационное имя пользователя и имя группы. Соответствие идентификаторов и символьных имен, а также другая информация о пользователях и группах в системе (учетные записи), как и большинство другой информации о конфигурации системы UNIX, по традиции, представлена в виде текстовых файлов. Эти файлы - /etc/passwd, /etc/group и /etc/shadow (в системах с теневым хранением паролей).
Разграничения прав на доступ к файловой системе
Каждый пользователь UNIX (не говоря уже о системном администраторе) должен управлять дисковым пространством. Пользователь несет ответственность за содержимое своего начального каталога и обеспечение целостности любых имеющихся у него данных. Целостность данных обеспечивается проверкой и изменением прав доступа. Защищая файлы и каталоги, пользователь предотвращает неавторизированный доступ.
Каждый файл в ОС UNIX содержит набор прав доступа, по которому определяется, как пользователь взаимодействует с данным файлом. Этот набор хранится в индексном дескрипторе данного файла в виде целого значения, из которого обычно используется 12 битов. Причем каждый бит используется как переключатель, разрешая (значение 1) или запрещая (значение 0) тот или иной доступ.
Три первых бита устанавливают различные виды поведения при выполнении. Оставшиеся девять делятся на три группы по три, определяя права доступа для владельца, группы и остальных пользователей. Каждая группа задает права на чтение, запись и выполнение.
Бит чтения для всех типов файлов имеет одно и то же значение: он позволяет читать содержимое файла (получать листинг каталога командой ls).
Бит записи также имеет одно и то же значение: он позволяет писать в этот файл, включая и перезапись содержимого. Если у пользователя отсутствует право доступа на запись в каталоге, где находится данный файл, то пользователь не сможет его удалить. Аналогично, без этого же права пользователь не создаст новый файл в каталоге, хотя может сократить длину доступного на запись файла до нуля.
Если для некоторого файла установлен бит выполнения, то файл может выполняться как команда. В случае установки этого бита для каталога, этот каталог можно сделать текущим (перейти в него командой cd).
Билет 9
17. ОС семейства Microsoft Windows NT. Процессы и нити, планирование процессов и нитей.
Процессы и нити, планирование процессов и нитей
Процессы и нити
В разных ОС процессы реализуются по-разному. Эти различия заключаются в том, какими структурами данных представлены процессы, как они именуются, какими способами защищены друг от друга и какие отношения существуют между ними. Процессы Windows NT имеют следующие характерные свойства:
Процессы Windows NT реализованы в форме объектов, и доступ к ним осуществляется посредством службы объектов.
Процесс Windows NT имеет многонитевую организацию.
Как объекты-процессы, так и объекты-нити имеют встроенные средства синхронизации.
Менеджер процессов Windows NT не поддерживает между процессами отношений типа "родитель-потомок".
В любой системе понятие "процесс" включает следующее:
исполняемый код,
собственное адресное пространство, которое представляет собой совокупность виртуальных адресов, которые может использовать процесс,
ресурсы системы, такие как файлы, семафоры и т.п., которые назначены процессу операционной системой.
хотя бы одну выполняемую нить.
Адресное пространство каждого процесса защищено от вмешательства в него любого другого процесса. Это обеспечивается механизмами виртуальной памяти. Операционная система, конечно, тоже защищена от прикладных процессов. Чтобы выполнить какую-либо процедуру ОС или прочитать что-либо из ее области памяти, нить должна выполняться в режиме ядра. Пользовательские процессы получают доступ к функциям ядра посредством системных вызовов. В пользовательском режиме выполняются не только прикладные программы, но и защищенные подсистемы Windows NT.
В Windows NT процесс - это просто объект, создаваемый и уничтожаемый менеджером объектов. Объект-процесс, как и другие объекты, содержит заголовок, который создает и инициализирует менеджер объектов. Менеджер процессов определяет атрибуты, хранимые в теле объекта-процесса, а также обеспечивает системный сервис, который восстанавливает и изменяет эти атрибуты.
В число атрибутов тела объекта-процесса входят:
Идентификатор процесса - уникальное значение, которое идентифицирует процесс в рамках операционной системы.
Токен доступа - исполняемый объект, содержащий информацию о безопасности.
Базовый приоритет - основа для исполнительного приоритета нитей процесса.
Процессорная совместимость - набор процессоров, на которых могут выполняться нити процесса.
Предельные значения квот - максимальное количество страничной и нестраничной системной памяти, дискового пространства, предназначенного для выгрузки страниц, процессорного времени - которые могут быть использованы процессами пользователя.
Время исполнения - общее количество времени, в течение которого выполняются все нити процесса.
Напомним, что нить является выполняемой единицей, которая располагается в адресном пространстве процесса и использует ресурсы, выделенные процессу. Подобно процессу нить в Windows NT реализована в форме объекта и управляется менеджером объектов.
Объект-нить имеет следующие атрибуты тела:
Идентификатор клиента - уникальное значение, которое идентифицирует нить при ее обращении к серверу.
Контекст нити - информация, которая необходима ОС для того, чтобы продолжить выполнение прерванной нити. Контекст нити содержит текущее состояние регистров, стеков и индивидуальной области памяти, которая используется подсистемами и библиотеками.
Динамический приоритет - значение приоритета нити в данный момент.
Базовый приоритет - нижний предел динамического приоритета нити.
Процессорная совместимость нитей - перечень типов процессоров, на которых может выполняться нить.
Время выполнения нити - суммарное время выполнения нити в пользовательском режиме и в режиме ядра, накопленное за период существования нити.
Состояние предупреждения - флаг, который показывает, что нить должна выполнять вызов асинхронной процедуры.
Счетчик приостановок - текущее количество приостановок выполнения нити.
Кроме перечисленных, имеются и некоторые другие атрибуты.
Как видно из перечня, многие атрибуты объекта-нити аналогичны атрибутам объекта-процесса. Весьма сходны и сервисные функции, которые могут быть выполнены над объектами-процессами и объектами-нитями: создание, открытие, завершение, приостановка, запрос и установка информации, запрос и установка контекста и другие функции.
