МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

государственный университет имени Шакарима города Семей

Документ СМК 3 уровня

УП КВ

УП КВ

042 – 34.1.38 / 01-2016 

УЧЕБНАЯ ПРОГРАММА компонента по выбору

Редакция № 1

от.  _09.06.2016 г.



УЧЕБНАЯ ПРОГРАММА

компонента по выбору

Системное программирование
«5В060200 - Информатика»

Кафедра Информатики и информационных технологий

Курс __4________________________________________

Количество кредитов__3__________________________

Всего часов__135________________________________

Лекций _15_____________________________________

Практические занятия  _30________________________

Лабораторные занятия__-_________________________

СРО_67,5_______________________________________

СРСП_22,5______________________________________

Экзамен  ___8_______ семестр

Семей  2016

Предисловие

1 РАЗРАБОТАНО

Составитель

  _____________  «08.06»2016 г.

Ф. И.О.,  подпись

Магистр естественных наук, старший преподаватель                                                                                        

2 ОБСУЖДЕНО

2.1 На заседании кафедры «________________________»

Протокол от «__08__» _____06_____ 2016 года, №11.

Заведующий кафедрой ______________ подпись

НЕ нашли? Не то? Что вы ищете?

2.2 На заседании учебно-методического бюро _____________ факультета

Протокол от «_09__» __06_____ 2016 года, №6.

Председатель ______________ подпись

3 УТВЕРЖДЕНО

Одобрено и рекомендовано к изданию на заседании Учебно-методического совета университета

Протокол от «_09_» __06___ 2016 года, № 6.

Председатель УМС, проректор по учебно-методической работе

______________ подпись

ВВЕДЕНО ВПЕРВЫЕ

Содержание


Пояснительная записка Введение Основные разделы дисциплины Перечень тем лабораторных (практических), семинарских занятий Перечень тем самостоятельной работы обучающегося Список рекомендуемой литературы
Пояснительная записка

Учебная программа по дисциплине «Системное программирование», предназначена для студентов специальности 5В060200 – Информатика.

Дисциплина "Системное программирование" рассматривает вопросы программирования для расширения функций ОС и построения приложений с использованием возможностей ОС. Для этого необходимо знание ОС, как внешнее (outsight), так и внутреннее (insight). Внешнее знание – это знание оболочки и системных функций. Внутреннее – знание того как устроена функциональность внутри системы, как связаны подсистемы и как все это работает. Программирование компонент системы  ведется на ассемблере или С.

1.1 Цель дисциплины

Дисциплина «Системное программирование» ставит своей целью приобретение студентами основополагающих знаний об основных теоретических и практических аспектах системного программирования на уровне разработки программ, позволяющих с наименьшими затратами получать современные программы со сложной логической структурой.

1.2 Задачи дисциплины

В результате изучения дисциплины студенты должны получить систематизированные знания о составе и принципах управления ВМ, системами и сетями, о назначении составных частей операционных систем, принципах функционирования различных элементов операционных систем и их взаимодействии, порождении и отработки процессов в системе.

1.3 Компетенции (результаты обучения)

В результате изучения дисциплины студент должен:

    отчетливо понимать основные концепции системного  программирования; уметь разрабатывать программы, охватывающие вопросы системного программного обеспечения;

знать:

    основы построения и архитектуру ЭВМ; принципы построения современных операционных систем и особенности их применения; технологии разработки алгоритмов и программ, методов отладки и решения задач на ЭВМ в различных режимах, основы объектно-ориентированного подхода к программированию;

уметь:

    настраивать конкретные конфигурации операционных систем; ставить задачу и разрабатывать алгоритм ее решения, использовать прикладные системы программирования, разрабатывать основные документы, работать с современными системами программирования, включая объектно-ориентированные;

иметь навыки:

    навыками работы с различными операционными системами и их администрирование; языками процедурного и объектно-ориентированного программирования, навыками разработки и отладки программ не менее чем на одном из алгоритмических процедурных языков программирования высокого уровня.

