Рабочая программа учебной дисциплины (модуля) Системное программирование
Вид материала | Рабочая программа |
- Рабочая программа учебной дисциплины (модуля) Объектно-ориентированное программирование, 99.17kb.
- Рабочая программа учебной дисциплины (модуля) Сетевые технологии и сетевое программирование, 89kb.
- Рабочая программа учебной дисциплины (модуля) Язык программирования Java, 90.39kb.
- Рабочая программа учебной дисциплины (модуля) Мордовский национальный костюм, 257.38kb.
- Учебной дисциплины «Выпуклый анализ и математическое программирование» для направления, 34.33kb.
- Рабочая программа учебной дисциплины (модуля) Введение в вычислительные методы, 137.16kb.
- Рабочая программа учебной дисциплины Сетевое программирование и программное обеспечение, 390.77kb.
- Рабочая программа учебной дисциплины методы теории принятия решений Наименование дисциплины, 117.3kb.
- Рабочая программа учебной дисциплины (модуля) Теория вычислительного эксперимента, 123.88kb.
- Рабочая программа учебной дисциплины (модуля) информатика, 307.92kb.
Министерство образования и науки Российской Федерации
ГОУ ВПО «Мордовский государственный университет им. Н.П.Огарёва»
Математический факультет
Кафедра систем автоматизированного проектирования
-
«УТВЕРЖДАЮ»
_____________________
_____________________
«______»__________201_ г.
РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ (МОДУЛЯ)
Системное программирование
Наименование магистерской программы
Математическое и программное обеспечение вычислительных машин
Направление подготовки
010400.68 – Прикладная математика и информатика
Квалификация (степень) выпускника
Магистр
Форма обучения
очная
г. Саранск
2011г.
1. Цели освоения дисциплины
Целью освоения дисциплины «Системное программирование» является подготовка квалифицированных специалистов, владеющих фундаментальными знаниями и практическими навыками в области операционных систем и системного программирования.
В процессе изучения дисциплины решаются следующие задачи:
- изучение организации и принципов построения современных операционных систем и системных программ;
- формирование представлений об общей методологии разработки системно-ориентированных программ с использованием современных алгоритмических языков и систем программирования.
- углубленная подготовка студентов в области применения аппаратных и программных средств современных процессоров, предназначенных для поддержки многозадачных операционных систем.
2. Место дисциплины в структуре магистерской программы
Дисциплина относится к вариативной части профессионального цикла.
Для изучения курса «Системное программирование» необходимы знания принципов работы ЭВМ, навыки алгоритмизации и разработки программ на алгоритмических языках высокого уровня и машинно-ориентированных языках, работы с операционными системами и системами программирования на уровне, достаточном для отладки и выполнения программ. Курс базируется на сведениях, полученных при изучении курсов «Основы информатики», «Архитектура компьютеров», «Математическая логика и теория алгоритмов», «Алгоритмы. Построение и анализ», «Языки и методы программирования», «Операционные системы».
Полученные в результате изучения данной дисциплины знания и умения и навыки используются в следующих дисциплинах: «Инструментальные среды программирования», «Язык программирования Java», «CASE-средства проектирования программного обеспечения», «Технологии параллельного программирования», «Распределенные офисные технологии» «Веб-приложения на Java», «Сетевые технологии и сетевое программирование», «Программная реализация экспертных систем и генетических алгоритмов».
3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля) «Системное программирование»
Процесс изучения дисциплины направлен на формирование следующих компетенций:
- способность использовать углубленные теоретические и практические знания в области прикладной математики и информатики (ОК-3),
- способность разрабатывать концептуальные и теоретические модели решаемых научных проблем и задач (ПК-2),
- способность углубленного анализа проблем, постановки и обоснования задач научной и проектно-технологической деятельности (ПК-3).
В результате изучения дисциплины студент должен:
Знать:
– способы разработки системного программного обеспечения с учетом аппаратно-программных особенностей вычислительной машины;
– особенности современных систем программирования и принципы разработки системного программного обеспечения.
Уметь:
− разрабатывать программы в ОС Windows с графическим пользовательским интерфейсом;
− разрабатывать программы, в операционной системе UNIX с использованием системных вызовов;
− разрабатывать многопоточные программы с синхронизацией данных;
− разрабатывать динамически подключаемые библиотеки;
− перехватывать вызовы к операционной системе;
Владеть:
– навыками разработки программ в ОС Linux, Windows;
– навыками разработки многопоточных программ с синхронизацией данных;
– навыками разработки динамически подключаемых библиотек;
– навыками перехвата вызовов к операционной системе.
4. Структура и содержание дисциплины (модуля) «Системное программирование»
Общая трудоемкость дисциплины составляет 2 зачетных единицы 72 часа.
№ п/п | Раздел дисциплины | Сем | Неделя семестра | Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) | Формы текущего контроля успеваемости (по неделям семестра) | Форма промежуточной аттестации (по семестрам) | |||
Лекц. | Лаб. | СРС | Всего | ||||||
1 | Основы операционных систем | 1 | 1 (лекц.) 1-3 (лаб.) | 2 | 6 | 6 | 14 | Отчет по ЛР №1 (1-3 неделя) | зачет |
2 | Операционные система UNIX (Linux) | 1 | 3, 5 (лекц.) 4-6 (лаб.) | 4 | 6 | 8 | 18 | Отчет по ЛР №2 (4 неделя), ЛР №3 (5 неделя), ЛР №4 (6 неделя) | |
3 | Операционная система Windows в пользовательском режиме | 1 | 7, 9 (лекц.), 7-10 (лаб.) | 4 | 8 | 8 | 20 | Отчет по ЛР №5 (7, 8 неделя), ЛР №6 (9, 10 неделя) | |
4 | Операционная система Windows в режиме ядра | 1 | 11, 14 (лекц.), 11-14 (лаб.) | 4 | 8 | 8 | 20 | Отчет по ЛР №7 (11, 12 неделя), ЛР №8 (13, 14 неделя) | |
Итого | 14 | 28 | 30 | 72 | |
5. Образовательные технологии
Изучение дисциплины предполагает использование традиционных способов коллективного обучения – лекций, лабораторных занятий, индивидуальных заданий с последующей отчетностью. Применяемые информационные технологии: лекции в форме презентаций, обучающие и тестирующие программы, электронные учебники.
6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов
Формой текущего контроля знаний студентов является контроль правильности выполнения и оформления лабораторных и самостоятельных работ.
Формой итогового контроля знаний и умений студентов по курсу «Математические методы и комплексы программ автоматизации проектирования систем» является зачет.
Темы лабораторных работ:
- Исследование вычислительного процесса.
- Управление памятью. Сегментированная модель памяти.
- Управление памятью. Страничная модель памяти. Алгоритмы «FIFO», «Вторая попытка», «Часы».
- Управление памятью. Трансляция виртуальных адресов.
- Вычисление циклического контрольного кода.
- Организация таблиц идентификаторов.
- Проектирование простейшего лексического анализатора.
- Построение простейшего дерева вывода.
Перечень вопросов для организации итогового контроля:
- Назначение, основные этапы развития операционных систем. Принципы построения ОС.
- Понятие процесса, потока, ресурса, свойства, классификация. Концепция виртуализации. Концепция прерывания.
- Состояние процессов. Описание процессов. Взаимодействие процессов. Задача взаимного исключения. Решение задачи взаимного исключения. Задача «производители-потребители» и её решения.
- Распределение ресурсов, проблема тупиков. Алгоритм банкира. Применение алгоритма банкира.
- Требования к управлению памятью. Схемы распределения памяти. Страничная организация памяти. Сегментация памяти.
- Структуризация адресного пространства виртуальной памяти. Задачи управления виртуальной памятью: задача размещения, задача перемещения, задача преобразования адресов, задача замещения.
- Типы планирования. Алгоритмы планирования. Примеры реализации алгоритмов планирования в современных операционных системах.
- Организация функций ввода-вывода. Буферизация операций ввода-вывода. Дисковое планирование. Система управление файлами. Организация файлов, доступ к файлам. Управление внешней памятью.
- Управление памятью в реальном и защищённом режимах. Дескрипторные таблицы и дескрипторы сегментов
- Понятие процесса, потока, ресурса, свойства, классификация. Концепция виртуализации. Концепция прерывания.
- Стандарты UNIX. Пользователи системы, атрибуты пользователя. Создание программы, исходный текст, заголовки. Системные вызовы и функции стандартных библиотек. Обработка ошибок. Форматы выполняемых файлов.
- Типы файлов. Владельцы файлов. Управление правами доступа в файловой системе. Атрибуты файлов. Управление свойствами файлов. Работа с файлами. Структура файловой системы.
- Процессы в ОС UNIX. Типы процессов. Атрибуты процессов. Создание и управление процессами. Перегрузка процессов. Завершение процессов.
- Сигналы. Обработка сигналов. Неименованные каналы. Именованные каналы. Дополнительные средства взаимодействия между процессами. Сообщества, семафоры, разделяемая память. Понятие потока ОС UNIX.
- Архитектура и основные подсистемы ОС Windows. Системный реестр ОС Windows, его назначение и использование.
- Основные элементы программ с оконным пользовательским интерфейсом. Понятие оконного сообщения. Источники сообщений. Очереди сообщений. Обработка сообщений мыши, клавиатуры.
- Понятие ресурсов программ. Виды ресурсов.
- Принципы построения графической подсистемы ОС Windows. Понятие контекста устройства. Вывод графической информации на физическое устройство. Графические инструменты.
- Организация многозадачности в ОС Windows. Понятие процесса и потока. Контекст потока. Создание и завершение процессов и потоков. Синхронизация потоков.
- Понятие динамически подключаемой библиотеки. Структура DLL-библиотеки. Создание DLL-библиотеки.
- Отладчики для режима ядра. Режимы отладки. Компоненты отладчика.
- Прерывания. Уровни прерываний. Подпрограммы обработки прерываний. Отложенные процедуры. Асинхронные процедуры.
- Пулы памяти. Пул подкачиваемой памяти. Пул неподкачиваемой памяти. Пул сессии, особый пул. Тегирование пулов.
- Структура драйвера. Точки входа в драйвер. Объект, описывающий драйвер. Объект, описывающий устройство. Объект, описывающий файл. Взаимосвязь объектов.
- Перехват функций ОС Windows API в пользовательском режиме. Интерфейсный модуль NTDLL.DLL. Функции ОС Windows API в режиме ядра. Технология перехвата функций в ядре за счёт модификации таблиц дескрипторов функций ОС Windows.
7. Учебно-методическое и информационное обеспечение дисциплины (модуля):
а) основная литература
- Э. Таненбаум. Операционные системы. Разработка и реализация. СПб.: Питер, 2006. - 568 с.
- Э. Таненбаум. Современные операционные системы. 2-е изд. - СПб.: Питер, 2002. - 1040 с.
- А.В. Столяров. Введение в операционные системы. Конспект лекций, Москва, 2006. – 192 с.:ил.
- Молчанов А.Ю. Системное программное обеспечение. Лабораторный практикум. – Спб.: Питер, 2005. – 284 с.: ил.
- С. Назаров, А. Кириченко, Л. Гудыно Операционные системы. Практикум, Кудиц-образ: Москва, 2008. - 464 с. ил.
б) дополнительная литература
- Д.В. Иртегов. Введение в операционные системы. - 2-е изд., перераб. и доп. -СПб.: БХВ-Петербург, 2008. - 1040 с.: ил. – (Учебное издание)
- А.В.Гордеев, А.Ю. Молчанов. Системное программное обеспечение. – СПб.: Питер, 2001. – 736с.:ил.
- Молчанов А.Ю. Системное программное обеспечение: Учебник для вузов. 3-е изд. – Спб.: Питер, 2010. – 400 с.: ил.
в) программное обеспечение и Интернет- ресурсы
Пакеты прикладных программ
- Visual Studio (2005), MSDN – (комплекс систем программирования, обеспечивающий разностороннюю работу с базами данных и сетью).
Интернет-ресурсы
- [Электронный ресурс] osofl.com/
- [Электронный ресурс] ru/
8. Материально-техническое обеспечение дисциплины (модуля):
- Аудитория для проведения лекционных занятий, имеющая необходимое количество посадочных мест (для занятий с группой из 10 студентов) и оснащенная оборудованием для проведения презентаций (ноутбук, проектор);
- Аудитория с персональными компьютерами для проведения лабораторных занятий, имеющая необходимое количество рабочих мест (для занятий с подгруппой из 10 студентов), оборудованная персональными компьютерами на базе процессора Intel Pentium II или выше, оснащенных необходимым системным и прикладным программным обеспечением.
Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению 010400.68 – «Прикладная математика и информатика» и магистерской программе «Математическое и программное обеспечение вычислительных машин».
Автор: к.т.н., доцент кафедры систем автоматизированного проектирования
Шамаев А.В.
Рецензент (ы)
Программа одобрена на заседании
от « » ____________ 2011 года, протокол № .