Параллельная обработка односвязных кольцевых списков в памяти ОС Windows

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Министерство образования и науки Украины

Харьковский национальный университет им. В.Н. Каразина

Факультет компьютерных наук

Кафедра искусственного интеллекта и программного обеспечения

 

 

 

 

 

Курсовой проект по дисциплине

Системное программирование и операционные системы

Тема:

Параллельная обработка односвязных кольцевых списков в памяти ОС Windows

 

 

 

 

 

Исполнитель: студентка гр. КС-31

Е.В. Кунина

Руководитель: ст. преподаватель

О.М. Горбань

 

 

 

 

 

Харьков 2012

 

СОДЕРЖАНИЕ

 

Введение

. Аналитический обзор

.1 Постановка задачи

.2 Общий обзор методов реализации задачи

. Выполнение проекта

.1 Функционал кольцевого списка

.2 Описание функций API для работы с пулом памяти в ОС Windows и их роль в проекте

.3 Средства создания потоков

.4 Порядок работы программы

2.5 Набор тестов для отладки программы и скриншоты результатов8

Выводы

Использованные источники информации

Приложение А. Задание на выполнение КП

Приложение Б. Листинг программы

 

ВВЕДЕНИЕ

 

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

Цели:

-ознакомиться с такими понятиями, как куча (пул памяти), связный список, синхронизация потоков;

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

Задачи:

-найти необходимую справочную информацию об особенностях организации связных списков и использования функций API для работы с пулом памяти в ОС Windows;

-реализовать программно структуру списка и его функциональность;

дополнить программу 5-ью потоками: первый инициализирует список и удаляет кучу после ее использования, второй и третий добавляет элементы в список и удаляет их соответственно, четвертый изменяет существующие элементы, пятый выводит содержимое списка на экран;

обеспечить исключение возможности перекрытия разных потоков друг другом;

разработать ряд тестов для проверки корректности работы программы.

, является структурная гибкость: порядок элементов связного списка может не совпадать с порядком расположения элементов данных в памяти компьютера, а порядок обхода списка всегда явно задаётся его внутренними связями. А вот удалять элементы из списка куда труднее, чем из массива, так как удаление напрямую будет связано с поиском, нельзя удалить элемент напрямую по индексу. Это ?/p>