Многозадачность: фоновый процесс и процесс переднего плана

Как многозадачная операционная система, Linux поддерживает выполнение многих процессов – в основном, программ или команд или аналогичных задач – в фоновом режиме, пока вы продолжаете работать на переднем плане.

Процессы переднего плана

Процесс переднего плана – это любая команда или задача, которую вы запускаете напрямую и ждете ее завершения. Некоторые процессы переднего плана показывают некоторый тип пользовательского интерфейса, который поддерживает постоянное взаимодействие с пользователем, тогда как другие выполняют задачу и «замораживают» компьютер, пока он выполняет эту задачу.

В командной оболочке процесс переднего плана начинается с ввода команды в командной строке. Например, чтобы увидеть простой список файлов в активном каталоге, введите:

$

 Ls 

Вы увидите список файлов. Пока компьютер готовит и печатает этот список, вы ничего не можете сделать из командной строки.

Фоновый процесс

В отличие от процесса переднего плана, оболочке не нужно ждать окончания фонового процесса , прежде чем она сможет запустить больше процессов. В пределах объема доступной памяти вы можете вводить много фоновых команд одну за другой. Чтобы запустить команду как фоновый процесс, введите команду и добавьте пробел и амперсанд в конце команды. Например:

$

 command1 & 

Когда вы вводите команду с заключительным амперсандом, оболочка выполнит работу, но вместо того, чтобы заставлять вас ждать завершения команды, вы сразу же вернетесь в оболочку и увидите приглашение оболочки (% для C Shell и $ для Bourne Shell и Korn Shell) возвращаются. На этом этапе вы можете ввести другую команду для переднего или фонового процесса. Фоновые задания выполняются с более низким приоритетом по сравнению с приоритетными.

По завершении фонового процесса вы увидите сообщение на экране.

Переключение между процессами

Если процесс переднего плана занимает слишком много времени, остановите его, нажав CTRL + Z. Остановленное задание все еще существует, но его выполнение приостановлено. Чтобы возобновить работу, но в фоновом режиме, введите bg , чтобы отправить остановленную работу в фоновое выполнение.

Чтобы возобновить приостановленный процесс на переднем плане, введите fg , и этот процесс перейдет к активному сеансу.

Чтобы просмотреть список всех приостановленных процессов, используйте команду jobs или команду top , чтобы отобразить список наиболее ресурсоемких задач, чтобы можно было приостановить или остановить их, чтобы освободить системные ресурсы.

Shell vs. GUI

Многозадачность работает по-разному в зависимости от того, работаете ли вы из оболочки или из графического интерфейса пользователя. Linux из оболочки поддерживает только один активный процесс переднего плана для каждого виртуального терминала. Однако с практической точки зрения пользователя оконная среда (например, Linux с рабочим столом, а не из текстовой оболочки) поддерживает несколько активных окон, которые эффективно служат в качестве нескольких одновременных процессов переднего плана. На практике Linux за кулисами регулирует приоритет процессов в графическом интерфейсе для обеспечения стабильности системы и поддержки обработки конечным пользователем.

Оцените статью
Solutics.ru
Добавить комментарий