302.00K

Операционные системы, среды и оболочки

1.

Операционные системы, среды и
оболочки
Направление подготовки: 09.03.02
Информационные системы и технологии
Профиль: информационные технологии в
технических системах

2.

Задачи ОС по управлению файлами и
устройствами
• Подсистема ввода-вывода ОС при обмене данными с
внешними устройствами должна решать ряд общих задач:
– Организация параллельной работы устройства ввода-вывода и
процессора;
– Согласование скоростей обмена и кэширования данных;
– Разделение устройств и данных между процессами;
– Обеспечение удобного логического интерфейса между устройствами и
остальной частью системы;
– Поддержка широкого спектра драйверов с возможностью простого
включения в систему нового драйвера;
– Динамическая загрузка и выгрузка драйверов;
– Поддержка файловых систем;
– Поддержка синхронных и асинхронных операций ввода-вывода.

3.

Организация параллельной работы устройства
ввода-вывода и процессора
• Каждое устройство ввода-вывода – диск, принтер, терминал –
имеет блок управления (контроллер устройства).
• Контроллер взаимодействует с драйвером – системным
программным модулем, предназначенным для управления
устройством. Под управлением контроллера устройство
может работать некоторое время автономно от команд ОС.
• Подсистема ввода-вывода должна обеспечить работу – запуск
и приостановку разнообразных драйверов, обеспечив
приемлемое время реакции каждого драйвера на
независимые события контроллера.
• С другой стороны, необходимо минимизировать загрузку
процессора задачами ввода-вывода.

4.

Согласование скоростей обмена и
кэширования данных
• При обмене информации в системе возникает
задача согласования скорости выполняемых
процессов. Согласование скорости
осуществляется за счет буферизации данных в
оперативной памяти и синхронизации доступа
процессов к буферу.
• В некоторых случаях свободной оперативной
памяти недостаточно для буферизации данных.
Для размещения данных в буфере используются
специальные файлы – спул-файлы.
• Другой способ – использование буферной
памяти в контроллерах внешних устройств.
Например, использование памяти,
устанавливаемой на видеоадаптерах.

5.

Разделение устройств и данных между
процессами
• Устройства ввода-вывода могут предоставляться
процессам в монопольном и разделяемом
режимах.
• Задача ОС обеспечить контроль доступа к
данным ресурсам системы путем проверки прав
пользователя, от имени которых выполняется
процесс. Операционная система имеет
возможность контролировать доступ не только к
устройству в целом, но и к отдельным порциям
данных.
• При разделении устройства между процессами
возникает необходимость в разграничении
порции данных от двух процессов. Для хранения
очереди заданий применяется спул-файл,
который синхронизирует скорости работы
устройства и оперативной памяти.

6.

Обеспечение удобного логического интерфейса
между устройствами и остальной частью системы
• Разнообразие устройств ввода-вывода
делает актуальной задачу создания
экранирующего интерфейса между
периферийными устройствами и
приложениями.
• Современные ОС поддерживают файловую
модель работы устройств, при котором
устройства представляются набором байт, с
которыми работают посредством
унифицированных системных вызовов (read,
write).
• Для детализации конкретных свойств
используются специфические модели
устройств конкретного типа – графическая
подсистема, принтер, сетевые адаптеры и
т.д.

7.

Поддержка широкого спектра драйверов с
возможностью простого включения в систему
нового драйвера
• Достоинством подсистемы вводавывода операционной системы
является разнообразие устройств,
поддерживаемых данной ОС.
• Для создания драйверов необходимо
наличие удобного и открытого
интерфейса между драйверами и
другими компонентами ОС.
• Драйвер взаимодействует, с одной
стороны, с модулями ядра ОС, а с
другой стороны – с контроллерами
внешних устройств. Драйвер имеет
два интерфейса DKI (driver kernel
interface) и DDI (driver device interface).
Ядро ОС
DKI
Драйвер
устройства
DDI
Контроллер устройства

8.

Динамическая загрузка и выгрузка
драйверов
• Другой проблемой работы с устройствами
ввода-вывода является проблема включения
драйвера в состав работающей ОС –
динамическая загрузка/выгрузка драйверов.
• Способность системы автоматически
загружать и выгружать из оперативной
памяти требуемый драйвер повышает
универсальность ОС.
• Альтернативой динамической загрузке
драйверов при изменении текущей
конфигурации внешних устройств является
повторная компиляция кода ядра с
требуемым набором драйверов. Пример –
некоторые версии UNIX.

9.

