Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами на доступ к внешним устройствам. Она взаимодействует с драйверами устройств – специальными программами, обслуживающими внешние устройства.
2. Система команд
В составе ОС UNIX имеется несколько сотен команд, которые выполняют задачи организации и обработки данных, и управляют интерфейсом пользователя. Сами команды являются небольшими программами, которые выполняют определенные функции, требуя, как правило, минимального ввода данных, и выполняются сравнительно быстро. Большая часть из них доступна всем пользователям, однако, около100 команд доступны только администратору системы, который является привилегированным пользователем. Некоторые команды, при выполнении которых имеется возможность интерактивного ввода информации, иногда называют утилитами. Примером утилит могут служить редактор текстов vi и команда управлением электронной почты mail.
3. Оболочки
Оболочками называются интерактивные программы, обеспечивающие связь пользовательского интерфейса с ядром операционной системы. Оболочка становится активным процессом пользователя с момента, когда он регистрируется в системе и до его выхода из системы. Эти программы являются командными интерпретаторами (иногда их называют командными процессорами).
В составе ОС UNIX обычно используется несколько оболочек:
1. Bourne shell (sh): основная стандартная оболочка UNIX;
2. Korn shell (ksh): расширенная версия Bourne shell;
4. Оболочки с ограничениями (restricted shell – rsh и rksh): разработанные на основе Bourne shell и Korn shell, для пользователей, которым необходимо ограничить доступ к системе.
4. Средства разработки программ
Система UNIX обеспечивает большой набор средств для разработки программ, включающий следующие средства:
Редакторы- Программные модули для редактирования файлов с программами.
Редактор связей – Программы создаются из множества раздельно транслируемых модулей, каждый из которых занимает отдельный файл. Результатом компиляции каждого модуля является файл объектного кода. Затем все объектные файлы объединяются с помощью редактора связей в единую программу, помещаемую в файл исполняемого кода.
Библиотеки программ – На вход редактора связей могут подаваться не только файлы объектного кода, но и библиотечные файлы, которые используются как средство хранения нескольких объектных модулей.
5. Средства системного администрирования
В функции администратора системы UNIX входит повседневное управление системой , которое предусматривает выполнение следующих работ: подключения новых пользователей, управления файловой системой, изменение конфигурации ОС. При системном администрировании решаются следующие задачи:
Определение спецпользователей. Это пользователи, выполняющие действия над системой, недоступные обычным пользователям. Один из них, имеющий неограниченные полномочия, называется суперпользователем. В ОС имеются команды, которые может выполнить только суперпользователь, например монтаж файловой системы или создание специальных файлов.
Определение пользователей и групп. В ОС имеются два файла, которые содержат информацию о пользователях и группах соответственно. В этих файлах для каждого пользователя храниться следующая информация:
- имя пользователя
- пароль пользователя
- идентификатор пользователя
- идентификатор группы
- каталог пользователя.
6. Сетевая файловая система.
Сетевая файловая система NFS является программным продуктом, позволяющим производить создание каталогов в сети и трактовать удаленные файлы как локальные. NFS входит в состав операционных систем UNIX, которые устанавливаются на файловых серверах Интернет.
Основу сетевой файловой системы NFS составляют удаленные процедурные вызовы – запросы. Рабочая станция-клиент может сформировать запрос к файловому серверу на выполнение определенной процедуры. Процедура выполняется так, как будто она запускается в адресном пространстве машины-клиента. Машина-клиент получает доступ к файловой системе сервера, как будто это часть ее локальной файловой системы.
Процедуру по обработке такого запроса сервер выполняет как отдельный процесс, независимый от других процедур сервера. Сервер не отслеживает информацию о клиентах, о выполнении запроса, о внесении изменений в свои файлы машиной-клиентом.
Главным преимуществом такой работы сервера является его устойчивость по отношению к различным отказам, имеющим место со стороны клиента, сервера и сети в целом.
Сам сервер NFS может выступать клиентом для другого сервера NFS. Протокол файлового сервера NFS предусматривает, что клиенты на рабочих станциях могут продолжать свою работу даже в случае отказа сервера и его перезагрузки.
Файловая система имеет иерархическую структуру каталогов и файлов, включая корневой каталог. Файловая система располагается на жестком диске. Жесткий диск может быть разбит на несколько логических дисков, тогда на каждом логическом диске может быть размещена отдельная файловая система.
Структура файловой системы включает в себя следующие части:
1. Загрузочный блок. Это самый первый блок диска, зарезервированный для системной загрузочной программы.
2. Суперблок. Это начальный блок файловой системы. Он содержит основные данные файловой системы: список свободных i-узлов и список свободных блоков.
3. i-узлы. Это элементы, расположенные сразу же за суперблоком. Каждый i-узел содержит ссылки на блоки, содержащие каталоги или файлы в файловой системе. В i-узле содержится также информация о правах доступа к каталогу или файлу. В технической литературе i-узлы называют еще индексными дескрипторами.
4. Блоки. Располагаются сразу же после i-узлов и содержат действительные данные каталогов и файлов.
7. Система сохранения и восстановления файлов
В системе UNIX регулярно выполняется процедура резервного копирования важных системных файлов, чтобы обеспечить восстановление в случае их аварийной потери. Файлы копируются на жесткий диск и хранятся в специальном архивном формате. Восстановление файлов производится путем их копирования из архива в файловую систему.
8. Система доступа к внешним устройствам
Для доступа к внешним устройствам в ОС UNIX используется универсальная абстракция файла. Кроме обычных файлов и каталогов, которые реально занимают дисковое пространство, файловая система содержит так называемые специальные файлы. Для специальных файлов, как и для настоящих файлов, отводятся отдельные i-узлы. Этим i-узлам соответствуют внешние устройства, т.е. через эти i-узлы осуществляется обмен информацией с внешними устройствами. Это позволяет в среде ОС работать с внешним устройством как с файлом.
9. Драйверы устройств
В ОС UNIX драйверы подразделяются на 3 вида: символьные, блочные и потоковые.
Символьные драйверы – являются простейшими и предназначаются для обслуживания устройств, которые ориентированы на прием или выдачу произвольной последовательности байтов. К таким драйверам относится, например драйвер принтера.
Блочные драйверы – они работают с возможностью использования системных буферов для хранения блоков данных. При необходимости обмена с внешним устройством данные выбираются из соответствующего буфера. К таким драйверам относится, например драйвер монитора.
Потоковые драйверы – такой драйвер представляет собой последовательность программных модулей, обеспечивающую множество запросов пользователей по обмену со внешним устройством. Потоковые драйверы в основном предназначены для реализации доступа к сетевым устройствам, которые работают в соответствии с сетевыми протоколами.
10. Система управления процессами
В ОС UNIX для каждого процесса на жестком диске выделяется своя область виртуальной памяти. Таким образом, процессы защищены один от другого, выполняются параллельно и независимо один от другого, и не могут прочитать из памяти другого процесса что-либо или записать в нее. Этим достигается высокая надежность работы ОС и ее устойчивость против сбоев, т.е. сбой в работе какой-либо программы не нарушает нормального функционирования операционной системы.
Контрольные вопросы.
Компонент ядро системы;
Базовые функции ядра(3);
Подсистемы ядра(4);
Функции подсистемы управления процессами(4);
Назначение подсистемы управления памятью;
Операции файловой подсистемы(3);
Назначение подсистемы ввода/вывода;
Компонент система команд;
Компонент оболочки;
Компонент средства разработки программ, средства(3);
Назначение редакторов;
Назначение редактора связей;
Назначение библиотек программ;
Компонент средства системного администрирования, задачи(2);
Задача определение спецпользователей;
Задача определение пользователей и групп;
Компонент сетевая файловая система, особенности;
Компонент сетевая файловая система, части;
Часть файловой системы загрузочный блок;
Часть файловой системы суперблок;
Часть файловой системы i-узлы;
Часть файловой системы блоки;
Компонент система сохранения и восстановления файлов;
Компонент система доступа к внешним устройствам;
Компонент драйверы устройств, виды(3);
Объяснить понятие символьные драйверы;
Объяснить понятие блочные драйверы;
Объяснить понятие потоковые драйверы;
Компонент система управления процессами.
Тема 7. Файловая система S5 операционной системы UNIX
Файл является фундаментальным объектом операционной системы UNIX. Все программное обеспечение хранится в файлах. Жесткий диск компьютера, на котором располагается ОС UNIX, состоит из нескольких логических частей, называемых разделами. В отличие от разделов диска, которые создаются для размещения в них различных операционных систем, логический раздел в области ОС UNIX называют слайс. Расположение и размеры слайса определяется при форматировании диска. В UNIX слайсы выступают в качестве независимых элементов, доступ к которым осуществляется как к различным носителям данных. Часть слайсов отводится для размещения файловых систем. В одном слайсе может располагаться только одна файловая система. Жесткий диск может содержать только один слайс, что позволяет создавать файловые системы большого размера. UNIX использует несколько типов файловых систем, отличающихся производительностью, функциональностью и надежностью хранения данных: S5, UFS, NFS, VXFS, EXT4и т.д.
Рассмотрим файловую систему S5
Файловая система S5 занимает слайс диска и состоит из четырех основных компонентов: