Главная
страница 1
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Утверждаю

Декан факультета информатики

С.П. Сущенко

« » 2010 г.

СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ В СРЕДЕ WINDOWS

РАБОЧАЯ ПРОГРАММА


Специальность 351500 – МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ И АДМИНИСТРИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ

Статус дисциплины:

федеральный компонент специальности

Томск - 2010 г.



ОДОБРЕНО кафедрой программной инженерии
Протокол №19 от 01.12.2010.
Зав. кафедрой, профессор _________________О.А.Змеев

РЕКОМЕНДОВАНО методической комиссией факультета информатики

Председатель комиссии, профессор _____________________ Б.А.Гладких


“___”_____________2010 г.

Рабочая программа по курсу “Системное программирование в среде Windows” составлена на основе требований Государственного образовательного стандарта высшего профессионального образования по специальности 351500 – МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ И АДМИНИСТРИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ, утвержденного 10 марта 2000 г. Общий объем курса 136 часов. Из них: лекции – 34 часа, лабораторные занятия – 34 часа, самостоятельная работа студентов – 68 часов. Экзамен в третьем, четвертом семестре. Общая трудоемкость курса 4.8 зач. ед.



СОСТАВИТЕЛЬ:

Миронов Евгений Леонидович – старший преподаватель кафедры прикладной информатики

Цели и задачи дисциплины, ее место в учебном процессе

1.1. Цель преподавания дисциплины

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




1.2. Задачи изучения дисциплины

Студент должен знать средства системного программирования в среде Windows (интерфейс API), уметь их применять при разработке системных программ.


1.3. Перечень дисциплин, усвоение которых необходимо для изучения курса

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



2. Содержание дисциплины
2.1. Теоретическая часть
1. Процессы
1. Объекты ядра
2. Win32-приложение
3. Функция CreateProcess
4. Завершение процесса
5. Порожденные процессы
2. Потоки
1. Когда нужны потоки?
2. Проблемы, связанные с потоками
3. Механизм выполнения потока
4. Функция CreateThread
5. Завершение потока
6. Дескрипторы и псевдодескрипторы
7. Распределение времени между потоками
8. Потоки в Delphi
3. Архитектура памяти
1. Виртуальное адресное пространство
2. Регионы в адресном пространстве процесса
3. Передача физической памяти региону
4. Физическая память
5. Атрибуты защиты
6. Функции состояния адресного пространства процесса
4. Использование виртуальной памяти
1. Резервирование региона в адресном пространстве процесса
2. Передача памяти зарезервированному региону
3. Возврат физической памяти и освобождение региона
4. Изменение атрибутов защиты
5. Блокировка физической памяти
6. Стек потока
5. Файлы, проецируемые в память
1. Проецирование в память EXE и DLL файлов
2. Этапы создания проекции файла
3. Когерентность проецируемых файлов
4. Совместный доступ процессов к данным
5. Частичная передача памяти проецируемым файлам
6. Кучи
1. Куча по умолчанию
2. Дополнительные кучи
3. Создание кучи
4. Выделение блока памяти из кучи
5. Получение и изменение размера блока
6. Освобождение блока, уничтожение кучи
7. Синхронизация потоков
1. Механизм синхронизации
2. Критические разделы
3. Синхронизация потоков с объектами ядра
4. Объекты Mutex
5. Семафоры
6. События
7. Приостановка исполнения потока
8. Обработка сообщений
1. Очередь потока и обработка сообщений
2. Асинхронная обработка сообщений
3. Функции синхронной обработки сообщений
4. Состояния очереди потока
5. Алгоритм выборки сообщений из очереди
6. Пересылка данных посредством сообщений
7. Разупорядоченный ввод
8. Локальное состояние ввода
9. Библиотеки динамической компоновки
1. Создание DLL
2. Неявная динамическая компоновка
3. Явная динамическая компоновка
4. Функция входа/выхода
5. Экспорт и импорт
10. Работа с файлами
1. Файловые системы
2. Общесистемные операции и работа с томами
3. Работа с каталогами
4. Копирование, перемещение, удаление и переименование файлов
5. Создание, открытие и закрытие файлов
6. Синхронный режим чтения и записи файлов
7. Асинхронный режим чтения и записи файлов
8. Атрибуты файлов
9. Поиск файлов
10. Уведомления об изменениях в файловой системе

