Програма (витяг) кредитного модуля "Програмування Системне програмування "



Скачати 176.74 Kb.
Дата конвертації16.04.2017
Розмір176.74 Kb.
РОБОЧА НАВЧАЛЬНА ПРОГРАМА (ВИТЯГ)

КРЕДИТНОГО МОДУЛЯ

“Програмування 3.Системне програмування



(назва та код кредитного модуля)

для напрямів підготовки (спеціальностей):



6.050201 “Системна інженерія”

(шифри та назви напрямів, спеціальностей)

заочна

(форма навчання)

Київ – 2012





І. ЗАГАЛЬНІ ВІДОМОСТІ

Кредитний модуль “Системне програмування” (СП) належить до навчального циклу “Математичної, природничо-наукової підготовки”, навчальної дисципліни “Програмування” (МПН 05).


Кредитний модуль “Системне програмування” є одним із фундаментальних при підготовці спеціалістів кваліфікації “Фахівець з інформаційних технологій” (3121), спеціальності “Комп’ютеризовані системи управління та автоматика” (7,8. 05020101), напряму підготовки “Системна інженерія” (6.050201 ), галузі знань “Автоматика та управління” (0502).
ІІ. РОЗПОДІЛ НАВЧАЛЬНОГО ЧАСУ



семестр / код
кредитного
модуля


Всього годин

Розподіл годин за видами занять

Кількість МКР

Вид індивідуального завдання

Семестрова

атестація

Лекції

Практичні
заняття


Семінарські
заняття


Лабораторні роботи

Комп’ютерний практикум

СРС

Всього

У тому числі
на виконання
індивідуального завдання


3/МНП 05.10-12

108

8

-

-

6




94

94

-

дкр

екз.

ІІІ. МЕТА І ЗАВДАННЯ КРЕДИТНОГО МОДУЛЯ

Вивчення курсу Системного програмування передбачає надбання студентами двох основних вмінь.

3.1 Першим вмінням є розробка системного програмного забезпечення (СПЗ). В якості базової МПС використана архітектура Intel x86 (32 розрядна). В якості базової ОС вибрана Windows XP. В якості базового периферійного пристрою для розробки програм обраний СОМ порт.

3.2 Другим вмінням є надбання студентами основ розробки драйверів для управління зовнішніми пристроями на базі вимог до компютерізованих систем управління.

3.3 В загальній структурі кредитного модуля виділяється три основних розділу.

3.3.1 Перший розділ – “Засоби розробки СПЗ. Розробка та налагодження програм мовою Асемблер” є основою для наступних двох розділів. В ньому вивіється мова Асемблера для розробки СПЗ і надаються основи мови С. Особлива увага приділяється режиму (Real address mode) мікропроцесора Intel архітектури х86.

3.3.2 Другий розділ – “Інтеграція зовнішніх пристроїв у ОбС” дає можливість наблизити навчальний процес безпосередньо до створення професійного СПЗ. Це здійснюється на прикладах розробки програм для управління нестандартними периферійними пристроями МПС. Розробка СПЗ здійснюється для сучасних ОС компанії Microsoft.  Підключення нестандартних пристроїв здійснюється з використанням СОМ порту (RS-232).

3.3.3 Третій розділ – “Драйвери для зовнішніх пристроїв обчислювальних систем” на базі отриманих знань, вмінь і навичок, що надбані у перших двох розділах, дає основи для розробки драйверів.

IV.ТЕМАТИЧНИЙ ПЛАН
IV.1. РОЗПОДІЛ НАВЧАЛЬНОГО ЧАСУ ЗА ТЕМАМИ

п/п


НАЗВИ РОЗДІЛІВ, ТЕМ

Розподіл за семестрами та видами занять

Всього


Лекції

Лаб. роботи

СРС



















1

РОЗДІЛ 1.  ЗАСОБИ РОЗРОБКИ СПЗ. РОЗРОБКА ТА НАЛАГОДЖЕННЯ ПРОГРАМ МОВОЮ АСЕМБЛЕР













1.1

Тема 1.1 Задачі, загальна структура і теми дисципліни. Основи розробки та налагодження програм мовою Асемблер. Архітектура процесора х86 (8086). Режими роботи процесора. Засоби розробки мови С, типи даних, оголошення змінних, покажчики.













1.2

Тема 1.2 Програмна модель мікропроцесорів Intel архітектури х86 у РРА. Основи процедурного програмування на Асемблері. Основні оператори мови С, препроцесор, конструкції для управління ходом програми. Основи функцій мови С.













