- •Введение
- •1. История создания
- •2. Архитектура unix систем
- •2.1 Ядро системы
- •1. Файловая подсистема
- •3. Подсистема ввода/вывода
- •2.2 Файловая подсистема
- •2.3 Подсистема управления процессами
- •3. Работа с операционной системой unix
- •3.1 Файлы и файловая система
- •3.2 Структура файловой системы unix
- •2.4 Подсистема ввода/вывода
- •3.3 Процессы
- •3.4 Программы и процессы
- •3.5 Типы процессов
- •3.6 Пользователи системы
- •4. Пользовательская среда unix
- •4.1 Командный интерпретатор shell
- •5 Основные стандарты
- •6.1 Поддерживаемые языки программирования
- •6.1.1 Язык c
- •6.1.2 Фортран
- •6.1.3 Паскаль
- •6.1.4 Ассемблер
- •6.2 Специализированные языки программирования
- •6.3.1 Отличия от языка с
- •6.3.2 Достоинства
- •Заключение
- •Список использованных источников
3.6 Пользователи системы
Прежде чем вы сможете начать работу в UNIX, вы должны стать пользователем системы, т. е. получить имя, пароль и ряд других атрибутов. С точки зрения системы, пользователь — не обязательно человек. Пользователь является объектом, который обладает определенными правами, может запускать на выполнение программы и владеть файлами. В качестве пользователей могут, например, выступать удаленные компьютеры или группы пользователей с одинаковыми правами и функциями. Такие пользователи называются псевдопользователями. Они обладают правами на определенные файлы системы и от их имени запускаются задачи.
В системе существует один пользователь, обладающий неограниченными правами. Это суперпользователь или администратор системы – root.
Каждый пользователь системы имеет уникальное имя (или регистрационное имя — login name). Однако система различает пользователей по ассоциированному с именем идентификатору пользователя или UID (User Identifier). Пользователь является членом одной или нескольких групп — списков пользователей, имеющих сходные задачи. Принадлежность к группе определяет дополнительные права, которыми обладают все пользователи группы. Каждая группа имеет уникальное имя, но как и для пользователя, внутренним представлением группы является ее идентификатор GID (Group Identifier). В конечном счете UID и GID определяют, какими правами обладает пользователь в системе.
Вся информация о пользователях хранится в файле /etc/passwd. Это обычный текстовый файл, право на чтение которого имеют все пользователи системы, а право на запись имеет только администратор. Аналогично, информация о группах хранится в файле /etc/group и содержит списки пользователей, принадлежащих той или иной группе.
4. Пользовательская среда unix
Сегодня характер работы в UNIX существенно отличается от того, каким он был, скажем, пятнадцать лет назад. Графический многооконный интерфейс, миллионы цветов, системы меню, техника drag-and-drop, — все это, казалось бы, стирает различия в работе с UNIX и, например, с Windows NT. Но взгляните внимательнее на экран монитора — и вы обязательно найдете хотя бы одно окно простого алфавитно-цифрового терминала. Это — базовая пользовательская среда. Интерфейс командной строки может показаться безнадежно устаревшим, но в случае с UNIX это — самый непосредственный способ выполнения множества небольших задач администрирования. И программа, с которой рано или поздно столкнется любой программист, — командный интерпретатор shell. Поэтому мы рассмотрим базовый пример работы в UNIX — использование командной строки интерпретатора shell.
4.1 Командный интерпретатор shell
Все современные системы UNIX поставляются по крайней мере с тремя командными интерпретаторами: Bourne shell (/bin/sh) С shell (/bin/csh) и Korn shell (/bin/ksh). Командный интерпретатор занимает важное место в операционной системе UNIX, прежде всего, благодаря следующим обстоятельствам:
1. Первая программа, с которой по существу начинается работа пользователя, — shell. В UNIX реализуется следующий сценарий работы в системе (рис. 1.8):
• При включении терминала активизируется процесс который является сервером терминального доступа и запускает программу, которая, в свою очередь, запрашивает у пользователя имя и пароль.
• Если пользователь зарегистрирован в системе и ввел правильный пароль, запускает программу, указанную в последнем поле записи пользователя в файле. В принципе это может быть любая программа, но в нашем случае — это командный интерпретатор shell.
• Shell выполняет соответствующий командный файл инициализации, и выдает на терминал пользователя приглашение. С этого момента пользователь может вводить команды.
• Shell считывает ввод пользователя, производит синтаксический анализ введенной строки, подстановку шаблонов и выполняет действие, предписанное пользователем (это может быть запуск программы, выполнение внутренней функции интерпретатора) или сообщает об ошибке, если программа или функция не найдены.
• По окончании работы пользователь завершает работу с интерпретатором, вводя команду exit, и выходит из системы.
2. Командный интерпретатор является удобным средством программирования. С помощью shell можно создавать сложные программы, конструируя их, как из кирпичиков, из существующих утилит UNIX. Программы на языке shell часто называют скриптами или сценариями (script). Интерпретатор считывает строки из файла скрипта и выполняет их, как если бы они были введены пользователем в командной строке.
3. При входе пользователя в систему запускается Его инициализированный скрипт, выполняющий несколько функций: установку пути поиска программ, инициализацию терминала, определение расположения почтового ящика.
Рисунок 4 - Процессы, обеспечивающие вход пользователя в систему
