Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABAS__OS_final_after2Kachko.DOC
Скачиваний:
9
Добавлен:
24.11.2019
Размер:
360.96 Кб
Скачать

64

MIHICTEPCTBO ОСВІТИ I НАУКИ УКРАЇНИ

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ

МЕТОДИЧНІ ВКАЗІВКИ

до лабораторних робіт з дисципліни

«ОПЕРАЦІЙНІ СИСТЕМИ»

Харків 2010

Методичні вказівки до лабораторних робіт з дисципліни «Операційні системи» для студентів напрямку 6.050103 – Програмна інженерія / Упоряд.: О. Г. Качко, Р. В. Мельнікова. – Харків: ХНУРЕ, 2010. – 63 с.

Упорядники: О. Г. Качко

Р. В. Мельнікова

Рецензент: доц. кафедри СТ Писклакова В.П..

ВСТУП 7

1 РОЗРОБКА УНІВЕРСАЛЬНИХ ДОДАТКІВ ДЛЯ РІЗНИХ ТИПІВ КОДУВАНЬ СИМВОЛЬНОЇ ІНФОРМАЦІЇ 9

1.1 Мета роботи 9

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

1.2.1 Типи даних char і wchar_t. Універсальне завдання типу 9

1.2.2 Функції для роботи з рядками для ANSI і UNICODE кодувань 10

1.2.3 Файл tchar.h. Пошук імен для універсальних функцій 11

1.2.4 Визначення типу тексту і перетворення типу кодування тексту 11

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

1.4 Зміст звіту 14

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

2 СТВОРЕННЯ ТА ВИКОРИСТАННЯ БІБЛІОТЕК 15

2.1 Мета роботи 15

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

2.2.1 Загальна характеристика статичних бібліотек 15

2.2.2 Загальна характеристика динамічних бібліотек 16

2.2.3 Створення статичних бібліотек 17

2.2.4 Створення DLL 19

2.2.5 Використання DLL 20

2.2.6 Алгоритм шифрування RSA 22

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

2.4 Зміст звіту 23

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

3 КЕРУВАННЯ ЗОВНІШНІМИ ПРИСТРОЯМИ. СТАНДАРТНІ ПРИСТРОЇ 24

3.1 Мета роботи 24

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

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

3.4 Зміст звіту 27

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

4 КЕРУВАННЯ ЗОВНІШНІМИ ПРИСТРОЯМИ. НЕСТАНДАРТНІ ПРИСТРОЇ 28

4.1 Мета роботи 28

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

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

4.4 Зміст звіту 29

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

5 КЕРУВАННЯ ЗОВНІШНІМИ ПРИСТРОЯМИ. РОБОТА З ПРИСТРОЯМИ 30

5.1 Мета роботи 30

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

5.2.1 Функції для визначення наявних пристроїв 30

5.2.2 Інформація про файлову систему пристрою 31

5.2.3 Визначення вільного місця на пристрої 32

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

5.4 Зміст звіту 33

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

6 ПЛАНУВАННЯ ПРОЦЕСІВ 34

6.1 Мета роботи 34

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

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

6.4 Зміст звіту 35

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

7 КЕРУВАННЯ ПРОЦЕСАМИ 35

7.1 Мета роботи 35

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

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

7.4 Зміст звіту 38

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

8 КЕРУВАННЯ ПОТОКАМИ 39

8.1 Мета роботи 39

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

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

8.4 Зміст звіту 41

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

9 КЕРУВАННЯ РОЗПОДІЛОМ ПАМ'ЯТІ (WІNAPІ) 41

9.1 Мета роботи 41

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

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

9.4 Зміст звіту 50

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

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

10.1 Мета роботи 51

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

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

10.4 Зміст звіту 53

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

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

ДОДАТОК А Стандартні функції для введення – виведення даних для стандартних пристроїв. Функції для роботи з файлами. 55

ВСТУП

Мета методичних вказівок – оказати допомогу студентам при підготовці, виконанні та оформленні результатів виконання лабораторних робіт по дисципліні, основним призначенням якої є вивчення принципів побудови сучасних операційних систем та найбільш ефективного використання їх функцій при розробці програм та їх застосуванню.

Лабораторні роботи по дисципліні вчать практичному використанню теоретичних положень, які вивчені на лекціях, закріплюють та розширяють практичні навики, що були отримані на практичних заняттях по курсу.

Кожна лабораторна робота потребує попередньої підготовки, а саме:

  • вивчення теоретичного матеріалу;

  • розробки алгоритмів вирішення задач, які треба виконати під час лабораторної роботи;

  • розробка тестів для перевірки програм.

Усі лабораторні роботи виконуються з застосуванням ЕОМ. При цьому необхідно:

  • виконувати правила техніки безпеки при роботі з ЕОМ;

  • виконувати правила поведінки в лабораторії ЕОМ;

  • приходити на заняття строго за розкладом;

  • не допускається зміна прав доступу до системних ресурсів.

