Системне програмування презентация

Содержание


Презентации» Образование» Системне програмування
Системне програмування 
 Лекція № 6
 Лектор Артамонов Є.Б.Поняття процесу
 Процес – це абстрактне поняття, що описує роботу програми.Створення процесу 
 1) ініціалізація системи;
 2) виконання виданого працюючим процесом системного запитуСтворення процесу
 Основні функції: CreateProcess, CreateProcessAsUser (для Win NT/2000) і CreateProcessWithLogonWЕтапи запуску win32 процесу 
 Створюється об'єкт Win32 "процес".
 Створюється первиннийЗавершення процесу 
 звичайний вихід (навмисно);
 вихід помилково (навмисно);
 вихід поСтани процесів 
 працюючий (у цей конкретний момент використовує процесор);
 готовийСтани процесівДеякі поля типового елемента таблиці процесівПріоритети процесів
 У Windows існує 32 рівні пріоритету, від 0 доПріоритети потоків
 Пріоритет кожного потоку (базовий пріоритет потоку) складається з пріоритетуІнтерактивні та фонові процеси 
 Інтерактивні процеси взаємодіють із користувачами безпосередньо, приймаючиСтруктури даних процесу 
 У режимі користувача доступним є блок оточення процесу (processСтруктури даних процесу 
 Керуючий блок процесу містить такі основні елементи:
Ідентифікація інформації
 ідентифікатор процесу (pid);
 ідентифікатор процесу, що створив цей процесБлок процесу ядра  
 містить усю інформацію, що належить до потоківБлок оточення процесу 
 містить інформацію про процес, яка призначена дляМетоди маскування і виявлення процесів в операційній системі WindowsПрограмне забезпечення TaskInfoПрограмне забезпечення Process ExplorerПрограмне забезпечення Codestuff StarterПрограмне забезпечення System ObserverПрограмне забезпечення PROWiSe ManagerПрограмне забезпечення PrcInfoПрограмне забезпечення A-squared HiJackFreeОсновні методи відображення прихованих процесівСхема алгоритму отримання списку процесів через ToolHelp APIСхема алгоритму отримання списку процесів через Native APIВид головного вікна у полегшеному режимі скануванняВид головного вікна у поглибленому режимі скануванняДякую за увагу!!! Зустрінемось на лекції через тиждень



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Системне програмування Лекція № 6 Лектор Артамонов Є.Б.


Слайд 2
Описание слайда:
Поняття процесу Процес – це абстрактне поняття, що описує роботу програми. Все інше базується на цьому понятті, тому представляється вкрай важливим, щоб розробники операційних систем одержали повне подання про концепції процесу якомога раніше.

Слайд 3
Описание слайда:
Створення процесу 1) ініціалізація системи; 2) виконання виданого працюючим процесом системного запиту на створення процесу; 3) запит користувача на створення процесу; 4) ініціювання пакетного завдання.

Слайд 4
Описание слайда:
Створення процесу Основні функції: CreateProcess, CreateProcessAsUser (для Win NT/2000) і CreateProcessWithLogonW (починаючи з Win2000). Етапи: відкривається файл образу (EXE). якщо виконуваний файл не являється Win32 додатком, то шукається образ підтримки (support image) для запуску цієї програми.

Слайд 5
Описание слайда:
Етапи запуску win32 процесу Створюється об'єкт Win32 "процес". Створюється первинний потік (стек, контекст і об'єкт "потік"). Підсистема Win32 повідомляється про створення нового процесу і потоку. Починається виконання первинного потоку. У контексті нового процесу і потоку ініціалізувався адресний простір (наприклад, завантажуються необхідні DLL) і починається виконання програми.

Слайд 6
Описание слайда:
Завершення процесу звичайний вихід (навмисно); вихід помилково (навмисно); вихід по непоправній помилці (ненавмисно); знищення іншим процесом (ненавмисно).

Слайд 7
Описание слайда:
Стани процесів працюючий (у цей конкретний момент використовує процесор); готовий до роботи (процес тимчасово припинений, щоб дозволити виконуватися іншому процесу); заблокований (процес не може бути запущений перш, ніж відбудеться якась зовнішня подія).

Слайд 8
Описание слайда:
Стани процесів

Слайд 9
Описание слайда:
Деякі поля типового елемента таблиці процесів

Слайд 10
Описание слайда:
Пріоритети процесів У Windows існує 32 рівні пріоритету, від 0 до 31. Вони поділяються на два блоки від 31 – 16 – пріоритети реального часу; від 15 - 1 динамічні рівні; 0 - системний пріоритет, зарезервований для потоку обнулення сторінок (zero-page thread). При створенні процесу, йому призначається один з шести класів пріоритетів: Real time class (значення 24); High class (значення 13); Above normal class (значення 10), Normal class (значення 8), Below normal class (значення 6), Idle class (значення 4).

