Рефераты. Оперциаонные системы ASP Linux и Windows

56.            Какие три команды этой лабораторной работы можно использовать для переименования файлов? Как в этом случае надо использовать команды?

57.            Какими способами можно объединить несколько текстовых файлов в один?

58.            В чем разница работы команд cp и mv?

59.            Сколько ссылок можно создать на единственный файл из разных каталогов?

60.            Как создать несколько ссылок с совпадающими именами на несколько файлов в другом каталоге?

61.            Какое соответствие атрибутов имеют связанные между собой файлы?

62.            На какой атрибут и как влияет удаление одного из связанных файлов?

63.            Как отражается на содержимом связанных файлов изменение содержания одного из них и почему?

64.            Какими возможностями обладает команда sort?


Тема 2.2.  Управление процессами

 

2.2.1. Управление процессами

Отображение информации о процессах

В Linux (как и во всех UNIX-системах) имеется команда ps, которая позволяет определить, какие процессы в системе запущены. Если ее запустить без всяких параметров, то она выдает список процессов, запущенных в текущей сессии.

ps [-опции] – определение запущенных в системе процессов

Краткая характеристика наиболее важных опций:

- ax - список всех процессов, запущенных в системе;

–u – отображение % ЦПУ и памяти занимаемых запущенными процессами;

–l – длинный формат отображения информации о процессах (с выводом приоритета процесса и значениния nice)

Независимо от наличия опций команда ps выдает для каждого процесса отдельную строку, но содержимое этой строки может быть разным. В зависимости от заданных опций могут присутствовать следующие поля:

·                     USER — имя владельца процесса;

·                     PID — идентификатор процесса в системе;

·                     PPID — идентификатор родительского процесса;

·                     %CPU — доля времени центрального процессора (в процентах), выделенного данному процессу;

·                     %MEM — доля реальной памяти (в процентах), используемая данным процессом;

·                     VSZ — виртуальный размер процесса (в килобайтах);

·                     RSS — размер резидентного набора (количество 1K-страниц в памяти);

·                     STIME — время старта процесса;

·                     TTY — указание на терминал, с которого запущен процесс;

·                     S или STAT — статус процесса;

·                     PRI — приоритет планирования;

·                     NI — значение nice (см. описание команды nice ниже);

·                     TIME — сколько времени центрального процессора занял данный процесс;

·                     CMD или COMMAND — командная строка запуска программы, выполняемой данным процессом;

а также и другие поля, полный список которых приведен на man-странице, посвященной команде ps.

В поле Статус процесса могут стоять следующие значения:

·                     R — выполнимый процесс, ожидающий только момента, когда планировщик задач выделит ему очередной квант времени;

·                     S — процесс "спит";

·                     D — процесс находится в состоянии подкачки на диске;

·                     T — остановленный процесс;

·                     Z — процесс-зомби.

Рядом с указателем статуса могут стоять дополнительные символы из следующего набора:

·                     W — процесс не имеет резидентных страниц;

·                     < — высоко-приоритетеный процесс;

·                     N — низко-приоритетный процесс;

·                     L — процесс имеет страницы, заблокированные в памяти.

Например, результат выполнения нижеприведенной команды показал, что в системе работали на момент снятия данных два процесса sh (с идентификатором 927, идентификатор процесса предка - 1) и ps (с идентификатором 1001, идентификатор процесса предка – 927, т.е. sh порождает процесс ps). Терминалы с которых запущены процессы – tty5.

ps  -flu   lev

PID    PPID    TTY   PRI   TIME             CMD

927      1          tty5              0:04                sh

1001  927        tty5              0:02                ps


Для вывода листинга процессов, принадлежащих пользователю можно воспользоваться конструкцией:

ps  -f|grep  <имя_пользователя>.

Команда top

Команда ps позволяет сделать как бы "моментальный снимок" процессов, запущенных в системе. В отличие от ps команда top отображает состояние процессов и их активность "в реальном режиме времени". На рисунке 2.2.1. изображено окно терминала, в котором запущена программа top.

Рис. 2.2.1. Вывод команды top


В верхней части окна отображается астрономическое время, время, прошедшее с момента запуска системы, число пользователей в системе, число запущенных процессов и число процессов, находящихся в разных состояниях, данные об использовании ЦПУ, памяти и свопа. А далее идет таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна: сколько строк помещается, столько и выводится. Графы таблицы обозначены так же, как поля вывода команды ps. Содержимое окна обновляется каждые 5 секунд.

Приоритеты, значение nice и команда renice

Приоритет для каждого процесса устанавливается в тот момент, когда процесс порождается. Приоритет процесса определяется так называемым "значением nice", которое лежит в пределах от +20 (наименьший приоритет, процесс выполняется только тогда, когда ничто другое не занимает процессор), до -20 (наивысший приоритет).

Значение nice устанавливается для каждого процесса в момент порождения этого процесса и при обычном запуске команд или программ принимается равным приоритету родительского процесса. Но существует специальная команда nice, которая позволяет изменять значение nice при запуске программы. Формат использования этой программы:

nice [- adnice] command [args]

где adnice — значение (от –20 до +19), добавляемое к значению nice процесса-родителя. Полученная сумма и будет значением nice для запускаемого процесса. Отрицательные значения может устанавливать только суперпользователь. Если опция — adnice не задана, то по умолчанию для процесса-потомка устанавливается значение nice, увеличенное на 10 по сравнению со значением nice родительского процесса. Очевидно, что если вы не суперпользователь, то применять эту команду имеет смысл только тогда, когда вы хотите запустить некий процесс с низким значением приоритета.

Другая команда, renice, служит для изменения значения nice для уже выполняющихся процессов. Ее формат таков:

renice priority [[-p] PID] [[-g] grp] [[-u] user]

Например, команда

renice -1 987 –u daemon –p 32

увеличивает на 1 приоритет процессов с PID 987 и 32, а также всех процессов пользователя daemon.

Суперпользователь может изменить приоритет любого процесса в системе. Другие пользователи могут изменять значение приоритета только для тех процессов, для которых данный пользователь является владельцем. При этом обычный пользователь может только уменьшить значение приоритета (увеличить значение nice), но не может увеличить приоритет, даже для возврата значения nice к значению, устанавливаемому по умолчанию. Поэтому процессы с низким приоритетом не могут породить "высокоприоритетных детей".

Сигналы и команда kill

Сигналы — это средство, с помощью которого процессам можно передать сообщения о некоторых событиях в системе.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.