Поддержка файловых систем
• Внешняя память вычислительной системы
представляет собой периферийные устройства,
на которых хранится большая часть
пользовательской информации и системных
данных.
• Для организации хранения информации на
внешних носителях используется файловая
модель.
• Для обеспечения доступа к данным используется
специальный программный слой,
обеспечивающий поддержку работы с
конкретной файловой системой – драйверы
файловой системы.
• Для обеспечения возможности работы с
несколькими файловыми система применяется
подход, основанный применении специального
слоя, с которым взаимодействую приложения ОС
– например, слой VFS (virtual file system) в
некоторых версиях UNIX.

10.

Поддержка синхронных и асинхронных операций
ввода-вывода
• Операции ввода-вывода по отношению к
программному приложению выполняются в
синхронном или асинхронном режимах.
• Синхронный режим – приложение
приостанавливает свою работу и ждет
отклика от устройства.
• Асинхронный режим – приложение
продолжает работу, параллельно с
ожиданием отклика от устройства.
• Операционные системы для разных
приложений должны обеспечить
синхронную и асинхронную работу с
утройствами.

11.

Многослойная модель подсистемы вводавывода
API
Диски
Графические устройства
Сетевые устройства
Системные вызовы
Блок-ориентированный интерфейс
диспетчер окон
VFS
UFS
NTFS
HTTP
FAT
дисковый кэш
драйвер HD
Байт-ориентированный интерфейс
FTP
TCP/UDP
Графические
драйверы
IP
Ethernet
драйвер FD
Диспетчер прерываний
IPX
SMB
SPX
NetBEUI
ATM

12.

Менеджеры ввода-вывода
• Для координации работы драйверов в подсистеме
ввода-вывода выделяется специальный модуль,
называемый менеджером ввода-вывода.
• Верхний слой менеджера составляют системные
вызовы ввода-вывода, которые получают запросы от
приложений и переадресуют их определенным
драйверам.
• Нижний слой реализует взаимодействие с
контроллерами внешних устройств, экранируя
драйверы от особенностей аппаратной платформы
компьютера.
• Еще одна функция менеджера ввода-вывода –
организация взаимодействия модулей ввода-вывода с
модулями других подсистем (управление процессами,
виртуальной памятью и т.д.).

13.

Специальные файлы
• Для унификации операций и структуризации
программного обеспечения ввода-вывода
устройства рассматриваются как некоторые
специальные (виртуальные) файлы.
• Такой подход позволяет использовать общий
набор базовых операций ввода-вывода для
любых устройств, экранировать специфику
устройства.
• Например, в операционных системах
семейства UNIX, специальные файлы
помещаются в каталог /dev. При появлении
нового устройства администратор имеет
возможность создать новую запись с
помощью команды mknod.

14.

Логическая организация файловой
системы
• Одной из основных задач ОС –
предоставление удобного пользовательского
интерфейса при работе с данными,
хранящимися на носителях. Логическая
модель в рамках ОС подменяет физическую
модель размещения данных на носителях.
• Файл – именованная область внешней
памяти, в которую могут записываться и
откуда могут считываться данные.
Применение файлов позволяет решить
следующие задачи:
– Долговременное хранение информации;
– Совместное использование информации.

15.

Файловая система
• Файловая система – часть ОС, включающая:
– Совокупность всех файлов на дисках;
– Наборы структур данных, используемых для
управления (каталоги, дескрипторы файлов,
таблицы распределения свободного и занятого
пространства);
– Комплекс системных программных средств,
реализующих операции над файлами (создание,
удаление, чтение, запись, именование и поиск
файлов).
– В многопользовательских системах добавляются
функции по обеспечению защиты данных от
несанкционированного доступа.
• Файловые системы поддерживают несколько
функционально различных типов файлов:
– Обычные файлы;
– Каталоги;
– Ссылки;
– Именованные каналы;
– Конвейеры и т.д.

16.

Иерархическая структура
файловой системы
Windows:
• Пользователи обращаются к файлам
по их символьным именам. Для
удобства пользователя логическая
структура хранения данных
представляет иерархическую
структуру.
• Граф, описывающий структуру
UNIX:
файловой системы может
представлять собой дерево или сеть.
• В Windows используется
древовидная организация, в UNIX –
сетевая.
C:\
i386
system32
at.exe
/
/etc
/bin

17.

Имена файлов
• Каждый файл имеет некоторое символьное
имя. В иерархических системах выделяют три
типа имен файлов:
– Простое (имя файла в пределах одного каталога)
– Полное (цепочка простых символьных имен всех
каталогов, через которые проходит путь от корня
до файла)
– Относительное (имя включает имена каталогов,
через которые проходит маршрут от текущего
каталога к искомому файлу).
• В различных операционных системах есть
свои ограничения на использование
символов при присвоении имени, а также на
длину относительного и полного имени
файла.

18.

