Архитектура операционной системы unix Общие положения.
Как уже ранее было замечено, в системе UNIX создается иллюзия того, что файловая система имеет “места” и что у процессов есть “жизнь”. Обе сущности, файлы и процессы, являются центральными понятиями модели операционной системы UNIX. Блок-схему ядра системы нужно представлять в виде совокупности модулей, из которых состоит ядро, и их взаимосвязи друг с другом. В частности, ядро системы состоит из файловой подсистемы и подсистемы управления процессами.
Это дает логическое представление о ядре, хотя в действительности в структуре ядра имеются отклонения от модели, поскольку отдельные модули испытывают внутреннее воздействие со стороны других модулей.
Блок-схему системы нужно также представлять в виде трех уровней: уровень пользователя, уровень ядра и уровень аппаратуры. Обращения к операционной системе и библиотеке стандартных процедур составляют границу между пользовательскими программами и ядром.
Обращения к операционной системе выглядят так же, как обычные вызовы функций в программах на языке Си, и библиотеки устанавливают соответствие между этими вызовами функций и элементарными системными операциями. При этом программы на ассемблере могут обращаться к операционной системе непосредственно, без использования библиотеки системных вызовов.
Программы часто обращаются к другим библиотекам, таким как библиотека стандартных подпрограмм ввода-вывода, достигая тем самым более полного использования системных услуг. Для этого во время компиляции библиотеки связываются с программами и частично включаются в программу пользователя. Далее мы проиллюстрируем эти моменты на примере.
Совокупность обращений к операционной системе разделена на те обращения, которые взаимодействуют с подсистемой управления файлами, и те, которые взаимодействуют с подсистемой управления процессами. Файловая подсистема управляет файлами, размещает записи файлов, управляет свободным пространством, доступом к файлам и поиском данных для пользователей.
Процессы взаимодействуют с подсистемой управления файлами, используя при этом совокупность специальных обращений к операционной системе, таких как open (для того, чтобы открыть файл на чтение или запись),close, read, write, stat (запросить атрибуты файла), chown (изменить запись с информацией о владельце файла) и chmod (изменить права доступа к файлу).
Эти и другие операции рассматриваются в конкретных технических описаниях на каждую систему.
Подсистема управления файлами обращается к данным, которые хранятся в файле, используя буферный механизм, управляющий потоком данных между ядром и устройствами внешней памяти. Буферный механизм, взаимодействуя с драйверами устройств ввода-вывода блоками, инициирует передачу данных к ядру и обратно.
Драйверы устройств являются такими модулями в составе ядра, которые управляют работой периферийных устройств. Устройства ввода-вывода блоками относятся к типу запоминающих устройств с произвольной выборкой; их драйверы построены таким образом, что все остальные компоненты системы воспринимают эти устройства как запоминающие устройства с произвольной выборкой.
Подсистема управления файлами также непосредственно взаимодействует с драйверами устройств “неструктурированного” ввода-вывода, без вмешательства буферного механизма.
К устройствам неструктурированного ввода-вывода, иногда именуемым устройствами посимвольного ввода-вывода (текстовыми), относятся устройства, отличные от устройств ввода-вывода блоками Модуль распределения памяти контролирует выделение памяти процессам. Если в какой-то момент система испытывает недостаток в физической памяти для запуска всех процессов, ядро пересылает процессы между основной и внешней памятью с тем, чтобы все процессы имели возможность выполняться.
Программу подкачки иногда называют планировщиком, т.к. она “планирует” выделение памяти процессам и оказывает влияние на работу планировщика центрального процессора. Однако в дальнейшем мы будем стараться ссылаться на нее как на “программу подкачки”, чтобы избежать путаницы с планировщиком центрального процессора.
Модуль “планировщик” распределяет между процессами время центрального процессора. Он планирует очередность выполнения процессов до тех пор, пока они добровольно не освободят центральный процессор, дождавшись выделения какого либо ресурса, или до тех пор, пока ядро системы не выгрузит их после того, как их время выполнения превысит заранее определенный квант времени. Планировщик выбирает на выполнение готовый к запуску процесс с наивысшим приоритетом; выполнение предыдущего процесса (приостановленного) будет продолжено тогда, когда его приоритет будет наивысшим среди приоритетов всех готовых к запуску процессов. Существует несколько форм взаимодействия процессов между собой, от асинхронного обмена сигналами о событиях до синхронного обмена сообщениями.
Наконец, аппаратный контроль отвечает за обработку прерываний и за связь с машиной. Такие устройства, как диски и терминалы, могут прерывать работу центрального процессора во время выполнения процесса.
При этом ядро системы после обработки прерывания может возобновить выполнение прерванного процесса. Прерывания обрабатываются не самими процессами, а специальными функциями ядра системы, перечисленными в контексте выполняемого процесса.
- Лекции по курсу Сетевые операционные системы Введение.
- Введение в типы операционных систем. Типы операционных систем.
- Среда времени выполнения.
- Сетевая операционная система 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 Файлов. Создавать файл отметки
- Резюме содержания файла.
- Интерпретация элементов ввода