До роботи допускаються тільки підготовлені студенти, які склали та захистили програми. При допуску викладач перевіряє наявність цих програм та ступень самостійності їх складання. Студент самостійно виправляють помилки в програмі. Сама помилка та дії, що необхідні для її виправлення, заносяться в звіт по лабораторній роботі. Найбільш характерні помилки обговорюються з групою в ході виконання лабораторних робіт.

Якщо ЕОМ не вистачає для кожного студента, то лабораторну роботу виконує бригада. Звіт оформлюється один на бригаду, але кожний студент здає лабораторну роботу індивідуально.

Звіт повинен включати в себе:

  • назву лабораторної роботи;

  • мету лабораторної роботи;

  • завдання і тексти програм, тести, помилки, які знайдені при виконанні тестів, результати виконання програм, висновки.

В якості шаблону для підготовки звіту можна використовувати цю методичку в електронному вигляді , на титульному листі якої треба написати ПІБ авторів звіту.

Без наявності електронної копії звіту для поточної лабораторної роботі і всіх попередніх робіт лабораторна робота не приймається. Здача поточної лабораторної роботи може бути виконана в день виконання лабораторної роботи або під час наступної лабораторної роботи. Лабораторна робота, яка здається невчасно, не може бути оцінена високою оцінкою. При отриманні заліку по лабораторним роботам в кінці семестру студент повинен представити викладачу повний звіт по усім лабораторним роботам семестру в електронному вигляді. Всі лабораторні роботи здаються на ЕОМ.

1Розробка універсальних додатків для різних типів кодувань символьної інформації

1.1Мета роботи

ANSI кодування використовує один байт для завдання одного символу. Цього зовсім не достатньо для завдання текстів, в яких є речення на різних мовах. UNICODE кодування застосовує два байта при кодуванні одного символу. При такому кодуванні максимальна кількість кодів символів 65536 в порівнянні з 256 для ANSI кодування, що забезпечує можливість використання усіх наявних на сьогодні мов. Сьогодні більшість текстових файлів мають ANSI кодування. Кодування імен файлів залежить від наявної файлової системи, в електронних листах можна використовувати обидва типа кодування. таким чином, обидва способи кодування використовуються. Метою даної лабораторної роботи є навчитися опрацьовувати тексти для обох типів кодування, при чому сама програма не повинна залежати від обраного способу.

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

При підготовці до лабораторної роботи необхідно повторити матеріал відповідних лекцій та ознайомитися з [3, с. 11-27].

1.2.1Типи даних char і wchar_t. Універсальне завдання типу

При ANSI-кодуванні використовується тип даних char. Даному типа char виділяється один байт. Приклади використання цього типу:

char symbol = ‘x’;

char array [] = “This is array”;

При UNICODE-кодуванні використовується тип даних wchar_t. Даному типа wchar_t виділяється два байти. Приклади використання цього типу:

wchar_t symbol = L‘x’;

wchar_t array [] = L“This is array”;

Для створення універсального тексту програми, який можна використовувати для обох типів кодування можна використовувати макроси.

Приклад макросу для універсальної об’яви типу даних і їх ініціалізації:

#ifdef UNICODE

typedef wchar_t TCHAR ;

#define TEXT(a) L##a

#else

typedef char TCHAR ;

#define TEXT(a) a

#endif

В цьому макросі визначено універсальний тип TCHAR, значення якого залежить від того, визначена змінна UNICODE чи ні. За допомогою макроса TEXT до визначення літералу додається буква L або ні.

Розгляньте цей макрос! Він повинен бути зрозумілим!

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

TCHAR symbol = TEXT(‘x’);

TCHAR array [] = TEXT(“This is array”);

Цей код відповідає ANSI кодуванню, якщо не визначено змінної UNICODE, і UNICODE, якщо визначена ця змінна.

1.2.2Функції для роботи з рядками для ansi і unicode кодувань

Функції для роботи з рядками для ANSI кодування визначено в файлі заголовків string.h. Більшість функцій починається з префіксу str, наприклад, strcpy, strcat, strlen,… .

Функції для роботи з рядками для UNICODE кодування визначено в тому ж файлі заголовків string.h. Більшість функцій починається з префіксу wcs, наприклад, wcscpy, wcscat, wcslen,… .

Визначимо універсальну функцію, наприклад, для знаходження довжини рядка (в символах):

#ifdef UNICODE

#define _tcslen wcslen

#else

#define _tcslen strlen

#endif

Аналогічно можно визначити усі функції для роботи з рядками.

1.2.3Файл tchar.H. Пошук імен для універсальних функцій

Усі ці типи і функції вже визначені в файлі tchar.h. Підключить цей файл та розгляньте його.

Для того, щоб знайти ім’я універсальної функції необхідно відкрити файл tchar.h, та знайти в ньому визначення функції для ANSI кодування. Це визначення має такий же формат, який ми використовували для визначення функції strlen. Отримайте універсальне ім’я функції. Визначить ім’я головної функції консольного додатку (яке відповідає функції main).

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