Разработка приложения для Windows, демонстрирующего работу механизмов синхронизации

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Порядок выполнения л/р.

1) Изучить:

-  Глава 9. Харт, Джонсон. Системное программирование в среде Win32. - М.: "Вильямс", 2001. - 464 с.

Ознакомиться:

- Часть 2. Рихтер Дж. Программирование на платформе Microsoft .NET Framework. - М.: Русская редакция, 2002. - 512 с.

Справочная информация:

-  Synchronization (MSDN: «Windows Development» - «Windows Base Services» - «DLLs, Processes, and Threads» - «Synchronization»)

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/dllproc/base/synchronization.htm

-  http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

2) Выполнить письменно ответы на подготовительные вопросы

3) Получить и выполнить индивидуальное задание. Задание включает:

Часть 1. Синхронизация.

Разработать приложение для Windows демонстрирующее работу механизмов синхронизации. Организовать внутри процесса (основной поток) бесконечный поток (вычислительный), время выполнение которого регулируется кнопкой “Sync”.

Пример использования для критической секции:

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

-  повторное нажатие «Sync» приводит в «выходу» из критической секции основного потока, тем самым продолжив вычисления.

* визуальное отображение выполнения операций в вычислительном потоке отразить с помощью ProgressBar’a.

-  Определить среднее время t1 и t2.

Методы синхронизации выбираются в соответствии с порядковым номером в списке.

1 + n*5, n=0,1,2…

Событие

2 + n*5, n=0,1,2…

Семафор

3 + n*5, n=0,1,2…

Мьютекс

4 + n*5, n=0,1,2…

Критическая секция

5 + n*5, n=0,1,2…

Таймер

Часть 2. Изучение кода.

-  Установить Platform SDK (PSDK)

-  Регистрация PSDK  в системе

-  Откомпилировать программу ProcessInfo (Рихтер, Глава 4)

-  Изучить работу программы ProcessInfo.

В отчете отразить основные понятия, используемые автором при написание приложения.

4) Защита.

Примечание:

·  Лабораторная работа выполняется индивидуально

·  Срок выполнения 2 недели

·  Защита группой 2-4 человек


Вопросы (письменно):

  1. Реализация входных функций для Windows (4 варианта main + 4 варианта для C#)

Изучение программ (устно):

1. Описать работу программы (Часть 2).

Для защиты (устно):

  1. Указатель на экземпляр программы.
  2. Где задаются переменные среды окружения (в Windows 2000,  в Windows 98)?
  3. Функции WinAPI для работы с переменными среды окружения.
  4. Функции определения и изменения текущего расположения процесса.
  5. Проблема использования функций ExitProcess и ExitThread (утечка памяти).
  6. Перечисление процессов, выполняемых в системе.

Похожие материалы

Информация о работе

Тип:
Задания на лабораторные работы
Размер файла:
2 Mb
Скачали:
0

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.