“ Об’єкти ядра Windows.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Програмного забезпечення (ПЗ)

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи
Група:
ПІ-2

Частина тексту файла (без зображень, графіків і формул):

Міністерство Освіти І НАУКИ України Національний університет "Львівська політехніка" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 1 На тему: “ Об’єкти ядра Windows ” З дисципліни : " Операційн системи" Виконав: ст. гр. ПІ -2 Львів – 2008 Мета роботи: Ознайомитися із структурою ОС на прикладі Windows NT5 (ядро 5.X), навчитися працювати із абстрактними об’єктами ОС. Зокрема із HANDLE для створення програмного посилання на обєкт ОС. Теоретичні відомості Об'єкти ядра використовуються системою і призначені для користувача для управління безліччю самих різних ресурсів: процесами, потоками, файлами. Windows дозволяє створювати і оперувати з декількома типами таких об'єктів паралельно. Для виконання даної лабораторної роботи було використана функція: CreateFile Опис функції: HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); Індивідуальне завдання Написати програму переписування одного вмісту текстового файлу у інший, використовуючи HADLE для доступу до файлів. Файли повинні знаходитися у в корені системного диску (c:\). Код програми Назва файлу: Lab01.cpp // Lab01.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "windows.h" #include "iostream" using namespace std; const int BUFFSIZE = 1024; int _tmain(int argc, _TCHAR* argv[]) { DWORD nIn, nOut; HANDLE hIn = CreateFile( _T("c:\\begin.log"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); HANDLE hOut = CreateFile( _T("c:\\end.log"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); char buff[BUFFSIZE]; while( ReadFile( hIn, buff, BUFFSIZE, &nIn, NULL ) && nIn > 0 ) { cout << buff; WriteFile( hOut, buff, nIn, &nOut, NULL ); if( nIn != nOut ) { cerr << "Fatal write error: " << GetLastError()<< std::endl; exit(1); } } CloseHandle( hIn ); CloseHandle( hOut ); return 0; } Результат виконання Результатом виконання є перенесення вмісту одного файлу у інший. Також під час виконання весь вміст файлу виводиться на екран. Дана програма не враховує спец – символів, тому дана програма нестабільно буде працювати із бінарними файлами. На рис. 2. представлено результати виконання програми.  Рис. 2. Результат виконання програми Висновок На лабораторній роботі було розглянуто та досліджено об’єкти ядра ОС, ознайомились із підходами програмування на рівні ядра і порівняли із стандартним бібліотечним підходом написання програм. Порівняли переваги і недоліки використання об’єктів ядра і використання вбудованих бібліотек. Також було виконано індивідуальне завдання, використання один із об’єктів ядра, зокрема об’єкт File для закріплення практичною роботою здобутих знань.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!