Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКДО_СистПрог_2016.doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

1. Цели и задачи дисциплины.

Целью дисциплины «Системное программирование» является изучение теоретических основ современного системного программирования с использованием интерфейса Win32 API, принципов синхронизации и диспетчеризации потоков и процессов, способов обмена данными между процессами, управления устройствами компьютера и файлами.

Основными задачами дисциплины «Системное программирование» являются:

  • формирование представлений об интерфейсах программирования API Win32, API Win64;

  • знакомство с основными принципами работы с файловой системы, обеспечения консольного ввода/вывода;

  • освоение методов управления памятью для отображения файлов в оперативной памяти с целью их последующей обработки;

  • введение в теорию управления процессами и потоками, выполнения синхронизации процессов для повышения эффективности их работы;

  • обеспечение структурной обработки исключений, возникающих при выполнении сложных вычислений;

  • изучение возможностей использования статических и динамических библиотек.

В результате изучения дисциплины «Системное программирование» студент должен знать:

  • принципы построения современных операционных систем и особенности их применения;

  • понятие программных модулей как разделяемых ресурсов в операционных системах и средах;

  • принципы разработки многопоточных программных модулей и системные примитивы синхронизации;

  • технологии разработки алгоритмов и программ, методов отладки и решения задач на ЭВМ в различных режимах, основы объектно-ориентированного подхода к программированию;

cтудент должен уметь:

  • использовать средства, предоставляемые интерфейсом прикладных программ (API) одной из современных ОС;

  • осуществлять проектирование и реализацию типовых разновидностей пользовательского интерфейса системных программных средств;

  • разрабатывать интерфейсы библиотек динамической компоновки;

cтудент должен владеть:

  • навыками работы с различными операционными системами и их администрирования;

  • методами и инструментальными средствами отладки и тестирования программ;

  • языком программирования С++;

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

Пререквизиты дисциплины: Программирование 1-3.

Постреквизиты дисциплины: дипломное проектирование.

2. Содержание дисциплины

2.1.Лекционный курс

№ темы

Наименование тем, лекций

Содержание тем

Объем в часах

Неделя семестра

Тема 1

Объектно-ориентированное программирование

Классы. Конструкторы. Деструкторы. Наследование. Шаблоны классов.

2

1-2

Тема 2

Операционные системы и их интерфейсы

Назначение операционной системы. Интерфейс программирования приложений Win32 API. Объекты и их дескрипторы в Windows.

2

3-4

Тема 3

Управление потоками и процессами

Определение потока в Windows. Процессы в Windows. Динамическое изменение приоритетов потоков.

2

5-6

Тема 4

Синхронизация потоков и процессов

Программная и аппаратная реализация синхронизации. Критические секции. Объекты синхронизации и функции ожидания. Взаимоисключающий доступ к переменным. Тупики.

2

7-8

Тема 5

Обмен данными между параллельными процессами

Способы передачи данных между процессами. Работа с анонимными и именованными каналами в Windows.

2

9-10

Тема 6

Структурная обработка исключений

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

2

11-12

Тема 7

Работа с виртуальной памятью

Концепция виртуальной памяти. Алгоритмы замещения страниц. Рабочее множество процесса. Организация виртуальной памяти в Windows. Работа с кучей в Windows.

2

13-14

Тема 8

Динамически подключаемые библиотеки

Концепция динамически подключаемых библиотек. Создание DLL. Динамическая загрузка и отключение DLL. . Использование файла определений. Локальная память потока.

1

15

Всего:

15