Робота із процесами в ОС Windows

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Операційні системи
Група:
ПІ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 2 На тему: “ Робота із процесами в ОС Windows ” З дисципліни : " Операційн системи" Лектор: Доц. каф. ПЗ Яковина В.С. Львів – 2008 Мета роботи: Ознайомитися із реалізацією багатозадачності у сіместві операційних систем MicroSoft на прикладі Windows NT5 (ядро 5.X). Освоїти роботу із процесами і методами створення їх. Теоретичні відомості Процес зазвичай визначають як екземпляр виконуваної програми. Але це неправельне визначення. Оскільки програма це є набір процесорних команд, тоді як процесом називається саме виконання цього програмного коду. Екземпляр виконуваної програми складається із двох компонентів: об'єкту ядра, через який операційна система керує процесом. Там же зберігається статистична інформація про процес; адресний простір, в якому міститься код і дані усіх EXE і DLL модулів. Саме в ньому знаходяться область пам'яті, що динамічно розподіляється для стеків потоків та інших потреб. Процеси інертні. Щоб процес виконав певну операцію, в ньому потрібно створити потік. Саме потоки відповідаю за виконання коди, що міститься в адресному просторі процесу. В принципі, один процес може володіти декількома потоками, і тоді вони "одночасно" виконують код в адресному просторі процесу. Для цього кожен потік повинен мати в своєму розпорядженні власний набір регістрів процесора і власний стек. У кожному процесі є мінімум один потік. Якби у процесу не було жодного потоку, система автоматично знищила б його разом з виділеним йому адресним простором. Щоб усі ці потоки працювали, операційна система відводить кожному з них певний процесорний час. Виділяючи потокам відрізки часу (звані квантами) за принципом каруселі, вона створює тим самим ілюзію одночасного виконання потоків. Рис 2.1. ілюструє розподіл процесорного часу між потоками на машині з одним процесором. Якщо в машині встановлено більш за один процесор, алгоритм роботи операційної системи значно ускладнюється (в цьому випадку система прагне збалансувати навантаження між процесорами).  Рис.2.1. Операційна система виділяє потокам кванти часу за принципом каруселі При створенні процесу перший (точніше, первинний) потік створюється системою автоматично. Далі цей потік може породити інші потоки, ті у свою чергу — нові і так далі. Індивідуальне завдання Написати програму створення додаткового потоку для програми calc.exe. показати в результатах виконання деревовидну структуру залежності новоствореного процеса від батьківського процесу. Код програми Назва файлу: Lab02.cpp // Lab02.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "windows.h" #include "iostream" bool LaunchExe(LPCTSTR szExe); int _tmain(int argc, _TCHAR* argv[]) { LaunchExe(_T("c:\\windows\\system32\\calc.exe")); return 0; } bool LaunchExe(LPCTSTR szExe) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); if( !CreateProcess(szExe, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ) ) { MessageBox(NULL,_T( "CreateProcess failed." ),_T("Result"),MB_OK); return FALSE; } WaitForSingleObject( pi.hProcess, INFINITE ); CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); return TRUE; } Результат виконання Результатом виконання програми є створення нового процесу для програми: %windir%\system32\calc.exe На рис. 2. представлено результати виконання програми. Також деревовидну структуру запуску процесу.  Рис. 2. Результат виконання програми Висновок На лабораторній роботі було розглянуто та досліджено: виконання, створення, і породження процесів, ознайомились із підходами програмування на рівні ядра створення процесу і порівняли із стандартним підходом виклику інших програм. Порівняли переваги і недоліки використання двох методів. Також було виконано індивідуальне завдання, і за допомогою додатково ПЗ досліджено новостворений процес в ОС, його параметри та права, хто його запустив із якими параметрами.
Антиботан аватар за замовчуванням

30.03.2013 10:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!