Монтирование файловой системы
• В общем случае вычислительная система
может иметь несколько устройств внешней
памяти. Для обеспечения доступа к данным,
хранящимся на разных носителях
используются два подхода:
– На каждом устройстве размещается автономная
файловая система, со своим деревом каталогов
(например, в MS-DOS накопители нумеруются a:, c:
и т.д.).
– Монтирование файловой системы – операция
объединения файловых систем в единую
файловую систему (например, в операционных
системах семейства UNIX).

19.

Атрибуты файла
Атрибут – информация, описывающая некоторые свойства файла,
например:
– Тип файла
– Владелец файла
– Создатель файла
– Пароль для доступа к файлу
– Информация о разрешенных
операциях к файлу
– Время создания, последнего
доступа и модификации файла
– Признак «только для чтения»
– Признак «скрытый файл»
– Признак «системный файл»
– Признак «двоичный/
символьный файл»
– Признак «временный файл»
– Признак блокировки
– Длина записи в файле
– Др.

20.

Логическая организация файла
• В общем случае данные, хранящиеся в
файле, имеют некоторую логическую
структуру (формат хранения данных).
Поддержание структуры данных в файле
возлагается либо целиком на приложение,
либо часть функций на файловую систему.
• Неструктурированная модель файла широко
используется в большинстве современных
ОС.
• Структурированный файл рассматривается
ОС, как упорядоченная совокупность
логических записей. Развитием данного
подхода являются системы управления
базами данных (СУБД).

21.

Работа с файловой системой в ОС
UNIX

22.

Структура системных каталогов ОС UNIX
В UNIX имеется единственный корневой каталог
обозначаемый специальным символом /. Все прочие
каталоги размещаются в нем или его подкаталогах.
• Основные каталоги системы:
– /bin – содержит исполняемые файлы;
– /lib – содержит файлы библиотек;
– /home – содержит домашние каталоги пользователей;
– /usr – содержит подкаталоги с файлами совместного
использования;
– /var – содержит временные файлы;
– /sbin – содержит системные утилиты;
– /root – домашний каталог супервизора;
– /etc – содержит конфигурационные файлы системы;
– /dev – содержит специальные файлы устройств.

23.

Пользователи и права ОС UNIX
Для упорядочивания работы с пользователями, хранения информации о их
персональных настройках используются учетные записи пользователей.
У каждого пользователя есть имя, группа, пароль, домашняя директория и
командная оболочка. Группа используется для разграничения доступа к
данным.
Имена групп и пользователей в текстовом виде используются для удобства
самих пользователей. Система вместо имени используем идентификаторы:
– UID – идентификатор пользователя;
– GID – идентификатор группы.
Для управления учетными записями пользователей используются команды:
– adduser – добавляет пользователя в систему;
– rmuser –удаляет пользователя из системы;
– passwd – изменяет пароль пользователя;
– chpass – изменяет параметры учетной записи, такие как пароль, срок действия,
стандартный интерпретатор команд;
– pwd_mkdb – команда внесения изменений в базы данных учетных записей, после

24.

Работа с файлами в ОС UNIX
Файловая система UNIX имеет иерархическую структуру, расширяемую до
сетевой с помощью ссылок.
• Файл – именованная область на внешнем носителе данных, используемая для
хранения некоторой информации. В UNIX файл имеет более общее
толкование. Файл – источник данных, которые могут быть считаны, или
объект, куда могут быть записаны данные. В качестве файлов могут выступать,
например, клавиатура или принтер, подключенный к параллельному порту.
• Для упорядочивания операций с файлами используется понятие каталога –
структуры, объединяющей группу файлов и других каталогов.
В UNIX используются следующие типы файлов:
– обычный файл – используются для хранения информации;
– каталог – содержит файлы, относящихся к данному каталогу;
– специальный файл устройства – обеспечивает доступ к некоторому
устройству;
– именованный канал – используется для обмена данными между
процессами;
– сокет – для организации обмена данных между процессами, существует
только пока на него ссылается хотя бы один процесс.

25.

Работа с файлами в ОС UNIX
Для управления доступом к файлу используются специальные атрибуты, определяющие права
доступа – биты доступа. Класс доступа задается числовым идентификатором, определяющимся
следующим образом:
– Для каждой категории задается трехзначное двоичное число:
• старший разряд определяет право на чтение;
• второй разряд определяет право на запись;
• младший разряд – на выполнение данного файла.
– Категории определяются следующим образом:
• первая категория – владелец файла
• вторая категория – группа владельца
• третья категория –остальные пользователи
Базовые операции с файлами:








cd – изменение текущего каталога;
ls – вывод списка файлов;
cp – копирование файлов;
mv – перемещение файлов;
rm – удаление файлов;
mkdir – создание каталога;
rmdir – удаление каталога;
ln – создание ссылки на файл;
English     Русский Правила