2. Введение

Общая трудоемкость дисциплины составляет  3 кредита (135 часов), в том числе лекционные занятия – 0,5 кредита (15 часов), практические занятия – 1 кредита (30 часов). На самостоятельную работу обучающихся отводится -1,5 кредита (90  часов).

Дисциплина "Системное программирование" рассматривает вопросы программирования для расширения функций ОС и построения приложений с использованием возможностей ОС. Для этого необходимо знание ОС, как внешнее (outsight), так и внутреннее (insight). Внешнее знание – это знание оболочки и системных функций. Внутреннее – знание того как устроена функциональность внутри системы, как связаны подсистемы и как все это работает. Программирование компонент системы  ведется на ассемблере или С.

3. Основные разделы дисциплины


Основные понятия и определения. Программы и программное обеспечение. Системное программирование. Этапы подготовки программы. Ассемблеры. Программирование на языке Ассемблера. Регистры. Сегментные регистры: CS, DS, SS и ES. Регистры общего назначения: AX, BX, CX и DX. Регистровые указатели: SP и BP. Индексные регистры: SI и DI. Регистр командного указателя: IP. Флаговый регистр. Назначение флаговых битов. Арифметические операции. Обработка двоичных данных. Команды обработки строк. Свойства операций над строками. REP: Префикс повторения цепочечной команды. MOVS: Пересылка строк. LODS: Загрузка строки. STOS: Запись строки. CMPS: Сравнение строк. SCAS: Сканирование строк. Сканирование и замена. Альтернативное кодирование. Дублирование образца Обработка таблиц. Определение таблиц. Прямой табличный доступ. Свойства операторов работы с экраном. Команда прерывания INT. Установка курсора. Очистка экрана. Расширенные возможности экранных операций. Расширенный ASCII код. Другие операции ввода/вывода. Функциональные клавиши. Скэн-коды. Цвет и графика. Требования языка. Комментарии в программах на Ассемблере. Формат кодирования. Команда. Операнд. Директивы. Ввод и выполнение программ. Ассемблирование программы. Двухпроходный Ассемблер. Компоновка программы. Выполнение программы. Файл перекрестных ссылок. Алгоритмы работы Ассемблеров. Логика и организация программы. Команда JMP. Команда LOOP. Флаговый регистр. Команды условного перехода. Знаковые и беззнаковые данные. Команды сдвига. Команды циклического сдвига. Организация программ Компоновка программ. Межсегментные вызовы. Компоновка программ на языке С и Ассемблере. Выполнение COM-программы. Выполнение EXE-программы. Функции загрузки и выполнения программы. Выполнение программ. Начинаем работать. Определение данных. Машинная адресация. Четная адресация. Определение размера памяти. Специальные средства отладчика. Сохранение программы из отладчика Макросредства. Простое макроопределение. Использование параметров в макрокомандах. Комментарии. Использование макрокоманд в макроопределениях. Использование библиотек макроопределений. Директива очистки. Конкатенация (&). Макропроцессоры. Основные понятия. Сравнение макросредств и подпрограмм. Некоторые возможности Макроязыка. Локальные переменные макроопределения. Структуры данных Макропроцессора. Алгоритм работы Библиотеки макроопределений. Структурный Ассемблер. Объектно-ориентированный Ассемблер. Переносимый машинный язык Загрузчики и редакторы связей. Основные понятия. Настраивающие Формат объектного модуля. Алгоритм работы Непосредственно Связывающего Загрузчика Кросс-системы. Вычислительные системы. Модель регистров. Модель оперативной памяти. Модель процессора. Время. Система прерываний. Ввод-вывод. Взаимодействие с человеком-оператором Ошибки программирования. Классификация ошибок программирования. Смешивание регистров и пар регистров. Смешивание адресов и данных. Использование неверных форматов. Неправильная работа с массивами. Неучет неявных эффектов. Ошибки при задании необходимых начальных условий для отдельных программ. Неправильная организация программы. Распознавание ошибок Ассемблером. Распространенные ошибки в драйверах ввода-вывода. Распространенные ошибки в программах прерывания. Введение в макроассемблер Состав пакета. Общие сведения. Сегментация программы. Условные директивы. Директивы условной генерации ошибок. Макросредства. Макродирективы. Скалярные данные. Записи. Структуры. Описание символических имен. Директивы управления файлами. Управление листингом. Арифметические инструкции. Инструкции обработки бит

