
- •И.Н.Акуленок, а.В.Акуленок
- •Часть 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
7.4. Изменение уровня выполнения процесса init
Команда telinit наиболее эффективна для тестирования изменений, внесенных в файл inittab. При указании аргумента –q процесс init повторно читает файл inittab.
Например, команда
# telinit S
переводит систему в однопользовательский режим. Здесь вы не получите тех вежливых сообщений, которые давала бы команда shutdown.
Например, команда
# shutdown –iS
переводит систему в то же состояние, но с большим изяществом.
Процесс init настолько важен для работы системы, что если его уничтожить, то большинство машин автоматически перезагрузится (некоторые ядра при этом просто паникуют).
Это очень грубый способ перезагрузки. Лучше пользоваться командами shutdown или reboot.
Результаты уничтожения процесса init непредсказуемы и в большинстве случаев очень вредны. Перед тем как использовать какой–нибудь сигнал, необходимо обратиться к документации и уточнить его использование.
Когда init получает сигнал SIGTERM, он обычно уничтожает все пользовательские процессы, демоны, процессы getty и возвращает систему в однопользовательский процесс. Это средство использует команда shutdown.
7.5. Команда reboot
Команда reboot обычно используется для завершения работы в однопользовательском режиме и перехода к многопользовательскому. Эта команда выполняется быстрее, чем shutdown, потому что она не выполняет скрипты останова и не посылает никаких сообщений пользователям. Команда reboot выполняет запись кэшируемых данных на диск, так же, как и halt.
7.6. Процедура выхода из системы
7.7. Контрольные вопросы
Перечислите способы останова системы.
Укажите синтаксис команды shutdown.
Перечислите действия, производимые командой shutdown.
Как работает команда halt?
Какой командой можно изменить уровень выполнения?
Назначение команды reboot.
7.8. Тесты
По команде shutdown –g0 произойдет следующее:
система перейдет в многопользовательский режим
система предупредит пользователей об остановке в 0 часов 0 минут
система остановится, если системное время равно 0 часов 0 минут
система перейдет в режим 0, не ожидая ни секунды
Выход пользователя из системы происходит …
С помощью повторного вызова утилиты login
Автоматически, после завершения последнего процесса, имеющего UID пользователя
С помощью вызова утилиты exit (logout), которая обновляет записи в системных журналах
Автоматически, после завершения стартового командного интерпретатора
Пользователь должен завершить сеанс работы в UNIX …
командой logout или нажатием клавиш Ctrl+D
командой passwd
клавишами Ctrl+Alt+Del
кнопкой отключения питания
Глава 8. Задачи системного администрирования
Изучив данную главу, вы будете знать:
основные задачи системного администратора;
основные утилиты администрирования системы;
назначение и синтаксис команды su и passwd;
назначение полей двух основных файлов /etc/passwd и /etc/group, используемых при регистрации пользователей;
Системное администрирование можно обобщенно разделить на две широких категории:
Поддержка пользователей:
создание бюджетов пользователей;
предоставление помощи.
Поддержка системы:
контроль загрузки и производительности системы;
создание резервных копий.