Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Процеси





ОС сімейства UNIX є багатозадачною операційною системою. Це означає, що одночасно може бути запущена більш ніж одна програма. Кожна програма, що працює в деякий момент часу, називається процесом. Кожна команда, яку ви запускаєте, породжує хоча б один процес. Є кілька системних процесів, запущених весь час і підтримують функціональність системи.

У кожного процесу є унікальний номер, названий process ID, або PID, як і у файлів, у кожного процесу є власник і група. Інформація про власника і групі процесу використовується для визначення того, які файли і пристрої можуть бути відкриті процесом з урахуванням прав на файли. Також у більшості процесів є батьківський процес. Наприклад, при запуску команд з оболонки, оболонка є процесом і будь-яка запущена команда також є процесом. Для кожного запущеного таким шляхом процесу оболонка буде батьківським процесом. Винятком з цього правила є спеціальний процес, названий init. init завжди перший процес, його PID завжди 1. init запускається автоматично ядром під час завантаження ОС.

Дві команди дуже корисні для перегляду працюючих в системі процесів, це ps і top. Команда ps використовується для отримання списку запущених процесів і може показати їх PID, скільки пам'яті використовують, команду, якій вони були запущені і т.д. Команда top показує запущені процеси і оновлює екран кожні кілька секунд, що дозволяє спостерігати за роботою комп'ютера в реальному часі.

За замовчуванням, ps показує тільки ті процеси котрі вам налажат. Якщо використати ключ –A то виведеться таблиця всіх процесів. Наприклад:

PID TTY TIME CMD

2643 pts/0 00:00:00 su

2644 pts/0 00:00:00 bash

3092 pts/0 00:00:00 ps

Як ви можете бачити в даному прикладі, висновок ps організований в кілька колонок. Ідентифікатор процесу PID обговорювалося раніше. PID призначаються з 1 до 99999 і знову з початку, якщо останнє число буде перевищено. Колонка TTY показує термінал (tty), на якому запущена програма. TIME це кількість часу центрального процесора, використане програмою - це звичайно не час, що минув з запуску програми, оскільки більшість програми проводять багато часу в очікуванні деякого події перед тим, як зайняти час процесора. Нарешті, COMMAND це команда, якій програма була запущена.

У ps є безліч різних опцій, які впливають на виведену інформацію. Один з найбільш корисних наборів опцій це auxww. a дозволяє показати інформацію про всі запущені процеси, а не тільки тих, якими ви володієте. u показує ім'я користувача, що володіє процесом, та інформацію про використовуваної пам'яті. x показує інформацію про процеси-даемони і ww вказує ps показати весь командний рядок, замість обрізання її, коли вона стане занадто довгою, щоб уміститися на екран.

Вивід top схожий на щойно описаний. Зазвичай він виглядає так:

last pid: 34218; load averages: 0.65, 0.36, 0.29 up 0+11:38:05 16:30:36

processes: 1 running, 2 sleeping

Mem: 82M Active, 93M Inact, 438M Wired, 112K Cache, 112M Buf, 1390M Free

Swap: 2048M Total, 2048M Free

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND

23805 root 1 106 10 6080K 3128K select 3 0:01 0.00% sshd

23806 root 1 8 10 3136K 2008K wait 2 0:00 0.00% bash

34218 roou 1 106 10 2160K 1376K CPU2 0 0:00 0.00% top

— top – автоматично оновлює екран кожні дві секунди; це значення можна змінити опцією s;

— PID – ідентифікатор процесу;

— USERNAME - користувач, від якого запущений процес;

— THR – кількість потоків, запущених процесом;

— PRI – поточний пріоритет процесу;

— NICE – пріоритет, виставлений командою nice. Від -20 (найвищий) до 19;

— SIZE – розмір процесу (дані, стек і т. д.) в кілобайтах;

— RES – поточне використання оперативної пам'яті;

— STATE – поточний стан («START», «RUN» (тільки в цьому стані показує поточне навантаження програми на процесор), «SLEEP», «STOP», «ZOMB», «WAIT» або «LOCK»);

— C – номер процесора, на якому йде виконання (доступний тільки на SMP системах);

— TIME – час використання процесора в секундах;

— CPU – відсоток доступного часу процесора, яке використовувала запущена програма;

— WCPU – усереднене значення CPU;

— COMMAND – назва команди, під якою працює процес.

4.3 Хід роботи

1. Вивчіть базу даних про користувачів і команди управління цією базою у Вашій версії системи UNIX(назви, формати файлів і синтаксис команд необхідно привести в звіті).

2. Створіть користувача "user" c ім'ям "User U. Userovsky" і поштовим псевдонімом "u_ser". Встановіть для нього період обов'язкової зміни пароля в 30 днів і дискову квоту в 30 MB. Видаліть користувача і усі його файли. Послідовність дій із створення і видалення користувача запишіть в звіт.

3. Вивчіть синтаксис команди 'ps' і формат виведення інформації про процеси.

4. Ознайомтеся з вмістом файлової системи "/proc".

5. Відповідно до свого варіанту розробіть утиліту для ОС сімейства UNIX.

Варіант 1

Утиліта для перевірки цілісності бази даних про користувачів і контролю за програмами зі встановленим бітом 'setuid'. Утиліта повинна забезпечувати наступні функції: контроль кількості суперкористувачів, перевірка відповідності файлу passwd і тіньового файлу паролів, пошук 'ненадійних' з точки зору захисту виконуваних файлів

Варіант 2

Діалогова утиліта для створення нових користувачів.

Варіант 3

Утиліта для розсилки листів групам користувачів(по файлу '/etc/group'). Передбачити різні режими відправки, наприклад, щоб кожен одержувач бачив або увесь список адрес, або тільки своя адреса.

Варіант 4

Утиліта, що знищує усі процеси вказаного користувача. Передбачити діалоговий режим або вибір з меню.

Варіант 5

Діалогова утиліта kill – вибір процесу(процесів) зі списку і посилка будь-якого сигналу зі списку сигналів.

Варіант 6

Утиліта контролю ресурсів, споживаних призначеними для користувача завданнями. Процес, що перевищив заданий ліміт використання пам'яті або процесорного часу автоматично знищується.

Варіант 7

Сповіщення заданих користувачів про вхід в систему нового користувача(і про вихід з системи, відповідно).

Варіант 8

Діалогова утиліта 'whodo' – список користувачів в динаміці, по вибору висновок повної інформації про процеси.

4.4 Вміст звіту

У звіті наводиться опис дій відповідно до пункту "Хід роботи", синтаксис і опції вивчених команд і початкові тексти розробленої утиліти з коментарями.

4.5 Контрольні запитання

1. Які категорії користувачів і права доступу існують в ОС сімейства UNIX?

2. Приведіть формат файлу 'passwd ', розкажіть про призначення кожного поля.

3. Навіщо потрібна команда sudo? Як призначити індивідуальне право на доступ до захищеного файлу?

4. Як призначити псевдонім користувачеві?

5. Як користувач може змінити своє повне ім'я і shell в 'passwd'?

6. Які права доступу і власник мають бути встановлені для утиліти 'passwd'?

7. Які способи перегляду інформації про процеси Ви знаєте?

8. Приведіть послідовність дій з установки дискових квот для користувачів в Linux.

5 Лабораторна робота № 5. Реєстрація подій у системі

Date: 2015-12-12; view: 344; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию