УО «Витебский государственный технологический университет»
|
УТВЕРЖДАЮ
|
|
Первый проректор УО «ВГТУ»
|
_____________________С.И. Малашенков
|
|
«_____»___________2013 г.
Рег.№ _УД-141а/2013____________
|
УЧЕБНАЯ ПРОГРАММА ПО дисциплине
«Системное программирование»
|
(наименование дисциплины)
специальности переподготовки:
_1-40 01 73 «Программное обеспечение информационных систем» (заочная форма) ____________________________________________________
(шифр, «название специальности»)
в соответствии с типовым учебным планом переподготовки, утвержденным
(дата утверждения, регистрационный номер)
и учебным планом переподготовки УО «ВГТУ»
10/з — 11 уч
8/з — 13 уч
Витебск, 2013 г Учебная программа разработана в соответствии с образовательным стандартом РБ: ОСРБ 1-40 01 73 - 2012 «Переподготовка руководящих работников и специалистов, имеющих высшее образование. Специальность 1-40 01 73 «Программное обеспечение информационных систем» Разработчик(и) программы:
Бизюк А. Н., ассистент кафедры «Информатика» | (Ф.И.О., должность, звание, подпись)
Заведующий кафедрой:
информатики
(наименование кафедры, рекомендовавшую учебную программу по дисциплине специальности переподготовки к утверждению)
Протокол заседания от 28.06.13 г._протокол_ № _9_
Казаков В.Е., к.т.н., доцент | (Ф.И.О., должность, звание, подпись)
Рекомендована к утверждению:
На заседании Совета ФПК и ПК
|
Протокол заседания от __27.09.13_____________№___1___
Председатель Совета ФПК и ПК _____________ Семенчукова И.Ю.
(подпись) (Ф.И.О.)
ВВЕДЕНИЕ
Цель преподавания курса: подготовка квалифицированных специалистов, владеющих фундаментальными знаниями и практическими навыками в области операционных систем и системного программирования.
Задачи преподавания дисциплины:
-
изучение организации и принципов построения современных операционных систем и системных программ;
-
формирование представлений об общей методологии разработки системно-ориентированных программ с использованием современных алгоритмических языков и систем программирования.
-
углубленная подготовка студентов в области применения аппаратных и программных средств современных процессоров, предназначенных для поддержки многозадачных операционных систем
В соответствии с данными задачами слушатели, изучающие дисциплину «Современные языки программирования», должны
знать:
-
способы разработки системного программного обеспечения с учетом аппаратно-программных особенностей вычислительной машины;
-
особенности современных систем программирования и принципы разработки системного программного обеспечения.
уметь:
-
разрабатывать программы в ОС Windows с графическим пользовательским интерфейсом;
-
разрабатывать программы, в операционной системе LINUX с использованием системных вызовов;
-
разрабатывать многопоточные программы с синхронизацией данных;
-
разрабатывать динамически подключаемые библиотеки;
-
перехватывать вызовы к операционной системе.
СОДЕРЖАНИЕ ПРОГРАММЫ
№ п/п
|
Наименование разделов и темы дисциплины
|
Распределение учебных часов по видам занятий
|
форма контроля знаний
|
Всего
|
Аудиторные занятия
|
самостоятельная работа
|
лекции
|
практические занятия
|
семинарские занятия
|
круглые столы,
тематические дискусси
|
лабораторные занятия
|
деловые игры
|
тренинги
|
конференции
|
1
|
Прикладной программный интерфейс
|
16
|
4
|
|
|
|
4
|
|
|
|
8
|
отчёт по заданию
|
2
|
Процессы и задания в прикладном программном интерфейсе
|
16
|
4
|
|
|
|
4
|
|
|
|
8
|
отчёт по заданию
|
3
|
Объекты ядра и их использование в приложении
|
16
|
4
|
|
|
|
4
|
|
|
|
8
|
отчёт по заданию
|
4
|
Организация параллельной обработки с использованием средств исключения и предупреждения состязаний
|
22
|
6
|
|
|
|
8
|
|
|
|
8
|
отчёт по заданию
|
5
|
Механизм сообщений в операционных системах
|
16
|
4
|
|
|
|
4
|
|
|
|
8
|
отчёт по заданию
|
6
|
Организация графического пользовательского интерфейса в операционных системах
|
20
|
6
|
|
|
|
8
|
|
|
|
6
|
отчёт по заданию
|
7
|
Механизмы управления виртуальной и динамически распределяемой памятью
|
20
|
4
|
|
|
|
8
|
|
|
|
8
|
отчёт по заданию
|
ИТОГО:
|
126
|
32
|
|
|
|
40
|
|
|
|
54
|
|
Итоговая форма контроля знаний слушателя
|
экзамен
|
СОДЕРЖАНИЕ ТЕМ ДИСЦИПЛИНЫ
№
п/п
|
Наименование темы
|
Содержание темы
|
1.
|
Прикладной программный интерфейс
|
WinAPI, системные вызовы Linux. Прерывания.
|
2
|
Процессы и задания в прикладном программном интерфейсе
|
Понятие процесса, потока, ресурса, свойства, классификация. Концепция виртуализации. Концепция прерывания.
|
3
|
Объекты ядра и их использование в приложении
|
Создание и закрытие процессов, потоков. Открытие и закрытие файлов. Мьютексы, семафоры.
|
4
|
Организация параллельной обработки с использованием средств исключения и предупреждения состязаний
|
Состояние процессов. Описание процессов. Взаимодействие процессов. Задача взаимного исключения. Решение задачи взаимного исключения. Задача «производители-потребители» и её решения
|
5
|
Механизм сообщений в операционных системах
|
Основные элементы программ с оконным пользовательским интерфейсом. Понятие оконного сообщения. Источники сообщений. Очереди сообщений. Обработка сообщений мыши, клавиатуры.
|
6
|
Организация графического пользовательского интерфейса в операционных системах
|
Принципы построения графической подсистемы ОС Windows. Понятие контекста устройства. Вывод графической информации на физическое устройство. Графические инструменты.
|
7
|
Механизмы управления виртуальной и динамически распределяемой памятью
|
Понятие динамически подключаемой библиотеки. Структура DLL-библиотеки. Создание DLL-библиотеки.
|
СОДЕРЖАНИЕ ЛАБОРАТОРНЫХ ЗАНЯТИЙ
№
п/п
|
Наименование темы
|
Содержание темы
|
1.
|
Прикладной программный интерфейс
|
Типы данных Win API. Основные функции Win API. Системные вызовы Linux.
|
2.
|
Процессы и задания в прикладном программном интерфейсе
|
Создание приложений с использованием прикладного программного интерфейса.
|
3.
|
Объекты ядра и их использование в приложении
|
Создание процессов и потоков. Работа с файлами.
|
4.
|
Организация параллельной обработки с использованием средств исключения и предупреждения состязаний
|
Программирование многопоточных приложений.
|
5
|
Механизм сообщений в операционных системах
|
Обработка сообщений. Очереди сообщений.
|
6
|
Организация графического пользовательского интерфейса в операционных системах
|
Создание приложений с графическим интерфейсом. Графические библиотеки.
|
7
|
Механизмы управления виртуальной и динамически распределяемой памятью
|
Создание и использование динамических библиотек.
|
материалы для текущей аттестации
лабораторные работы по курсу «системное программирование»
Сайт кафедры «Информатика»: http://it.vstu.by/rus/
материалы для итоговой аттестации
Вопросы к Экзамену по курсу «Системное программирование»
-
Назначение, основные этапы развития операционных систем. Принципы построения ОС.
-
Понятие процесса, потока, ресурса, свойства, классификация.
-
Концепция виртуализации. Концепция прерывания.
-
Состояние процессов. Описание процессов.
-
Взаимодействие процессов. Задача взаимного исключения. Решение задачи взаимного исключения.
-
Распределение ресурсов, проблема тупиков.
-
Алгоритм банкира. Применение алгоритма банкира.
-
Требования к управлению памятью. Схемы распределения памяти.
-
Страничная организация памяти. Сегментация памяти.
-
Структуризация адресного пространства виртуальной памяти.
-
Задачи управления виртуальной памятью: задача размещения, задача перемещения, задача преобразования адресов, задача замещения.
-
Типы планирования. Алгоритмы планирования. Примеры реализации алгоритмов планирования в современных операционных системах.
-
Организация функций ввода-вывода. Буферизация операций ввода-вывода. Дисковое планирование.
-
Система управление файлами. Организация файлов, доступ к файлам. Управление внешней памятью.
-
Управление памятью в реальном и защищённом режимах. Дескрипторные таблицы и дескрипторы сегментов
-
Понятие процесса, потока, ресурса, свойства, классификация.
-
Концепция виртуализации. Концепция прерывания.
-
Стандарты UNIX. Пользователи системы, атрибуты пользователя. Создание программы, исходный текст, заголовки. Системные вызовы и функции стандартных библиотек. Обработка ошибок. Форматы выполняемых файлов.
-
Типы файлов. Владельцы файлов. Управление правами доступа в файловой системе.
-
Атрибуты файлов. Управление свойствами файлов. Работа с файлами. Структура файловой системы.
-
Процессы в ОС UNIX. Типы процессов. Атрибуты процессов. Создание и управление процессами. Перегрузка процессов. Завершение процессов.
-
Сигналы. Обработка сигналов. Неименованные каналы. Именованные каналы. Дополнительные средства взаимодействия между процессами.
-
Сообщества, семафоры, разделяемая память. Понятие потока ОС UNIX.
-
Архитектура и основные подсистемы ОС Windows. Системный реестр ОС Windows, его назначение и использование.
-
Основные элементы программ с оконным пользовательским интерфейсом. Понятие оконного сообщения. Источники сообщений.
-
Очереди сообщений. Обработка сообщений мыши, клавиатуры.
-
Понятие ресурсов программ. Виды ресурсов.
-
Принципы построения графической подсистемы ОС Windows. Понятие контекста устройства.
-
Вывод графической информации на физическое устройство. Графические инструменты.
-
Организация многозадачности в ОС Windows. Понятие процесса и потока. Контекст потока.
-
Создание и завершение процессов и потоков. Синхронизация потоков.
-
Понятие динамически подключаемой библиотеки. Структура DLL-библиотеки. Создание DLL-библиотеки.
-
Отладчики для режима ядра. Режимы отладки. Компоненты отладчика.
-
Прерывания. Уровни прерываний.
-
Подпрограммы обработки прерываний. Отложенные процедуры. Асинхронные процедуры.
-
Пулы памяти. Пул подкачиваемой памяти.
-
Пул неподкачиваемой памяти. Пул сессии, особый пул. Тегирование пулов.
-
Структура драйвера. Точки входа в драйвер. Объект, описывающий драйвер. Объект, описывающий устройство. Объект, описывающий файл. Взаимосвязь объектов.
-
Перехват функций ОС Windows API в пользовательском режиме. Интерфейсный модуль NTDLL.DLL.
-
Функции ОС Windows API в режиме ядра. Технология перехвата функций в ядре за счёт модификации таблиц дескрипторов функций ОС Windows.
САМОСТОЯТЕЛЬНАЯ РАБОТА
№
темы
|
Перечень вопросов, выносимых на самостоятельную работу
|
Рекомендуемая
литература
|
1
|
Системные вызовы Linux.
|
основная
|
Название учебников и учебных пособий, год издания
|
Наличие в библиотеке
|
Олифер, В. Г. Сетевые операционные системы: учебник для вузов / В. Г. Олифер,, Н. А. Олифер. - 2-е изд. - Санкт-Петербург: Питер, 2009,2008. - 668 с.: ил.
|
2аб;1чз
|
Сетевые операционные системы и их администрирование: курс лекций для слушателей ФПКиПК спец. Т.10.02.00.П "Программное обеспечение информационных технологий" / УО "ВГТУ" ; сост. Н. С. Любочко. - Витебск, 2005. - 234с.: рис.
|
2чз
|
Гордеев, А. В. Операционные системы: учебник для студентов вузов, обучающихся по направлению подготовки бакалавров и магистров "Информатика и вычислительная техника" и направлению подготовки дипломированных специалистов "Информатика и вычислительная техника" / А. В. Гордеев,. - 2-е изд. - Санкт-Петербург: Питер, 2009. - 415 с.
|
2аб;1чз
|
дополнительная
|
Таненбаум. Операционные системы. Разработка и реализация. СПб.: Питер, 2006. - 568 с.
|
|
Э. Таненбаум. Современные операционные системы. 2-е изд. - СПб.: Питер, 2002. - 1040 с.
|
|
Молчанов А.Ю. Системное программное обеспечение: Учебник для вузов. 3-е изд. – Спб.: Питер, 2010. – 400 с.: ил.
|
|
|
2
|
Концепция виртуализации. Концепция прерывания.
|
3
|
Мьютексы, семафоры.
|
4
|
Задача «производители-потребители» и её решения
|
5
|
Очереди сообщений. Обработка сообщений мыши, клавиатуры.
|
6
|
Графические инструменты.
|
7
|
Структура DLL-библиотеки.
|
ЛИТЕРАТУРа
№
п/п
|
Название учебников и учебных пособий, год издания
|
Авторы
|
Наличие в библиотеке
|
основная
|
|
1.
|
Олифер, В. Г. Сетевые операционные системы: учебник для вузов / В. Г. Олифер,, Н. А. Олифер. - 2-е изд. - Санкт-Петербург: Питер, 2009,2008. - 668 с.: ил.
|
Олифер,, Н. А. Олифер
|
2аб;1чз
|
2.
|
Сетевые операционные системы и их администрирование: курс лекций для слушателей ФПКиПК спец. Т.10.02.00.П "Программное обеспечение информационных технологий" / УО "ВГТУ" ; сост. Н. С. Любочко. - Витебск, 2005. - 234с.: рис.
|
сост. Н. С. Любочко
|
2чз
|
3.
|
Гордеев, А. В. Операционные системы: учебник для студентов вузов, обучающихся по направлению подготовки бакалавров и магистров "Информатика и вычислительная техника" и направлению подготовки дипломированных специалистов "Информатика и вычислительная техника" / А. В. Гордеев,. - 2-е изд. - Санкт-Петербург: Питер, 2009. - 415 с.
|
А. В. Гордеев
|
2аб;1чз
|
4.
|
Пупков, К. А. Освоение операционной системы Unix / К. А. Пупков,, А. С. Черников, Н. М. Якушева. - Москва: Радио и связь, 1994. - 112 с.
|
К. А. Пупков,, А. С. Черников, Н. М. Якушева
|
2аб;1чз
|
дополнительная
|
|
1.
|
Танненбаум Э. Современные операционные системы. 3-е изд. Спб.: Питер, 2010. 112- с.
|
Танненбаум Э.
|
|
2
|
Э. Таненбаум. Операционные системы. Разработка и реализация. СПб.: Питер, 2006. - 568 с.
|
Танненбаум Э.
|
|
Достарыңызбен бөлісу: |