Учебная программа по дисциплине «Системное программирование»



Дата11.07.2016
өлшемі111.5 Kb.
#191568
түріУчебная программа


УО «Витебский государственный технологический университет»






УТВЕРЖДАЮ




Первый проректор УО «ВГТУ»


_____________________С.И. Малашенков


«_____»___________2013 г.



Рег.№ _УД-141а/2013____________



УЧЕБНАЯ ПРОГРАММА ПО дисциплине



«Системное программирование»

(наименование дисциплины)
специальности переподготовки:

_1-40 01 73 «Программное обеспечение информационных систем» (заочная форма) ____________________________________________________

(шифр, «название специальности»)


в соответствии с типовым учебным планом переподготовки, утвержденным

30.06.2010 № 25-17/30

(дата утверждения, регистрационный номер)
и учебным планом переподготовки УО «ВГТУ»

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/
материалы для итоговой аттестации
Вопросы к Экзамену по курсу «Системное программирование»


  1. Назначение, основные этапы развития операционных систем. Принципы построения ОС.

  2. Понятие процесса, потока, ресурса, свойства, классификация.

  3. Концепция виртуализации. Концепция прерывания.

  4. Состояние процессов. Описание процессов.

  5. Взаимодействие процессов. Задача взаимного исключения. Решение задачи взаимного исключения.

  6. Распределение ресурсов, проблема тупиков.

  7. Алгоритм банкира. Применение алгоритма банкира.

  8. Требования к управлению памятью. Схемы распределения памяти.

  9. Страничная организация памяти. Сегментация памяти.

  10. Структуризация адресного пространства виртуальной памяти.

  11. Задачи управления виртуальной памятью: задача размещения, задача перемещения, задача преобразования адресов, задача замещения.

  12. Типы планирования. Алгоритмы планирования. Примеры реализации алгоритмов планирования в современных операционных системах.

  13. Организация функций ввода-вывода. Буферизация операций ввода-вывода. Дисковое планирование.

  14. Система управление файлами. Организация файлов, доступ к файлам. Управление внешней памятью.

  15. Управление памятью в реальном и защищённом режимах. Дескрипторные таблицы и дескрипторы сегментов

  16. Понятие процесса, потока, ресурса, свойства, классификация.

  17. Концепция виртуализации. Концепция прерывания.

  18. Стандарты UNIX. Пользователи системы, атрибуты пользователя. Создание программы, исходный текст, заголовки. Системные вызовы и функции стандартных библиотек. Обработка ошибок. Форматы выполняемых файлов.

  19. Типы файлов. Владельцы файлов. Управление правами доступа в файловой системе.

  20. Атрибуты файлов. Управление свойствами файлов. Работа с файлами. Структура файловой системы.

  21. Процессы в ОС UNIX. Типы процессов. Атрибуты процессов. Создание и управление процессами. Перегрузка процессов. Завершение процессов.

  22. Сигналы. Обработка сигналов. Неименованные каналы. Именованные каналы. Дополнительные средства взаимодействия между процессами.

  23. Сообщества, семафоры, разделяемая память. Понятие потока ОС UNIX.

  24. Архитектура и основные подсистемы ОС Windows. Системный реестр ОС Windows, его назначение и использование.

  25. Основные элементы программ с оконным пользовательским интерфейсом. Понятие оконного сообщения. Источники сообщений.

  26. Очереди сообщений. Обработка сообщений мыши, клавиатуры.

  27. Понятие ресурсов программ. Виды ресурсов.

  28. Принципы построения графической подсистемы ОС Windows. Понятие контекста устройства.

  29. Вывод графической информации на физическое устройство. Графические инструменты.

  30. Организация многозадачности в ОС Windows. Понятие процесса и потока. Контекст потока.

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

  32. Понятие динамически подключаемой библиотеки. Структура DLL-библиотеки. Создание DLL-библиотеки.

  33. Отладчики для режима ядра. Режимы отладки. Компоненты отладчика.

  34. Прерывания. Уровни прерываний.

  35. Подпрограммы обработки прерываний. Отложенные процедуры. Асинхронные процедуры.

  36. Пулы памяти. Пул подкачиваемой памяти.

  37. Пул неподкачиваемой памяти. Пул сессии, особый пул. Тегирование пулов.

  38. Структура драйвера. Точки входа в драйвер. Объект, описывающий драйвер. Объект, описывающий устройство. Объект, описывающий файл. Взаимосвязь объектов.

  39. Перехват функций ОС Windows API в пользовательском режиме. Интерфейсный модуль NTDLL.DLL.

  40. Функции ОС 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 с.

Танненбаум Э.








Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет