Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Порядок виконання лабораторної роботи




У даній лабораторній роботі необхідно виконати наступне:

1.  скласти програму для формування системної інформації про віртуальну пам'ять і пояснити отримані результати;

2.  виділити пам'ять деякого розміру й визначити новий стан системної інформації, пояснити результати;

3.  визначити статус віртуальної пам'яті (функція GlobalMemoryStatus) до і після виділення віртуальної й фізичної пам'яті, пояснити результати;

4.  визначити стан адресного простору (функція VіrtualQuery) до і після виділення віртуальної й фізичної пам'яті, пояснити результати.

Реалізовувати ці завдання зручно у такій послідовності:

- визначити системну інформацію, яка стосується пам'яті, на початку програми;

- виділити віртуальну пам'ять і визначити зміни в системній інформації до й після виконання;

- виділити фізичну пам'ять і визначити зміни в системній інформації до і після виконання;

- зробити послідовне звільнення виділеної пам'яті;

- визначити максимальний розмір пам'яті, що може бути призначений для виділення віртуальної й фізичної пам'яті;

- визначити послідовні адреси блоків пам'яті, що виділяються, і зробити висновок про доцільність виділення пам'яті маленькими порціями;

- перевірити заповнюваність пам'яті при виділенні віртуальної, фізичної пам'яті;

- перевірити можливість доступу до пам'яті, за межами виділеної області.

 

Зміст звіту

-    повний опис функцій для роботи з пам'яттю, що були використані у лабораторній роботі;

-    текст програми з виведенням повної інформації про пам'ять до і після виділення пам'яті різних типів;

-    пояснення отриманих результатів;

-    висновки.

 

Контрольні питання й завдання

1. Дайте визначення різних типів пам'яті.

2. Поясните дії, необхідні для виділення пам'яті з погляду програміста і операційної системи.

3. Яка інформація про пам'ять може бути отримана і де використовується ця інформація?

5. Які атрибути можуть бути задані для сторінок?

6. Чим визначається максимальний розмір фізичної пам'яті, що може бути виділений однією операцією виділення?

7. Яким образом пам'ять звільняється?

8. Що буде, якщо:

- програміст забув звільнити пам'ять?

- у зв'язку з аварійним завершенням програми вона не дійшла до коду звільнення?

9. Що буде, якщо не передбачена перевірка благополучності виділення пам'яті і використовується фактично невиділена пам'ять?

10. Що буде, якщо використовується більший обсяг пам'яті, чим виділено?

 

СИНХРОНІЗАЦІЯ ПРОЦЕСІВ І ПОТОКІВ

Мета роботи

Вивчити об'єкти операційної системи для синхронізації процесів і методику їхнього використання

 

Методичні вказівки з організації самостійної роботи студентів

При підготовці до лабораторної роботи необхідно повторити матеріал відповідних лекцій та ознайомитися з [1, c. 160 – 186, 3, c. 187 – 245, c. 203 - 257].

Вивчить особливості створення й завершення процесів, їх призначення, процеси-нащадки і властивості, що отримуються у спадок від процеса-батька (конспект лекцій, файл WІN32.HLP);

Вивчить потоки, способи їх створення і завершення (конспект лекцій, файл WIN32.HLP);

Вивчить розподіл часу між потоками і можливості програміста по керуванню цим розподілом. Пріоритетне обслуговування потоків (конспект лекцій, файл WIN32.HLP);

Вивчити способи синхронізації потоків (конспект лекцій, файл WIN32.HLP):

- без операційної системи (конспект лекцій, файл WIN32.HLP);

- за допомогою критичних секцій (конспект лекцій, файл WIN32.HLP);

Вивчити засоби синхронізації процесів (конспект лекцій, файл WIN32.HLP):

- м'ютекси;

- семафори;

- таймери, що очкуються.

 

Порядок виконання лабораторної роботи

Скласти програму, в якої необхідно:

- запустити довільний текстовий редактор;

- створити в цьому редакторі 2 файли;

- Завершити роботу редактора після створення файлів;

- створити 2 потоки;

- у кожному потоці впорядкувати файли, створені в редакторі;

- на початку сортування кожного файлу видати повідомлення про початок сортування;

- наприкінці сортування кожного файлу видати повідомлення про кінець сортування;

- після упорядкування обох файлів знищити потоки;

- перевірити створені файли.

 

Зміст звіту

1.  Тексти програм з усіма способами синхронізації потоків і процесів;

2.  По кожному способі синхронізації достоїнства й недоліки в порівнянні з іншими способами;

3.  Висновки й рекомендації з використання способів синхронізації при рішенні конкретних завдань.

 

Контрольні питання й завдання

1. У чому різниця між процесами й потоками?

2. Навіщо необхідно синхронізувати потоки?

3. Які способи синхронізації потоків ви знаєте?

4. Покажіть на прикладі своєї програми, що буде, якщо не використати синхронізацію.

5. Навіщо необхідно синхронізувати процеси?

6. Які способи синхронізації процесів ви знаєте?

7. Покажіть на прикладі своєї програми, що буде, якщо не використати синхронізацію.

8. У чому особливість синхронізації за допомогою подій? приведіть приклади.

 

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

 

1 Бондаренко М.Ф., Качко О.Г. Операційні системи: навч. посібник. – Х.: Компанія СМІТ, 2008. – 432 с.

2 Качко Е.Г. Программирование на ассемблере. Учебное пособие по курсу «Системное программирование и операционные системы» - Харьков: ХНУРЭ, 2002 – 172 с.

3 Конспект лекцій «Програмування мовою С++» по курсу / Упоряд. О.Г. Качко – Харків: ХТУРЕ, 1999 – 148 с.

4 Рихтер Дж. Windows для профессионалов: создание эффективных Win 32 приложений с учетом специфики 64-разрядной версии Windows – СПб: Питер; М.: Издательско- торговый дом «Русская редакция», 2001. – 752 с.

5 Рихтер Дж., Кларк Дж. Программирование серверных приложений для Windows 2000 – СПб: Питер; М.: Издательско- торговый дом «Русская редакция», 2004. – 592 с.

6 Операционные системы: Деревянко А.С., Солощук М.Н. Учебное пособие. – Харьков: НТУ «ХПИ», 2003. – 574 с.  

7 Вербицький О.В. Вступ до криптології, ВНТА, Львів, 1998. -248 с.










Последнее изменение этой страницы: 2018-05-29; просмотров: 226.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...