Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические работы / Задания / ПЗ-3 L Детальное изучение процессов. Наблюдение за многозадачным вычис

.pdf
Скачиваний:
11
Добавлен:
15.02.2021
Размер:
207.77 Кб
Скачать

Детальноеизучение процессов.Наблюдениемногозадачным вычислительнымпроцессом

Цельработы :

Получениеинформациизапущенныхпроцессах

 

Получениеинформацииобиспользуемыхпроцессамиресурсах

Представлениерезультатовразличномвиде

Исследованрежимавлияниямногозадачногоприоритета

 

процесса навремя его

выполнения

 

 

 

 

 

 

Методическиерекомендации

Процесс – этос вокупннабораисполняемыхкоманд,стьассоциированныхнимресурсов

иконтекст

авыполнения

, управляемаяоперационно

й системой.Процессможетсодержать

несколькопотокисп.Потоклненявляютсамоия наборамистоятельиспол яеымиых

 

 

команд,ноимеютдоступобщимресурсамвоегопроцесса.Какправило,диспетчеризацию

 

 

операционнаясистемавыполименауровнепояетно, основноков

 

й единицей управления

являвсжепроцесстся.

 

 

 

 

Идентификацияпроцессов

 

 

 

 

Cистемаидентифицирупроцессыпоуникальному,называемомурут

 

 

идентификаторомпроцессаили

 

PID (process ID).

Все проце,работающиевссыистемеGNU/Linux,организовавидедерева.Корэтогонемы

 

дереваявляется

init – процесссистемногоуровня,запускаемы

й вовремязагрузки.Длякаждого

процессахранитсяидентифего ипроцессательскогокатор(

 

 

PPID, Parent Process ID).

Упроцесса

init

PPID равен0.

 

 

Получобщихсведениние

 

й озапущенныхпроцессах

 

ps (process status)

 

 

Запуск ps безаргументовпокажеттолькотепроцессы,которзапущеныбыливами

 

привязаныкиспользуемомувамитерминалу.

 

 

 

Чаистопользуемыепараметры:

 

 

 

a – вывпро,запущенныхдцесвспользователямиеми;

 

 

x – вывпробездуправляющегоцессовтермилисуправляющимналатерминалом,но

 

 

отличающимсяиспользуемоговами;

 

 

 

u – выводдлякаждизпроцессовимго

 

ени запустившегользователяврзапускамениго.

Обозначенияколонвтипвыкомандывомде

 

 

ps:

PID, PPID – идентпроцессаиегофикадителяор

 

;

%CPU – доляпроцессорнвремени,выделеннаяоцессуго

 

;

%MEM – процентиспользуемо

й оперативной памяти;

VSZ – виртуальный размерпроцесса

;

 

TTY – управляющий терминал,изкоторогозапущенроцесс

;

STAT– статуспроцесса

;

 

 

 

START – времязапускароцесса

;

 

 

TIME – времяисполнениянапроцессоре

 

;

STAT);

Обозначесостояния

