Министерство образования и науки Республики Казахстан Карагандинский государственный технический университет
«Утверждаю»
Председатель Ученого совета, ректор, академик НАН РК Газалиев А.М.
_______________________
«____» _________ 200___г.
ПРОГРАММА ОБУЧЕНИЯ ПО ДИСЦИПЛИНЕ ДЛЯ СТУДЕНТА (SYLLABUS)
по дисциплине «Системное программирование»
для студентов специальности 050704 – «Вычислительная техника и программ- ное обеспечение»
Факультет – «Информационных технологий»
Кафедра – «Автоматизированных информационных систем»
2009
Предисловие
Программа обучения по дисциплине для студента (syllabus) разработана:
Садановой Б.М.
Обсуждена на заседании кафедры «Автоматизированных информационных си- стем»
Протокол № _______ от «____»______________2009 г.
Зав. кафедрой ________________ «____»____________2009 г.
(подпись)
Одобрена методическим бюро факультета информационных технологий Протокол № ________ от «_____»_____________2009 г.
Председатель ________________ «____»____________ 2009 г.
(подпись)
Сведения о преподавателе и контактная информация Ф.И.О. Саданова Бакытгуль Маратовна
Ученая степень, звание, должность старший преподаватель
Кафедра АИС находится в главном корпусе КарГТУ (Б.Мира, 56), ауди- тория 301, контактный телефон 56-59-35 доб. 254.
Трудоемкость дисциплины
Семестр Количество кредитов Вид занятий
Коли- чество
часов СРС
Общее количе- ство ча-
сов
Форма кон- троля количество контактных часов количе-
ство ча- сов СРСП
всего ча- сов лек-
ции
практиче- ские занятия
лаборатор- ные занятия
4 3 15 15 15 45 90 45 135
Курсо- вой про-
ект
Характеристика дисциплины
Дисциплина «Системное программирование» входит в цикл базовых дис- циплин (компонент по выбору) государственного общеобязательного стандарта образования по специальности.
Цель дисциплины
Целью изучения данной дисциплины является изучение теоретических ос- нов построения и практического использования системного программного обеспечения как эффективного средства обработки данных в ЭВМ.
Задачи дисциплины
Задачи дисциплины следующие: обучение студентов систематизирован- ным представлениям о принципах, методах и средствах реализации СПО ЭВМ, вычислительных систем и сетей; приобретение практических навыков работы с СПО ПЭВМ, необходимых при проектировании программных систем.
В результате изучения данной дисциплины студенты должны:
иметь представление об основных компонентах системного программ- ного обеспечения;
знать процессы функционирования систем и способы их описания, осо- бенности использования ресурсов программно-технических комплексов; спо-
собы формального описания языков программирования, организацию трансля- торов, ассемблеров, загрузчиков, редакторов связей и микропроцессоров, язык системного программирования СИ ++.
уметь ставить и решать конкретные задачи по применению средств СПО ЭВМ и сетей для организации процессов обработки информации в программ- ных системах; выбирать оптимальную структуру данных при разработке ком- понентов системного программного обеспечения; уметь пользоваться языком Ассемблера при реализации компьютерных систем обработки информации и управления;
приобрести практические навыки по разработке алгоритмов работы основ- ных компонентов системного программного обеспечения и реализации этих ал- горитмов с помощью современных языков программирования.
Пререквизиты
Для изучения данной дисциплины необходимо усвоение следующих дис- циплин (с указанием разделов (тем)):
Дисциплина Наименование разделов (тем)
1 Информатика Программное обеспечение персонального
компьютера.
2 Программирование на ал- горитмических языках
Типы данных.Процедуры и функции.
3 Технологии программи- рования
Принципы объектно-ориентированного программирования.
4 Современные средства и методы создания ПО
Разработка структуры программы и мо- дульное программирование.
Постреквизиты
Знания, полученные при изучении дисциплины «Системное программное обеспечение», используются при освоении следующих дисциплин:
1 Проектирование программного обеспечения 2 Операционные системы
3 Интернет-технологии
Тематический план дисциплины Наименование раздела, (темы)
Трудоемкость по видам занятий, ч.
лек- ции
практи- ческие
лабора- торные
СРС
П СРС
1 Определение и структура систем- 1 1
ного программного обеспечения
2 Этапы подготовки программы 1 1
3 Операционные системы 1 2
4 Трансляторы
4.1 Основные понятия компиляции.
Общая схема компилятора 1 1
4.2 Лексический анализатор 1
4.3 Алгоритм работы сканера 2 3 1
4.4 Формальная грамматика 1 1
4.5 Запись грамматики языка про- граммирования с помощью формы Бекуса – Наура
2 3 1
4.6 Синтаксический анализатор 1 1
4.7 Нисходящий метод грамматиче-
ского разбора 2 3 3
4.8 Восходящий метод грамматиче-
ского разбора 2 3 3
4.9 Генерация кода. Машинно-
зависимая оптимизация кодов 2 1
4.10 Промежуточные формы пред- ставления программы. Обратная польская запись
2 3 1
4.11 Промежуточные формы пред-
ставления программы. Четверки 2 3 1
4.12 Интерпретаторы. Компиляторы
на Р- код 1
5 Макропроцессоры
1
6 Загрузчики и редакторы связей 1
7 Язык Ассемблера 1 2 3 2
8 Особенности архитектуры микро- процессора.
8.1 Архитектура микропроцессора.
Режимы работы микропроцессора 1
8.2 Регистры микропроцессора. Ад-
ресация 1 1 2
8.3 Система прерываний микропро-
цессора 1 1
8.4 Работа системы прерываний в
различных режимах 1 1
9 Использование функций API со-
временной открытой ОС 3 2
10 Язык программирования C++
10.1 Изучение интегрированной сре-
ды Visual C++ 6.0 1 1
10.2 Основные конструкции языка С++. Линейные и разветвляющиеся программы. Циклы
2 3 2
10.3 Ввод-вывод в языке С++ 3
10.4 Строки и файлы 4 1 3
10.5 Структуры, массивы структур.
Объединения 4 2 3
10.6 Указателями и операции с адре-
сами 3 1
10.7 Организация функций в языке
С++ 3
10.8 Управление памятью в С++. Ди-
намические переменные и массивы 3
10.9 Cсылки. Препроцессорная обра-
ботка программ 1
10.10 Перегрузка и шаблоны функ-
ций 4 3
10.11 Класс: тип данных, определен-
ный программистом 3 3
ИТОГО: 15 15 15 45 45
Перечень практических (семинарских) занятий 1 Построение сканера
2 Запись грамматики языка программирования с помощью формы Бекуса – Наура
3 Нисходящий метод грамматического разбора
4 Восходящий метод грамматического разбора
5 Промежуточные формы представления программы. Обратная польская запись
6 Промежуточные формы представления программы. Четверки 7 Язык Ассемблера
8 Регистры микропроцессора. Адресация.
Перечень лабораторных занятий
1 Изучение интегрированной среды Visual C++ 6.0.
2 Основные конструкции языка С++. Линейные и разветвляющиеся про- граммы. Циклы.
3 Строки и файлы 4 Структуры
5 Перегрузка и шаблоны функций Тематика курсового проекта (работ)
Разработка транслятора с входного языка программирования высокого уровня, порождающего объектный код для ЭВМ.
Тематический план самостоятельной работы студента с преподавателем
Наименование темы СРСП
Цель заня- тия
Форма проведения
занятия
Содержание за- дания
Реко- мендуе-
мая ли- тература Тема 4.3 Алгоритм
работы сканера
Углубле- ние знаний по данной теме
Выполне- ние упраж-
нений
Создайте про- грамму, реали- зующую работу
сканера
[1,17,18]
Тема 4.5 Запись грамматики языка программирования с помощью формы Бе- куса – Наура
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Опишите грам- матику языка программирова-
ния с помощью формы Бекуса –
Наура
[1,17,18]
Тема 4.7 Нисходя- щий метод грамма-
тического разбора Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Спроектируйте синтаксический
анализатор, ос- нованный на нисходящем ме- тоде грамматиче-
ского разбора
[1,17,18]
Тема 4.8 Восходя- щий метод грамма- тического разбора
Углубле- ние знаний
по данной
Выполне- ние упраж-
нений
Спроектируйте синтаксический
анализатор, ос-
[1,17,18]
теме нованный на восходящем ме- тоде грамматиче-
ского разбора Тема 4.10 Промежу-
точные формы пред- ставления програм- мы. Обратная поль- ская запись
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Создайте про- грамму перевода
арифметических выражений в форму обратной польской записи
[2,15]
Тема 4.11 Промежу- точные формы пред- ставления програм- мы. Четверки
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Создайте про- грамму перевода
арифметических выражений в форму четверок
[2,15]
Тема 7 Язык Ассем- блера
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения №
1,3,5,7,9,14,15 [7 ] Тема 9 Использова-
ние функций API современной откры- той ОС
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения [36
Стр.17,22,42,70]
[36]
Тема 10.3 Ввод- вывод в языке С++
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения [32
стр.317,322,327]
[32]
Тема 10.4 Строки и файлы
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения [32 стр.328,330,332,3 35351,474]
[32]
Тема 10.5 Структу- ры, массивы струк-
тур. Объединения Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения [32 стр.488,492,507,5
12]
[32]
Тема 10.6 Указате- лями и операции с адресами
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения [32
стр.512,515,517,5 21]
[32]
Тема 10.7 Организа- Углубле- Выполне- Упражнения [32]
ция функций в языке С++
ние знаний по данной
теме
ние упраж- нений
[32 стр. 476, 480]
Тема 10.8 Управле- ние памятью в С++.
Динамические пере- менные и массивы
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения
[32 стр.530,535] [32]
Тема 10.11 Класс:
тип данных, опреде- ленный программи- стом
Углубле- ние знаний
по данной теме
Выполне- ние упраж-
нений
Упражнения [32
стр.372,378,384]
[32]
Темы контрольных заданий для СРС
1. Классификация программ системного программного обеспечения по функциональному назначению и характеру исполнения.
2. Системы программирования 3. Этапы создания программ 4. Классификация трансляторов 5. Кросс-системы
6. Основные принципы построения операционных систем.
7. Классификация ОС
8. Системы пакетной обработки, системы разделения времени и системы реального времени
9. Алгоритм планирования и диспетчеризации задач.
10. Фазы процесса трансляции
11. Однопроходные и многопроходные трансляторы
12. Алгоритм «сдвиг-свертка» для распознавания предложения исходного текста
13. Алгоритм рекурсивного спуска для распознавания предложения ис- ходного текста
14. Уровни проектирования промежуточных кодов
15. Минимизирующие и дополнительные критерии оптимизации.
16. Формы задания параметров макроязыка
17. Структуры данных, предназначенные для обработки каждого макро- вызова
18. Настраивающие загрузчики
19. Непосредственно связывающие загрузчики 20. Формат объектного модуля
21. Характеристики реального и защищенного режимов работы микро- процессора
Критерии оценки знаний студентов
Экзаменационная оценка по дисциплине определяется как сумма макси- мальных показателей успеваемости по рубежным контролям (60%) и итоговой аттестации (экзамен) (40%) и составляет значение 100% в соответствии с таб- лицей.
Оценка по буквенной си-
стеме
Цифровые эквиваленты
буквенной оценки
Процентное содержание усвоенных зна-
ний
Оценка по традиционной
системе А
А-
4,0 3,67
95-100
90-94 Отлично
В+
В В-
3,33 3,0 2,67
85-89 80-84 75-79
Хорошо
С+
С С- D+
D
2,33 2,0 1,67 1,33 1,0
70-74 65-69 60-64 55-59 50-54
Удовлетвори- тельно F
Z
0 0
30-49 0-29
Неудовлетвори- тельно
Оценка «А» (отлично) выставляется в том случае, если студент в течение семестра показал отличные знания по всем программным вопросам дисципли- ны, а также по темам самостоятельной работы, регулярно сдавал рубежные за- дания, проявлял самостоятельность в изучении теоретических и прикладных вопросов по основной программе изучаемой дисциплины, а также по внепро- граммным вопросам.
Оценка «А-» (отлично) предполагает отличное знание основных законов и процессов, понятий, способность к обобщению теоретических вопросов дисци- плины, регулярную сдачу рубежных заданий по аудиторной и самостоятельной работе.
Оценка «В+» (хорошо) выставляется в том случае, если студент показал хорошие и отличные знания по вопросам дисциплины, регулярно сдавал се- местровые задания в основном на «отлично» и некоторые на «хорошо».
Оценка «В» (хорошо) выставляется в том случае, если студент показал хо- рошие знания по вопросам, раскрывающим основное содержание конкретной темы дисциплины, а также темы самостоятельной работы, регулярно сдавал се- местровые задания на «хорошо» и «отлично».
Оценка «В-»(хорошо) выставляется студенту в том случае, если он хорошо ориентируется в теоретических и прикладных вопросах дисциплины как по аудиторным, так и по темам СРС, но нерегулярно сдавал в семестре рубежные задания и имел случаи пересдачи семестровых заданий по дисциплине.
Оценка «С+» (удовлетворительно) выставляется студенту в том случае, ес- ли он владеет вопросами понятийного характера по всем видам аудиторных за-
нятий и СРС, может раскрыть содержание отдельных модулей дисциплины, сдает на «хорошо» и «удовлетворительно» семестровые задания.
Оценка «С» (удовлетворительно) выставляется студенту в том случае, если он владеет вопросами понятийного характера по всем видам аудиторных заня- тий и СРС, может раскрыть содержание отдельных модулей дисциплины, сдает на «удовлетворительно» семестровые задания.
Оценка «С-» (удовлетворительно) выставляется студенту в том случае, ес- ли студент в течение семестра регулярно сдавал семестровые задания, но по вопросам аудиторных занятий и СРС владеет только общими понятиями и мо- жет объяснить только отдельные закономерности и их понимание в рамках конкретной темы.
Оценка «D+» (удовлетворительно) выставляется студенту в том случае, ес- ли он нерегулярно сдавал семестровые задания, по вопросам аудиторных заня- тий и СРС владеет только общими понятиями и может объяснить только от- дельные закономерности и их понимание в рамках конкретной темы.
Оценка «D» (удовлетворительно) выставляется студенту в том случае, если он нерегулярно сдавал семестровые задания, по вопросам аудиторных занятий и СРС владеет минимальным объемом знаний, а также допускал пропуски заня- тий.
Оценка «F» (неудовлетворительно) выставляется тогда, когда студент практически не владеет минимальным теоретическим и практическим материа- лом аудиторных занятий и СРС по дисциплине, нерегулярно посещает занятия и не сдает вовремя семестровые задания.
Оценка «Z» (неудовлетворительно) выставляется тогда, когда студент не владеет минимальным теоретическим и практическим материалом аудиторных занятий и СРС по дисциплине, пропустил более половины занятий и не пред- ставил вовремя семестровые задания.
Рубежный контроль проводится на 7, 14-й неделях обучения и складывает- ся исходя из следующих видов контроля:
Видкон- троля %-оесодер- жание Академический период обучения, неделя
Итого, %
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Посеща-
емость 1 * * * * * * * * * * * * * * * 15 Защита
лаб.работ 2,5 * * * * * 15
Теорет.
модуль 15 * * 30
Курсовой
проект 40 40
Всего по аттеста- ции
30 30 60
Итого 100
Политика и процедуры
При изучении дисциплины «Системное программирование» прошу соблю- дать следующие правила:
1 Не опаздывать на занятия.
2 Не пропускать занятия без уважительной причины, в случае болезни про- шу представить справку, в других случаях – объяснительную записку.
3 В обязанности студента входит посещение всех видов занятий.
4 Согласно календарному графику учебного процесса сдавать все виды кон- троля.
5 Пропущенные практические и лабораторные занятия отрабатывать в ука- занное преподавателем время.
6 Быть терпимыми, открытыми, откровенными и доброжелательными к со- курсникам и преподавателям.
Учебно-методическая обеспеченность дисциплины
Ф.И.О автора Наименование учебно- методической литературы
Издательство, год издания
Количество эк- земпляров В биб-
лио теке
на ка- ка- федре Основная литература
Гордеев А.В., Молчанов А.Ю.
Системное программное обеспечение.
СПб:Питер
,2001.- 736с. 5 1
Бек Л.. Введение в системное программирование
М.: Мир, 1994 -
448 с., 4 1
Дж.Донован. Системное программиро- вание.
М:Мир,1994
5 --
Ю.Л.Кетков, В.С.Максимов ,А.М.Рябов.
Введение в системное программирование на языке Ассемблера.
М.:Наука, 1989
3 --
Д.Кнут. Искусство программиро- вания для ЭВМ. Т.1-
Основные алгоритмы. Т.2.
Сортировка и поиск.
М.:Мир,1987
7 1
Ю.Ю. Громов, С.И. Титарен- ко.
Программирование на языке Си.
Тамбов,1995 г
3 2
Юров В.И. ASSEMBLER. СПб.:Питер,20
03. – 400 с. 8 3
Н.Олифер. Сетевые операционные системы.
М.,Мир, 1997
10 5
Кулаков В. Программирование на аппаратном уровне. Спе- циальный справочник .-
СПб :Питер,
2001.-496с.. 5 1 Жуков А. В. Ассемблер СПб. : БХВ-
Петербург, 2002.
3 2
Пол И. Объектно-
ориентированное про- граммирование с исполь- зованием С++. пер. англ.
КИЕВ : Нипф
"Диасофт
ЛТД", 1995. 4 1 Чан Т. Системное программиро-
вание на C++ для UNіX:
пер. с англ.
КИЕВ : BHV,
1999. 4 --
Королев Л.Н., Краснощеков П.С.
Системное программиро- вание и вопросы оптими- зации
М. : Мгу, 1987
3 --
Дополнительная литература А.Грис. Конструирование компи-
ляторов для цифровых вычислительных машин.
М.: Мир, 1988 -
544 с. 9 1
Льюис Ф. и др.
Теоретические основы проектирования компи- ляторов.
М.: Мир, 1989 –
656 6 1
Ф.Хопгуд. Методы компиляции. М.:Мир,1990 4 1 Одинцов И. О.
Александрес- ку А.
Профессиональное про- граммирование. Систем- ный подход
СПб. : БХВ- Петербург, 2002.
5 --
Янг М. Дж. Visual C++ 6: полное ру- ководство
Киев : BHV,
1999. 6 2
Гилберт С. Программирование на Visual C++ 6
Киев : Диа-
софт, 1999. 7 -- Холзнер С. VISUAL C++ 6: учеб. по-
собие. пер. с англ.
СПБ. : Питер,
2000. 10 2
Керниган Б., Ритчи Д.
Язык программирования Си.
М.: Финансы и статистика.
1992
12 --
Джехани Н. Программирование на языке Си.
М.: Радио и
связь, 1988. 6 --
Касаткин А.И. Профессиональное про- граммирование на языке Си.
Минск: Выс- шая шко- ла.1993.
5 --
Касаткин А.И., Вальва- чев А.Н.
Профессиональное про- граммирование на языке Си. От Turbo к Borland C++.
Минск: Выс- шая шко-
ла.1995. 7 --
Страуструп Б. Язык программирования С++.
2-е изд.: В 2 т.
Киев: Диа-
Софт, 1993. 15 -- Элллис М.,
Страуструп Б.
Справочное руководство по языку программирова- ния С++ с комментария- ми.
М.: Мир, 1992.
10 --
Ирэ,Пол. Объектно-
ориентированное про- граммирование с исполь- зованием С++.
Киев: Диа- Софт, 1995.
8 --
Подбельский В.В.
Язык Си++. М.: Финансы и статистика, 1995
6 1
Вайнер Р., Пинсон Л.С..
Си++ изнутри Киев: Диа-
Софт,1993 10 -- Румянцев П.
В.
Работа с файлами в Win32 API
М. : Горячая линия - Теле- ком, 2000.
8 --
Саданова Б.М. Системное программное обеспечение Электронный учебник Сертификат № 90
Караганда:
КарГТУ, 2004.
– 150с.
10 1
График выполнения и сдачи заданий по дисциплине
Вид кон- троля
Цель и содержа- ние задания
Рекоменду- емая литера-
тура
Продолжитель- ность выполне-
ния
Форма кон- троля
Срок сдачи
1 2 2 4 5 6
Посе- щае- мость
Усвоение мате- риала по темам лекций, практи-
ческих, лабора- торных занятий
[1..22], кон- спекты лек-
ций
15 недель Теку-
щий
На каж-
дом заня- тии Сдача
лабора-
Усвоение мате- риала по темам
[1,2,4,5,6,7,1
4, 15 недель Теку-
щий
На 3,6,9,1
торных работ
№№ 1- 5
лабораторных работ
15,16,22] 2,15
неде- лях
Теоре- тиче-
ский модуль
Проверка знаний по темам разде-
лов №№ 1-4
Весь пере- чень основ-
ной и до- полнитель- ной литера-
туры
0,5 контактных часа
Рубеж- ный
На 7 неделе
Теоре- тиче-
ский модуль
Проверка знаний по темам разде-
лов №№ 5-8
Весь пере- чень основ-
ной и до- полнитель- ной литера-
туры
0,5 контактных часа
Рубеж- ный
На 14 неделе
Курсо- вой проект
Проверка усвое- ния материала
дисциплины
Весь пере- чень основ-
ной и до- полнитель- ной литера-
туры
15 недель Итоговы
й
В пе- риод сессии
Вопросы для самоконтроля
1. Основные компоненты системного программного обеспечения?
2. Прикладное программное обеспечение представляет собой:
3. Какое из следующих понятий не относится к программному обеспече- нию?
4. Каковы основные части операционной системы?
5. Какие программы относят к управляющим программам операционной системы?
6. Какие программы можно отнести к обрабатывающим программам опе- рационной системы?
7. Что относится к функциям планировщика заданий?
8. Что представляют собой системы программирования?
9.К какому поколению относятся машинные языки?
10. К какому поколению относится язык ассемблера?
11.К какому поколению относятся алгоритмические языки высокого уров- ня?
12.Доступ к значениям структуры осуществляется следующим способом:
13.Для создания новых типов данных используют:
14.Для выделения динамической памяти используют :
15.Имеется описание: union znaki {int digit. double fl.char letter.}
union znaki fit.
Сколько байт памяти будет выделено под переменную fit:
16.Перечисляемый тип данных определяется ключевым словом:
17.Беззнаковый тип данных определяется ключевым словом:
18.Оператор форматного ввода данных:
19.Какой из символов преобразования задает восьмеричное число:
20.Какая из управляющих символьных констант переводит курсор на но- вую строку:
21.Какая из функций осуществляет чтение по одному символу с клавиату- ры:
22.Что означает следующая запись- b=&a : 23.Результатом операции a=5%2 является:
24.Открытие файла осуществляется командой:
25.Тип функции, не возвращающей значение, описывается ключевым словом:
26.Какая команда вызывает замену в последующем тексте названного"идентификатора" на текст "подстановка":
27.Оператор CONTINUE предназначен для:
28.Оператор GOTO предназначен для:
29.Описание двумерного массива имеет вид:
30.Операционная система (ОС) – это 31.Функции ОС:
32.Под ресурсом вычислительной системы понимают
33.Основными ресурсами вычислительной системы являются:
34.Управление ресурсами в вычислительной системе включает следующие задачи:
35.Планирование ресурса - это: