Разработка приложения с несколькими обрабатывающими файл потоками, использующими взаимоисключение на основе критической секции без блокировки частей файла - Лабораторная работа

бесплатно 0
4.5 291
Разработка приложения с помощью среды Microsoft Visual Studio 2010 Express. Интерфейс приложения. Разработка конечного программного продукта, демонстрирующего работу многопоточного приложения, использующего взаимоисключение на основе критической секции.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Второй рабочий поток упорядочивает записи по второму полю (интенсивность зеленого цвета) в порядке возрастания при равенстве у записей первых полей. Третий рабочий поток упорядочивает записи по третьему полю (интенсивность синего цвета) в порядке возрастания при равенстве у записей первых полей и вторых полей. HTHREAD1 = CREATETHREAD (NULL, 0,&Thread1, NULL, CREATE_SUSPENDED, NULL); HTHREAD2 = CREATETHREAD (NULL, 0,&Thread2, NULL, CREATE_SUSPENDED, NULL); HTHREAD3 = CREATETHREAD (NULL, 0,&Thread3, NULL, CREATE_SUSPENDED, NULL);Процесс (задача) - программа, находящаяся в режиме выполнения. В многозадачной системе реальный процессор переключается с процесса на процесс, но для упрощения модели рассматривается набор процессов, идущих параллельно (псевдопараллельно). Каждому процессу соответствует адресное пространство и одиночный поток исполняемых команд. Это менее выгодно, чем создать квазипараллельный поток внутри этого процесса с одним адресным пространством. Пример: текстовый редактор с тремя потоками может одновременно взаимодействовать с пользователем, форматировать текст и записывать на диск резервную копию.

Вывод
Процесс (задача) - программа, находящаяся в режиме выполнения. В многозадачной системе реальный процессор переключается с процесса на процесс, но для упрощения модели рассматривается набор процессов, идущих параллельно (псевдопараллельно). Каждому процессу соответствует адресное пространство и одиночный поток исполняемых команд. В многопользовательских системах, при каждом обращении к одному и тому же сервису, приходится создавать новый процесс для обслуживания клиента. Это менее выгодно, чем создать квазипараллельный поток внутри этого процесса с одним адресным пространством. Преимущества использования потоков: · Упрощение программы в некоторых случаях, за счет использования общего адресного пространства.

· Быстрота создания потока, по сравнению с процессом, примерно в 100 раз.

· Повышение производительности самой программы, т.к. есть возможность одновременно выполнять вычисления на процессоре и операцию ввода / вывода. Пример: текстовый редактор с тремя потоками может одновременно взаимодействовать с пользователем, форматировать текст и записывать на диск резервную копию.

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

Также я познакомился и научился применять функции WINAPI для работы с файлами. Это также позволило увеличить быстродействие и упростить программный продукт, так как доступ к файлам осуществлялся напрямую через Windows.

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

Список литературы
1. А.В. Гордеев. Операционные системы: Учебник для вузов. 2-е изд. - СПБ.: Питер, 2007. - 416 с.: ил.

2. С.В. Назаров. Операционные среды, системы и оболочки. Основы структурной и функциональной организации: Учеб.пособие. - М.: КУДИЦ-ПРЕСС, 2007. - 504 с., илл.

3. С.В. Назаров, Л.П. Гудыно, А.А. Кириченко. Операционные системы. Практикум. Под ред. С.В. Назарова - М.: КУДИЦ-ПРЕСС, 2008. - 464 с., илл.

4. В.Г. Олифер, Н.А. Олифер. Сетевые операционные системы: Учебник для вузов. 2-е изд. - СПБ.: Питер, 2008. - 669 с.: ил.

5. Д.В. Иртегов. Введение в операционные системы. - 2-е изд., перераб. и доп. - СПБ.: БХВ-Петербург, 2008. - 1040 с.: ил. - (Учебное пособие)

6. Х.М. Дейтел, П.Дж. Дейтел, Д.Р. Чофнес. Операционные системы. Основы и принципы: Третье издание. Пер. с англ. - М.: ООО «Бином-Пресс», 2006 г. - 1024 с.: ил.

7. Х.М. Дейтел, П.Дж. Дейтел, Д.Р. Чофнес. Операционные системы. Распределенные системы, сети, безопасность: Третье издание. Пер. с англ. - М.: ООО «Бином-Пресс», 2006 г. - 704 с.: ил.

8. Э. Таненбаум. Современные операционные системы. 2-е изд. - СПБ.: Питер, 2006. - 1038 с.: ил.

9. Д. Бэкон, Т. Харрис. Операционные системы. - СПБ.: Питер; Киев: Издательская группа BHV, 2004. - 800 с.: ил.

10. Джеффри Рихтер. Windows для профессионалов (программирование в Win32 API для WINDOWSNT 3.5 и Windows 95) /Пер. с англ. - М.: Издательский отдел «Русская редакция» ТОО «CHANNELTRADINGLTD.», 1995. - 720 с.: ил.

11. Джеффри Рихтер. Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной Windows /Пер. с англ. - 4-е изд. - Спб.: Питер; М.: Издательство «Русская редакция», 2008. - 722 с.: ил.

12. Ч. Петзолд. Программирование для Windows 95. Том 1: пер. с англ. - СПБ.: BHV - Санкт-Петербург, 1997. - 752 с., ил.

13. Ч. Петзолд. Программирование для Windows 95. Том 2: пер. с англ. - СПБ.: BHV - Санкт-Петербург, 1997. - 368 с., ил.

Размещено на

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?