Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodychka-lab_OS.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.35 Mб
Скачать

Лабораторна робота №1

Тема: Породження процесів та потоків у ОС Windows.

Мета: Навчитись породжувати процеси та потоки у ОС Windows за допомогою програм на мові Assembler, використовуючи пакет MASM32.

1. Основні теоретичні відомості

1.1 Основні поняття

У деяких аспектах програмування в ОС Windows на асемблері краще ніж на мовах високого рівня. А саме:

  • асемблер дозволяє програмісту повністю контролювати створюваний ним програмний код;

  • компілятори мов високого рівня записують в завантажуваний модуль програми надлишкову інформацію. Такі ж виконувані модулі, початковий текст яких написаний на асемблері, мають в декілька разів менший розмір;

  • при програмуванні на асемблері зберігається повний доступ до апаратних ресурсів комп’ютера;

  • програма написана на асемблері швидше завантажується в оперативну пам’ять;

  • програма, написана на асемблері, має більшу швидкість роботи і швидше реагує на дії користувача.

Програмування на асемблері під ОС MS-DOS та під ОС Windows значно відрізняється. Так DOS програма після запуску повинна бути весь час активною. Якщо їй що-небудь потрібно, наприклад, дістати наступну порцію даних із пристрою вводу - виводу, то вона сама має виконувати відповідні запити до операційної системи. Програма DOS працює по визначеному алгоритмі, вона завжди знає, що і коли їй треба зробити.

В Windows-програмі все навпаки. Програма є пасивною. Після завантаження вона чекає коли операційна система виділить їй час. Операційна система робить це посиланням спеціально оформлених груп даних, які називаються повідомленнями. Повідомлення можуть бути різного типу, вони функціонують у системі досить хаотично і прикладна програма не знає якого типу повідомлення прийде наступним. Можна провести аналогію між механізмом повідомлень Windows і механізмом переривань в архітектурі IBM PC.

Слід пам’ятати, що у Windows – програмі перед використанням будь – якого регістру, крім еах, потрібно зберегти його вміст, який потім треба відновити.

У процесі розробки своїх програм програміст повинен ефективно використовувати функції інтерфейсу прикладного програмування API (Application Programming Interface) операційної системи Windows.

Windows пропонує велику кількість API функцій які розташовані безпосередньо в операційній системі. Ці функції знаходяться в декількох динамічно завантажуваних бібліотеках (DLL), таких як kernel32.dll, user32.dll і gdi32.dll.

Kernel32.dll містить API функції, які взаємодіють з пам’яттю та керують процесами. User32.dll контролює інтерфейс користувача. Gdi32.dll відповідає за графічні операції. Крім цих основних бібліотек існують також інші dll, які можна використовувати, маючи потрібну інформацію про них. Програма динамічно під’єднується до бібліотеки dll під час виконання, тобто код API функцій не включається у виконуваний файл. Інформація про функції, які описані в dll знаходиться в бібліотеках імпорту (*.lib). Windows.inc - містить важливі структури і константи, які використовуються в програмах.

Windows підтримує два типи прикладних програм:

  • віконні прикладні програми - які базуються на основі спеціального набору функцій (API), які складають графічний інтерфейс користувача GUI (Graphic User Interface). Віконні прикладні програми являють собою програму, яка весь вивід на екран представляє у графічному вигляді. Першим результатом роботи віконної прикладної програми є відображення на екрані спеціального об’єкта - вікна. Після відображення вікна на екрані вся робота прикладної програми полягає в тому, щоб підтримувати вікно в актуальному стані;

  • не віконні прикладні програми, або консольні програми , являють собою програми, які працюють у текстовому режимі. Робота консольної програми нагадує роботу MS-DOS програми. Та це лише із зовнішнього вигляду. У своєму коді консольна програма використовує функції Windows.

Уся різниця між двома типами прикладних програм Windows полягає в тому, із яким типом даних вони працюють. Основний тип прикладних програм у Windows - віконний.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]