2.2. Практические и семинарские занятия не предусмотрены.

2.3. Лабораторные работы
1. Просмотр и настройка информации о процессе.
Создать приложение, позволяющее:
Получить имя процесса
Получить командную строку процесса.
Показать переменные окружения процесса, а также иметь возможность изменения значений отдельных переменных, создавать новые и удалять старые.
Получать текущий каталог процесса и изменять его.
Определять все параметры версии системы.
2. Создание процесса. Создать приложение, позволяющее настроить параметры нового процесса и создать его. Среди параметров должны быть:
Имя исполняемого файла.
Передаваемая в процесс командная строка.
Текущий каталог.
Переменные окружения.
3. Создание потока. Создать приложение, в котором в отдельный поток вынести выполнение какого-нибудь длительного вычисления, отражающего свое текущее состояние на компоненте на форме, например, на метке.
4. Определение состояния памяти. Написать приложение, отражающее состояние памяти, используя функции API GetSystemInfo, GlobalMemoryStatus. Кроме этого, приложение должно отражать состояние любого участка памяти по заданному адресу, полученного функцией VirtualQuery.
5. Работа с виртуальной памятью. Создать приложение, демонстрирующее резервирование региона виртуальной памяти, а также передачу и освобождение физической памяти для этого региона.
6. Реверсирование текстового файла. Написать приложение, располагающее в обратном порядке содержимое копии текстового файла.
7. Разделение данных между процессами. Создать приложение, позволяющее использовать общую память своим копиям при помощи механизма проецирования.
8. Синхронизация потоков. Создать приложение использующее для синхронизации потоков критические разделы или любые объекты ядра.
9. Посылка данных через сообщения. Создать приложение, копии которого могут обмениваться данными при помощи сообщения WM_COPYDATA.

2.4. Курсовой проект

Курсовой проект не предусмотрен.




3. Учебно-методические материалы по дисциплине
3.1. Основная литература
1. Win32 Software Development Kit. © 1985-1996 Microsoft Corporation.
2. Джеффри Рихтер. Windows для профессионалов (программирование в Win32 API для Windows NT 3.5 и Windows 95)/Пер. с англ.-М.: Издательский отдел “Русская редакция” ТОО “Channel Trading Ltd.”, 1995.-720с.: ил.

3.2. Дополнительная литература не требуется.

3.3. Наглядных пособий и технических средств обучения при чтении данного курса не предусмотрено.


Смотрите также:
Рабочая программа специальность 351500 математическое обеспечение и администрирование информационных систем статус дисциплины
71.58kb.
1 стр.
Рабочая программа специальность 351500 математическое обеспечение и администрирование информационных систем статус дисциплины
114.7kb.
1 стр.
Рабочая программа по курсу "Системы искусственного интеллекта" Специальность: 351500. 65 «Математическое обеспечение и администрирование информационных систем»
269.66kb.
1 стр.
Администрирование информационных систем рабочая программа
89.54kb.
1 стр.
Математическое обеспечение и администрирование информационных систем” Cанкт-Петербург 2011 Направление 010500 «Математическое обеспечение и администрирование информационных систем»
41.68kb.
1 стр.
Основная образовательная программа бакалавриата, реализуемая вузом по направлению подготовки «Математическое обеспечение и администрирование информационных систем»
258.53kb.
1 стр.
Дипломная работа «Построение системы хранения и управления результатами научных исследований»
242.06kb.
1 стр.
Рабочая программа учебной дисциплины «Архитектура информационных систем»
123.04kb.
1 стр.
Программа дисциплины «Администрирование информационных систем»
201.28kb.
1 стр.
Рабочая программа наименование дисциплины : Администрирование корпоративных информационных систем
91.37kb.
1 стр.
Пофамильный перечень абитуриентов на 25 июля 2010 г. 010503. 65 Математическое обеспечение и администрирование информационных систем
889.52kb.
5 стр.
Рабочая учебная программа по дисциплине «Администрирование информационных систем»
168.97kb.
1 стр.