Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Асинхронный режим в Windows.




Windows позволяет осуществить асинхронный режим ввода/вывода с использованием функций ReadFile и WriteFile или ReadFileEX и WriteFileEX. Первые две функции обеспечивают обмен данными как в обычном (синхронном) режиме, так и в асинхронном режиме. Вторые две функции специально предназначены для работы в асинхронном режиме. Для использования функций ReadFile и WriteFile в асинхронном режиме необходимо при открытии (создании) файла подготовить (заполнить) специальную структуру данных и передать ее адрес этим функциям. В случае вызова этих функций в асинхронном режиме процесс обмена данными только инициируется, а управление немедленно возвращается вызвавшему их блоку. Одним из параметров, передаваемым этим функциям, является количество участвующих в обмене с устройством байт, т. е., фактически размер буфера для обмена с файлом. Операционная система автоматически создает отдельную задачу, обеспечивающую ввод/вывод, а вызвавшая эти функции задача продолжит свое выполнение, не дожидаясь завершения обмена. В случае необходимости ожидания завершения операции обмена, этой, или другой задачей, следует пользоваться соответствующими средствами синхронизации. В качестве этих средств могут быть задействованы или функция WaitForSingleObject или функция GetOverLappedResult, которая обычно используется для проверки результата выполнения асинхронной файловой операции.

Порядок выполнения лабораторной работы.

Часть I

2.1.1 Для выполнения первой части данной лабораторной работы необходимо изучить правила обращения к функциям, перечисленным в пункте 1, и структуры данных, связанные с этими функциями.

2.1.2 Подготовить заранее некоторый файл (например, текстовый), над которым будут выполняться действия в ходе выполнения лабораторной работы.

2.1.3. Подготовить и отформатировать дискету с указанием метки тома;

2.1.4. Разработать приложение, которое реализует следующие функции:

    • Получает полную информацию о выбранном файле. Файл выбирается из каталога с помощью стандартных диалоговых панелей;
    • Изменяет атрибуты выбранного файла;
    • Получает информацию о наличии дисковых устройств в системе;
    • Получает информацию о дискете (см. п. 2.1.3);
    • Изменяет метку тома на дискете (см. п. 2.1.3);

2.1.5. Изменяя с помощью разработанного приложения атрибуты выбранного файла, попытаться выполнить над ним различные действия стандартными средствами: текстовым редактором и т. п. Например: установить атрибут "только чтение" и попытаться его модифицировать. После каждого действия над файлом следить за изменением информации с помощью разработанного приложения.


Часть II

2.2.1. Для выполнения второй части лабораторной работы необходимо изучить правила обращения к функциям, перечисленным в пункте 2, и структуры данных, связанные с этими функциями.

2.2.2. Разработать приложение, которое реализует следующие функции:

    • Создает на сменном магнитном диске некоторый текстовый файл;
    • Заполняет его некоторыми (случайными) символами (не менее 1000 Кб) в обычном (синхронном) режиме;
    • После закрытия файла запускает какую - либо вычислительную процедуру (например, из лабораторной работы №1) с большим количеством циклов и отображением хода ее выполнения;
    • После его завершения выводит на терминал время, потребовавшееся для выполнения вышеперечисленных действий;
    • Уничтожает ранее созданный файл;
    • Вновь создает его, но для заполнения в асинхронном режиме;
    • Заполняет его некоторыми (случайными) символами (не менее 1000 Кб) в асинхронном режиме;
    • Не дожидаясь завершения обмена, запускает вышеуказанную вычислительную процедуру;
    • После окончания операции обмена выводит на терминал соответствующее сообщение и время, затраченное на эту операцию;
    • После окончания вычислительной процедуры выводит на терминал соответствующее сообщение и время, затраченное на ее выполнения;
    • После завершения всех действий выводит на терминал время, затраченное на их выполнение.

Перечисленные пункты необходимо выполнить, задавая различные размеры буфера обмена: 512, 1024, 2048 и 4096 байт.

Содержание отчета.

Отчет по лабораторной работе должен содержать описания изученных структур данных, листинг программы в части обращения к этим структурам и краткие выводы по проделанной работе, результаты замеров затраченного времени для различных размеров буферов и краткие выводы по проделанной работе.

 





Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 473 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

80% успеха - это появиться в нужном месте в нужное время. © Вуди Аллен
==> читать все изречения...

2241 - | 2105 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.