Системное программное обеспечение

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
Нижегородский государственный технический университет
им. Р.Е. Алексеева
Институт радиоэлектроники и информационных технологий
УТВЕРЖДАЮ:
Директор ИРИТ
В.Г. Баранов
«____»________________2010 г.
РАБОЧАЯ ПРОГРАММА
по дисциплине:
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
(федеральный компонент блока СД)
Направление подготовки: 230100 «Информатика и вычислительная техника »
Специальность: 230102 «Автоматизированные системы обработки информации и управления»
(очная форма обучения)
Кафедра: “Информатика и системы управления”
Курс 4
Семестр 8
Общая трудоёмкость дисциплины: 118 ч.
Аудиторные занятия
39 ч.
Лекции
26 ч.
Практические занятия
Лабораторные работы
13 ч.
Самостоятельная работа 79 ч.
Курсовая работа (проект): 8 семестр
Экзамен:
8 семестр
Зачет:
-
Нижний Новгород. 2010
Рабочая программа утверждена на заседании кафедры “Информатика и системы
управления”.
“____” _______________ 2010 г.
Зав. кафедрой
____________Э.С. Соколова
СОГЛАСОВАНО:
Председатель координационного совета по направлению 230100
“____”____________2010 г.
_____________В.Р. Милов
Председатель методической комиссии по специальности 230102
“____”____________2010 г.
____________Э.С.Соколова
Председатель секции по блоку специальных дисциплин
“____”____________2010 г.
_____________И.О. Леушин
1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Рабочая программа составлена на основе:
1. Государственного образовательного стандарта высшего профессионального образования
по направлению подготовки дипломированного специалиста 230100 (654600) «Информатика
и вычислительная техника» рег. № 224 тех/дс от 27.03.2000 и направлению подготовки
бакалавра 230100 (552800) «Информатика и вычислительная техника» рег.№ 35 тех/бак от
13.03.00.
2. Учебного плана по специальности 230102 «Автоматизированные системы обработки
информации и управления», утвержденного ректором НГТУ.
Выполнена программа по стандарту СТП 5–У–НГТУ–03 “Рабочие программы учебных
дисциплин”.
Целью курса является обучение студентов теоретическим основам и практическим навыкам
проектирования, реализации и сопровождения системных программных средств современных
ЭВМ.
Задачами данного курса являются:
- изучение принципов проектирования системного программного обеспечения
- изучение архитектуры исполняемых модулей и компонентов ПО
- изучение принципов управления программным обеспечением на уровне ОС
В результате изучения дисциплины студенты должны:
Иметь представление о процессе разработки и сопровождения системного программного
обеспечения
Знать: методы и средства проектирования программных средств, компоненты
системного программного обеспечения и технологии их разработки;
Уметь: ставить и решать задачи, возникающие в процессе проектирования, отладки,
испытаний и эксплуатации системных программных средств;
Иметь навыки разработки системного программного обеспечения (ПО) в среде
операционных систем Windows и Unix.
Для освоения материалов курса «Системное программное обеспечение» необходимы
знания в области архитектуры операционных систем и высокоуровневого программирования .
Исходя из этого, данная дисциплина базируется на знаниях, полученных в ходе изучения
следующих курсов: «Операционные системы», «Программирование на ЯВУ», «Организация
ЭВМ и систем».
Полученные в процессе изучения курса ”Системное программное обеспечение” знания
являются основой для освоения дисциплин ”Сетевые технологии”, ”Администрирование
сетевых ОС”.
2. ОПИСАНИЕ СОДЕРЖАНИЯ ОСНОВНЫХ ТЕМ (РАЗДЕЛОВ КУРСА)
1.
Введение. Понятие системного ПО и его место в программном обеспечении ЭВМ.
2.
Взаимосвязь архитектуры ЭВМ и системного ПО. Архитектура и логическое
устройство ЭВМ. Форматы данных и машинных инструкций. Адресация памяти.
Прерывания. Механизмы взаимодействия процессов. Механизмы ввода-вывода и
доступа к файлам.
3.
Низкоуровневые средства языка С для реализации компонент системного ПО в среде
MS-DOS. Модели оперативной памяти. Распределение памяти при работе Спрограммы. Методы доступа к регистрам процессора, произвольным адресам
оперативной памяти и портам ввода-вывода. Генерация прерываний. Средства для
написания обработчиков прерываний. Низкоуровневая работа с файлами, клавиатурой
и экраном.
4.
Visual C++ и библиотека MFC как средства реализации системного ПО в среде
Windows.
5.
Основные отличия операционных систем семейства Windows (Windows 3.1, Windows
95/98, Windows NT) от MS-DOS. Понятие сообщения и очередей сообщений.
Источники сообщений. Главный цикл обработки сообщений. 16-ти и 32-х разрядные
приложения Windows. Потоки приложений на языке Visual C++ - Application Wizard,
Class Wizard, Application Studio.
6.
Разработка компонент системного ПО.
Резидентные программы в MS-DOS (предотвращение повторной загрузки, проблемы
безопасности использования функций DOS, работа с файлами и оперативной памятью,
завершение и выгрузка резидентных программ).
DLL библиотеки в Windows. Создание DLL. Функции входа/выхода. Экспорт и импорт
функций и переменных. Создание DLL для использования средствами разработки,
отличными от Visual C++.
7.
Заключение. Основные тенденции развития методов и средств автоматизации
проектирования и создания системного ПО.
3. РАСПРЕДЕЛЕНИЕ ЧАСОВ ЛЕКЦИОННЫХ И ПРАКТИЧЕСКИХ ЗАНЯТИЙ ПО
ТЕМАМ (РАЗДЕЛАМ)
Системное программное обеспечение
№п.п
1
2
3
4
5
6
(наименование дисциплины)
Наименование темы (раздела)
Введение.
Взаимосвязь архитектуры ЭВМ и системного ПО
Низкоуровневые средства языка С++ для реализации
компонент системного ПО
Visual C++ и библиотека MFC
Основные отличия операционных систем семейства
Windows
Заключение.
Лекции (час)
1
4
4
4
6
1
26
Итого
4.НАИМЕНОВАНИЕ ТЕМ ЛАБОРАТОРНЫХ ЗАНЯТИЙ
Проводятся с ½ группы бригадами по 2 человека.
Допуск к занятиям нет.
Отчеты произвольной формы.
Зачеты в конце семестра индивидуальными собеседованиями.
№ работы
Тема (раздел)
дисциплины
1
Программирование
на MFC
Межпроцессное
взаимодействие
2
Тема
(наименование)
лабораторной
работы
Крестики-нолики
Продолжительность
работы
(академ. час)
Многопроцессный
комплекс программ
8
5
5. ОРГАНИЗАЦИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ.
Самостоятельная работа студента предполагает индивидуальную работу с
литературой при подготовке к лекциям и лабораторным занятиям, а также работу
по подготовке к коллоквиумам по основным разделам курса, выполнение курсовой
работы.
Подготовка к практическим аудиторным занятиям
В начале каждого лекционного занятия отводится время на повторение основных
моментов предыдущей лекции и ответов на вопросы, возникшие в результате
самостоятельной проработки лекционного материала. В конце каждой лекции также
отводится дополнительное время для ответа на вопросы, возникающие у студентов в
процессе прослушивания лекции. Данная стратегия ведения лекций позволяет
устранить пробелы в понимании, возникающие на разных этапах восприятия
лекционного материала. Для более глубокого понимания теории в конце каждой
лекции студентам предлагаются ссылки на статьи или прочие электронные ресурсы,
дающие более детальное описание рассматриваемых проблем.
В начале каждой лабораторной работы проводится краткий инструктаж и
объяснение дополнительного теоретического материала, необходимого для
выполнения практического задания.
Контроль самостоятельной работы
Контроль самостоятельной работы проводится в процессе сдачи лабораторных
работ. Прием лабораторных работ проходит в два этапа. Первый этап заключается в
ответе на теоретические вопросы, связанные с выполнением практических заданий.
На втором этапе проходит защита отчета по лабораторной работе. Результатом
прохождения каждого этапа является оценка, выставляемая по пятидесятибальной
шкале. Результирующая оценка за лабораторную работу вычисляется, как
арифметическое среднее от оценок, полученных за теоретическую и практическую
части.
Аналогичный контроль производится во время зачета. Студентам,
претендующим на высокие оценки, даются дополнительные вопросы,
подразумевающие более глубокое самостоятельное изучение проблемы. Ответы на
данные вопросы даются в рамках дополнительной литературы, предлагаемой для
самостоятельного изучения.
В начале семестра производится распределение курсовых заданий. Каждый
студент получает полное описание практического задания и требования к его
реплизации. На вопросы, возникающие в процессе выполнения курсовых работ,
студенты могут получать ответ либо на аудиторных занятиях, либо в письменном
виде через средства передачи электронных сообщений. Выполнение курсовой
работы подразумевает написание работающей программы, отвечающей
требованиям задания, и пояснительной записки, содержащей описание созданного
программного продукта.
В конце семестра выделяется время в размере 6 часов для сдачи курсовых работ.
Сдача проходит в несколько этапов. На первом этапе производится оценка
работоспособности и функциональности предлагаемого студентом программного
продукта. На этом этапе также производится защита программного кода. После
сдачи программной части студент защищает свой отчет и отвечает на теоретические
вопросы. Результирующая оценка курсовой работы находится как среднее
арифметическое от оценок за программную часть и отчет.
Темы курсовых работ:
1. Создать COM-модуль, инкапсулирующий класс для аппроксимации одномерного
числового ряда и приложение для его тестирования
2.Создать COM-модуль, инкапсулирующий класс для двумерной аппроксимации
матрицы и приложение для его тестирования
3. Создать COM-модуль, инкапсулирующий класс для работы с сетью через
протокол TCP и приложение для его тестирования
4.Написать промежуточный драйвер устройства для работы с сетевой картой
5.Написать промежуточный драйвер устройства , реализующий основные функции
для работы с usb
6.Написать промежуточный драйвер устройства, реализующий основные функции
для работы с жестким диском
7.Написать промежуточный драйвер устройства , реализующий основные функции
для работы с COM-портом
8.Написать клиент-серверное приложения для обмена сообщениями, содержащими
графическую информацию
9. Создать COM-модуль, инкапсулирующий класс для шифрования данных с
использованием алгоритма DES
10. Создать COM-модуль, инкапсулирующий класс для шифрования данных с
использованием алгоритма TwoFish
11. Создать COM-модуль, инкапсулирующий класс для шифрования данных с
использованием алгоритма IDEA
12. Создать COM-модуль, инкапсулирующий класс для работы с сетью с
использованием протокола SSL
13. Создать промежуточный драйвер для работы с сетью с использованием
протокола SSL
14. Создать клиент-серверное приложение для обмена сообщениями по свободному
протоколу.
Распределение часов по видам самостоятельной работы приведено в таблице:
Виды самостоятельной работы
1. Проработка лекционного материала
(а также дополнительных тем,
указанных лектором)
2. Подготовка к лабораторным
работам
3. Выполнение курсовой работы
(ориентировочная трудоемкость 20-30
часов)
4. Подготовка к экзамену (зачету)
Объем
самостоятельной
работы по
рабочему
учебному плану
79 (час.)
10
График
контроля
самостоятельной
работы
13
28
В течение
семестра
11,12 недели
28
13 неделя
В течение
семестра
6. ЛИТЕРАТУРА
№
Автор(ы)
Наименование
Изд-во
Год
Кол-во в
изда библиотек
ния
е НГТУ
Основная
1 Рихтер Д.
CLR via C#
2 Русинович М.
Соломон Д.
Внутреннее устройство Microsoft
Winows
3 Станек У.
Microsoft Winows Server 2003
4 Колисниченко Д.Н Linux. Полное руководство
Аллен П.
Дополнительная
5 Eddon H.
Inside COM+ base service
6 King B.
Inside ATL
Рабочая программа составлена асс. каф. ИСУ
Microsoft 2009
Press
С2007
Пб:Питер
10
Microsoft 2005
Press
М:Наука и 2007
техника
1
Microsoft 2006
Press
Microsoft 2006
Press
-
Ляхмановым Д.А.
15
1
-
ВОПРОСЫ ПО КУРСУ «СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
1. Какая информация вносится в реестр операционной системы при
регистрации СОМ-сервера?
2. Перечислите функции фабрики классов.
3. Способы запуска
CoCreateInstance)
СОМ-сервера
(функции
CoGetClassObject
и
4. Типы апартаментов.
5. Назначение библиотеки типов.
6. Где может храниться библиотека типов?
7. Алгоритм вызова методов при помощи интерфейса IDispatch.
8. Каковы различия в регистрации СОМ-сервера в общем случае и в случае,
если СОМ-сервер реализует интерфейс IDispatch.
9. Каковы недостатки использования интерфейса IDispatch.
10. Как организован обмен нотификационными сообщениями между СОМобъектами.
11. Соглашение о вызовах register/cdecl/stdcall/safecall.
12, Основные элементы технологии COM+.
13. Механизм удаленного вызова процедур.
14. Основные методы интерфейса IDispatch.
15. Основные функции файловой системы.
16. Способы именования файлов.
17. Структура файлов.
18. Атрибуты файлов.
19. Способы доступа к файлам.
20. Набор операций для работы с директориями.
21. Структура файловой системы на диске.
22. Способы связывания файлов с блоками диска.
23. Разделяемый доступ к файлам.
24. Монтирование файловых систем.
25. Контроль целостности файловой системы.
26. Утилиты проверки целостности файловой системы.
27. Кэширование дисковой.
28. Механизм верификации по принципу Read-After-Write.
29. Интеграция виртуальной и постоянной памяти.
Download