й процессов(колонке

 

R – процессвыполняетсяданны

й момент;

 

S – прожидацт.(е.спитссменее20секундт)

 

 

;

I – процессбезде

йствует..(спитбольше20секунд)

 

;

D – прожидаетцессввода/выводаили(другогонедс ),лгогобытиянепрерываемы

 

й;

Z – zombie-процесс;

 

 

 

T – процессостановлен

.

 

 

 

 

 

 

 

 

 

 

pstree

 

 

 

 

 

 

 

 

 

 

 

Команда pstree выводитпроцессыформедерева

 

 

 

, можносразуувидетьродительские

 

 

процессы.Чаи топользуемыепараметры:

 

 

 

 

 

 

 

 

 

-p – выPIDвсеходпроцессов

 

 

 

 

 

 

 

 

 

-u – выводименипользова,запуспроцесс.тившегоеля

 

 

 

 

 

 

 

 

 

 

top

 

 

 

 

 

 

 

 

 

 

top

 

– программа,исподнаблюденияьзуемаязапроцессамиврежимереальноговремени.

 

 

 

 

 

 

h.Наиболее

Полностьюуправляетсяклавиатуры.Выможетеполучитьспр,ннаклавишужаввку

 

 

 

 

 

 

 

полезныекомандыдлямониторингапроцессов:

 

 

 

 

 

 

 

 

 

Shift+M – командаиспользуется

 

сортирпроцессовобъемувкизанято

 

й имипамятиполе(

%MEM);

 

 

 

 

 

 

 

 

 

 

Shift+P – командаиспосортирльзуетсяпроцессовзанятомувкиимипроцессорному

 

 

 

 

 

времениполе(

%CPU). Этометодсортировкипоумолчанию

 

 

.

 

 

U – командаисповыводальзуетсяпроцессов

 

 

 

аданногопольз. topспроувасегоимятеля,ит

 

 

необходввестимяпользователяи,монеего

 

 

 

UID. Есливыневведетеникакогоимени,будут

 

 

показанывсепроцессы;

 

 

 

 

 

 

 

 

 

 

i

поумолчаниювывпроцессысеодятся,дажеспящие.Этакомандаобеспечиваетвывод

 

 

 

 

 

 

 

информациитолькорабвданнытающих

 

 

й моментпроцессахпроцессы( ,укот рыхле

 

STAT

имеетзначение

R,

Running). Повторниспользованиеэт

 

 

й комавернетвасдыазадксписку

 

 

всехпроцессов.

 

 

 

 

 

 

 

 

 

 

Получениедетальныхсведени

 

 

й озапущенныхпроцессах

 

 

 

 

 

 

 

/proc – псевдо-файловаясистема,котораяиспользуетсявкачествеинтерфе

 

 

 

 

йсак

структуданныхвяд.Больширеамрасположенныхв ство

 

 

 

 

 

й файловдоступнытолькодлячтения,

 

 

нонекоторыефа

йлыпозволяютизмеременныеняядра. ь

 

 

 

 

 

 

 

 

 

Каждомузапущенномупроцессусо

 

 

ответствуетподкаталогименем,со

 

впадающим с

идентификатором этогопр (цесса

 

PID). Каждый изэтихподкаталоговсодержитследующие

 

 

псевдо-файлы икаталогиуказаны(

наиболеечасто

использующиесядлямониторинга

 

процессов).

 

 

cmdline – файл, содержащий полнуюкоманднстрокзапускароцесса. ю

 

 

 

 

 

cwd – ссылнатекущиа

й рабочий каталогпроцесса.

 

 

 

 

 

 

environ – файл,содержащи

й окруженпроцес.Запвфаисеаи

 

йлеразделяются

нулевымисимв, кофаламинце

 

 

йлатакжеможетбытьнулево

 

 

й символ.

 

 

 

 

exe – символьнсодержащаяссылка, ф ктполноеическвыполняемогофа

 

 

 

 

 

йла.

 

 

fd – подкаталог,содержащи

 

й однузаписьнакажды

 

 

й файл,которы й вданны й момент

откпроцессом.ытИмякаждо

 

 

й такой записисоответствуетномеруфа

 

йловогодескриптор

аи

являетсясимвольно

 

й ссылкой нареальны

й файл.Так, 0

– этостандартны й ввод, 1

– стандартный

вывод, 2

– стандартный выводошибокт..

 

 

 

 

 

 

 

 

 

maps – файл,содержащи й адресаобл сте

й памяти,которыеиспользуютсяпрограммо

 

й в

данный момент,ипр

авадоступакним.Форматфа

 

dev

йласледующи й:

 

 

address

 

perms

offset

 

inode

pathname

 

 

08048000-08056000 r-xp

00000000

03:0c

64593

/usr/sbin/gpm

 

 

08056000-08058000 rw-p

0000d000

03:0c

64593

/usr/sbin/gpm

 

 

08058000-0805b000

rwxp

00000000

00:00

0

 

/lib/ld-2.2.so

 

 

40000000-40013000 r-xp

00000000

03:0c

4165

 

 

 

bffff000-c0000000

rwxp

00000000

00:00

0

 

 

 

 

где address -- адресноепространство,занятоепроцессом

 

 

 

, perms -- правадоступакнему:

 

r =можночитать

, w =можнописать

, x =можновып лнять

 

, s =можноисп льзовать

 

 

несколькимипроцессамисовместно

 

, p = личнаякопи( приование

 

записи);

 

 

offset -- смещениевфа

йле, dev -- устройствостарши(

й номермладши:

й номер);

inode -

- индексный дескрипторнаданномустро

 

 

йстве, 0означает,чтосданно

й облпанестьюмяти

 

ассоциированыиндексныескрипторы

 

 

.

 

 

 

 

 

stat – детальнаяинфопроцессеввидемациянабораполе

 

 

 

й;

 

 

 

status – предоставляетб

óльшуючастьинформациииз

stat вболее

ёгкомдля

 

прочтенияформате.

 

 

 

 

 

 

 

 

задач.

sched – предоставляинфопроц,использующуюсямациюессетпланировщиком

 

 

 

statm – предоставляетинформсостояниипамятивстранцию.Спполеицахсок

 

 

й в

файле:

 

 

size

общий размерпрограммы

 

 

 

 

 

 

 

 

 

 

resident размеррезидентно

й части

 

 

 

 

share

 

разделяемыестраницы

 

 

 

 

 

trs

тексткод()

 

 

 

 

 

 

 

drs

данные/стек

 

 

 

 

 

 

 

lrs

библиотека

 

 

 

 

 

 

dt

"грязные" (dirty) страницы

 

 

 

Частьизэтихфа

 

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

 

 

 

 

пользилиприобращвателяотимении

 

 

root.

 

 

 

Обрданныхопроцессахботка

 

 

 

 

 

 

 

 

Обрдаонныхботкапроцессахпроводится,какправило,рамкорганизациих

 

 

 

 

конвейера

командобработекспотоковиовыхкиили()черезциклическуюобрабстрфаотку

 

 

 

 

 

йлов.Удобно

применятькоманды

grep, sed, awk, tr, sort, uniq, wc, paste, а такжефункции

дляработысостроками.

 

 

 

 

 

 

 

 

Получениеданныхобоперативно

 

й памяти

 

 

 

 

 

free - возвращаетинформациюсвободно

 

 

й ииспользуемо й памятивсистеме,как

 

физической,такивиртуально

й (вразделеподкачкинаж дискестком).

 

 

 

 

Полявыводакоманды:

 

 

 

 

 

 

 

 

 

total – общееколичестводоступно

 

й физической памяти.Некотораяобластьоперативно

 

й

памятиможетбытьзарезеяд,поэтомурвированапоказатель

 

 

 

 

total можбытьереальногоньше

 

объемаоперативно

й памяти.

 

 

 

 

 

 

 

used – объемиспользуемо

й памяти(

used=total-free).

 

 

 

 

free - свободнаяпамять.

 

 

 

 

 

 

 

 

shared - память,распрмеждупроцессделенн. амия

 

 

 

 

 

 

buffers - памятьиспользуемаявбуферах.

 

 

 

 

 

 

cached – память,исподкэшированияльзуемая.

 

 

 

 

 

 

-/+ buffers/cache - использованнаяпамятьбезучетабуферовкэше

 

й/свободная

памятьсуч

ётомбуферовиКЭШе

 

й.

 

 

 

 

 

 

swap - использовразделподк. аниечки

 

 

 

 

 

 

 

 

 

 

Задания налабораторнуюработу

 

 

 

1. Исследомультипрогрпримереычислительныйватьпроцесса выполнения

 

 

 

 

 

 

самостоятразработанныхтрзаде(льпример,чbash

 

 

 

 

- скриптов).

 

 

2. Дляодниззадачойпределить:

 

 

 

 

 

 

 

 

номерпроцесса(PID)иимяпольз,егователя

 

 

запустившего(USER);

 

 

 

текущийприоритетпроцес

 

 

са(PR)иприоритет,присвемукомаенNICEндойый

 

 

 

 

(NI);

 

 

 

 

 

 

 

VIRT — объемвиртуальнойпамяти,которуюиспользуетпроцесс;

RES — объемфизическойпамяти,занятойданнымпроцессом;

SHR — общийобъемразделяемой

памяти;

S — текущий статус процесса: R — running; S — sleeping, Z — zombie;

%CPU — процентиспользуемальноговременицентро;цессора

%MEM — процентОЗУ,используемпроцесс; омй

TIME+ — продолжительработыпроцессамомезапуска;ностьта

COMMAND — названиекомандыпрограммы( ),котораяинициировалапроцесс.

количествопотоков.

3. Длявсехзарегистрированныхданны й моментвсистемепроцвыводинссоведитефа йл строки

ProcessID=PID : Parent_ProcessID=PPID : Average_Time=avg_atom.

Значения PPid и Pid возьмитеизфа

йлов status, значение avg_atom изфа

йлов

sched, которыенаходятсявдиректорияхназваниями,соответствующими

PID

процессов

/proc. Отсортируйтеэтистрпидентификаторамкиродительских

 

процессов.

 

 

 

4. Моновыполкаждуюизтрехьнонитьз

 

адач,определитьвремяихвыполнения.

 

5.Запуститьодновременнодруг(задруг)тризадачиопределить, времявыполнения пакета.

6.Изменитьприорипроцессаустановить,влияетзначеприонваиереитетамя выприложенияолнения.

7. Ответитьнаследующиевоп

росы:

 

Вкакомслучаесуммарнвыполнениявремязадачбольше

 

: припоследовательном

илиодновремевыполнении? ном

 

 

Какизменилвремявыпкажотдельнойосьлнениязадачи

припакетномзапуске

приложений?

 

 

Какизменитсявремявыполненотдельнойзадачиприз я

 

мененииееприоритета?

Окажетливлизменениеяниеприоритетаоднойзадвремявыполнениячи

 

другойзадачи?Объяснитьрезультаты.