Linux – система многопользовательская и многозадачная. Поддержка многих пользователей означает, что одновременно работать с системой могут несколько человек (в отличие от однопользовательской операционной системы наподобие MS-DOS). Многозадачность означает, что Linux может выполнять несколько задач одновременно.
Обеспечение поддержки многих пользователей и многозадачности в целом лежит на операционной системе; каждому пользователю и каждой задаче предоставляется возможность доступа ко всем ресурсам системы, включая процессор, память, диски и периферийное оборудование. ОС создает иллюзию, что каждый пользователь единолично распоряжается всеми ее ресурсами.
Только за время нажатия вами клавиши <Enter> система способна обработать сотни запросов. Создается впечатление одновременного выполнения множества задач, хотя на самом деле Linux управляет списком задач (известным также как очередь задач) и выделяет каждой задаче ее часть времени. С точки зрения человека, это время крайне незначительно, однако для компьютера это достаточно длительный период, в течение которого выполняются тысячи команд процессора. Количество выделяемого каждой задаче времени зависит от ее относительного приоритета.
|
|
Linux работает с одной задачей (процессом) определенное время, затем откладывает ее и приступает к другой задаче – и так все время работы операционной системы. Так же, она отвечает за корректную работу нескольких пользователей и нескольких процессов, скрывая детали этой работы от пользователя. В качестве пользователя вы можете определять, какие программы и когда должны быть запущены, а также следить за их выполнением. В некоторых случаях, вы можете изменять их относительный приоритет, а также прекратить выполнение своего процесса. Будучи системным администратором, вы выполняете то же самое не только со своими, но и с системными процессами и процессами любого пользователя.
Существует ряд команд, позволяющих работать с многопользовательскими и многозадачными возможностями Linux. Некоторые из них мы рассмотрим в данной лабораторной работе (см. таблицу 2)
Таблица 2. Команды для работы с процессами
Команда | Назначение |
at | Выполняет команду в определенное время |
batch | Выполняет команду тогда, когда позволяет загрузка системы |
nohup | Позволяет работать процессу после вашего выхода из системы |
ps | Выводит информацию о процессах |
w | Показывает, кто в настоящий момент работает в системе и с чем |
who | Выводит список пользователей |
& | Запускает задачу в фоновом режиме |
bg | Переводит приостановленную задачу в фоновый режим |
fg | Переводит приостановленную задачу в приоритетный режим |
nice | Изменяет приоритет процесса при его запуске |
renice | Изменяет приоритет работающего процесса |
jobs | Отображает на экране исполняемые процессы |
kill | Прекращает выполнение процесса |