Слайд 11
Описание слайда:
Пріоритети потоків Пріоритет кожного потоку (базовий пріоритет потоку) складається з пріоритету його процесу і відносного пріоритету самого потоку. Є сім відносних пріоритетів потоків: Normal: такий же як і у процесу; Normal: +1 до пріоритету процесу; Below normal: -1; Highest: +2; Lowest: -2; Time critical: встановлює базовий пріоритет потоку для Real time класу в 31, для решти класів в 15. Idle: встановлює базовий пріоритет потоку для Real time класу в 16, для решти класів в 1.

Слайд 12
Описание слайда:
Інтерактивні та фонові процеси Інтерактивні процеси взаємодіють із користувачами безпосередньо, приймаючи від них дані, введені за допомогою клавіатури, миші тощо. Прикладом інтерактивного процесу може бути процес текстового редактора або інтегрованого середовища розробки. Фонові процеси із користувачем не взаємодіють безпосередньо. Зазвичай вонизапускаються під час старту системи і чекають на запити від інших застосувань. Деякі з них (системні процеси) підтримують функціонування системи (реалізують фонове друкування, мережні засоби тощо), інші виконують спеціалізовані задачі (реалізують веб-сервери, сервери баз даних тощо). Фонові процеси також називають службами (services, у системах лінії Windows ХР) або демонами (daemons, в UNIX).

Слайд 13
Описание слайда:
Структури даних процесу У режимі користувача доступним є блок оточення процесу (process environment block, PEB), що перебуває в адресному просторі цього процесу. EPROCESS і KPROCESS, на відміну від РЕВ, доступні тільки із привілейованого режиму.

Слайд 14
Описание слайда:
Структури даних процесу Керуючий блок процесу містить такі основні елементи: блок процесу ядра (КРRОСЕSS); ідентифікаційну інформацію; інформацію про адресний простір процесу; інформацію про ресурси, доступні процесу, та обмеження на використання цих ресурсів; блок оточення процесу (РЕВ); інформацію для підсистеми безпеки.

Слайд 15
Описание слайда:
Ідентифікація інформації ідентифікатор процесу (pid); ідентифікатор процесу, що створив цей процес (незважаючи на те, що Windows XP не підтримує відносини «предок-нащадок» автоматично, вони можуть бути задані програмним шляхом, тобто нащадок може сам призначити собі предка, задавши цей ідентифікатор); ім'я завантаженого програмного файла.

Слайд 16
Описание слайда:
Блок процесу ядра  містить усю інформацію, що належить до потоків цього процесу: покажчик на ланцюжок блоків потоків ядра, де кожний блок відповідає потоку; базову інформацію, необхідну ядру системи для планування потоків (ця інформація буде успадкована потоками, пов'язаними із цим процесом).

Слайд 17
Описание слайда:
Блок оточення процесу містить інформацію про процес, яка призначена для доступу з режиму користувача: початкову адресу ділянки пам'яті, куди завантажився програмний файл; покажчик на динамічну ділянку пам'яті, доступну процесу.

Слайд 18
Описание слайда:
Методи маскування і виявлення процесів в операційній системі Windows

Слайд 19
Описание слайда:
Програмне забезпечення TaskInfo

Слайд 20
Описание слайда:
Програмне забезпечення Process Explorer

Слайд 21
Описание слайда:
Програмне забезпечення Codestuff Starter

Слайд 22
Описание слайда:
Програмне забезпечення System Observer

Слайд 23
Описание слайда:
Програмне забезпечення PROWiSe Manager

Слайд 24
Описание слайда:
Програмне забезпечення PrcInfo

Слайд 25
Описание слайда:
Програмне забезпечення A-squared HiJackFree

Слайд 26
Описание слайда:
Основні методи відображення прихованих процесів

Слайд 27
Описание слайда:
Схема алгоритму отримання списку процесів через ToolHelp API

Слайд 28
Описание слайда:
Схема алгоритму отримання списку процесів через Native API

Слайд 29
Описание слайда:
Вид головного вікна у полегшеному режимі сканування

Слайд 30
Описание слайда:
Вид головного вікна у поглибленому режимі сканування

Слайд 31
Описание слайда:
Дякую за увагу!!! Зустрінемось на лекції через тиждень


Скачать презентацию на тему Системне програмування можно ниже:

Похожие презентации