1.3

Тема 1.3 Переривання. Засоби BIOS для системного програмування у РРА. Організація циклів у мові С, масиви, сортування масивів. Функції мови С.
















Лекція 1. Задачі, загальна структура і теми дисципліни. Основи розробки та налагодження СПЗ.

6,5

2




4,5




Питання 1. Задачі курсу „Системне програмування” та його зв’язок з іншими дисциплінами; огляд системного програмного забезпечення для МПС (ОбС).
















Питання 2. Огляд засобів для розробки системного ПЗ на Асемблері і мові С. Проста програма, основи архітектури Intel x86, основи програмної моделі архітектури х86, режими роботи процесора.
















Питання 3. Підготовка програм з використанням Асемблеру, асемблювання, компонування, налагодження й виконання.
















Питання 4. Розробка програми на С. Компіляція, компонування й налагодження.
















Питання 5. Типи даних мови С, оголошення змінних, покажчики.
















Лабораторна робота 1. Написання програми на Асемблері і на мові С для ОбС (або МПС) на базі архітектури Intel х86. Організація простого інтерфейсу командного рядку для користувача. Ввід чисельної інформації з консолі. Виконання арифметичних операцій і вивід даних на консоль підпрограми, функцій (для С).

14




2

12

2

РОЗДІЛ 2. ІНТЕГРАЦІЯ ЗОВНІШНІХ ПРИСТРОЇВ У ОБЧИСЛЮВАЛЬНУ СИСТЕМУ













2.4

Тема 2.4 Засоби для розробки СПЗ. Поняття кодування символів. Види кодування UNICODE ANSI. Угорська нотація. Етапи створення Win 32 Project. Визначення класу вікна, реєстрація вікна, стилі вікна, відображення вікна, цикл обробки подій віконна процедура. Основи структур в С.
















Лекція 2. Засоби для розробки СПЗ Win 32 Project. Визначення класу вікна, реєстрація вікна, стилі вікна, відображення вікна, цикл обробки подій віконна процедура. Основи структур в С.

6,5

2




4,5




Питання 1. Основи структур в С. Функції Win32 API. Визначення класу вікна, реєстрація вікна, стилі вікна, відображення вікна, цикл обробки подій віконна процедура.
















Питання 2. Основні функції для прийому і передача даних з використанням СОМ порту.













2.5

Тема 2.5. Особливості створення графічного інтерфейсу Win 32. Головне, системне, контекстне меню. Базові елементи управління. Повідомлення. Обробка повідомлень. Види і характеристики переферийних пристроїв. Шаблони функцій мови С, організація списків на мові С.













2.6

Тема 2.6. Процеси, потоки, віртуальний адресний простір. Способи обміну інформацією з СОМ портом. Функції для налаштування і управління СОМ портом. Розробка програм для управління СОМ портом з використанням Win 32. Бінарне дерево, реалізація на С.













2.7

Тема 2.7. Синхронізація, багатопоточність, хуки. Налаштування програми для управління СОМ портом. Основа управління драйверами в операційної системі. (На прикладі ОС Microsoft Windows).
















Лекція 3. Розробка програми з графічним інтерфейсом для управління СОМ портом. Налаштування СПЗ.

6,5

2




4,5




Питання 1. Процеси, потоки, віртуальний адресний простір.
















Питання 2. Налаштування програми для управління СОМ портом. Основа управління драйверами в операційної системі. (На прикладі ОС Microsoft Windows).
















Лабораторна робота 2. Створення системної програми, що реалізує управління СОМ портом. Процеси, потоки, віртуальний адресний простір. Реалізація типових алгоритмів на Асемблері. Налагодження системної програми.

14




2

12




РОЗДІЛ 3. ДРАЙВЕРИ ДЛЯ ЗОВНІШНІХ ПРИСТРОЇВ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ













3.8

Тема 3.8 Розробка драйверу режиму ядра. Порядок розробки, основні функції що застосовуються у драйвері і їх параметри.













3.9

Тема 3.9 Встановлення і завершальні етапи налаштування драйверу режиму ядра для операційної системи Windows.
















Лекція 4. Основи розробки драйверу режиму ядра для ОС Microsoft Windows. Основи налаштування драйверу режиму ядра для ОС Microsoft Windows.

6,5

2




4,5




