- •1Розробка універсальних додатків для різних типів кодувань символьної інформації
- •1.1Мета роботи
- •1.2Методичні вказівки з організації самостійної роботи студентів
- •1.2.1Типи даних char і wchar_t. Універсальне завдання типу
- •1.2.2Функції для роботи з рядками для ansi і unicode кодувань
- •1.2.3Файл tchar.H. Пошук імен для універсальних функцій
- •1.2.4Визначення типу тексту і перетворення типу кодування тексту
- •1.3Порядок виконання лабораторної роботи
- •2.2.3Створення статичних бібліотек
- •2.2.2Загальна характеристика динамічних бібліотек
- •2.2.4Створення dll
- •2.2.5Використання dll
- •2.2.6Алгоритм шифрування rsa
- •2.3Порядок виконання лабораторної роботи
- •3.3Порядок виконання лабораторної роботи
- •3.5Контрольні запитання і завдання
- •4Керування зовнішніми пристроями. Нестандартні пристрої
- •4.1Мета роботи
- •4.2Методичні вказівки з організації самостійної роботи студентів
- •4.3 Порядок виконання лабораторної роботи
- •4.5Контрольні питання и завдання
- •5.2.2Інформація про файлову систему пристрою
- •5.2.3Визначення вільного місця на пристрої
- •5.3Порядок виконання лабораторної роботи
- •5.5Контрольні запитання і завдання
- •7.3Порядок виконання лабораторної роботи
- •7.5Контрольні запитання і завдання
- •8 Керування потоками
- •8.1Мета роботи
- •8.2Методичні вказівки з організації самостійної роботи студентів
- •8.3Порядок виконання лабораторної роботи
- •8.5Контрольні питання й завдання
- •9 Керування розподілом пам'яті (wіnapі)
- •9.1Мета роботи
- •9.2Методичні вказівки з організації самостійної роботи студентів
- •9.3Порядок виконання лабораторної роботи
- •9.5Контрольні питання й завдання
- •10 Синхронізація процесів і потоків
- •10.1Мета роботи
- •10.2Методичні вказівки з організації самостійної роботи студентів
- •10.3Порядок виконання лабораторної роботи
- •10.5 Контрольні питання й завдання
- •Список використаних джерел
- •Додаток а Стандартні функції для введення – виведення даних для стандартних пристроїв. Функції для роботи з файлами.
5.5Контрольні запитання і завдання
Як визначити наявні пристрої для зберігання інформації. Яким чином можна узнати кількість таких пристроїв і імена кореневих каталогів для них.
Як узнати тип пристрою (дискета, жорсткий диск, CD, флеш, мережений диск)?
Як визначити максимальний розмір диску та розмір вільної пам’яті?
Як визначити серійний номер диску. Яку ще інформацію можна узнати за допомогою тієї ж функції?
6ПЛАНУВАННЯ ПРОЦЕСІВ
6.1Мета роботи
Вивчити основні алгоритми планування, реалізувати програмно ці алгоритми і порівняти їх, використовуючи різні показники.
6.2Методичні вказівки з організації самостійної роботи студентів
При підготовці до лабораторної роботи необхідно повторити матеріал відповідних лекцій та ознайомитися з основними алгоритмами планування по [1, c. 126 – 148, 6, c. 41 - 103].
6.3Порядок виконання лабораторної роботи
1 Реалізуйте основні функції для роботи із чергою процесів;
2 Реалізуйте алгоритм FCFS. Визначте основні критерії для цього алгоритму;
3 Реалізуйте алгоритм RR. Визначте основні критерії для цього алгоритму;
4 Реалізуйте алгоритм SJF. Визначте основні критерії для цього алгоритму;
5 Для однієї й тієї ж послідовності процесів визначте всі критерії. Порівняйте 3 розглянуті алгоритми й зробіть висновки по ефективності їх використання.
6.4Зміст звіту
Звіт має містити:
Програмні реалізації для трьох алгоритмів;
Вхідні дані й очікувані результати для кожного з алгоритмів;
Результати виконання кожного алгоритму (значення всіх показників);
Висновки по роботі.
6.5Контрольні запитання і завдання
Для чого використовуються алгоритми планування?
Для чого використовуються алгоритми диспетчеризації?
В який алгоритм переходить алгоритм RR, якщо квант часу збільшити до нескінченності?
Що таке статичний пріоритет?
Що таке динамічний пріоритет?
7КЕРУВАННЯ ПРОЦЕСАМИ
7.1Мета роботи
Навчитися запускати програми і командні файли із програми.
7.2Методичні вказівки з організації самостійної роботи студентів
При підготовці до лабораторної роботи необхідно повторити матеріал відповідних лекцій та ознайомитися з [1, c. c. 134 – 148, 3, c. 48 – 83, 6, 103 - 121].
Вивчить функцію CreateProcess і її використання для запуску програм. Складіть макрос для спрощення використання цієї функції.
BOOL WINAPI CreateProcess(
LPCTSTR lpApplicationName, // Ім'я додатка
LPTSTR lpCommandLine,// Командний рядок
LPSECURITY_ATTRIBUTES lpProcessAttributes, // Атрибути
LPSECURITY_ATTRIBUTES lpThreadAttributes, // безпеки
BOOL bInheritHandles, // Спадкування дескрипторів
DWORD dwCreationFlags, // Прапорці створення
LPVOID lpEnvironment, // Середа
LPCTSTR lpCurrentDirectory,// поточний каталог
LPSTARTUPINFO lpStartupInfo, // Структура з вхідними даними
LPPROCESS_INFORMATION lpProcessInformation
// Структура з дескрипторами створеного процесу та потоку
);
Необхідні структури:
typedef struct _STARTUPINFO { DWORD cb; LPTSTR lpReserved; LPTSTR lpDesktop; LPTSTR lpTitle; DWORD dwX, dwY, dwXSize, dwYSize; DWORD dwXCountChars, dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; WORD wShowWindow; WORD cbReserved2; LPBYTE lpReserved2; HANDLE hStdInput, hStdOutput; HANDLE hStdError;
} STARTUPINFO, *LPSTARTUPINFO;
typedef struct _PROCESS_INFORMATION { HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId;
} PROCESS_INFORMATION, *LPPROCESS_INFORMATION;
