Основные понятия системы UNIX
Основным
достоинством ОС UNIX
является то, что система базируется на небольшом числе понятий.
Виртуальная машина
ОС UNIX
– многопользовательская система. Каждому пользователю после регистрации
предоставляется виртуальный процессор, в котором есть все необходимые ресурсы:
-
процессор (карусельная диспетчеризация RR,
динамические приоритеты);
-
память;
-
устройства;
-
файлы.
Текущее
состояние такого виртуального компьютера называется образом. Процесс –
выполнение образа. Образ состоит из следующих элементов:
-
образа памяти;
-
значений общих регистров процессора;
-
состояния открытых файлов;
-
текущего каталога и др.
Образ процесса
во время его выполнения размещается в основной памяти. В современных
реализациях, поддерживающих страничный механизм виртуальной памяти, прежде
всего выгружаются неиспользуемые страницы.
Образ
памяти делится на три логических сегмента:
1)
сегмент реентерабельных процедур;
2)
сегмент данных;
3)
сегмент стека.
Пользователь
ОС UNIX
предназначена для мультитерминальной работы. Чтобы начать работу пользователь
должен «войти» в систему:
-
ввести учетное имя;
-
ввести пароль.
Пользователь
называется зарегистрированным, если на него заведена соответствующая учетная
запись в файле /etc/passwd.
Регистрацию новых пользователей выполняет администратор системы. Пользователь
не может изменить свою регистрационное имя, но может изменить пароль. Пароли
хранятся в закодированном виде в файле /etc/shadow.
Файловая
система ОС UNIX
имеет древовидную структуру. Каждому зарегистрированному пользователю
устанавливается некоторый каталог файловой системы, который называется
«домашним» для данного пользователя. При удачной регистрации пользователя в
системе, он попадает в свой «домашний» каталог.
Доступ
пользователя к «чужим» файлам и каталогам ограничен установленными правами
доступа к этим файлам и каталогам.
Интерфейс пользователя
После
регистрации пользователя в ОС UNIX
для его запускается один из командных интерпретаторов, который прописан в файле
/etc/passwd.
В системах UNIX
поддерживаются несколько командных интерпретаторов с похожими, но
различающимися возможностями. Общее название для любого командного
интерпретатора – shell
(оболочка).
Вызванный
командный интерпретатор приглашает пользователя ввести команду, после
выполнения которой снова выводится приглашение.
Командные
языки достаточно просты и в то же время мощны.
Привилегированный пользователь
При регистрации
пользователя в системе ему присваивается уникальный идентификатор (UID).
Каждый пользователь относится к той или иной группе пользователей с
идентификатором группы (GID).
Сведения о группах пользователей и значения идентификаторов хранятся в файле /etc/group.
Значения
идентификаторов UID
и GID наследуются процессами, порожденными текущим
пользователем.
Администратор
системы также является зарегистрированным пользователем, но он должен обладать
большими возможностями, чем обычный пользователь. В ОС UNIX
суперпользователю root
выделяется нулевое значение идентификатора. Пользователь с таким
идентификатором имеет неограниченные права доступа к любому файлу и на
выполнение любой программы. Суперпользователь имеет возможность полного
контроля над системой.
На
суперпользователя не действуют ограничения на использование ресурсов, такие
как:
-
максимальный размер файла;
-
максимальное число сегментов разделяемой памяти;
-
максимальное допустимое пространство на диске и т.д.
Команды и командный интерпретатор
Оболочкой shell в ОС UNIX
называется механизм взаимодействия между пользователем и системой.
Командная
строка состоит из имени команды, ключей (или опций) и аргументов, разделенных
пробелами. Оболочка разбивает командную строку на компоненты.
Любой
командный язык семейства shell
состоит из трех частей:
1)
служебных конструкций, позволяющих манипулировать с
текстовыми строками и строить сложные команды на основе простых;
2)
встроенных команд, выполняемых непосредственно
интерпретатором командного языка;
3)
команд, представляемых отдельными выполняемыми файлами.
Процессы
В ОС UNIX
процесс – программа, выполняемая в собственном адресном пространстве. При
удачной регистрации пользователя в системе автоматически создается процесс, в
котором выполняется программа командного интерпретатора. Если командному
интерпретатору встречается команда, соответствующая выполняемому файлу, то он
создает новый процесс и запускает в нем эту команду.
|