Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні(Операційні системи).doc
Скачиваний:
89
Добавлен:
12.02.2016
Размер:
159.23 Кб
Скачать

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

Тема.Синхронізація потоків в ОС Windows

Мета. Ознайомитися зі способами синхронізації потоків. Навчитися організовувати бага-топоточність з використанням синхронізації за допомогою функцій WinAPI.

Завдання.

  1. Реалізувати алгоритм із лабораторної роботи №3.

  2. Здійснити розпаралелювання даного алгоритму на 2, 4, 8 потоків із використанням синхронізації.

  3. Реалізувати прогрес (хід) виконання задачі.

  4. Для синхронізації потоків використати такі методи: Interlocked-функції, м’ютекси, семафори, критична секція, спін-блокування, Wait-функції.

  5. Результати виконання роботи відобразити у звіті.

Індивідуальні завдання.

Відповідно до вказаного варіанту реалізувати два механізми синхронізації:

Варіант № 1-12 – м’ютекс

Варіант № 13-25 – семафор

Варіант № 1-6 – Interlocked-функції

Варіант № 7-12 – критична секція

Варіант № 13-18 – спін-блокування

Варіант № 19-25 – Wait-функції

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

Тема.Робота з динамічними бібліотеками в ОС Windows

Мета. Ознайомитися з динамічно-зв’язувальними бібліотеками (Dynamic-link library) в ОС Windows. Навчитися реалізовувати динамічно-зв’язувальні бібліотеки.

Завдання.

  1. Реалізувати лабораторну роботу №4 у вигляді динамічно-зв’язувальної бібліотеки.

  2. Запустити створену бібліотеку з командної стрічки (cmd.exe) за допомогою rundll32.exe.

  3. Створити окрему програму і реалізувати статичний зв'язок між програмою та бібліотекою.

  4. Створити окрему програму і реалізувати динамічний зв'язок між програмою та бібліотекою.

  5. Експортувати головну функцію бібліотеки під іншим іменем.

  6. Результати виконання роботи відобразити у звіті.

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

Тема.Файли, що відображаються в пам'ять в ОС Windows

Мета. Ознайомитися з відображенням файлів в оперативну пам’ять в ОСWindows. Навчи-тися реалізовувати відображення файлів в оперативну пам’ять.

Завдання.

  1. Реалізувати відображення файлу в оперативну пам'ять.

  2. Необхідно модифікувати лабораторну роботу №4 таким чином, щоб всі результати роботи програми записувалися через відображення файлів в оперативній пам’яті.

  3. Виконати завдання, з використанням цього відображення.

  4. Результати виконання роботи відобразити у звіті.

Індивідуальні завдання.

  1. Створити масив N елементів і відсортувати його елементи у порядку зростання за допомогою методу «бульбашка». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  2. Створити масив N елементів і відсортувати його елементи у порядку спадання за допомогою методу «бульбашка». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  3. Створити масив N елементів і відсортувати його елементи у порядку зростання за допомогою методу «вставки». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  4. Створити масив N елементів і відсортувати його елементи у порядку спадання за допомогою методу «вставки». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  5. Створити масив N елементів і відсортувати його елементи у порядку зростання за допомогою методу «вибірки». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  6. Створити масив N елементів і відсортувати його елементи у порядку спадання за допомогою методу «вибірки». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  7. Створити масив N елементів і відсортувати його елементи у порядку зростання за допомогою методу «злиття». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  8. Створити масив N елементів і відсортувати його елементи у порядку спадання за допомогою методу «злиття». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  9. Створити масив N елементів і відсортувати його елементи у порядку зростання за допомогою методу «швидкого сортування». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Розпаралелити цей алгоритм на 2 потоки і вивести результуючий масив у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  10. Створити масив N елементів і відсортувати його елементи у порядку спадання за допомогою методу «швидкого сортування». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Розпаралелити цей алгоритм на 2 потоки і вивести результуючий масив у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  11. Створити масив N елементів і відсортувати його елементи у порядку зростання за допомогою методу «сортування Шелла». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  12. Створити масив N елементів і відсортувати його елементи у порядку спадання за допомогою методу «сортування Шелла». Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Результуючий масив вивести у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  13. Створити масив N елементів. В окремому потоці виконати лінійний пошук заданого елемента. Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результуючий масив у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  14. Створити масив N елементів. В окремому потоці виконати двійковий пошук заданого елемента. Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результуючий масив у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  15. Створити масив N елементів. В окремому потоці виконати пошук найменшого елемента без сортування масиву. Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результуючий масив у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  16. Створити масив N елементів. В окремому потоці виконати пошук найбільшого елемента без сортування масиву. Елементи масиву згенерувати випадковим чином за допомогою вбудованих функцій. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результуючий масив у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  17. Реалізувати пошук файлів та каталогів у заданому місці за заданим шаблоном. Результати виводити таким чином, що першими повинні бути каталоги, а після них – файли. Каталоги і файли повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  18. Реалізувати пошук файлів за заданим вмістом. Назви файлів повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  19. Реалізувати пошук файлів за заданим розміром. Назви файлів повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  20. Реалізувати пошук файлів та каталогів за заданою датою останньої зміни. Результати виводити таким чином, що першими повинні бути каталоги, а після них – файли. Каталоги і файли повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  21. Реалізувати пошук файлів та каталогів за заданими атрибутами. Результати виводити таким чином, що першими повинні бути каталоги, а після них – файли. Каталоги і файли повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  22. Реалізувати пошук ідентичного за вмістом файлу. Назви файлів повинні бути відсортовані в алфавітному порядку. Для файлу-екземпляру створити відображення в оперативній пам’яті.

  23. Реалізувати пошук ідентичного за роміром файлу. Назви файлів повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  24. Реалізувати пошук ідентичного за датою останньої зміни файлу. Назви файлів повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.

  25. Реалізувати пошук ідентичного за атрибутами файлу. Назви файлів повинні бути відсортовані в алфавітному порядку. Розпаралелити цей алгоритм на декілька потоків (обрати самостійно) і вивести результати пошуку у зовнішній файл через відображення цього файлу в оперативній пам’яті.