Операционная система UNIX
Операционная система UNIX читать книгу онлайн
Книга посвящена семейству операционных систем UNIX и содержит информацию о принципах организации, идеологии и архитектуре, объединяющих различные версии этой операционной системы.
В книге рассматриваются: архитектура ядра UNIX (подсистемы ввода/вывода, управления памятью и процессами, а также файловая подсистема), программный интерфейс UNIX (системные вызовы и основные библиотечные функции), пользовательская среда (командный интерпретатор shell, основные команды и утилиты) и сетевая поддержка в UNIX (протоколов семейства TCP/IP, архитектура сетевой подсистемы, программные интерфейсы сокетов и TLI).
Для широкого круга пользователей.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Утилиты для управления процессами
nice -[[-]n] <i>command</i> | Утилита nice(1) применяется для запуска программы на выполнение с относительным приоритетом (nice number), отличным от принятого по умолчанию. Например, ввод команды: $ <b>nice -10 big program</b> big_program big_program $ <b>nice - -10 job1</b> | |
renice <i>new_nice pid</i> | Утилита renice(1) позволяет изменять приоритет процесса во время его выполнения. Например, команда $ <b>renice 5 1836</b> | |
ps | Утилита ps(1) выводит информацию о существующих процессах. При использовании различных опций она позволяет получить следующую информацию: | |
F | статус процесса (системный процесс, блокировки в памяти и т.д.) | |
S | состояние процесса (О — выполняется процессором, S — находится в состоянии сна, R — готов к выполнению, I — создается, Z — зомби) | |
UID | идентификатор (имя) пользователя — владельца процесса | |
PID | идентификатор процесса | |
PPID | идентификатор родительского процесса | |
PRI | текущий динамический приоритет процесса | |
NI | значение nice number процесса | |
TTY | управляющий терминал процесса ('?' — означает отсутствие управляющего терминала) | |
TIME | суммарное время выполнения процесса процессором | |
STIME | время создания процесса (может отличаться от времени запуска команды) | |
COMMAND | имя команды, соответствующей процессу | |
kill [<i>signo</i>] <i>pid1</i>, <i>pid2</i>... | Посылает процессам с идентификаторами pid1, pid2 и т.д. сигнал <i>signo</i> <i>signo</i> $ <b>kill -l</b> 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGIOT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGUSR1 ... $<b> kill -9 18793</b> $ <b>kill -SIGKILL 18793</b> | |
at [opt] <i>время_запуска</i> | Утилита at(1) считывает команды стандартного потока ввода и группирует их в задание at, которое будет выполнено в указанное пользователем время. Для выполнения задания будет запущен командный интерпретатор, в среде которого и будут исполнены команды. Например, следующая команда, позволит вам поздравить друга с днем рождения в назначенное время: $ <b>at May 30 <<! cat birthday.txt | elm -s"C Днем Рождения!" [email protected] !</b> |
Об администрировании UNIX
Достаточно открыть оглавление любого "Руководства системного администратора" для UNIX, чтобы оценить то многообразие задач и проблем, с которыми приходится сталкиваться при обслуживании системы:
□ Настройка жизненно важных для пользователей подсистем, таких как файловая система, система печати и сетевая поддержка. Каждая из них, в свою очередь, может быть разделена на десятки подзадач.
□ Регистрация пользователей. Каждый новый пользователь добавляет "забот" администратору системы, но какой же UNIX без пользователей!
□ Постоянный мониторинг системы и борьба с авариями. Причем, как правило, неполадки возникают в самый неподходящий момент и там, где их совсем не ждешь. Здесь от администратора потребуется хорошее знание не только операционной системы, но и аппаратуры, на которой она работает.
□ Настройка производительности системы.
□ Обучение, наставление, "ссоры" и "примирения" с пользователями операционной системы, которую вы обслуживаете.
В этой книге вы не найдете практического руководства по администрированию системы. Вместо этого в следующих главах мы попытаемся взглянуть на UNIX изнутри, понять как устроена эта система и как она работает. Может быть после этого вы посмотрите на руководства другими глазами, а администрирование системы не сведется к простому заучиванию команд.
В качестве компенсации за отсутствие практического руководства предлагаю вашему вниманию перевод материала, найденный мною на одном из WWW-серверов Internet, в котором приведена забавная классификация системных администраторов.
Можно выделить четыре типа системных администраторов UNIX:
□ Технический бандит. Обычно в прошлом системный программист, вынужденный заниматься системным администрированием. Пишет скрипты на смеси языков интерпретатора Bourne shell, sed, С, awk, perl и APL.
□ Администратор-фашист. Обычно это законченный тунеядец (реже — бывшая ведьма-секретарша), вынужденный заниматься системным администрированием.