Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Методические рекомендации по выполнению лабораторных работ.doc
Скачиваний:
243
Добавлен:
11.04.2015
Размер:
1.17 Mб
Скачать

Контрольные вопросы

  1. Что такое драйвер устройства ввода/вывода? Каковы его функции?

  2. Что такое номер вектора запроса на прерывание (IRQ)?

  3. Что такое канал прямого доступа к памяти (DMA)? Что такое диапазоны адресов памяти, используемые устройствами ввода/вывода?

  4. Что такое адреса портов ввода/вывода (IO)?

  5. Почему для порта принтера используется канал DMA и не используется прерывание, а для последовательного порта используется прерывание и есть возможность установки скорости работы порта?

  6. Почему несколько устройств используют один и тот же номер IRQ. Как операционная система их различает? Как меняется уровень приоритета по шинам IRQ?

  7. Какие устройства используют DMA? В какие области памяти производится ввод-вывод? Почему?

  8. Что такое фрагментация файлов и почему она снижает производительность вычислительной системы? Какие утилиты позволяют выполнить дефрагментацию файлов? Каковы особенности их использования?

  9. Что такое дисковые квоты? Какие режимы их установки существуют?

  10. Какие разрешения доступа к файлам и папкам могут быть определены для пользователей и групп пользователей?

  11. Что такое владелец файла?

  12. Что такое монтирование в файловых системах? Какие утилиты позволяют его выполнить в Windows?

  13. Какие средства в Windows XP предоставляет файловая система для обеспечения конфиденциальности информации?

  14. Дайте характеристику возможностей утилиты EVEREST по исследованию конфигурации вычислительной системы?

  15. Дайте характеристику возможностей утилиты CPU-Z по исследованию конфигурации вычислительной системы.

Лабораторная работа № 7. Управление файловой системой вWindowsприложениях вWin32api Цель работы

  1. Изучение основных функций Win32 API по реализации файлового ввода/вывода.

  2. Изучение основных функций Win32 API по управлению каталогами.

  3. Изучение основных функций Win32 API по управлению дисками.

  4. Овладение навыками использования функций Win32 API по управлению файловой системой при разработке Windows приложений.

Краткие теоретические сведения

Операционные системы, построенные на основе Win32, предоставляют широкий набор функций по управлению файловыми объектами и дисками. Чтобы выполнить какую-либо операцию над файловым объектом, его вначале необходимо создать (если он отсутствует) либо открыть (если он уже имеется). Будет создан дескриптор этого файлового объекта, который необходимо передавать во все функции Win32 API для выполнения операций над этим файловым объектом. После выполнения всех необходимых операций файловый объект необходимо закрыть.

Основные функции для файлового ввода/вывода:

  • CreateFile – создать или открыть файл, вернуть дескриптор файла;

  • DeleteFile – удалить существующий файл;

  • CloseHandle – закрыть файл;

  • ReadFile – прочитать данные из файла;

  • WriteFile – записать данные в файл;

  • SetFilePointer – установить указатель файла в определенную позицию;

  • GetFileSize – определить размер файла;

  • SetEndOfFile – изменить размер файла по текущему значению указателя;

  • GetFileAttributes – вернуть атрибуты файла;

  • SetFileAttributes – установить атрибуты файла;

  • CopyFile – копировать файл;

  • MoveFile – перемещение или переименование файла;

  • LockFile – заблокировать область файла для взаимного исключения;

  • UnlockFile – отменить блокировку области файла;

  • SearchPath – найти путь к файлу.

Основные функции по управлению каталогами:

  • CreateDirectory – создать новый каталог;

  • RemoveDirectory – удалить пустой каталог;

  • FindFirstFile – инициализация, чтобы начать чтение каталога;

  • FindNextFile – прочитать следующую запись каталога;

  • SetCurrentDirectory – изменить текущий рабочий каталог;

  • GetCurrentDirectory – определение текущего рабочего каталога.

Основные функции по управлению дисками:

  • GetLogicalDrives – определить какие логические диски установлены в системе;

  • DoesDriveExists – определить, присвоена ли данная буква какому-либо логическому диску;

  • GetLogicalDriveStrings – выдать информацию о корневом каталоге каждого логического диска;

  • GetDriveType – определить тип диска;

  • GetVolumeInformation – выдать специфическую информацию о файловой системе;

  • SetVolumeLabel – изменить метку тома диска;

  • GetDiskFreeSpace – выдает статистику о дисковом пространстве на диске.