- •Лекции по курсу Сетевые операционные системы Введение.
- •Введение в типы операционных систем. Типы операционных систем.
- •Среда времени выполнения.
- •Сетевая операционная система Novell NetWare. Серверы.
- •Клиентская часть в NetWare.
- •Основные понятия nds.
- •Классификация объектов nds.
- •Классификация “листьев” nds.
- •Правила именования объектов nds.
- •Свойства объектов.
- •Особенности функционирования операционной системы Unix Введение
- •Базовые понятия ос unix.
- •Файловая система
- •Среда выполнения процессов.
- •Конструкционные блоки.
- •Функции ядра.
- •Предполагаемая аппаратная среда.
- •Прерывания и особые ситуации.
- •Уровни прерывания процессора
- •Распределение памяти
- •Архитектура операционной системы unix Общие положения.
- •Процессы
- •Контекст процесса
- •Состояния процесса
- •Переходы из состояния в состояние
- •“Сон” и пробуждение
- •Резюме.
- •Взаимодействие процессов в unix.
- •Сетевое взаимодействие в unix. Межмашинный интерфейс
- •Сокеты.
- •Windows nt
- •Архитектура WindowsNt
- •Исполняющая система Windows nt.
- •Диспетчер виртуальной памяти.
- •Средства вызова локальных процедур.
- •Диспетчер Кеша(CashManager)
- •Драйверы файловой системы.
- •Драйвер аппаратных устройств
- •Система безопасности Windows nt.
- •Сетевые драйверы
- •Модель сетевой архитектуры Windows nt.
- •Транспортные протоколы
- •Интерфейс драйвера транспорта
- •Рабочие станции и серверы Windows nt
- •Редиректоры
- •Серверы Windows nt
- •Провайдеры и интерфейс провайдера.
- •NetBios и Windows сокеты
- •NetBios
- •Tcp/ip дляWindows nt.
- •Tcp и сетевые возможности
- •Базовая поддержка протоколов tcp/ip.
- •Конфигурирование tcp/iPиSnmp. Маршрутизация и сетевые шлюзы.
- •Процесс межсетевой маршрутизации с использованием шлюзов.
- •Протокол динамической конфигурации хостов (dhcp).
- •Распознавание имен в сетях на базе WindowsNt.
- •NetBios поверхTcp
- •Сервис wins.
- •Wins в маршрутизируемой среде
- •Работа с сетями InternetилиIntranet
- •Общие проблемы работы с сетями
- •Программы маршрутизации и Устройства Защиты.
- •Типичные Сетевые Конфигурации Место Intranet
- •Место Internet
- •Интегрирование Вашего IntranetсInternet
- •Администрирование серверов с Internet Service Manager.
- •Обнаружение Других Компьютеров в Вашей Подсети.
- •Соединение с Internet
- •Как Выбирать Правильное Соединение Internet
- •Типы Соединений Internet.
- •Типы Соединений
- •Ip Адреса и dns
- •Другие Услуги Пользователя Internet
- •Публикации на Intranet
- •Имя разрешающей системы.
- •Использование Компьютерных Имен с wins server
- •Использование Компьютерных Имен и lmhosts
- •Использование Имен Домена с dns Станциями
- •Использование Доменных Имен и hosTs
- •Использование dhcp в Вашем Intranet
- •Использование urLs и Создание html Связей для Intranet
- •Snmp Текущий контроль.
- •Создание Виртуальных серверов
- •Использование ftp и Gopher Сервиса ftp сервис и Gopher сервис
- •Что такое ftp сервис?
- •Когда необходимо использовать ftp сервис?
- •Как работает ftp Сервис?
- •Конфигурирования Сеанса.
- •Просмотр Текущих Сеансов
- •Конфигурирование ftp Входа в систему
- •Управление Анонимными Соединениями Установка имени пользователя и пароля защиты:
- •Настройка Сообщений
- •Конфигурирование ftp Каталогов. Установка Исходного каталога
- •Установка, Стиля просмотра
- •Установка разрешения на чтение и запись.
- •Чтение.
- •Создание Файлов Аннотации
- •Аннотация файлов
- •Ошибки клиента броузера ftp, Directory Annotation Enabled
- •Специальные Каталоги в Home каталоге
- •Использование Имени Пользователя Directories
- •Использование Анонимного Каталога
- •Ftp Клиенты
- •Что такое Gopher сервис?
- •Конфигурирование Gopher сервиса
- •Управление Защитой через Имя Пользователя и Passord’s. Установка имени пользователя и пароля защиты.
- •Установка wais Индексные Запросы
- •Tag файлы
- •Создание tag Файлов. Создавать файл отметки
- •Резюме содержания файла.
- •Интерпретация элементов ввода
Состояния процесса
Время жизни процесса можно разделить на несколько состояний, каждое из которых имеет определенные характеристики, описывающие процесс. Все состояния процесса рассматриваются в главе 6, однако представляется существенным для понимания перечислить некоторые из состояний уже сейчас:
Процесс выполняется в режиме задачи.
Процесс выполняется в режиме ядра.
Процесс не выполняется, но готов к выполнению и ждет, когда планировщик выберет его. В этом состоянии может находиться много процессов, и алгоритм планирования устанавливает, какой из процессов будет выполняться следующим.
Процесс приостановлен (“спит”). Процесс “впадает в сон”, когда он не может больше продолжать выполнение, например, когда ждет завершения ввода-вывода.
Поскольку процессор в каждый момент времени выполняет только один процесс, в состояниях 1 и 2 может находиться самое большее один процесс. Эти два состояния соответствуют двум режимам выполнения, режиму задачи и режиму ядра.
Переходы из состояния в состояние
Состояния процесса, перечисленные выше, дают статическое представление о процессе, однако процессы непрерывно переходят из состояния в состояние в соответствии с определенными правилами. Диаграмма переходов представляет собой ориентированный граф, вершины которого представляют собой состояния, в которые может перейти процесс, а дуги - события, являющиеся причинами перехода процесса из одного состояния в другое. Переход между двумя состояниями разрешен, если существует дуга из первого состояния во второе. Несколько дуг может выходить из одного состояния, однако процесс переходит только по одной из них в зависимости от того, какое событие произошло в системе.
На Рисунке ???представлена диаграмма переходов для состояний, перечисленных выше.
Как уже говорилось выше, в режиме разделения времени может выполняться одновременно несколько процессов, и все они могут одновременно работать в режиме ядра. Если им разрешить свободно выполняться в режиме ядра, то они могут испортить глобальные информационные структуры, принадлежащие ядру.
Запрещая произвольное переключение контекстов и управляя возникновением событий, ядро защищает свою целостность.
Ядро разрешает переключение контекста только тогда, когда процесс переходит из состояния “запуск в режиме ядра” в состояние “сна в памяти”. Процессы, запущенные в режиме ядра, не могут быть выгружены другими процессами; поэтому иногда говорят, что ядро невыгружаемо, при этом процессы, находящиеся в режиме задачи, могут выгружаться системой. Ядро поддерживает целостность своих информационных структур, поскольку оно невыгружаемо, таким образом решая проблему “взаимного исключения” - обеспечения того, что критические секции программы выполняются в каждый момент времени в рамках самое большее одного процесса.
“Сон” и пробуждение
Процесс, выполняющийся в режиме ядра, имеет значительную степень автономии в решении того, как ему следует реагировать на возникновение системных событий. Процессы могут общаться между собой и “предлагать” различные альтернативы, но при этом окончательное решение они принимают самостоятельно.
Существует набор правил, которым подчиняется поведение процессов в различных обстоятельствах, но каждый процесс в конечном итоге следует этим правилам по своей собственной инициативе. Например, если процесс должен временно приостановить выполнение (“перейти ко сну”), он это делает по своей доброй воле. Следовательно, программа обработки прерываний не может приостановить свое выполнение, ибо если это случится, прерванный процесс должен был бы “перейти ко сну” по умолчанию.
Процессы приостанавливают свое выполнение, потому что они ожидают возникновения некоторого события, например, завершения ввода-вывода на периферийном устройстве, выхода, выделения системных ресурсов и т.д.
Когда говорят, что процесс приостановился по событию, то имеется ввиду, что процесс находится в состоянии “сна” до наступления события, после чего он пробудится и перейдет в состояние “готовности к выполнению”. Одновременно могут приостановиться по событию много процессов; когда событие наступает, все процессы, приостановленные по событию, пробуждаются, поскольку значение условия, связанного с событием, больше не является “истинным”.
Когда процесс пробуждается, он переходит из состояния “сна” в состояние “готовности к выполнению”, находясь в котором он уже может быть выбран планировщиком; следует обратить внимание на то, что он не выполняется немедленно.
Приостановленные процессы не занимают центральный процессор. Ядру системы нет надобности постоянно проверять то, что процесс все еще приостановлен, т.к. ожидает наступления события, и затем будить его.