Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсовая docx525 / Kursovaya_rabota_Final.docx
Скачиваний:
12
Добавлен:
07.08.2013
Размер:
101.21 Кб
Скачать

Московский государственный университет путей сообщения (МИИТ)

Кафедра “Автоматизированные системы управления”

Курсовая работа по дисциплине

«Операционные системы»

ОРГАНИЗАЦИЯ МНОГОПОТОЧНЫХ ПРИЛОЖЕНИЙ

В ОС WINDOWS

Вариант № 5.

Выполнил студент группы УИС-311: Конышев В.В. Проверил: Варфоломеев В.А.

МОСКВА 2012

Оглавление

1) Рабочее задание 3

2) Блок-схемы алгоритмов программ 4

3) Исходный текст программ 5

4) Результаты работы программ виде таблиц и графиков 10

5) Вывод 13

6) Список используемой литературы и прототипов программ 14

РАБОЧЕЕ ЗАДАНИЕ

  1. Разработать три консольные программы, выполняющие обработку заданного множества текстовых файлов по указанному алгоритму (табл.1):

A – однопоточная программа с последовательной (циклической) обработкой файлов;

B – многопоточная программа с параллельной обработкой файлов;

C – многопоточная программа с повышенным приоритетом потоков.

Обработку файла представить в виде отдельной функции.

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

Варианты заданий:

Выполняемые действия

5.

Перевести все буквенные символы текста в верхний регистр

  1. Программы должны обрабатывать до 10 файлов одновременно. Файлы подготавливаются заранее и должны содержать текст в формате ASCII, соответствующий требованиям задания. Размер файлов должен быть подобран таким образом, чтобы длительность обработки каждого из них составляла не менее 0,2 с. Имена файлов задаются через параметры командной строки. Предусмотреть контроль вводимых имен – не должны приниматься в обработку одноименные и несуществующие файлы.

  2. Вывод результатов обработки (подсчитанное количество символов и т.п.) производить в исходные или вновь создаваемые файлы. Допускается одновременно выводить информацию и на экран (но только из главного потока!)

  3. В многопоточной программе (варианты B и C) для ожидания завершения дочерних потоков воспользоваться функцией WaitForMultipleObjects. Для увеличения приоритетов создаваемых потоков (вариант C) следует воспользоваться функцией SetThreadPriority, выбрав относительный приоритет таким образом, чтобы обеспечить заметное снижение времени выполнения программы. Для контроля приоритетов потоков воспользоваться утилитами pview или pview95.

  4. Провести эксперимент с регистрацией времени выполнения обработки файлов для каждого варианта программы (A, B, C) при двух различных способах размещения файлов:

H – на жестком диске;

F – на гибком диске или flash-устройстве.

Для каждого режима проведения эксперимента (всего шесть режимов, условно обозначаемые AH, BH, CH, AF, BF, CF), варьируя значение N (количество обрабатываемых файлов), произвести не менее 5 опытов (запусков программ). Используемые файлы по содержанию должны оставаться неизменными для всех режимов! Время фиксируется в миллисекундах. Позаботьтесь о том, чтобы при проведении эксперимента данные файлов реально считывались с указанного диска, а не из буфера ввода-вывода или из дискового КЭШа.

Блок-схема программы А:

Блок-схема программы В:

Соседние файлы в папке курсовая docx525