4. Перечень тем лабораторных (практических), семинарских занятий

Работа с символьными строками. Представление в памяти массивов и матриц Проверка оборудования Управление клавиатурой Управление таймером 6.Управление видеоадаптером Главная загрузочная запись Дисковые структуры данных DOS Управление программами

5. Перечень тем самостоятельной работы обучающегося

Консольные программы. Обработка событий клавиатуры и мыши. Основные понятия; Режим пользователя и режим ядро; Драйверы WINDOWS; Одноуревневые и многоуровневые  драйверы Контекст потока. Уровень прерываний запросов; Driver Development Kit; Простые драйверы; Простой драйвер режима ядра.
Список рекомендуемой литературы и интернет-ресурсы Основная литература Системное программирование. Полный курс лекций с  теоретическими материалами и лабораторными работами, 2003.  - 512 с. Разработка математического и программного обеспечения идентификации пользователя по управлению манипулятором: Автореферат /Риф, В. Н. - 2010 , Системное программное обеспечение: Учебник для вузов - СПб: Питер, 2003. - 736 с.: ил. овременные операционные системы, 2-е изд.: Пер. с англ. - СПб: Питер, 2003. - 1040 с.: ил. истемное программирование в Windows 2000 для профессионалов - СПб: Питер, 2003. - 624 с.: ил. Основы технологии разработки программных продуктов /Гагарина, Л. Г. - 2006 истемное программирование в среде Win32, 2-е изд.: Пер. с англ. - M.: Издательский дом "Вильямс", 2001. - 464 с.: ил. Рихтер Дж. Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows, 4-е изд.: Пер, англ - СПб: Питер; М.: Издательско-торговый дом "Русская Редакция", 2001. - 752 с.; ил. Дополнительная литература Системное программирование /Дж. Донован. - 1975 Основы алгоритмизации алгоритмические языки и системное программирования. Задачник /Морозов, В. П. – 1994 Системное обеспечение пакетов прикладных программ /; ., ., под ред. - 1990 Основы алгоритмизации алгоритмические языки и системное программирования. Задачник: учеб. пособие /Морозов, В. П. - 1994 Интернет-ресурсы Электронная версия книги Solomon D., Russinovich M. Inside Microsoft Windows 2000 : Microsoft Press, 2000. - Электронная версия книги Brain M., Reeves R. Win32 System Services: The Heart of Windows 98 and Windows 2000 : Prentice Hall PTR, 2000 Электронная версия книги Oney W. Programming the Microsoft Windows Driver Model : Microsoft Press, 1999

Ф ДП 042-1.09-2016-03 

Форма протокола соответствия силлабуса

ПРОТОКОЛ СООТВЕТСТВИЯ

учебно-методического комплекса дисциплины

Протокол соответствия №        от        20        г.



Кафедра Информатики и информационных технологий        

(наименование кафедры)

Индекс и наименование силлабуса_____________________________________

____________________________________________________________________                

Отметка об изменении        

       

  Преподаватель                 Ф. И.О.___________________________________

(подпись)

Результаты оценки соответствия:

Соответствует ГОСО…., типовой,  учебной программе по специальности, 5В060200-Информатика и рекомендуется к использованию в  2016/2017 учебном году.

Обсуждено на заседании кафедры, протокол №11        от 01.01.2001 г.

Заведующий кафедрой  __________________ 

  (подпись)

Обсуждено на заседании учебно-методического бюро факультета,

протокол № 6  от 01.01.2001 г.

Председатель УМБ факультета  ______________ 

  (подпись)