
- •З лабораторних робіт з предмету:
- •Лабораторна робота № 1
- •Контрольні запитання
- •Лабораторна робота № 2 Дослідження особливостей організації ресурсів інтерфейсу користувача для Windows-додатків
- •Лабораторна робота № 3. Вікна діалогу у Windows-додатках
- •Контрольні запитання та завдання
- •Лабораторна робота № 4. Дослідження особливостей використання арі-функцій для роботи із процесами та потоками у Windows
- •Контрольні запитання та завдання
- •Лабораторна робота № 5 Дослідження особливостей планування потоків у операційній системі Windows Контрольні запитання та завдання
- •Пріоритети
- •Динамічне підвищення пріоритету
Міністерство освіти і науки України
Червоноградський державний гірничо-економічний коледж
Звіт
З лабораторних робіт з предмету:
“Операційні системи”
Виконав:
Студент групи 1-РПЗ-12
Сас Володимир
Червоноград 2014
Лабораторна робота № 1
Дослідження особливостей функціонування операційної системи Windows шляхом створення та аналізу роботи Windows-додатків
Програма:
#include "stdafx.h"
#include "windows.h"
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM,LPARAM);
int APIENTRY WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS w;
memset(&w,0,sizeof(WNDCLASS));
w.style = CS_HREDRAW | CS_VREDRAW;
w.lpfnWndProc = WndProc;
w.hInstance = hInstance;
w.hbrBackground = (HBRUSH)COLOR_WINDOW;
w.lpszClassName = "C Windows";
RegisterClass(&w);
hwnd = CreateWindow("C Windows","C Windows", WS_OVERLAPPEDWINDOW,
10,10,600,480,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wparam,LPARAM lparam)
{
if (Message == WM_DESTROY )
{
PostQuitMessage(0);
return 0;
}
if (Message == WM_LBUTTONUP)
{
MessageBox(hwnd, "WM_LBUTTONUP", "Message", MB_ICONINFORMATION | MB_OK);
}
return DefWindowProc(hwnd,Message,wparam,lparam);
}
Контрольні запитання
1.Які можливості операційної системи Windows?
1.Виконання на вимогу програм користувача тих елементарних (низькорівневих) дій, які є спільними для більшості програмного забезпечення і часто зустрічаються майже у всіх програмах (введення та виведення даних, запуск і зупинка інших програм, виділення та вивільнення додаткової пам'яті тощо).
2.Стандартизований доступ до периферійних пристроїв (пристрої введення-виведення).
3.Завантаження програм у оперативну пам'ять і їх виконання.
4.Керування оперативною пам'яттю (розподіл між процесами, організація віртуальної пам'яті).
5.Керування доступом до даних енергонезалежних носіїв (твердий диск, оптичні диски тощо), організованим у тій чи іншій файловій системі.
6.Забезпечення користувацького інтерфейсу.
7.Мережеві операції, підтримка стеку мережевих протоколів.
Додаткові:
1.Паралельне або псевдопаралельне виконання задач (багатозадачність).
2.Розподіл ресурсів обчислювальної системи між процесами.
3.Організація надійних обчислень (неможливості впливу процесу на перебіг інших), основана на розмежуванні доступу до ресурсів.
4.Взаємодія між процесами: обмін даними, синхронізація.
5.Захист самої системи, а також користувацьких даних і програм від дій користувача або програм.
6.Багатокористувацький режим роботи та розділення прав доступу (автентифікація, авторизація).
7.Поняття операційної системи напряму пов'язане з такими поняттями, як:
2. Опишіть загальну структуру операційної системи Windows.
ОС складається з:
- ядра,
- базової системи введення-виведення,
- командного інтерпретатора (необов'язково),
- сервісних програм.
Ядро операційної системи - частина ОС, що виконується при максимальному рівні привілеїв. Як правило, в ядро поміщаються процедури, що виконують маніпуляції з основними ресурсами системи і рівнями привілеїв процесів, а також критичні процедури.
Базова система введення-виведення (БСВВ, BIOS) - набір програмних засобів, що забезпечують взаємодію ОС і додатків з апаратними засобами. Зазвичай БСВВ представляє набір компонент - драйверів. Також в БСВВ входить рівень апаратних абстракцій, мінімальний набір аппартного-залежних процедур введення-виведення, необхідний для запуску та функціонування ОС.
Командний інтерпретатор - необов'язкова, але існуюча в переважній більшості ОС частина, що забезпечує керування системою за допомогою введення текстових команд (з клавіатури, через порт або мережу). Операційні системи, не призначені для інтерактивної роботи часто його не мають. Також його можуть не мати деякі ОС для робочих станцій (MacOS 7, 8 (?)).
Сервісне програмне забезпечення - пакет додатків, включений до складу ОС, що реалізує безліч корисних функцій.
3. Що являють собою АРІ-функції?
АРІ-функції загальне найменування для цілого набору базових функцій інтерфейсів програмування застосунків операційних систем сімейства Windows корпорації Майкрософт. Є найпрямішим способом взаємодії застосунків з Windows. Для створення програм, що використовують Windows API, Майкрософт випускає SDK, який називається Platform SDK і містить документацію, набір бібліотек, утиліт і інших інструментальних засобів.
Windows API був спочатку спроектований для використання в програмах, написаних на мові C (або C++). Робота через Windows API — це найближчий до системи спосіб взаємодії з нею прикладних програм. Нижчий рівень доступу, необхідніший тільки для драйверів пристроїв, в поточних версіях Windows надається через Windows Driver Model.
4. Поясніть відмінності функціонування програм у операційних системах MS-DOS та Windows.
Головними відмінними сучасних ОС є:
багатозадачність - здатність забезпечувати виконання декількох програм одночасно;
розвинутий графічний користувацький інтерфейс;
використання всіх можливостей, які надаються сучасними мікропроцесорами;
стійкість у роботі й захищеність;
повна незалежність від апаратури ( підтримка всіх видів дисплеїв і принтерів);
сумісність із усіма видами додатків, розробленими для MS-DOS.
Розходження між операційними оболонками й операційними середовищами досить умовні. У ряді літературних джерел вони стерті, тому що операційне середовище має всі ознаки оболонки, за винятком того, що остання не формує нового середовища виконання програм. Це є функцією лише операційної системи. У свою чергу, операційне середовище не можна назвати операційною системою, тому що вона не може функціонувати самостійно. Виходячи із цього операційне середовище можна назвати повнофункціональною надбудовою над ОС. Найбільш відомими операційними середовищами є системи Windows 3.1 і Windows for Workgroups (Windows для робочих груп), які функціонують поверх DOS, при цьому Windows for Workgroups є мережевим розширенням Windows 3.1.
5. Опишіть структуру мінімального Windows-додатка.
Мінімальний каркасний додаток Windows складається з трьох
частин:
- головної функції;
- циклу обробки повідомлень;
- віконної функції.
Виконання будь-якого віконного Windows-додатка починається з головної функції. Вона містить код, що здійснює налаштування (ініціалізацію) додатка в середовищі операційної системи Windows. Видимим для користувача результатом роботи головної функції є поява на екрані графічного об’єкта у вигляді вікна.
Останньою дією коду головної функції є створення циклу обробки повідомлень. Після його створення додаток стає пасивним і починає взаємодіяти з оточуючим середовищем за допомогою спеціальним чином оформлених даних – повідомлень.
Обробка повідомлень, які надходять у додаток, здійснюється спеціальною функцією, яка називається віконною. Віконна функція унікальна тим, що може бути викликана тільки з операційної системи, а не з додатка, який її містить. Тіло віконної функції має певну структуру.
Таким чином, Windows-додаток повинен складатися принаймні з трьох перелічених елементів. Розглянемо приклад Windows-додатка, написаного мовою програмування C.
Мінімальний каркасний додаток Windows складається з трьох
частин:
- головної функції;
- циклу обробки повідомлень;
- віконної функції.
Виконання будь-якого віконного Windows-додатка починається з головної функції. Вона містить код, що здійснює налаштування (ініціалізацію) додатка в середовищі операційної системи Windows. Видимим для користувача результатом роботи головної функції є поява на екрані графічного об’єкта у вигляді вікна.
Останньою дією коду головної функції є створення циклу обробки повідомлень. Після його створення додаток стає пасивним і починає взаємодіяти з оточуючим середовищем за допомогою спеціальним чином оформлених даних – повідомлень.
6. Що являє собою повідомлення? Опишіть процес обробки повідомлень у віконній функції Windows-додатків.
Повідомлення в Win32 являє собою об’єкт особливої структури, що формується Windows. Формування та забезпечення доставки цього об’єкта у необхідне місце в системі дозволяють керувати як роботою самої системи Windows, так і роботою завантажених Windows-додатків. Ініціювати формування повідомлення може кілька джерел: користувач, самий додаток, система Windows, інші додатки. Саме наявність механізму повідомлень дозволяє Windows реалізувати багатозадачність, яка при роботі на одному процесорі є, звичайно ж, псевдомультизадачністю. Windows підтримує чергу повідомлень для кожного додатка. Запуск додатка автоматично передбачає формування для нього власної черги повідомлень, навіть якщо цей додаток і не буде нею використовуватися. Останнє малоймовірно, оскільки в цьому випадку в додатка не буде зв’язку з навколишнім середовищем, і воно являтиме собою „річ у собі”.
Віконна функція призначена для організації адекватної реакції з боку Winows-додатка на дії користувача і підтримки в актуальному стані того вікна додатку, повідомлення якого вона обробляє.
Додаток може мати кілька віконних функцій. Їх кількість визначається кількістю класів вікон, зареєстрованих у системі. Коли для вікна Windows-додатка з’являється повідомлення, операційна система Windows виконує виклик відповідної віконної функції.
Повідомлення, в залежності від джерела їх появи у віконній функції, можуть бути двох типів: синхронні та асинхронні. До синхронних повідомлень відносять ті повідомлення, які розміщуються у чергу повідомлень додатка і очікують моменту, коли вони будуть вибрані функцією GetMessage. Після цього обрані повідомлення потрапляють у віконну функцію, де і виконується їх обробка. Асинхронні повідомлення попадають у віконну функцію в екстреному порядку, оминаючи при цьому всі черги. Асинхронні повідомлення, зокрема, ініціюються деякими функціями Win32 API, такими як CreateWindow або UpdateWindow. Координацію синхронних і асинхронних повідомлень здійснює Windows. Якщо розглядати синхронне повідомлення, то його обрання виконується функцією GetMessage з наступною передачею його назад у Windows функцією DispatchMessage. Асинхронне повідомлення, незалежно від джерела, який ініціює його появу, спочатку потрапляє у Windows і потім – у необхідну віконну функцію.