
- •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)
- •Жизненный цикл процесса
- •Суперблок
- •Индексные дескрипторы
- •Имена файлов
- •Недостатки и ограничения
- •Структура каталога
- •Каталоги
- •Виртуальная память
- •Аппаратно-независимый уровень управления памятью
2. Ос семейства unix. System V ipc. Разделяемая память. Семафоры. Сообщения. Программные каналы.
System V IPC
Средства межпроцессорного взаимодействия - IPC (Inter Process Communication) является базой для построения моделей “клиент - сервер”, а технология построения моделей “клиент - сервер” образует основу для реализации сетей. При построении моделей “клиент - сервер” в Unix используются следующие средства: сигналы, семафоры, программные каналы, очереди сообщений, разделяемая память, а также специальные команды (write, cu, mail) и средства межмашинного взаимодействия, включающие различные типы протоколов и файловых систем (uucp, tcp/ip, nfc, rfs). Рассмотрим сначала только средства межпроцессорного взаимодействия: сигналы, семафоры, каналы, очереди сообщений и разделяемую память. Взаимодействие процессов необходимо для решения следующих задач: • Передача данных от одного процесса к другому, объем которых может варьироваться от нескольких десятков байт до нескольких мегабайт. • Совместное использование данных. Вместо копирования информации от одного процесса к другому, процессы могут совместно использовать один набор данных. Количество взаимодействующих процессов может быть больше двух. Извещение одного процесса другим процессом о наступлении некоторого события. Это может понадобиться для синхронизации выполнение нескольких процессов.
Разделяемая память
Разделяемую память применяют для того, чтобы увеличить скорость прохождения данных между процессами. Во всех рассмотренных ранее случаях обмен информацией между процессами проходит через ядро. Техника разделяемой памяти позволяет осуществить обмен информацией не через ядро, а, используя некоторую часть виртуального адресного пространства, куда помещаются и откуда считываются данные. После создания разделяемого сегмента памяти любой из процессов пользователей может подсоединить его к своему собственному виртуальному пространству и работать с ним, как с обычным сегментом памяти. Недостатком такого обмена информацией является отсутствие каких бы то ни было средств синхронизации, однако, для преодоления этого недостатка можно использовать технику семафоров. Примерный сценарий использования разделяемой памяти при реализации технологий «клиент - сервер» имеет вид: 1. сервер получает доступ к разделяемой памяти, используя семафор; 2. сервер производит запись данных в разделяемую память; 3. после завершения записи данных сервер освобождает доступ к разделяемой памяти с помощью семафора; 4. клиент получает доступ к разделяемой памяти, запирая доступ к этой памяти для других процессов с помощью семафора; 5. клиент производит чтение данных из разделяемой памяти, а затем освобождает доступ к памяти с помощью семафора. Для работы с разделяемой памятью используются системные вызовы: - shmge - создание сегмента разделяемой памяти; - shmctl - установка параметров; - shmat - подсоединение сегмента памяти; - shmdt - отсоединение сегмента. В схеме обмена данными между двумя процессами (клиентом и сервером), использующими разделяемую память, должна функционировать группа из двух семафоров. Первый семафор служит для блокирования доступа к разделяемой памяти, его разрешающий сигнал – 1, а запрещающий – 0. второй семафор служит для сигнализации сервера о том, что клиент начал работу, при этом доступ к разделяемой памяти блокируется и клиент читает данные из памяти. Теперь при вызове операции сервером, его работа будет приостановлена до освобождения памяти клиентом.