Республики Беларусь «24»
Вид материала | Пояснительная записка |
- В перечень банков Республики Беларусь, имеющих право обязываться по векселю, утверждаемый, 419.3kb.
- Республики Беларусь 15 августа 2006, 202.35kb.
- Одобрен Советом Республики 8 февраля 1999 года общая часть глава 1 общие положения, 799.65kb.
- Об утверждении Инструкции о порядке взаимодействия государственных органов, ответственных, 157.85kb.
- Республики Беларусь «Об органах внутренних дел Республики Беларусь», 9.85kb.
- Конституции Республики Беларусь Совет Республики Национального собрания Республики, 11.32kb.
- Конституции Республики Беларусь Совет Республики Национального собрания Республики, 11.74kb.
- Совета Министров Республики Беларусь от 31 октября 2001 г. N 1592 "Вопросы Министерства, 1509.5kb.
- Постановление государственного комитета по авиации республики беларусь, 78.75kb.
- Конституции Республики Беларусь Совет Республики Национального собрания Республики, 13.86kb.
Утверждаю
Председатель УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники
« 03 » июня 2003 г.
Регистрационный № ТД-53-023/тип.
СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ
Учебная программа для высших учебных заведений
по специальности 1-53 01 02 Автоматизированные
системы обработки информации
Согласовано:
Учебно-методическое управление БГУИР
« 28 » мая 2003 г.
Составители:
М.П. Ревотюк, доцент кафедры информационных технологий автоматизированных систем Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», кандидат технических наук
Рецензенты:
Б.М. Киселев, доцент кафедры информационных процессов и технологий Учреждения образования «Белорусский государственный аграрный технический университет», кандидат технических наук;
К.В. Плюгачев, заведующий кафедрой робототехнических систем Учреждения образования «Белорусская государственная политехническая академия», доцент, кандидат технических наук
Рекомендована к утверждению в качестве типовой:
Кафедрой информационных технологий автоматизированных систем Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 11 от 04.02.2002 г.);
Научно-методическим советом по направлению 1-53 Автоматизация УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники (протокол № 1 от 11.02.2002 г.)
Разработана на основании Образовательного стандарта РД РБ 02100.5.111-98
Ответственный за редакцию: Т.А. Лейко
Ответственный за выпуск: Ц.С. Шикова
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Типовая программа «Системное программирование» разработана в соответствии с Образовательным стандартом РД РБ 02100.5.111-98 по специальности 1-53 01 02 Автоматизированные системы обработки информации высших учебных заведений.
Целью преподавания дисциплины «Системное программирование» является изучение теоретических основ и приобретение практических навыков проектирования, реализации и сопровождения системных программных средств современных ЭВМ.
В результате освоения материала курса студент должен:
знать методы и средства проектирования программных систем, компоненты системного программного обеспечения и технологию их разработки;
уметь ставить и решать задачи, возникающие в процессе проектирования, тестирования, отладки, испытаний и эксплуатации программных систем, обеспечивать заданные характеристики программ, свободно владеть языком системного программирования С.
Базовыми дисциплинами для изучения курса «Системное программирование» являются «Программирование», «Операционные системы».
Знание и навыки, полученные студентами по курсу «Системное программирование», используются в дисциплинах «Объектно-ориентированное программирование», «Микропроцессоры и микрокомпьютеры» и «Аппаратное и программное обеспечение сетей», а также при курсовом и дипломном проектировании.
Программа рассчитана на объем 136 учебных часов. Примерное распределение учебных часов по видам занятий: лекций – 68 часов, лабораторных работ – 68 часов. По дисциплине предусматривается выполнение курсовой работы.
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
ВВЕДЕНИЕ
Задачи прикладного и системного программирования. Использование машинно-ориентированных и универсальных языков программирования в системном программировании. Обзор компонент системного программного обеспечения.
Тема 1. СРЕДСТВА РЕАЛИЗАЦИИ ПРОГРАММНЫХ СИСТЕМ
Архитектура и логическое устройство ЭВМ с точки зрения программиста. Характеристика памяти и схем адресации. Форматы данных и машинных инструкций. Система прерываний. Система команд ЭВМ. Пример характеристики вычислительной среды ПЭВМ класса IBM PC XT/AT.
Тема 2. АССЕМБЛЕР В СИСТЕМНОМ ПРОГРАММИРОВАНИИ
Понятие ассемблера. Место ассемблера в системном программировании. Команды и директивы языка ассемблера. Ассемблирование, редактирование связей и выполнение программ. Макросредства языка ассемблера. Макрокоманды и макроопределения. Способы построения подпрограмм. Методы передачи параметров и данных между подпрограммами. Рекурсивный вызов подпрограмм. Связь с примитивами операционной системы.
Тема 3. ЯЗЫК СИСТЕМНОГО ПРОГРАММИРОВАНИЯ C
Характеристика языка С и областей его применения. Основные сведения о синтаксисе записи исходного текста. Комментарии. Основные операционные объекты языка С. Описание данных и указателей. Константы. Размещение объектов в памяти. Структуры данных. Массивы, строки, структуры и объединения. Перечислимые типы. Определение производных типов.
Выражения и операции, приоритеты выполнения операций. Операторы присваивания, условные операторы, оператор-переключатель, операторы цикла, управляющие операторы.
Функции. Определения функций, их вызов. Передача результатов выполнения функций через параметры. Классы памяти и область действия объектов программы. Автоматическая, статическая и управляемая память. Псевдорегистры. Инициализация объектов программы.
Препроцессор языка С. Возможности препроцессора языка: лексемное замещение идентификаторов, макрозамещение, включение файлов исходного текста, условная компиляция, изменение нумерации строк и текущего имени файла. Конкатенация лексем. Способы вызова препроцессора.
Способы модульного программирования. Характеристика программ на основе функций и макрокоманд. Модули-файлы и модули-функции в языке С.
Обзор структуры библиотек стандартных функций. Библиотечные функции ввода-вывода. Функции для работы с файлами, клавиатурой и экраном дисплея. Системные функции в языке C. Библиотека графических функций.
Системно-зависимые конструкции языка С. Обзор современных систем программирования на языке С. Стандартные утилиты систем программирования на языке С. Редакторы связей. Библиотекари. Управление проектами. Отладчики. Редакторы текста и контекстные связи программ. Интегрированные среды систем программирования.
Мобильность программных систем и ее обеспечение на языке С.
Правила надежного программирования.
Тема 4. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНЫХ СИСТЕМ
Методы структурного программирования. Принцип пошаговой детализации. Уровни описания и реализации структур данных. Абстрактные структуры данных. Множества, строки, стеки, очереди, деревья, списки, графы, матрицы, таблицы. Примеры представления структур данных на языке С.
Модульный принцип построения программных систем. Типы и свойства модулей. Способы передачи информации между программными модулями. Методы комплексирования программ.
Тема 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ
Характеристика вычислительных сред. Уровни доступа к системной информации и управления ресурсами. Анализ схемы распределения памяти. Установленные драйверы и администраторы устройств. Получение информации о системных ресурсах. Схема стандартного распределения памяти, регистры состояния оборудования, порты обмена. Схема обработки прерываний. Библиотечные функции управления ресурсами. Обработка прерываний в ПЭВМ типа IBM PC/XT/AT. Функции - обработчики прерываний на языках С и ассемблера. Резидентные программы.
Базовые понятия многозадачных вычислительных сред. Операционные среды систем семейства Windows и UNIX. Процессы, сообщения, порты, исключения. Потоки и каналы. Таймеры. Порождение и синхронизация задач. Механизмы межзадачного обмена. Построение систем типа "клиент–сервер". Администраторы устройств.
ЗАКЛЮЧЕНИЕ
Основные тенденции развития методов и средств автоматизации проектирования и реализации программных систем. Обзор возможностей объектно-ориентированного программирования.
Примерный перечень лабораторных работ
- Интегрированная среда Borland C/C++.
- Операторы управления языка C.
- Функции в языке C.
- Файловый ввод-вывод.
- Техника работы с указателями.
- Структуры данных.
- Логические операции.
- Текстовый ввод-вывод.
- Основы программирования на ассемблере.
- Связь ассемблера и языка C.
- Препроцессор языка С.
- Обработка прерываний на языке С.
- Утилиты систем программирования на языках C/С++.
- Управление процессами и потоками.
- Синхронный и асинхронный ввод-вывод.
- Межзадачное взаимодействие и обмен.
- Графический ввод-вывод.
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ КУРСОВЫХ РАБОТ
Тема курсовых работ может определяться содержательной задачей, требующей использования доступа к системным механизмам современных вычислительных сред. Например, для широко используемой среды Win32 API предметом изучения могут быть:
- Win32: Мониторинг потока событий (Hooks).
- Win32: Сетевое окружение (Windows Networking).
- Win32: Консоли в Windows (Consoles).
- Win32: Работа с реестром (Registry).
- Win32: Процессы и потоки (Processes and Treads).
- Win32: Управление энергосбережением (Power Management).
- Win32: Синхронизация процессов (Synchronization).
- Win32: Обработка исключений (Structured Exception Handling).
- Win32: Локальный обмен данными (DDEML).
- Win32: Механизмы межпроцессных взаимодействий (IPC).
- Win32: Обмен данными на сети (Network DDE).
- Win32: Доступ к системе (Accessibility).
- Win32: Выгрузка системы (System Shutdown).
- Win32: Получение сведений о системе (System Information).
- Win32: Оконные интерфейсы (Windows Station and Desktops).
- Win32: Интерфейс интерпретатора команд (Shell Library).
- Win32: Хранитель экрана (Screen Saver).
- Win32: Отображение файлов (File Mapping).
- Win32: Работа с файлами (Files).
- Win32: Протоколирование событий (Event Logging).
- Win32: Динамически загружаемые библиотеки (DLL).
- Win32: Низкоуровневый ввод-вывод (Device Input and Output).
- Win32: Управление памятью (Memory Management).
- Win32: Отладка (Debugging).
- Win32: Сжатие данных (Data Decompression Library).
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ КОМПЬЮТЕРНЫХ ПРОГРАММ
- Система программирования Microsoft Visual C++ 6.x.
- Система программирования Borland C++ 3.1, 5.x.
- Система программирования Inprise C++ Builder 5.x.
- Система электронной справочной документации MSDN.
ЛИТЕРАТУРА
Основная
- Бек Л. Введение в системное программирование. – М.: Мир,1988.
- Дьяконов В.Ю., Китов В.А., Калинчев И.А. Системное программирование: Учебн. пособие для втузов /Под ред. А.Л. Горелика. – М.: Высш. шк., 1990.
- Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си. – М.: Финансы и статистика, 1992.
- Рихтер Дж. Windows для профессионалов: создание эффективных Win32-приложений с учетом специфики 64-разрядной версии Windows NT: Пер. с англ. – СПб.: Питер; М.: Изд. дом “Русская редакция”, 2001.
Дополнительная
- Абель П. Язык ассемблера для IBM PC и программирования. – М.: Высш. шк., 1992.
- Болски М.И. Язык программирования Си: Справочник. – М.: Радио и связь, 1988.
- Голуб А.И. C и C++. Правила программирования. –М.: БИНОМ, 1996.
- Гук М., Юров В. Процессоры Pentium 4, Athlon и Duron. – СПб.: Питер, 2001.
- Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. – М.: Финансы и статистика, 1991.
- Иванчиков А.А., Ревотюк М.П. Лабораторный практикум по курсу "Системное программирование". – Мн.: БГУИР, 1995.
- Касаткин А.И., Вальвачев А.Н. Профессиональное программирование на языке Си: От Turbo-C к Borland C++: Справ. пособие. – Мн.: Выш. шк., 1992.
- Касаткин А.И. Профессиональное программирование на языке Си: Управление ресурсами: Справ. пособие. – Мн.: Выш. шк., 1992.
- Лазаревич Э.Г., Хорошавина Г.Ф. Аппаратурные и программные средства профессиональных персональных ЭВМ: Справ. пособие. – Мн.: Выш. шк., 1991.
- Касаткин А.И. Профессиональное программирование на языке Си: Системное программирование. – Мн.: Выш. шк., 1993.
- Лисков Б., Гатэг Дж. Использование абстракций и спецификаций при разработке программ: Пер. с англ. – М.: Мир, 1989.
- Липаев В.В. Проектирование программных средств. – М.: Высш. шк., 1990.
- Скляров В.А. Программное и лингвистическое обеспечение персональных ЭВМ: Системы общего назначения: Справ. пособие. – Мн.: Выш. шк., 1992.
- Скляров В.А. Программное и лингвистическое обеспечение персональных ЭВМ: Новые системы: Справ. пособие. – Мн.: Выш. шк., 1992.
- Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера. – М.: Радио и связь, 1989.
- Уэйт М., Прата С., Мартин Д. Язык Си. Руководство для начинающих. – М.: Мир, 1988.
- Юлин В.А., Булатова И.Р. Приглашение к Си. – Мн.: Выш. шк., 1990.
- Ревотюк М.П. Системное программирование. Ч.1:. Язык системного программирования С: Конспект лекций. – Мн.: БГУИР, 1999.
- Ревотюк М.П. Системное программирование. Ч.2: Применение языка программирования С: Конспект лекций. –Мн.: БГУИР, 2000.