- •И.Н.Акуленок, а.В.Акуленок
- •Часть I. Основы операционной системы unix Утверждено советом университета
- •Введение
- •Глава 1. История создания ос unix
- •Реализации oc unix
- •Unix на платформе Intel
- •Доля компьютеров с ос unix (1993 год)
- •Продажи unix–серверов (III квартал 2007 года)
- •1.1. Первые шаги по созданию unix
- •1.2. Исследовательские версии unix
- •1.3. Основные стандарты
- •1.3.1. Основные задачи стандартизации
- •1.4. Разработчики операционных систем
- •1.4.1. Версии at&t
- •1.4.2. Версии Microsoft/sco
- •1.4.3. Версии университета Беркли
- •1.4.4. Версии компании Sun
- •1.4.5. Версии компании Nowell
- •1.4.6. Популярные версии unix
- •1.4.7. Свободно распространяемые системы unix
- •1.5. Реализация ядра unix
- •1.5.1. Микроядро Mach
- •1.5.2. Микроядро Chorus
- •1.6 Характеристики oc unix
- •1.6.1.Файловая система
- •1.6.2. Многозадачность
- •1.6.3. Многопользовательский режим
- •1.6.4. Мобильность
- •1.6.5. Виртуальная память
- •1.6.6. Связь между задачами
- •1.6.7. Внешние устройства
- •1.6.8. Связь между компьютерами
- •1.6.9. Графический пользовательский интерфейс
- •1.6.10. Безопасность
- •1.6.11. Поддержка баз данных
- •1.6.12. Наличие стандартов
- •1.6.13. Открытость
- •1.6.14. Разработка программного обеспечения
- •1.7. Контрольные вопросы
- •1.8. Тесты
- •Глава 2. Функционирование ос unix
- •2.1. Ядро
- •2.1.1. Функции ядра
- •2.1.2. Структура ядра
- •2.1.3. Файловая подсистема
- •2.1.4. Подсистема управления процессами
- •2.1.5. Подсистема ввода/вывода
- •2.2. Командный процессор Shell
- •2.3. Программы–утилиты
- •2.4. Контрольные вопросы
- •2.5. Тесты
- •Глава 3. Процессы
- •3.1. Контекст процесса
- •3.3. Типы процессов
- •3.3.1. Системные процессы
- •3.3.2. Демоны
- •3.3.3. Прикладные процессы
- •3.4. Атрибуты процесса
- •3.4.1. Идентификатор процесса
- •3.4.2. Идентификатор родительского процесса
- •3.4.3. Приоритет процесса
- •3.4.4. Терминальная линия
- •3.4.5. Реальный и эффективный идентификаторы пользователя
- •3.4.6. Реальный и эффективный идентификаторы группы
- •3.4.7. Идентификатор терминальной группы
- •3.5. Иерархия процессов
- •3.6. Взаимодействие процессов
- •3.6.1. «Отцы», «дети», «сироты», «зомби»
- •3.7. Системные вызовы
- •3.7.1. Механизм создания процесса и запуска программы
- •3.7.2. Графический пример дерева процессов
- •3.8. Связи между процессами
- •3.8.1. Сигналы
- •Сигналы posix 1.1
- •3.8.2. Очереди сообщений
- •3.8.3. Семафоры
- •3.8.4. Совместная память
- •3.8.5. Программные каналы
- •3.8.6. Программные гнезда
- •3.9. Контрольные вопросы
- •3.10. Тесты
- •Глава 4. Файловая система unix
- •4.1. Имена файлов
- •4.2. Структура файловой системы
- •4.2.1. Загрузочный блок
- •4.2.2. Суперблок
- •4.2.3 Дескрипторы файлов
- •4.2.4. Блоки данных и свободные блоки
- •4.3. Типы файлов
- •4.3.1. Обычные файлы
- •4.3.2. Каталоги
- •4.3.4. Символические связи
- •4.3.5. Fifo – Именованные каналы
- •4.3.6. Сокеты
- •4.3.7. Обозначение типов файлов
- •Типы файлов
- •4.4. Дескриптор обычного файла
- •4.5. Дескриптор каталога
- •4.6. Дескриптор специального файла
- •4.7. Системная таблица файлов
- •4.8. Монтирование файловых систем
- •4.9. Демонтирование файловых систем
- •4.10. Проверка и восстановление файловых систем
- •4.11. Журналирование файловых систем
- •4.12. Контрольные вопросы
- •4.13. Тесты
- •Глава 5. Этапы начальной загрузки ос Unix
- •5.1. Загрузка и инициализация ядра
- •5.2. Распознавание и конфигурирование устройств
- •5.3. Создание спонтанных процессов
- •5.4. Выполнение команд оператора
- •5.5. Выполнение командных файлов запуска системы
- •5.6. Переход в многопользовательский режим
- •5.7. Контрольные вопросы
- •5.8. Тесты
- •Глава 6. Обзор командных файлов
- •6.1. Процесс init
- •6.1.1. Формат файла inittab
- •6.1.2. Уровни выполнения
- •Уровни выполнения
- •6.1.3. Дисциплины обработки процесса
- •Дисциплины обработки процесса
- •6.1.4. Запуск и этапы работы процесса init
- •6.2. Процесс rc
- •6.2.1. Сценарии запуска системы Solaris
- •6.3. Процесс cron
- •6.4. Процесс регистрации пользователей
- •6.5. Контрольные вопросы
- •6.6. Тесты
- •Глава 7. Останов системы
- •7.1. Выключение питания
- •7.2. Команда shutdown
- •7.3. Команда halt
- •7.4. Изменение уровня выполнения процесса init
- •Глава 8. Задачи системного администрирования
- •8.1. Инструменты администрирования
- •8.1.1. Администрирование aix
- •8.1.2. Администрирование hp-ux
- •8.1.3. Администрирование Solaris
- •8.1.4. Администрирование Linux
- •8.2. Пользователь root
- •8.2.1. Команда su
- •8.3. Добавление новых пользователей в систему
- •8.3.1. Файл /etc/passwd
- •Идентификаторы пользователей
- •8.3.2. Файл /etc/group
- •8.4. Контрольные вопросы
- •8.5. Тесты
- •Литература
- •Содержание
- •Глава 1. История создания ос unix 6
- •Глава 2. Функционирование ос unix 51
- •Глава 3. Процессы 75
- •Глава 4. Файловая система unix 116
- •Акуленок Ирина Николаевна Акуленок Анатолий Васильевич
- •Часть I. Основы операционной системы unix
1.6.4. Мобильность
Поскольку основная часть ядра UNIX и все ее утилиты написаны на машинно–независимом языке программирования СИ, перенесение ее на новую модель компьютера не требует много времени. UNIX может быть установлена практически на любой компьютер, обладающий достаточными ресурсами памяти и вычислительной мощностью, что позволяет создать единую операционную среду на различных типах вычислительных машин: от маломощных AT 386SX и младших моделей Sun и Apple и до больших вычислительных систем DEC, IBM и даже Cray.
Прославленная «переносимость» UNIX помогла нарушить монополию программного обеспечения, которая накрепко (едва ли не на всю жизнь) привязывало вас к аппаратуре конкретного производителя.
1.6.5. Виртуальная память
OC UNIX работает в режиме виртуальной памяти, то есть объем памяти, выделяемый задаче при ее выполнении, может быть больше общего объема оперативной памяти, установленной на компьютере, за счет использования специальных областей, выделенных на жестких дисках.
1.6.6. Связь между задачами
OC UNIX предоставляет неподготовленным пользователям простой механизм связи между задачами – конвейер (pipe). Конвейер позволяет перенаправлять выходной поток одной задачи на вход другой. Таким образом, данные, обработанные первой задачей немедленно, без создания промежуточного файла, передаются следующей задаче для дальнейшей обработки. В конвейер может быть объединено несколько задач.
1.6.7. Внешние устройства
Внешние устройства в UNIX представлены в виде файлов, расположенных, как правило, в каталоге /dev файловой системы. Такое представление внешних устройств позволяет использовать программы, не ориентированные на использование конкретного внешнего устройства, перенаправляя их входной и выходной потоки. Например, в качестве входного и выходного потоков могут быть указаны обычный файл, алфавитно–цифровой терминал, накопитель на магнитной ленте или сетевое соединение.
1.6.8. Связь между компьютерами
ОС поддерживает протокол UUCP (Unix–Unix–copy) для связи через последовательные порты ввода–вывода, как при работе через модемы по телефонным линиям, так и в случае прямого соединения. Протокол UUCP позволяет передавать двоичные и текстовые файлы, которые традиционно используются в электронной почте Relcom, распространенной на территории России.
1.6.9. Графический пользовательский интерфейс
Графический интерфейс X Windows в настоящее время признан стандартом де–факто для операционной системы UNIX. Он обеспечивает операционную среду, возможности которой во многом превосходят возможности популярной графической оболочки MS Windows.
1.6.10. Безопасность
Помимо традиционных средств обеспечения безопасности, таких как проверка входного пароля для каждого пользователя, в OC UNIX устанавливаются индивидуальные права доступа к каждому объекту файловой системы (каталогу или файлу) таким образом, что пользователь, не имеющий соответствующих полномочий, не может просмотреть или внести исправления в содержимое каталога или файла с данными. Выполнение программ также требует особых полномочий. Полномочия устанавливаются для каждого пользователя индивидуально или для группы пользователей, или для всех пользователей системы. OC UNIX снабжается учетной системой, которая позволяет регистрировать действия каждого пользователя.