Питання 1. Засоби налаштування для драйверів режиму ядра ОС Microsoft Windows.
















Питання 2. Технологія налаштування для драйверів режиму ядра ОС Microsoft Windows.
















Лабораторна робота 3. Розробка драйверу режиму ядра. Порядок розробки, основні функції що застосовуються у драйвері і їх параметри. Встановлення і завершальні етапи налаштування драйверу режиму ядра для операційної системи Windows.

14




2

12




Модульна контрольна робота

4







4




Підготовка до екзамену

36







36






















Всього

108

8

6

94


ІV.3. ЛАБОРАТОРНІ РОБОТИ


Курс лабораторних робіт призначений для закріплення знань, отриманих на лекціях; для набуття навичок розробки і налагодженні системного програмного забезпечення. При вивченні першого розділу для реалізації лабораторних робіт використовується Асемблер TASM (або MASM) для розробки програм. При вивченні 2, 3 розділу для реалізації лабораторних робіт використовується Microsoft Visual Studio 2010 (2012) і спеціалізовані засоби для розробки драйверів.

Далі надається приблизний перелік лабораторних робіт.



Розділ 1.  Засоби розробки СПЗ. Розробка та налагодження програм мовою Асемблер

2ПФД07 ПР.Р0101. Особливості, класифікація СПЗ для обчислювальних систем.

2ПФД07 ПР.Р0102. Програмна модель архітектури мікропроцесорів. Основи процедурного програмування на Асемблері.

Лабораторна робота 1. Написання програми на Асемблері і на мові С для ОбС (або МПС) на базі архітектури Intel х86. Організація простого інтерфейсу командного рядку для користувача. Ввід чисельної інформації з консолі. Виконання арифметичних операцій і вивід даних на консоль підпрограми, функцій (для С).

Розділ 2. Інтеграція зовнішніх пристроїв у обчислювальну систему
2ПФД07ПР.О0201. Використання особливостей архітектури ОС у системному програмуванні.

2ПФД07ПР.О0202. Використання високорівневих мов у системному програмуванні.

2ПФД07ПР.О0203. Етапи створення і налагодження системних програм для інтеграції нестандартних зовнішніх пристроїв у обчислювальну систему.

2ПФД07ПР.О0204. Основи програмного управління периферійними пристроями.



Лабораторна робота 2. Створення системної програми, що реалізує управління СОМ портом. Процеси, потоки, віртуальний адресний простір. Реалізація типових алгоритмів на Асемблері. Налагодження системної програми.

Розділ 3. Драйвери для зовнішніх пристроїв обчислювальних систем

2ПФД07ПР.О0205. Особливості реалізації драйверів.



Лабораторна робота 3. Розробка драйверу режиму ядра. Порядок розробки, основні функції що застосовуються у драйвері і їх параметри. Встановлення і завершальні етапи налаштування драйверу режиму ядра для операційної системи Windows.

ІV.6. ІНДИВІДУАЛЬНІ ЗАВДАННЯ

За бажанням студента і по узгодженню з викладачем, дозволяється надавати студентам індивідуальні завдання. Напрямок індивідуальних завдань наданий далі.

1. Реалізовувати лабораторні роботи на базі мови С (С++) для ОС Linux, або інших відомих ОС, у тому числі ОС реального часу. У цьому випадку, при належному оформленні робіт, студенту надаються додаткові бали.

2. Замість другого і третього етапів лабораторних робіт, по узгодженню з викладачем, виконувати нестандартні завдання щодо розробки СПЗ, розробки драйверів і ОС реального часу.

ІV.7. КОНТРОЛЬНІ РОБОТИ


Протягом семестру студенти денної форми навчання виконують одну модульну контрольну роботу.

Модульна контрольна робота здається одночасно з закінченням курсу лабораторних робіт. Вона призначена для закріплення пройденого матеріалу і визначення відносного рейтингу студентів. Приблизна тематика і зміст модульної контрольної роботи.

1. Завдання щодо основ Асемблеру х86 (мови С). Завдання щодо способів адресації, передачі управління і системи команд Асемблеру х86 (мови С).

2. Виконати дизасемблювання приведеного шістнадцятькового машинного коду.

3. Зробити асемблерування команди.

4. Завдання щодо розробки драйверів.

5. Написати програму на мові С.

VІІ. НАВЧАЛЬНО-МЕТОДИЧНІ МАТЕРІАЛИ


У локальній мережі кафедри знаходяться у електронному вигляді такі електронні розробки:

1. Конспект лекцій з дисципліни “Системне програмування” укл. А.О.Новацький.

2. Методичні вказівки до виконання лабораторних робіт з курсу “Системне програмування” укл. А.О.Новацький, М.А.Комар.

3. Питання для самоперевірки з дисципліни “Системне програмування” укл. А.О.Новацький.



Основна література.

1. http://www.intel.com/content/dam/www/public/us/en/documents/manuals

2. Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 1:Basic Architecture.

3. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1.

4. Зубков С.В. Assembler язык неограниченных возможностей. Асемблер для DOS, Windows и Linux. - M., "Диалектика", 2005 - 240 с.

5. Солтер Николас А., Клепер, Скотт Дж. С++ для профессионалов.Пер. с англ. – М.: ООО Вильямс, 2006. – 912 с.

6. Ольга Кокорева, Реестр Windows XP, - СПб.:БХВ-Петербург: 2003 - 560 с.

7. Солдатов В.П. Программирование драйверов Windows. Изд. 2-е, перераб. и доп. — М.: ООО "Бином-Пресс", 2004 г. — 480 с: ил.

8. Джеффри Рихтер, Windows для профессионалов: Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows. Пер. с англ. - 4 изд. - СПб.:Питер: М.:Издательство торговый дом "Русская редакция", 2001 - 752 с.

9. Сван Том Освоение Turbo Assembler: Пер. с англ.- 2-е изд.-К.; М.;СПб.: Диалектика, 1996.-544с.: ил.

10. Конспект лекцій з дисципліни «Системне програмування» укл. А.О.Новацький

11. Методические указания к выполнению курсовых проектов по дисциплине “Проектирование и применение микропроцессорных систем” для студентов специальности “Автоматика и управление в технических системах” /Сост. А.А. Новацкий, А.Н. Луценко, И.А. Богатырев. – К.: КПИ, 1990. – 64 с.


Додаткова література

1. Абель П. Язык Ассемблера для IBM PC и программирования / Пер. с англ. – М.: Высшая школа, 1992.

2. Alessandro Rubini, Jonatan Corbet, Linux Device Drivers, 2nd Edition, 562 pages 2nd edition (June 2001) O'Reilly & Associates; ISBN: 0596000081.

3. Art Baker, Jerry Lozano, Windows 2000 Device Driver Book, The: A Guide for Programmers. 500 pages Bk&Cd-Rom edition (December 15, 2000) Prentice Hall PTR; ISBN: 0130204315.

4. Alessandro Rubini, Jonatan Corbet, Linux Device Drivers, 2nd Edition, 562 pages 2nd edition (June 2001) O'Reilly & Associates; ISBN: 0596000081.

5. Art Baker, Jerry Lozano, Windows 2000 Device Driver Book, The: A Guide for Programmers. 500 pages Bk&Cd-Rom edition (December 15, 2000) Prentice Hall PTR; ISBN: 0130204315.

6. http://www.lynuxworks.com/

7. http://www.qnx.com/

8. Зыль С. Операционная система реального времени QNX: от теории к практике. 2-издание. – СПб.: БХВ-Петербург, 2004. – 192 с.: ил. ISBN 5-94157-486-Х.

9. Кёртен Р. Введение в QNX/Neutrino 2. — СПб.: Петрополис, 2001. – 512 с. ISBN 5-94656-025-9

10. Ослэндер Д. М., Риджли Дж. Р., Рингенберг Дж. Д. Управляющие программы для механических систем: Объектно-ориентированное проектирование систем реального времени. – М.: Бином. Лаборатория знаний, 2004. – 416 c. ISBN 5-94774-097-4

11. Золотарев С.В., LynxOS-178: операционная система реального времени нового поколения для авиации, Авиакосмическое приборостростроение, 8, 2005 г.

12. Scott Maxwell, Linux Core Kernel Commentary (Ядро Linux в комментариях), http://www.netlib.narod.ru/library/book0010/toc.htm .
Робоча навчальна програма складена на основі навчальної програми дисципліни “Системне програмування” для напрямів підготовки (спеціальностей): 6.050201 “Системна інженерія”, затвердженої деканом ФІОТ, д.т.н. Павловим О.А.

Розробник (и) програми



к.т.н., ст. викладач Катін П.Ю.



База даних захищена авторським правом ©lecture.in.ua 2016
звернутися до адміністрації

    Головна сторінка