СТО АлтГТУ 13.62.1.1120 - 2012 СТАНДАРТ ОРГАНИЗАЦИИ Система качества АлтГТУ

advertisement
СТО АлтГТУ 13.62.1.1120 - 2012
СТАНДАРТ ОРГАНИЗАЦИИ
Система качества АлтГТУ
Образовательный стандарт
высшего профессионального образования АлтГТУ
ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ
УЧЕБНОЙ ДИСЦИПЛИНЫ
Б.3.В.19 «Основы системного программирования»
230100 Информатика и вычислительная техника
ФГБОУ ВПО Алтайский государственный технический университет
им. И.И. Ползунова
I
СТО АлтГТУ 13.62.1.1120 - 2012
Предисловие
1) РАЗРАБОТАН кафедрой вычислительных систем и информационной безопасности
Алтайского государственного технического университета им. И. И. Ползунова.
2) Стандарт дисциплины разработан на основании ФГОС ВПО направления подготовки 230100 Информатика и вычислительная техника (квалификация (степень) "бакалавр"),
утвержденного 09 ноября 2009 г. (регистрационный номер 553).
3) Стандарт дисциплины «Основы системного программирования» по своему назначению, структуре и содержанию полностью соответствует требованиям УМКД.
4) ВВЕДЕН ВПЕРВЫЕ
II
СТО АлтГТУ 13.62.1.1120 - 2012
Оглавление
1 Область применения
1
2 Общие сведения о дисциплине. Паспорт дисциплины
1
2.1 Выписка из рабочего учебного плана ООП
1
2.2 Цели и задачи освоения дисциплины
2
2.3 Место дисциплины в структуре ООП направления
2
2.4 Требования к результатам освоения дисциплины
3
2.5 Объем и виды занятий по дисциплине
4
3 Рабочая программа дисциплины
5
3.1.2 Учебно-методическое и информационное обеспечение дисциплины
9
3.1.3 Формы и содержание текущей аттестации и промежуточной оценки по
дисциплине
10
3.1.4 Учебно – методические материалы по дисциплине
10
3.2 Условия освоения и реализации дисциплины
11
3.2.1 Методические рекомендации студентам по изучению дисциплины
11
3.2.2 Организация самостоятельной работы студента (СРС) по дисциплине;
11
3.2.3 Методические рекомендации преподавателю дисциплины;
11
3.2.4 Образовательные технологии
12
3.2.5 Особенности преподавания дисциплины
12
3.2.6 Материально-техническое обеспечение дисциплины
12
3.3 Лист согласования рабочей программы
13
ПРИЛОЖЕНИЕ А Методические указания по выполнению лабораторных работ по
дисциплине "Основы системного программирования"
14
ПРИЛОЖЕНИЕ Б Методические указания по выполнению расчетного задания по
дисциплине "Основы системного программирования "
31
III
ПРИЛОЖЕНИЕ В Тесты текущего контроля знаний по дисциплине
33
ПРИЛОЖЕНИЕ Г Тесты промежуточного контроля знаний по дисциплине
34
ПРИЛОЖЕНИЕ Д Памятка для студентов по изучению дисциплины
36
СТО АлтГТУ 13.62.1.1120 – 2012
Стандарт организации
___________________________________________________________________
Система качества АлтГТУ
Образовательный стандарт высшего
профессионального образования АлтГТУ
ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ
Введён впервые
УЧЕБНОЙ ДИСЦИПЛИНЫ
ОСНОВЫ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ
___________________________________________________________________
УТВЕРЖДАЮ
Начальник УМУ АлтГТУ
_________________ Н.П. Щербаков
(подпись)
Ф.И.О.
"____" _______________ 2012 г.
(число, месяц)
1 Область применения
1.1 Стандарт дисциплины устанавливает общие требования к содержанию, структуре,
объему дисциплины «Основы системного программирования» и условиям ее реализации в
АлтГТУ им И.И. Ползунова.
1.2 Действие стандарта распространяется:
 на студентов, обучающихся по специальности 230100 «Информатика и вычислительная техника»
 на преподавателей и сотрудников структурных подразделений, задействованных в
образовательном процессе по дисциплине.
2 Общие сведения о дисциплине. Паспорт дисциплины
2.1 Выписка из рабочего учебного плана ООП
Профессиональный цикл.
Вариативная дисциплина
№ п/п 19
Экзамен – 6 семестр
Расчетное задание – 6 семестр
Трудоемкость – 4 зачетных единицы
Всего часов – 144
Из них без СРС в период сессий – 108 часов
Аудиторные – 34 часа
1
СТО АлтГТУ 13.62.1.1120 – 2012
из них
лекции – 17 часов
лабораторные работы – 17 часов
СРС - 110 часов
в семестре – 74 часов
в период сессии – 36 часов
Кафедра ВСИБ
Компетенции: ОК-1, 6; ПК- 5,10
2.2 Цели и задачи освоения дисциплины
Целью дисциплины является усвоение теоретических основ функционирования системного программного обеспечения, получение практических навыков по разработке компонентов системных программ и использованию функций системного интерфейса в среде
низкоуровневого программирования с целью овладения компетенциями по разработке компонентов программных комплексов и сопряжению аппаратных и программных средств в
составе информационных и автоматизированных систем.
Достижение цели предполагает выполнение следующих задач:
- освоение базовых понятий архитектуры системного программного обеспечения,
включая программы обслуживания прерываний и ввода-вывода в многозадачных операционных системах, пользовательский интерфейс операционной среды;
- изучение и получение практических навыков разработки программного обеспечения,
использующего API-интерфейс, в среде низкоуровневого программирования;
- изучение принципов архитектуры и функционирования драйверов устройств.
2.3 Место дисциплины в структуре ООП направления
Дисциплина «Основы системного программирования» является дисциплиной из вариативной части профессионального цикла (Б3) образовательной программы бакалавра.
Опорой для изучения настоящей дисциплины являются дисциплины (пререквизиты)
«Информатика» (1 семестр), «ЭВМ и периферийные устройства» (2 семестр), «Операционные системы» (3 семестр).
Результаты освоения дисциплины являются входными параметрами (опорой) для изучения курсов (корреквизитов) «ЭВМ и периферийные устройства» (8 семестр), «Микропроцессорные системы» (7,8 семестры).
2
СТО АлтГТУ 13.62.1.1120 – 2012
2.4 Требования к результатам освоения дисциплины
В результате изучения дисциплины студенты должны обладать знаниями, умениями и
навыками, приведенными в таблице 2.1.
Таблица 2.1.
В результате изучения дисциплины
Код комобучающиеся должны:
петенции Содержание
по ФГОС компетенции
ВПО или (или ее части)
знать
уметь
владеть
ООП
владеет куль- основы логики
турой мышле- осуществлять
обслуживания
- способностью к
ния, способен к
поиск инфорпроцессов в опеанализу системных
обобщению,
мации по прорационной среде;
структур данных и
анализу, восблемам функОК-1
-понятие и струклогики функциониприятию инционирования
туру драйвера;
рования системного
формации, посистемного
-архитектуру
программного обесстановке цели
программного
подсистемы ввопечения
и выбору путей
обеспечения
да-вывода;
её достижения
способностью к переоценке накопленного опыта, анализу
своих возможностей,
- методы и средСтремится к
применять ме- готовностью приобства
получения
саморазвитию,
тоды и сред- ретать новые знания
информации
по
повышению
ства познания - навыками самостоОК-6
вопросам, касаюсвоей квалифидля професси- ятельной, индивидущимся системнокации и маонального ро- альной работы, спого программного
стерства.
ста
собностью приниобеспечения
мать решения в рамках своей профессиональной компетенции
- разрабатывать
приложения с
использовани- базовые понятия
Разрабатывать
ем системных
архитектуры сикомпоненты
функций опестемного пропрограммных
рационной среграммного обескомплексов и
ды;
печения
- технологией исбаз данных,
- разрабатывать
- принципы низпользования интериспользовать
алгоритмы для
ПК-5
коуровневого
фейсных функций
современные
обработки сипрограммироваоперационной среинструменстемных струкния с использовады;
тальные средтур данных;
нием
интерства и техноло-создавать
и
фейсных функций
гии програмиспользовать
операционной
мирования
библиотеки
среды;
динамической
компоновки.
3
СТО АлтГТУ 13.62.1.1120 – 2012
-современные
технические
и
программные
средства взаимодействия с ЭВМ;
-методы обработки
драйверами
запросов на вводвывод в многозадачных операционных системах
Сопрягать аппаратные и
программные
средства в составе информационных и
автоматизированных систем
ПК - 10
- разрабатывать
программное
обеспечение,
обрабатывающее системную
информацию
или осуществляющее
системные вызовы
- методикой обслуживания драйверами
запросов на вводвывод;
2.5 Объем и виды занятий по дисциплине
Паспорт дисциплины
Кафедра вычислительных машин и информационной безопасности
наименование кафедры, обеспечивающей преподавание дисциплины
Дисциплина
Б.3.В.19 «Основы системного программирования»
шифр с указанием цикла подготовки, наименование дисциплины
Статус дисциплины___________вариативная
________________________
(базовая, вариативная, вариативная по выбору, факультативная)
Направление специальностей 230100 Информатика и вычислительная техника (квалификация (степень) "бакалавр")__________________________________________
коды специальностей или направлений
Форма обучения_________________очная________________________________
очная, очно-заочная (вечерняя), заочная
Объем дисциплины_____________144 часа_______________________________
общий объем дисциплины, час.
Трудоемкость дисциплины 4 зачетных единицы
Номер семестра
Общий объём
Распределение по видам занятий
6
144
Учебные занятия
В том числе
Аудиторные
Всего
лекции
34
17
из них
лабораторные
работы
17
СРС
практические
занятия
-
110
Наличие курсовых проектов (КП), курсовых работ
(КР), расчетных заданий
(РЗ)
РЗ
Форма
промежуточной аттестации
(зачёт, экз.)
экзамен
4
СТО АлтГТУ 13.62.1.1120 – 2012
3 Рабочая программа дисциплины
3.1 Содержание дисциплины
3.1.1 Тематический план дисциплины
Лекции (17 часов; [1-12])
Модуль 1.
1. Архитектура системного программного обеспечения. Классификация системного программного обеспечения. Процессы и потоки, их представление в вычислительной
системе. (2 часа; [1,5,6]).
2. Ввод-вывод, управляемый прерываниями. Программирование на уровне портов-ввода-вывода. (4 часа; [1,9,12]).
Модуль 2.
3. Низкоуровневое программирование в операционной среде. Примеры обработки событий, связанных с мышью и клавиатурой. (4 часа; [2,6,9,11]).
4. Синхронный и асинхронный ввод-вывод. Функции управления файлами и каталогами ОС различных типов. (2 часа; [1,4,5,6,9,10]).
Модуль 3.
5. Архитектура подсистемы ввода-вывода ОС. Схема обработки запроса на вводвывод. (2 часа; [3,7,8]).
6. Многоуровневость драйверов. Драйвер как системная DLL. Основные функции,
включаемые в драйвер. Объекты «файл», «драйвер» и «устройство». Понятие IRP. Обработка запросов ввода-вывода одноуровневым и многоуровневым драйверами. (3 часа;
[3,7,8]).
Лабораторные работы (17 час.; [1-12)
Лабораторная работа № 1. Разработка программы обработки прерываний. (6 часов;
[1,9,12]).
Лабораторная работа № 2. Программирование обработки сообщений от клавиатуры и мыши. (4 часа; [2,6,9,11])
Лабораторная работа № 3. Создание DLL на примере функций графического интерфейса (4 часа) [2,6,9,11]
Лабораторная работа № 4. Функции управления файлами и каталогами (Windows,
Linux) (3 часа; [1,4,5,6,9])
Расчетное задание (46 час.; [1-12])
Выполнение расчетного задания предусмотрено в двух уровнях сложности в зависимости от подготовки студента. Первый уровень сложности позволяет студенту получить за
выполнение расчетного задания максимальный рейтинг 75 баллов, второй уровень позволяет получить до 100 баллов.
Задание первого уровня сложности предусматривает разработку приложения с реализацией оконных элементов управления. Задание второго уровня сложности включает
5
СТО АлтГТУ 13.62.1.1120 – 2012
ознакомление с архитектурой и c функциями драйвера устройства на примере драйвера
клавиатуры. Для самостоятельной работы используется документация, MSDN и среда
WDK, поставляемая дополнительно к Visual Studio.
Общие сведения, цель выполнения, организация выполнения, оформление отчета по
расчетному заданию приведены в Приложении Б.
Самостоятельная работа студентов (110 часов)
Целью самостоятельной работы студентов является закрепление знаний по изучаемым разделам дисциплины «Основы системного программирования». Координация самостоятельной учебной деятельности осуществляется преподавателем во время проведения
занятий и на консультациях. Текущий контроль освоения материала проводится в процессе
приема лабораторных работ.
Для самостоятельной работы используется литература и документация WDK. Самостоятельная учебная работа студентов предполагает подготовку к лекционным и лабораторным занятиям, выполнение расчетного задания. Для организации СРС используются регламентирующие и учебно-методические документы:
 график проведения и защиты лабораторных работ;
 формы отчетности;
 учебная программа дисциплины;
 учебные материалы;
 методические указания по выполнению лабораторного практикума;
 список рекомендуемой литературы;
 вопросы для самоконтроля.
Распределение часов СРС:
Подготовка к лекционным занятиям (1 час.х 8=8 час.; [1-12])
Подготовка к лабораторным работам и их защита (4*5 час.=20 час.; [1-12])
Выполнение расчетного задания (46 час.;[1-12]
Подготовка к экзамену (36 час.; [1-12])
Элементы творчества являются обязательными при выполнении лабораторных работ
по дисциплине. Студенты должны выполнить лабораторные работы по индивидуальному
варианту.
Индивидуальные задания предусматривают получение студентами навыков самостоятельной учебной деятельности в рамках требуемой тематики заданий.
Регулярные консультации (не реже 1 раза в неделю) и контроль за своевременной защитой лабораторных работ являются обязательным элементом организации учебного процесса по дисциплине в рамках СРС.
Таблица 3.1 - Наименование компетенций дисциплины
Код компетенции
Формулировка компетенции
ОК-1
владеет культурой мышления, способен к обобщению, анализу,
восприятию информации, постановке цели и выбору путей её
достижения
ОК-6
стремится к саморазвитию, повышению своей квалификации и
мастерства.
ПК-5
разрабатывать компоненты программных комплексов и баз
данных, использовать современные инструментальные средства и технологии программирования
ПК-10
сопрягать аппаратные и программные средства в составе информационных и автоматизированных систем
6
СТО АлтГТУ 13.62.1.1120 – 2012
Таблица 3.2 - Компонентный состав дисциплины
Модуль
Результаты освоения
дисциплины
дисциплины
(раздел, тема)
Модуль 1
Знает:
- понятие прерывания;
- аппаратные средства обслуживания прерываний;
- архитектуру IRQL и логику
обработки прерываний в 32-х
и 64-разрядных ОС;
- назначение прерываний DPC
и APC:
- низкоуровневую реализацию
обработки прерываний от
клавиатуры;
Модуль 2
Умеет:
- разрабатывать обработчик
прерывания от клавиатуры;
- использовать обработку
прерываний от таймера для
отслеживания временных
промежутков;
Владеет:
- навыками низкоуровневого программирования обработчика прерываний от
клавиатуры;
- навыками оформления и
представления результатов
решения задачи
Знает:
- структуру приложения и
функции обработки сообщений;
- основы функционирования графического интерфейса операционной среды;
Умеет:
- разрабатывать программы
с API-интерфейсом в низкоуровневой среде ;
Технологии
формирования
компетенций
Средства и
Объем
технологии оценки в ЗЕТ
Лекции с исЗащита лабораторпользованием
ной работы
мультимедийных Экзамен
средств.
Лабораторная
работа №1
Самостоятельная
работа
Лабораторная
работа 1
Самостоятельная
работа
Демонстрация
преподавателю
функционирования
разработанного
обработчика прерываний
Выполнение лабораторной работы 1
Защита лабораторной работы
Экзамен
Лекции с исЗащита лабораторпользованием
ных работ
мультимедийных Экзамен
средств.
Самостоятельная
работа
Лабораторные
работы 2, 3
Выполнение
расчетного задания
Самостоятельная
работа
1
2
Защита лабораторной работы
Защита расчетного
задания
7
СТО АлтГТУ 13.62.1.1120 – 2012
Модуль 3
Владеет:
- методами разработки программ с API-интерфейсом в
низкоуровневой среде;
- навыками оформления и
представления результатов
решения задачи
Знает:
- системные структуры
хранения информации о
файловой системе для различных ОС;
- структуру драйвера
устройства;
- понятие IRP и его структуру;
- методику обработки запроса на ввод-вывод;
- типы драйверов;
Умеет:
- использовать системные
функции для обработки
информации файловой системы;
- анализировать функции
драйвера;
Владеет:
- методами разработки программ для обработки информации файловой системы в низкоуровневой среде;
- методикой проектирования фильтрующего драйвера;
- навыками оформления и
представления результатов
решения задачи.
Выполнение лабораторных работ 2, 3 и расчетного задания
Защита лабораторной работы
Защита расчетного
задания
Экзамен
Лекции
Защита лабораторСамостоятельная ной работы
работа
Экзамен
Лабораторная
работа 4
Самостоятельная
работа
Выполнение
расчетного задания
Выполнение лабораторной работы 4
Самостоятельная
работа
Выполнение
расчетного задания
1
Защита лабораторной работы
Защита расчетного
задания
Экзамен
Защита лабораторной работы
Защита расчетного
задания
Экзамен
Матрица распределения компетенций по разделам и темам дисциплины
№темы/раздела Кол-во
учебной
часов
дисциплины
Модуль 1
6
Модуль 2
6
Модуль 3
5
Формируемые
компетенции
ОК-1, OK-6, ПК-5, ПК-10
ОК-1, OK-6, ПК-5, ПК-10
ОК-1, OK-6, ПК-5, ПК-10
Примечание
-
8
СТО АлтГТУ 13.62.1.1120 – 2012
3.1.2 Учебно-методическое и информационное обеспечение дисциплины
а) основная литература:
1. Аблязов, Р.З. Программирование на ассемблере на платформе х86-64. – СПб.: ДМКПРЕСС, 2011. – 304 с. – 20 экз. (заказ)
2. Ганеев, Р.М. Проектирование интерфейса пользователя средствами Win32 API:
[учеб. пособие для вузов].-М.: Горячая линия -Телеком, 2007.-357 с.: ил. Режим доступа http://elib.altstu.ru/elib/liter/Ganev_win32_api.zip
3. Пенни Орвик, Гай Смит. Windows Driver Foundation. Разработка драйверов. – Издво БХВ-Петербург, 2008. – 880 с. – 2 экз.
4. Роберт Лав. Linux. Системное программирование. – СПб.:«Питер», 2008. – 416 с.- 1
экз.
б) дополнительная литература:
5. Гордеев А.В., Молчанов А.Ю.. Системное программное обеспечение.- СанктПетербург: 2002.- 736 с. - 5 экз.
6. Харт Дж. Системное программирование в среде Win32. – М.: Вильямс, 2001. – 464 с.
– 30 экз.
7. Солдатов В.П. Программирование драйверов под Windows. – Изд-во БИНОМПРЕСС, 2006. – 576 с. – 1 экз.
в) программное обеспечение и Интернет-ресурсы:
8. http://www.microsoft.com/whdc/ddk/winddk.mspx
9. http://wasm.ru
10. www.linuxcenter.ru
Для проведения лабораторных работ требуются технические средства, включающие
персональные компьютеры, объединенные в локальную вычислительную сеть. Состав программного обеспечения:
1.
Операционная система Windows XP.
2.
Среда Visual Studio.
3.
Операционная система Linux.
4.
CNU C
5.
MASM32 или FASM
г) методические указания студентам:
11. Сучкова, Л.И. Win32 API: основы программирования: учебное пособие /
Л.И.Сучкова; Алт. гос. техн. ун-т им. И.И. Ползунова. – Барнаул: АлтГТУ, 2010. –
138 с. – 7 экз. +Режим доступа http://elib.altstu.ru/
12. Сучкова, Л.И. Программно-аппаратные аспекты низкоуровневого обмена с периферийными устройствами: учеб.пособие/ Л.И. Сучкова; Алт. гос. техн. ун-т им. И.И.
Ползунова, – Барнаул, 2012. – Режим доступа http://elib.altstu.ru/
Методические указания к выполнению лабораторных работ изложены в Приложении A
настоящего стандарта.
9
СТО АлтГТУ 13.62.1.1120 – 2012
3.1.3 Формы и содержание текущей аттестации и промежуточной оценки по
дисциплине
Форма промежуточной аттестации: 6 семестр – экзамен.
Содержание текущей и промежуточной аттестации раскрывается в комплекте контролирующих материалов, предназначенных для проверки соответствия уровня подготовки по
дисциплине требованиям ФГОС ВПО и СТО.
Контролирующие материалы по дисциплине содержат:
-тесты промежуточного контроля знаний по дисциплине;
-тесты контроля текущих знаний по дисциплине.
Содержание текущей аттестации раскрывается в процессе защиты лабораторных работ.
Комплект контролирующих материалов приведен в приложениях В и Г настоящего
стандарта.
Оценка индивидуальной деятельности студентов по дисциплине, расчет рейтингов студентов в ходе текущей и итоговой аттестаций осуществляется на основе модульно- рейтинговой системы. Более подробно порядок вычисления рейтинга приведен в приложении Д
для студентов.
3.1.4 Учебно – методические материалы по дисциплине
Учебно-методическая карта дисциплины «Основы системного программирования»
для направления 230100 «Информатика и вычислительная техника» на шестой семестр
Наименование вида работ
График аудиторных занятий и СРС 6 семестр
Номер недели
1
1 Аудиторные
занятия:
- лекции
1
- лабораторные
2 Самостоятельная работа
- Расчетное задание
- Другие виды
1
СРС
3 Формы текущей аттестации
- Защита лаб.
работы
-Другие виды
аттестации
2 3
4
2
1
2 1
5
6
2
1
3
7
3
1
1
8
2
ЗР
0,2
9
10 11 12 13 14 15 16
3
2
4
2
5
3
6
3
17
4
6
4
4
4
4
4
4
4
4
4
4
4
6
1
2
1
2
1
2
1
2
2
2
2
ЗР
0,05
ЗР
0,05
ЗР
0,1
ЗРЗ
0,1
Экзамен - 0,5 (в период сессии)
10
СТО АлтГТУ 13.62.1.1120 – 2012
3.2 Условия освоения и реализации дисциплины
3.2.1 Методические рекомендации студентам по изучению дисциплины
Самостоятельная работа студентов (СРС) заключается в изучении теоретического материала в виде лекций и дополнительных источников (как из списка рекомендуемой литературы настоящего стандарта, так и самостоятельно найденных в интернет при одобрении
преподавателем), а также в выполнении и защите лабораторных и расчетного задания.
Для наилучшего усвоения теоретического материала и получения навыков самостоятельной разработки программ выполнение лабораторных работ следует начинать сразу же
после прочтения лекции по соответствующей теме, а при подготовке к их защите изучать
дополнительный материал по теме работы. При работе над алгоритмом решения задачи,
особенно при написании обработчика прерывания, необходимо консультироваться с преподавателем.
При выполнении лабораторных работ рекомендуется анализировать поставленные задачи и находить способ их решения. Получение навыков системного программирования
позволит лучше усвоить теоретический материал, а также подготовиться к практической
части экзамена.
При подготовке к защите лабораторных работ рекомендуется отвечать на вопросы для
самоконтроля, изучать лекционный материал, относящийся к изучаемой теме. Это позволит
подготовиться к теоретической части экзамена.
Памятка студенту по изучению дисциплины «Основы системного программирования»
приведена в Приложении Д.
3.2.2 Организация самостоятельной работы студента (СРС) по дисциплине;
Выполнение лабораторных работ и написание расчетного задания выполняется студентом самостоятельно (в компьютерных лабораториях факультета или в домашних условиях).
Компьютерные классы обеспечены необходимыми средствами вычислительной техники, на
которых установлено требующееся программное обеспечение. Список необходимого программного обеспечения и рекомендуемой литературы описан в пункте 3.1.2 настоящего
стандарта.
Предусмотрены регулярные консультации (не реже 1 раза в неделю) консультации по
расчетному заданию и текущим лабораторным работам. Контроль за выполнением лабораторных работ и расчетного задания являются обязательным элементом организации учебного процесса по дисциплине.
Для выполнения лабораторных работ разработан комплект заданий.
3.2.3 Методические рекомендации преподавателю дисциплины;
В начале семестра студентам дается презентация курса устно и письменно (в виде силлабуса). При этом освещается список тем, которые будут рассматриваться во время курса,
решаются организационные вопросы (деление на подгруппы, организация занятий на лабораторных работах, рекомендации по выбору литературы и т. д.).
Лекционный материал рекомендуется представлять в виде пронумерованных и озаглавленных модулей в четком соответствии с рабочей программой. В начале лекции необходимо дать название изучаемой темы, обозначить круг изучаемых вопросов, а затем перейти к
более подробному рассмотрению теоретического и практического материала по архитектуре и функционированию системного программного обеспечения, а также по обработке системных структур данных. На примерах следует разобрать приемы и алгоритмы низкоуровневой обработки системных структур данных, используя при этом режим непосредственно-
11
СТО АлтГТУ 13.62.1.1120 – 2012
го общения со студентами (диалог, дискуссия, режим мозгового штурма). Также следует
ответить на возникшие в ходе выполнения работы вопросы.
На лабораторных работах студенты должны выполнять индивидуальные задания на
компьютере, сдавать и защищать выполненные работы. Сдача работы включает в себя следующие этапы (для конкретной работы могут присутствовать не все этапы):
- демонстрация работоспособности программы на компьютере;
- ответы на вопросы по разработанному коду;
- сдача письменного отчета по лабораторной работе;
- устно-письменная защита.
Методические указания к выполнению расчетного задания изложены в Приложении Б
настоящего стандарта.
Экзамен принимается в письменном виде во время сессии. Для допуска к экзамену
должны быть сданы все лабораторные работы и защищено расчетное задание (в зависимости от ситуации можно допустить к экзамену студента с одной несданной работой, рейтинг
которой считается равным нулю). Теоретические вопросы и тематика практических задач
на экзамене выдаются заранее на последней неделе семестра. Условия задач заранее не выдаются, они не представляют сложности для студентов, вовремя и качественно выполнивших лабораторные работы.
3.2.4 Образовательные технологии
Лекционный материал в количестве 17 часов дается в интерактивной форме. Наряду
с классическими формами проведения занятий, предусматривается применение следующих
инновационных методов обучения:
- модульно-рейтинговая система квалиметрии учебной деятельности студентов;
- лекции и защиты лабораторных работ проводятся в интерактивном режиме и носят
информационно-развивающий характер (дискуссия, диалог, коллективное решение проблем, метод аналогий) (17 часов лекций, защиты 4 лабораторных работ);
- использование компьютерного оборудования при чтении лекционного материала, выполнении лабораторных работ, расчетного задания;
- личностно-ориентированный метод проблемного обучения, предусматривающий постановку для каждого студента индивидуального задания по каждой лабораторной работе и
по расчетному заданию;
- при выполнении лабораторных работ, расчетного задания, а также при СРС предусмотрен поисково-исследовательский метод обучения (самостоятельный поиск дополнительной информации, исследование и анализ различных способов решения проблем).
3.2.5 Особенности преподавания дисциплины
Особенностью преподавания дисциплины является обязательность постоянного консультирования преподавателя при выполнении задачи по разработке обработчика прерывания. Это способствует ускорению формирования у студентов способностей по низкоуровневому программированию.
3.2.6 Материально-техническое обеспечение дисциплины
Для изучения дисциплины студенту требуется персональный компьютер с установленным на него программным обеспечением, приведенным в п.3.1.2. Для работы с электронными источниками информации необходимы текстовый редактор Word, Блокнот, Acrobat
Adobe Reader. В АлтГТУ занятия проводятся на базе лаборатории микроЭВМ, компьютерного класса кафедры ВСИБ, лекционной мультимедийной аудитории.
12
СТО АлтГТУ 13.62.1.1120 – 2012
3.3 Лист согласования рабочей программы
Наименование дисциплин, изучение которых Ведущая кафедра
опирается на данную
дисциплину
1
2
ЭВМ и периферийные
ВСИБ
устройства
Микропроцессорные сиВСИБ
стемы
Подпись заведующего кафедрой
3
4
нет
нет
Разработчик:
Профессор
Л.И.Сучкова
подпись
инициалы и фамилия
Заведующий кафедрой вычислительных
систем и информационной безопасности
А.Г. Якунин
подпись
Декан факультета информационных технологий
инициалы и фамилия
Г.Н. Кобелев
подпись
Начальник ОМКО АлтГТУ
инициалы и фамилия
С.А. Федоровых
подпись
инициалы и фамилия
13
СТО АлтГТУ 13.62.1.1120 – 2012
ПРИЛОЖЕНИЕ А
Методические указания по выполнению лабораторных работ по дисциплине
"Основы системного программирования"
А.1 Общие сведения о лабораторном практикуме
А.1.1 Цель лабораторного практикума
Лабораторный практикум по дисциплине «Основы системного программирования»
служит для практического закрепления теоретических навыков, полученных в ходе изучения лекционного материала и формирования необходимых компетенций.
Цели выполнения лабораторных работ:
- закрепление теоретических знаний по дисциплине и применение этих знаний при разработке компонентов системного программного обеспечения и программ по работе с системными структурами данных, позволяющих решить поставленную задачу;
- развитие навыков выполнения самостоятельной работы, а также ее оформления и
представления результатов проделанной работы.
А.1.2 Организация лабораторного практикума
Для посещения лабораторных занятий студенческая группа делится на подгруппы, посещающие отведенные для них часы. Это позволяет использовать индивидуальный подход
к обучению, отвечать на возникшие вопросы и способствует лучшему усвоению материала.
На каждую лабораторную работу выдается общее задание, соответствующее изучаемому теоретическому материалу, и индивидуальный вариант задания. Задания выдаются по
мере изучения материала и предполагают разработку программ в низкоуровневой среде.
При выполнении текущей лабораторной работы до установленного срока возможно выдача
задания по следующим работам. Информация о темах лабораторных работ дана ниже.
Студент должен в соответствии с темой решить поставленную задачу и оформить отчет
о проделанной работе.
Для каждой лабораторной работы предусмотрены сроки ее выполнения и защиты.
Каждая работа оценивается по стобалльной шкале. В случае выполнения и/или защиты работы после установленного срока, оценка может быть снижена.
Для каждой лабораторной работы необходимо:
- продемонстрировать работу программы;
- представить отчет о выполнении лабораторной работы;
- пройти устную (ответы на вопросы преподавателя) и/или письменную защиту.
А.1.3 Разработка программного обеспечения
Требования, предъявляемые к программам:
- программы должны быть работоспособными;
- программы должны полностью правильно решать поставленную задачу;
- отчет должен содержать задание и текст программы.
А.1.4 Темы и задания к лабораторным работам
Лабораторная работа № 1.
Цели и задачи работы: изучение структуры обработчика прерывания, написание программы, позволяющей исследовать работу собственного обработчика в комплексе с системным обработчиком прерывания от клавиатуры.
14
СТО АлтГТУ 13.62.1.1120 – 2012
Теоретические сведения о работе и пример программы приведены в учебном пособии
[12].
Задание к работе: Написать обработчик прерываний от клавиатуры. Изучить и реализовать, если необходимо, отслеживание временных промежутков с помощью прерывания
1Ch. Изучить перепрограммирование стандартного контроллера прерываний, реализацию
маскирования линий IRQ. Самостоятельно решить задачу в соответствии с индивидуальным вариантом.
Описание используемых средств для выполнения работы : язык программирования
Assembler, DosBox для отладки, операционная система Windows ХР/7. Используется пакетная компиляция, компилятор tasm, компоновщик tlink.
Методика выполнения работы:
1. Изучить алгоритм работы стандартного обработчика прерываний от клавиатуры.
2. Написать обработчик прерывания от клавиатуры, на первом этапе функционал своего обработчика не реализовывать или повторить тело обработчика по игнорированию клавиши «пробел» из [12].
3. Отладить программу. Убедиться в корректности работы обработчика.
Требования к отчету:
Отчет должен содержать титульный лист, задание, текст программы с комментариями,
тесты.
Контрольные вопросы по лабораторной приведены в [12]. Защита лабораторной включает теоретические вопросы, предложенные преподавателем.
Индивидуальные задания:
1. Игнорировать нажатие всех клавиш, кроме клавиш основной клавиатуры (буквы,
цифры), причем при нажатии ScrollLock восстанавливать функции клавиш.
2. Программно отключить обработку букв и цифр, а их ввод эмулировать нажатием
Alt+F1 … (Alt+F10) и набором ASCII кода при включенном CapsLock.
3. При нажатии клавиши CapsLock коды буквенных клавиш сдвигаются, т.е. в буфер
помещается другой символ, в соответствии с количеством нажатий CapsLock+ASCII-код
родного символа.
4. Написать обработчик прерываний от клавиатуры, функционирующий в двух режимах: 1) обычный, 2) ввод ASCII кодов букв в десятичном формате на основной клавиатуре.
Переключение между режимами осуществляется при нажатии одной из клавиш F1- F5.
5. При нажатии ScrollLock осуществляется переключение режима работы клавиатуры:
1-е нажатие - отключение дополнительной клавиатуры; 2-е нажатие – включение дополнительной клавиатуры.
6. В обработчике прерывания от клавиатуры последовательно отключать алфавитноцифровые клавиши по линейкам при нажатии Ctrl-ScrollLock (по 1 клавише при 1 нажатии).
При нажатии Esc все восстанавливается.
7. Промоделировать работу клавиатуры, которой управляют с помощью 4 клавиш.
Нажатие Alt – переход в режим набора ASCII – кода символа, который набирается с помощью 0 и 1 в бинарном представлении. Отпускание Alt служит концом ввода кода символа.
Клавиша Esc предназначена для восстановления обычного режима работы.
8. Написать обработчик прерываний от клавиатуры, который позволяет работать на частично неисправной клавиатуре – не работает верхняя линейка (отключить программно).
Для набора букв верхней линейки использовать Left Alt и основные цифровые клавиши.
Ввод символов идет в режиме ввода десятичного ASCII –кода клавиши, пока Left Alt нажата. При ее отпускании формируется Scan и ASCII-код предполагаемой клавиши.
9. Смоделировать ситуацию, когда на клавиатуре не работают алфавитно-цифровые
клавиши.. Реализовать их нажатие с использованием клавиш F1 – F8.
10. На клавиатуре не работают все функциональные клавиши, эмулировать их нажатием
Ctrl + их номер в двоичном представлении, набранный на основной клавиатуре.
15
СТО АлтГТУ 13.62.1.1120 – 2012
11. Написать обработчик прерываний от клавиатуры, при работе которого можно вводить ASCII-коды символов верхней строки (qwerty…) в двоичном коде с помощью клавиш
ScrollLock и 0 и 1 на основной цифровой клавиатуре. Основной режим набора букв верхней
линейки отключен.
12. При нажатии на клавиши от Q до I осуществляется циклический сдвиг выдаваемых
кодов клавиш (при нажатии одной клавиши сдвиг осуществляется на 1)
13. Написать обработчик прерываний от клавиатуры так, чтобы при неисправной функциональной клавиатуре ее работа эмулировалась нажатием ScrollLock +№ клавиши
(ScrollLock +1=F1…)
14. С помощью клавиш Ctrl,0,1 эмулируется ввод скэн кода любой клавиши. Перевод
двоичного кода осуществляется в зависимости от состояния CapsLock.
15. Функции следующих клавиш основной клавиатуры заменить: 1 линейка (цифры) – на
клавишу “вверх”, 2 линейка (qwer…)– на клавишу “вправо”, а ввод символов реализовать
через LAlt, LCtrl, и цифр на дополнительной клавиатуре.
16. Функции следующих клавиш основной клавиатуры заменить на: 3 линейка (asd..)– на
клавишу “влево”, 4 линейка (zxc..)– на клавишу “вниз”, а ввод символов реализовать через
RShift и LShift и цифр на дополнительной клавиатуре.
17. Написать обработчик прерываний от клавиатуры, который после нажатия
Ctrl(L)+Shift(L) формирует в буфере клавиатуры макроопределения C  cprintf(); F 
for() {}; W  while() {}. Повторное нажатие данной комбинации отменяет этот режим.
18. Предусмотреть обработчике прерываний от клавиатуры активизацию режима замены
при нажатии LeftCtrl+Del. Дальнейшее нажатие любой клавиши в этом режиме заменяет
соседние клавиши для нажатой на клавиши “влево” и “вправо”, а стрелки меняются на эти
клавиши.
19. Написать обработчик прерываний от клавиатуры, который реализует зеркальное
отображение 3 линеек клавиатуры относительно средней линейки. Клавиши Tab, LeftShift,
BackSpace неисправны, поэтому эмулировать их нажатие через LeftCtrl+1,2,3 на основной
цифровой клавиатуре соответственно.
20. Написать обработчик прерываний от клавиатуры, который позволяет вводить макроопределение длины не более 15 символов или работать в стандартном режиме. Переключение между режимами по Ctrl-Alt-Ins. Макроопределение вводится после нажатия F11, конец
м/о – повторное нажатие F11.
21. Написать обработчик прерываний от клавиатуры, который позволяет работать на частично неисправной клавиатуре путем набора ASCII-кодов на верхней цифровой клавиатуре сразу после нажатия Right Shift (не работают алф. клавиши)
22. Написать обработчик прерываний от клавиатуры, который игнорирует нажатие всех
функциональных клавиш и клавиш перемещения курсора. Перемещение курсора осуществляется нажатием Home (вверх), End (вниз), Del (влево), PgDn (вправо) при включенном режиме ScrollLock.
23. Написать обработчик прерываний от клавиатуры, который при первом нажатии на
клавиши алфавитно-цифровой клавиатуры выдает тот же символ, при втором нажатии –
символ с ASCII – кодом, на 1 большим, в 3 раз – на 2 большим и т.д.
24. Написать обработчик прерываний от клавиатуры, выполняющий следующие действия: при нажатии Ctrl верхняя линейка (QWERTY..) начинает функционировать как цифры, при повторном нажатии Ctrl – продолжение нормального функционирования. Аналогичные действия осуществить со 2 линейкой при нажатии RShift.
25. На клавиатуре не работают цифровые клавиши. Эмулировать их нажатие с помощью
0 – Ctrl A, 1 – Ctrl B и т.д.
26. Написать обработчик прерываний от клавиатуры, который реагирует только один
раз на нажатие алфавитно-цифровых клавиш. Для того, чтобы уже нажатые клавиши были
доступны можно их восстановить нажатием: F1 - цифры, F2 – верхняя линейка, F3 - средняя
линейка, F4 – нижняя линейка.
16
СТО АлтГТУ 13.62.1.1120 – 2012
27. Написать обработчик прерываний от клавиатуры, который эмулирует нажатие сломанных трех символьных линеек клавиш следующим образом: 1 ряд – клавиша Alt+№ клавиши в ряду, 2 ряд – Ctrl+№ клавиши, 3 ряд – RShift+№ клавиши (например, “Q” – Alt+1;
“A” – Ctrl+1; “Z” –RShift+1).
28. Отменить реакцию на нажатие функциональных клавиш. Эмулировать нажатие
функциональных клавиш, набрав на дополнительной клавиатуре их двоичный код + Ctrl.
29. Написать обработчик прерываний от клавиатуры, обрабатывающий только клавиши
Esc, Tab, F2-F10 и с их помощью с эмулировать нажатие любой алфавитно-цифровой клавиши.
30. В обработчике прерываний от клавиатуры предусмотреть работу в двух режимах:
обыкновенный ввод символов с консоли или ввод ASCII – кодов символов с цифровой клавиатуры. Переключение между режимами клавишами F3-F6.
31. Каждые 2 секунды на клавиатуре отключается некоторая буквенно-цифровая клавиша. При нажатии Esc все восстанавливается.
32. Эмулировать нажатие клавиши при частично неисправной клавиатуре следующим
образом: работает только клавиша “пробел”. Нужно придумать и реализовать свою “азбуку
Морзе” для эмуляции остальных клавиш. Количество тиков для определения “точки” и “тире” (долгое нажатие) задается.
33. Написать обработчик прерываний от клавиатуры, который при нажатии ScrollLock
начинает функционировать следующим образом. Клавиша “пробел” заменяется на цифры
от 0 до 9, при каждом следующем нажатии цифра увеличивается, после 9 опять становится
равной 0.
34. Написать обработчик прерываний от клавиатуры, который через некоторый квант t
выдает число 7. Интервал времени регулируется клавишами “+” и “-”, соответственно увеличивающими и уменьшающими t на 1 секунду. По F1 осуществляется мгновенная выдача
на экран числа 5.
35. Реализовать замену цифр 1-9 соответственно на буквы ABCDEFGHI. Такая замена
осуществляется каждые 5 секунд из 10.
36. Гласным буквам латинского алфавита сопоставить строку текста, которая будет заноситься в буфер клавиатуры при нажатии этих букв.
37. В обработчике прерываний от клавиатуры реализовать замену букв на другие буквы.
Информация о заменах хранится в таблице. Занесение в таблицу - нажатие F3, заменяемой
буквы, новой буквы, нажатие F4. Очистка таблицы - нажатие F5.
38. Написать обработчик прерываний от клавиатуры, который каждые 10 с менял бы регистр нажимаемых клавиш (строчные на заглавные и наоборот) При нажатии на F1 восстанавливается нормальное состояние. При нажатии на F6 время задержки увеличивается на
0,5 с.
39. Написать обработчик прерываний от клавиатуры, который бы первые 5 с не реагировал на клавиши, вторые 5 с работал стандартно, и третьи 5 с реагировал только на пробел.
40. Каждые 10 с клавиши из верхнего ряда алфавитно-цифровой клавиатуры (Q . . .) заменяются на клавиши 2 ряда клавиатуры. При нажатии PrtScr восстанавливаются прежние
буквы.
41. Написать обработчик прерываний от клавиатуры, осуществляющий циклический
сдвиг цифр через промежуток t. При нажатии F1 t увеличивается в два раза, при нажатии
Ctrl-Alt-Ins – уменьшается в 2 раза.
42. Написать обработчик прерываний от клавиатуры, который эмулирует нажатие сломанных 3 символьных линеек клавиш путем нажатия управляющих (1 линейка – Alt, 2 –
Ctrl(L), 3 – Right Shift)+N клавиши в линейке. Клавиатура “ломается” и “восстанавливается” через 5 с.
43. Реализовать создание в буфере клавиатуры макроопределения по нажатии клавиш
F1,F2 или F3 в комбинации с алфавитными клавишами. Макроопределения активны в течение 5 секунд из каждых 10.
17
СТО АлтГТУ 13.62.1.1120 – 2012
44. Обработчик прерывания от клавиатуры, который хранит скэн-коды последних 10
нажатых клавиш и для каждой клавиши проверяет ее наличие в этом списке. Если она там
есть, то эту клавишу заменить на цифру, представляющую собой 2 младших бита скэнкода. Список скэн-кодов может быть очищен нажатием F6.
45. Обработчик прерывания от клавиатуры, который обеспечивает следующее функционирование клавиатуры: после нажатия Ctrl-Alt-Ins все алфавитные линейки клавиатуры поочередно не работают в течение интервала t. Первоначально интервал t равен 5 секундам.
Нажатие F3 может увеличивать этот интервал на 1 секунду. Возврат к нормальному функционированию повторное нажатие Ctrl-Alt-Ins.
46. C интервалом времени в 1 с. блокируется цифровая клавиша. После выполнения блокировки всех цифр их можно восстановить нажатием Ctrl-Alt-Ins. Для запуска процесса
блокировки цифр сначала можно использовать нажатие F1.
47. Написать обработчик прерываний от клавиатуры, которая запишет в буфер клавиатуры букву А после введения пользователем пароля. Все возможные пароли хранятся в таблице. Текущий пароль меняется каждые 10 секунд.
48. Написать обработчик прерывания от клавиатуры, работающий в 2 режимах – в 1 режиме обработка нажатия клавиши осуществляется стандартным обработчиком, во 2 – отключены функциональные клавиши. Переключение между режимами – нажатие Ctrl-AltEnd. Отключение 2 режима – нажатие пробела.
49. Обработчик прерывания от клавиатуры, работающий в 2 режимах, в 1 режиме – отключены цифры, во 2 – отключены буквы. Переключение между режимами каждые 5 с.
Нажатие Ctrl-Alt-Ins возвращает текущий режим к стандартной обработке.
50. После нажатия Ctrl-Alt-Ins цифровая линейка основной клавиатуры начинает работать как функциональные клавиши, 3 и 4 линейки не работают совсем.
51. Написать программу, которая функционирует в цикле с периодом 15 с следующим
образом: в течение первых 5 секунд не реагирует на функциональные клавиши, в течение
следующих 10 с не реагирует на цифры. Нажатие Ctrl-Alt-Ins в период блокировки цифр
выводит в буфер клавиатуры цифру 1, в период блокировки функциональных клавиш цифру 2.
52. Обработчик прерывания от клавиатуры, в котором не обрабатывается нажатие цифр
на основной клавиатуре. Цифры можно получить, нажимая ScrollLock и одновременно F1F10. (ScrollLock +F1 – цифре 1, и т.д.). Этот обработчик функционирует в течение 10 секунд, следующие 10 с. работает стандартный обработчик и т.д.
53. Написать обработчик прерываний от клавиатуры, который не реагирует на алфавитно-цифровые клавиши после нажатия F2 2 раза с интервалом не более 2 с. между нажатиями. В этом режиме ввод букв и цифр осуществляется вводом их скэн-кодов в двоичном
представлении на дополнительной клавиатуре.
54. Написать обработчик прерываний от клавиатуры, который будет реагировать на
функции алфавитно-цифровых клавиш только в течение первого периода (10 с.) цикла с периодом в 20 с. Во втором 10-секундном промежутке указанные клавиши заблокированы.
Вернуться к стандартной обработке клавиш можно при нажатии Ctrl-Alt-Ins одновременно.
55. Написать обработчик прерывания от клавиатуры, который функционирует следующим образом: первые 5 с 1 линейка алфавитно-цифровой клавиатуры (qwerty…) заменяется
на пробел, вторые 5 с 1 линейка работает как функциональные клавиши, третьи 5 с 1 линейка работает нормально. Увеличение интервала времени на 1 секунду – по нажатию CtrlAlt-Ins.
56. Обработчик прерываний от клавиатуры, работающий по следующему алгоритму: 1)
при нажатии букв верхней линейки в буфер клавиатуры заносится цифра, соответствующая
порядковому номеру этой буквы в линейке; 2) Цифры заменяются на соответствующую
букву верхней линейки. Этот режим начинает функционировать после Ctrl-Alt-Ins, нажатого 2 раза с интервалом не более 2 с.
18
СТО АлтГТУ 13.62.1.1120 – 2012
57. При нажатии буквенных клавиш они удваиваются в буфере клавиатуры, цифры на
основной клавиатуре блокированы. Этот режим активен в течение каждых 30 с. из одной
минуты. Оставшиеся 30 с. работает стандартный обработчик.
58. Через 1 секунду клавиша “пробел” заменяется последовательно на буквы от A до Z.
После дохождения до Z, время активности буквы увеличивается на 1 с.
59. При одновременном нажатии LCtrl и Lshift блокируется последовательно по 1 клавише из нижней линейки. Когда заблокировано все, блокировку можно снять в течение не
позже чем через 20 с нажатием Ctrl-Alt-Ins.
60. При нажатии LAlt+LCtrl осуществляется последовательная замена верхней линейки
(qwert …) на цифры от 0 до 9 и потом на буквы А, В. После замены всей линейки замену
можно отменить, нажав F8 3 раза с интервалом не более 1 с.
61. Написать обработчик прерывания от клавиатуры, который в цикле выполняет следующие действия: две секунды не реагирует на дополнительную клавиатуру, 5 с не реагирует
на цифры и 2 c работает нормально. Восстановление нормальной работы клавиатуры –
нажатие F1 при включенной Scroll Lock.
62. При нажатии Ctrl+функциональная клавиша (F1 – F8) происходит блокировка цифр
на основной клавиатуре (по одной цифре при каждом нажатии), при нажатии Alt+(F1 – F8)
аналогично блокируется верхняя линейка. Снятие блокировки - нажатие Ctrl-Alt-Ins 2 раза с
интервалом между нажатиями не более 2 секунд.
63. Написать обработчик прерываний от клавиатуры, работающий следующим образом:
первые 5 секунд блокирует дополнительную клавиатуру, вторые 5 секунд блокирует функциональные клавиши, третьи 5 секунд работает нормально. Нажатие пробела увеличивает
соответствующий период на 1 секунду.
64. Цифры можно набирать (от 1 до 9) только через нажатие ScrollLock, количество
нажатий больше цифры на 1. Например, 3 – это 4 нажатия ScrollLock, при этом интервал
между нажатиями должен быть не более 1 секунды.
65. При нажатии любой цифровой клавиши появляется последовательность 0,1,2,…9,
при нажатии буквы все буквы в этой линейке заменяются на пробел. Восстановление нормального режима работы – по нажатии F1. Нормальный режим работает до нажатия F2, после чего снова действует наш режим.
66. Нажатие Ctrl-Alt-Ins позволяет выводить на экран “историю” нажатия клавиш (длина
истории – 20 клавиш). Деактивировать этот режим можно двойным нажатием ScrollLock.
67. Нажатые клавиши запоминаются в буфере из 10 элементов, и при нажатии F1 – F10 в
буфер клавиатуры помещается соответствующий элемент нашего буфера. Наш буфер
устроен по принципу магазина. Искусственный выброс элемента из магазина – Ctrl-Alt,
очистка – PrtScr.
68. При нажатии Ctrl-Alt-Shift, буквы верхней линейки заменяются на цифры (по 1 замене при 1 нажатии). Обратную замену с конца заменённой последовательности можно выполнить при двойном нажатии ScrollLock с интервалом не более 2 секунд между нажатиями.
69. Первое нажатие Ctrl-Alt-Ins меняет местами линейку с цифрами и нижнюю линейку,
второе нажатие блокирует 2 линейку, третье нажатие – обратный обмен линеек, четвёртое
нажатие – разблокирование 2 линейки.
70. В первые 5 секунд нажатие Ctrl-Alt-Ins блокирует функциональные клавиши, во вторые 5 секунд нажатие Ctrl-Alt-Ins разблокирует функциональные клавиши, в третьи 5 секунд нажатие этой комбинации клавиш выводит цифру 0 в буфер клавиатуры.
71. Первые 5 секунд из 15 блокированы буквы, вторые 5 секунд цифры заменяются на
пробел, третьи 5 секунд – нормальная работа обработчика.
72. Вместо цифр реализовать занесение в буфер клавиатуры их scan-кодов. Вместо букв
заносить их ascii-коды. Этот режим активен 5 секунд из каждых 10.
19
СТО АлтГТУ 13.62.1.1120 – 2012
73. При нажатии цифр на дополнительной клавиатуре включается режим блокировки
букв на основной клавиатуре. Разблокировать буквы возможно при нажатии клавиш F6 или
F8. Разблокировка работает только в первые 10 секунд из каждых 20.
74. В течение первого периода не работают гласные буквы, в течение 2 периода – цифры,
в течение 3 периода – согласные буквы латинского алфавита. Величина периода первоначально составляет 5 секунд. Нажатие Enter увеличивает на 2 тика, нажатие Esc – уменьшает
период на 2 тика. Нажатие пробела отменяет работу по периодам, то есть работает стандартный обработчик.
75. При нажатии цифр выводить последовательности букв по следующему алгоритму:
цифра 0 – 1 буква ‘a’, цифра 2 – 2 буквы ‘b’, цифра 3 – три буквы ‘c’ и т.д. Этот режим
включается при нажатии клавиши F1 2 раза с интервалом между нажатиями не более 2 секунд.
Лабораторная работа N 2.
Цели и задачи работы: изучение интегрированной среды MASM32. Реализация простейших операций по управлению окнами, обработке сообщений от клавиатуры, мыши и
таймера. Использование API-функций: AnimateWindow, CloseWindow, FindWindow,
FlashWindow, FlashWindowEx, GetClientRect, GetParent, GetDesktopWindow, GetTitleBarInfo,
GetWindowPlacement, GetWindowTextLength, IsChild, IsWindow, IsWindowVisible,
MoveWindow, CloseWindow, OpenIcon, SetWindowPlacement, SetWindowText, ShowWindow,
WindowFromPoint, IsChild.
Теоретические сведения о работе и пример программы приведены в учебном пособии
[11].
Задание к работе: Написать приложение, осуществляющее обработку сообщений. Самостоятельно решить задачу в соответствии с индивидуальным вариантом.
Описание используемых средств для выполнения работы : язык программирования
Assembler, MASM32, операционная система Windows ХР/7. Используется компилятор ml,
компоновщик link.
Методика выполнения работы:
1. Изучить структуру минимального приложения и логику обработки сообщений в
Windows.
2. Реализовать оконное приложение, обрабатывающее сообщения в соответствии с заданием. Пример приложения с подробными комментариями приведен в [11].
3. Отладить программу.
Требования к отчету:
Отчет должен содержать титульный лист, задание, текст программы с комментариями,
тесты.
Контрольные вопросы по лабораторной приведены в [11]. Защита лабораторной включает теоретические вопросы по структуре и логике работы минимального оконного приложения, предложенные преподавателем.
Примеры индивидуальных заданий;
1. После двойного щелчка левой кнопки в клиентской области окна окно начинает перемещаться по вертикали. Нажатие любой клавиши прекращает движение.
2. Щелчок правой кнопкой на клиентской области окна приводит к изменению его размеров (уменьшению в 2 раза). Нажатие любой клавиши возвращает исходные размеры.
3. Щелчок правой кнопкой на клиентской области окна приводит к изменению реакции
на нажатие цифр. Каждое следующее нажатие цифры изменяет размер окна. Нажатие любой другой клавиши возвращает исходные размеры.
4. Щелчок правой кнопкой в верхней половине окна приводит к его свертке. Развертка
окна – по нажатию любой функциональной клавиши.
20
СТО АлтГТУ 13.62.1.1120 – 2012
5. Перемещение мыши в верхней половине окна приводит к появлению периодического мерцания заголовка окна. Нажатие любой буквы из линейки «QWER..» перемещает окно
в правый верхний угол экрана.
6. Создать два окна, одно из которых – родительское для другого. Перемещение мыши
в неклиентской области дочернего окна приводит к его свертке. Нажатие клавиши «пробел»
при установке фокуса ввода на родительское окна приводит также к его свертке.
7. Щелчок левой кнопкой в неклиентской области окна перемещает окно вправо на заданное количество пикселов. Нажатие клавиши Alt вместе с цифровой клавишей возвращает окно на место.
8. Щелчок правой кнопкой в неклиентской области окна приводит к тому, что последующее нажатие любой буквенной клавиши сдвигает окно на заданное число пикселов
вправо.
9. Двойной щелчок левой кнопки в рабочей области окна приводит к тому, что при
нажатии цифровых клавиш окно сдвигается вниз на количество пикселов, соответствующее
нажатой цифре.
10. Двойной щелчок правой кнопки в клиентской области окна приводит к тому, что при
нажатии клавиш стрелок впоследствии реализуется перемещение окна по экрану.
11. Щелчок правой кнопкой в нижней половине окна разрешает изменение текста в заголовке окна. Дальнейшее нажатие букв приводит к изменению текста заголовка окна на
нажатую букву.
12. Перемещение мыши в нижней половине окна максимизирует окно. Нажатие ESC –
возврат окна к прежнему виду.
13. Двойной щелчок левой кнопкой в неклиентской области окна максимизирует окно.
Нажатие любой буквы – возврат к прежним размерам.
14. Двойной щелчок правой кнопкой в неклиентской области окна приводит к его перемещению в цикле из его исходного состояния в горизонтальном направлении влево и вправо до тех пор, пока не будет нажата любая клавиша из нижней линейки.
15. Одновременное нажатие кнопок в неклиентской области окна приводит к его перемещению по экрану в вертикальном направлении после нажатия клавиш из линейки
«ASD..».
16. Перемещение мыши в неклиентской области окна приводит к изменению его размеров. Нажатие клавиши ESC запрещает подобное изменение.
17. Двойной щелчок правой кнопки в клиентской области окна изменяет текст заголовка
окна на заданный текст. Обратная замена – клавиша F1.
18. Создать два окна, одно из которых частично перекрывает другой. Щелчок правой
кнопкой в левой половине верхнего окна активизирует перекрытое окно. Если до щелчка
нажать клавишу «пробел», то перекрытое окно не активизируется.
19. Перемещение мыши в левой половине окна изменяет цвет фона окна
(SetClassLongPtr). Нажатие клавиши F1 отменяет изменение.
20. Двойной щелчок левой кнопкой в неклиентской области окна свертывает его в пиктограмму. Нажатие любой функциональной клавиши разворачивает окно.
21. Создать три окна, одно из них показать. Двойной щелчок правой кнопкой в неклиентской области окна приводит к выводу на экран остальных окон, если они еще не показывались. Вывод созданных, но не показанных окон разрешен только в случае, если не
нажата клавиша Enter.
22. Перемещение мыши в неклиентской области окна приводит к перемещению окна в
левый верхний угол экрана. Нажатие клавиш PgUp и PgDn приводит к перемещению окна
из левого верхнего угла в левый нижний угол и обратно.
23. Щелчок правой кнопкой в неклиентской области окна отменяет реакцию на нажатие
клавиш End и Home, которые перемещают выведенное окно соответственно между левым
верхним и правым нижним углом экрана.
21
СТО АлтГТУ 13.62.1.1120 – 2012
24. Двойной щелчок левой кнопки в клиентской области окна приводит к смене заголовка окна. Выбор текущего заголовка окна зависит от количества нажатий клавиши Insert.
Каждое следующее нажатие делает активным следующий по прядку заголовок из некоторого массива заголовков (циклически).
25. Вывести на экран два окна. Двойной щелчок правой кнопки в клиентской области
любого из окон меняет их местами. Обратный обмен - по нажатию клавиши Delete.
26. Вывести на экран два окна. Щелчок правой кнопкой в правой половине второго окна
изменяет заголовок первого. Обратный обмен – по нажатию клавиши Insert.
27. Вывести на экран три окна. Щелчок левой кнопкой в правой половине любого окна
приводит к свертке в пиктограмму остальных. Обратное разворачивание, если они уже
свернуты, осуществить при нажатии любой цифровой клавиши.
28. Двойной щелчок левой кнопкой в неклиентской области окна приводит к выводу на
экран дочернего окна. Свернуть в пиктограмму оба окна можно при нажатии клавиш F1-F5.
29. Создать два окна, одно из них показать. Двойной щелчок правой кнопкой в неклиентской области показанного окна приводит сначала к показу второго окна, потом к его
сворачиванию, потом к его разворачиванию, потом к его закрытию.
30. Создать два окна. Щелчок левой кнопкой в неклиентской области любого окна приводит к перемещению их в левый верхний угол экрана так, чтобы меньшее было сверху.
Нажатие любой гласной буквы закрывает оба окна.
31. Создать два окна. Перемещение мыши в неклиентской области первого окна вызывает перемещение второго окна по горизонтали от левого к правому краю экрана и обратно.
Нажатие любой цифры закрывает оба окна.
32. Двойной щелчок левой кнопки в клиентской области окна приводит к выводу на
экран двух дочерних окон. По нажатию клавиши Esc заголовки дочерних окон меняются
местами.
33. Вывести на экран два окна. Двойной щелчок правой кнопки в клиентской области
первого окна приводит к последовательной свертке и развертке второго окна до тех пор,
пока не нажата клавиша «пробел».
34. Отпускание левой кнопки мыши в верхнем левом квадранте окна изменяет текст заголовка окна на одну из нескольких строк текста в зависимости от координаты отпускания.
Этот режим активен только после нажатия одной из клавиш-стрелок.
35. Щелчок левой кнопкой в верхнем левом квадранте окна приводит к его перемещению на столько пикселов влево, каков порядковый номер щелчка. Максимизация окна –
нажатие клавиши «стрелка вверх».
36. Двойной щелчок левой кнопкой в неклиентской области окна приводит к созданию
другого окна, цвет фона которого зависит от координаты щелчка. Нажатие любой цифры
закрывает созданное окно.
37. Вывести окно в правой половине экрана. Двойной щелчок правой кнопкой в неклиентской области окна приводит к тому, что каждое последующее нажатие клавиши «пробел» сдвигает окно влево.
38. Щелчок левой кнопкой в области заголовка окна изменяет этот заголовок и выводит
на экран второе окно. Закрытие обоих окон происходит при нажатии любой функциональной клавиши.
39. Нажатие клавиши Insert запрещает реакцию на щелчок правой кнопкой в неклиентской области окна. Реакция на такой щелчок заключается в перемещении окна по экрану из
левого нижнего в правый верхний угол.
40. Одновременный щелчок кнопок в клиентской области окна приводит к выводу на
экран дочернего окна. По нажатию клавиши Home оба эти окна перемещаются к правой
границе экрана.
41. Вывести на экран три окна с различными цветами фона. Двойной щелчок правой
кнопки в клиентской области любого окна сворачивает в пиктограмму остальные окна. Их
разворачивание – по нажатию цифр на дополнительной клавиатуре.
22
СТО АлтГТУ 13.62.1.1120 – 2012
42. Щелчок правой кнопкой в верхнем правом квадранте окна выводит новое окно, цвет
фона которого зависит от места щелчка (предусмотреть не менее 3 вариантов). Нажатие
функциональной клавиши закрывает созданные окна.
43. Вывести на экран три окна, одно из которых – родительское для двух других. Щелчок левой кнопкой в верхнем правом квадранте родительского окна закрывает дочерние
окна. Нажатие любой буквенной клавиши закрывает и родительское окно.
44. Вывести на экран три окна. Одновременный щелчок кнопок в неклиентской области
любого окна закрывает два из них, и третье окно получает возможность перемещаться к левой границе экрана при нажатии клавиши End.
45. Двойной щелчок правой кнопкой в неклиентской области окна разрешает следующую реакцию на нажатие цифр на дополнительной клавиатуре. Каждое нажатие цифры
уменьшает ширину окна на столько пикселов, какова цифра.
46. Щелчок левой кнопкой в неклиентской области окна приводит к изменению заголовка окна на новую строку в зависимости от предварительного нажатия буквенных клавиш. По номеру линейки выбирается новый заголовок.
47. Щелчок правой кнопкой в неклиентской области окна вызывает его циклическое перемещение по экрану. Эта реакция на кнопку разрешается при предварительном нажатии не
менее 5 буквенных клавиш.
48. Двойной щелчок левой кнопки в клиентской области окна вызывает смену заголовка
окна на букву, клавиша которой была нажата перед щелчком.
49. Двойной щелчок правой кнопки в клиентской области окна выводит на экран дочернее окно, цвет фона которого зависит от координаты щелчка. Реализовать не менее 4 вариантов.
50. Щелчок правой кнопкой в нижнем левом квадранте окна сворачивает его в пиктограмму, а нажатие клавиши F8 разворачивает окно при условии, что перед этим была нажата хотя бы одна цифра.
51. Щелчок левой кнопкой в нижнем левом квадранте окна разрешает перемещение окна по экрану с помощью клавиш-стрелок, PgUp, PgDn.
52. Двойной щелчок левой кнопкой в неклиентской области окна позволяет в дальнейшем при нажатии клавиш 1-4 двигать окно по экрану в четырех направлениях.
53. Двойной щелчок правой кнопкой в неклиентской области окна выводит на экран два
дочерних окна с разными стилями. Нажатие любой функциональной клавиши закрывает
одно из дочерних окон.
54. Щелчок левой кнопкой в неклиентской области окна выводит длину заголовка окна.
Нажатие любой буквы меняет заголовок на эту букву.
55. Щелчок правой кнопкой в неклиентской области окна разрешает перемещение окна
в левый верхний угол (по нажатии F1), левый нижний угол (F2), правый верхний (F3), правый нижний (F4).
56. Двойной щелчок левой кнопки в клиентской области окна разрешает создание дочернего окна по нажатию цифры. Заголовком дочернего окна должна стать эта цифра.
57. Двойной щелчок правой кнопки в клиентской области окна закрывает все дочерние
окна, созданные по нажатии клавиш F1-F4.
58. Щелчок правой кнопкой в нижнем правом квадранте окна разрешает перемещение
окна при нажатии стрелок на дополнительной клавиатуре.
59. Щелчок левой кнопкой в нижнем правом квадранте окна приводит к созданию дочернего окна, заголовок которого – буква, нажатая перед щелчком.
60. Двойной щелчок левой кнопкой в неклиентской области окна выводит на экран другое окно. Щелчок правой кнопки в его клиентской области разрешает его перемещение
вверх-вниз по нажатии F4.
61. Двойной щелчок правой кнопкой в неклиентской области окна разрешает перемещение окна по экрану с помощью клавиш: Т – вверх, В – вниз, L – влево, R – вправо.
23
СТО АлтГТУ 13.62.1.1120 – 2012
62. Щелчок левой кнопкой в неклиентской области окна приводит к созданию двух окон
с разными стилями класса. Нажатие клавиш-стрелок позволяет перемещать любое окно,
если при активном 1 окне нажата любая гласная буква.
63. Вывести на экран 2 окна. Щелчок левой кнопкой в неклиентской области любого
окна изменяет заголовок второго окна. Нажатие любой цифры возвращает исходный заголовок.
64. Щелчок правой кнопкой в неклиентской области окна разрешает вывод двух дочерних окон. Первое окно выводится га экран при нажатии буквы «А», второе – при нажатии
буквы «В».Закрытие всех окон – по нажатию «ESC».
65. Двойной щелчок левой кнопки в клиентской области окна выводит дочернее окно.
Закрытие дочернего окна – нажатие F1, повторный вывод – нажатие F2.
66. Двойной щелчок правой кнопки в клиентской области окна разрешает перемещение
окна влево, вправо, вверх и вниз соответственно при нажатии F1, F2, F8, F9.
67. Двойной щелчок левой кнопки в неклиентской области окна выводит на экран два
дочерних окна. Нажатие любой цифры закрывает дочерние окна.
68. Двойной щелчок левой кнопки в неклиентской области окна приводит к появлению
на экране дочернего окна. Заголовок этого окна может изменяться на букву – в зависимости
от места щелчка.
69. Щелчок правой кнопки в клиентской области окна разрешает перемещать окно по
экрану при нажатии клавиш-стрелок. Двойной щелчок левой кнопки запрещает такое перемещение.
70. Вывести на экран родительское окно и два дочерних. Щелчок левой кнопкой в клиентской области любого дочернего окна разрешает их перемещение по экрану вверх и вниз
при нажатии букв Н и D соответственно.
71. Двойной щелчок правой кнопкой в неклиентской области окна разрешает создание
дочернего окна при нажатии цифр 0 или 1. Нажатие любой буквы уменьшает размеры дочернего окна в 2 раза.
72. В левом верхнем углу клиентской области окна создать дочернее окно. После нажатия левой клавиши мыши 4 раза «мигает» временное окно, а после нажатия правой – 3 раза
«мигает» дочернее окно.
73. Создать окно приложения размером в одну шестнадцатую площади экрана с заголовком «Идет форматирование диска» без кнопок изменения размеров, закрытия и сворачивания в пиктограмму и без кнопки системного меню. При перемещении курсора мыши
над клиентской областью окно должно «убегать» от курсора мыши в случайном образом
выбранном направлении, оставаясь в пределах экрана.
74. В левом верхнем углу клиентской области окна создать временное окно площадью в
одну шестнадцатую площади это области. При нажатии на левую (правую) клавишу мыши
временное окно переместить в соседний по ходу (против хода) часовой стрелки угол клиентской области.
75. При запуске 2-го экземпляра приложения спросить пользователя, нужно ли его запустить. Если пользователь ответит «Да», то запустить его. Иначе изменить заголовок 1-го
экземпляра.
76. Окно приложения без заголовка занимает весь экран фоном рабочего стола. Закрытие окна по щелчку правой кнопки мыши.
77. В центре клиентской области окна располагается невидимое окно без заголовка размером в четверть площади клиентской области. После нажатия левой клавиши мыши над
клиентской областью любого из окон окно без заголовка должно стать видимым, а после
нажатия правой – невидимым.
78. Создать окно размером в четверть площади экрана. После двойного щелчка мыши
окно перемещается так, что его центр совпадает с координатами курсора мыши в момент
щелчка.
24
СТО АлтГТУ 13.62.1.1120 – 2012
79. Дочернее окно размером в ¼ родительского окна при перемещении курсора мыши
над ним «убегает» от курсора мыши в произвольном направлении, оставаясь в пределах
клиентской области родительского окна.
80. При запуске не первого экземпляра приложения выдать предупреждающее сообщение о количестве уже работающих копий этого приложения. Запустить экземпляр, только
если согласен пользователь.
Лабораторная работа N 3.
Цели и задачи работы: изучение и практическое использование функций GDI.
Теоретические сведения о работе и пример программы приведены в учебном пособии
[11].
Задание к работе: Написать приложение, осуществляющее:
1. Вывод текста с использованием не менее чем двух типов шрифтов
2. Вывод графических примитивов (прямоугольники, эллипсы, дуги и т.п.) с использованием различных перьев и кистей для заливки;
3. Вывод мини-мультфильма по сюжету из лабораторной работы № 3. Сюжет мультипликации придумывается студентом и согласовывается с преподавателем с целью
одинакового уровня сложности различных вариантов сюжетов. Самостоятельно решить задачу в соответствии с индивидуальным вариантом.
4. Изучить средства загрузки DLL, оформить 2-3 функции как DLL. Функции для библиотеки подобрать самостоятельно.
Описание используемых средств для выполнения работы : язык программирования
Assembler, MASM32, операционная система Windows ХР/7. Используется компилятор ml,
компоновщик link.
Методика выполнения работы:
1. Изучить функции GDI Windows.
2. Подготовить спрайты для мини-мультфильма.
3. Реализовать оконное приложение согласно заданию.
4. Отладить программу.
Требования к отчету:
Отчет должен содержать титульный лист, задание, текст программы с комментариями,
тесты.
Контрольные вопросы по лабораторной приведены в [11]. Защита лабораторной включает теоретические вопросы по функциям и понятиям GDI, предложенные преподавателем.
Примеры индивидуальных заданий для мультипликации:
1. Море с видимой линией горизонта и плывущий кораблик.
2. Распускающийся цветок.
3. Кот, бегущий за мышкой.
4. Домик, из трубы которого идет дым.
5. Снеговик, тающий после появления солнышка.
6. С яблони падает яблоко.
7. Cолнечное затмение.
8. На ясном небе появляется тучка, идет дождь, затем появляется радуга.
9. Золотая рыбка плавает в аквариуме.
10. В прозрачный стакан капает вода из крана, уровень воды увеличивается.
11. Полет ракеты в космосе.
12. Движущийся автомобиль с мигалкой.
13. Карандаш, рисующий несколько разноцветных линий.
14. Летящая бабочка.
15. Цыпленок, клюющий зерно.
16. Полет Винни-Пуха на воздушном шарике.
25
СТО АлтГТУ 13.62.1.1120 – 2012
17.
18.
19.
20.
21.
22.
23.
24.
25.
Прыжок человека с парашютом с самолета.
Полет летающей тарелки с изменением ее цвета.
Человек, перепрыгивающий через препятствие.
Часы с движущимися стрелками.
Часы с электронным циферблатом.
Часы с кукушкой.
Паровоз тянет вагон, из трубы идет дым.
Всплывающая подводная лодка.
Закат солнца.
Лабораторная работа N 4.
Цели и задачи работы: изучение и практическое использование API-функций для работы с файловой системой. Использование ресурса меню, элементов управления форм.
Теоретические сведения о работе приведены в учебных пособиях [11,12], в источниках [4,6].
Задание к работе: реализовать приложение, позволяющее получить информацию о
файловой системе компьютера, и выполнить указанные операции с файлами и каталогами.
Оформить выбор действий пользователя с применением ресурса меню. Ввод-вывод информации реализовать с помощью элементов управления форм. Используемые API-функции:
CreateFile, CloseHandle, CreateDirectory(Ex), CopyFile(Ex), DeleteFile,FindClose, FindFirstFile(Ex), FindNextFile, GetFileAttributes(Ex), GetFileInformationByHandle, GetFileSize, GetFileTime, GetFileType, MoveFile(Ex), RemoveDirectory, SetFileAttributes, SetFileTime,
FileTimeToSystemTime, GetComputerNameEx, GetCurrentDirectory, GetDiskFreeSpaceEx,
GetLogicalDrives, GetSystemDirectory, GetVolumeInformation, SetCurrentDirectory.
Описание используемых средств для выполнения работы : язык программирования
Assembler, MASM32, операционная система Windows ХР/7, Linux, язык программирования
С.
Методика выполнения работы:
1. Изучить теоретический материал по обработке данных файловой системы.
2. Реализовать приложение согласно заданию в различных ОС.
3. Отладить программы.
Требования к отчету:
Отчет должен содержать титульный лист, задание, текст программы с комментариями,
тесты.
Контрольные вопросы по лабораторной работе включают вопросы, приведенные в
[11], а также охватывают лекционный материал по теме. Защита лабораторной включает
теоретические вопросы, предложенные преподавателем.
Примеры индивидуальных заданий :
1. Вывести список системных файлов для выбранного каталога. Первый найденный системный файл скопировать в новый каталог.
2. Вывести список файлов с атрибутом «только чтение»для выбранного каталога. Последний найденный файл с данным атрибутом скопировать в новый каталог.
3. Сформировать список подкаталогов для выбранного каталога. Первый найденный подкаталог с содержимым скопировать в новый каталог.
4. Сформировать список файлов и подкаталогов для выбранного каталога. Первый
найденный подкаталог удалить вместе со всем содержимым, предварительно запросив у
пользователя подтверждение на удаление.
5. Для выбранного каталога сформировать список содержащихся в нем файлов, дата создания которых принадлежит заданному временному промежутку. Переместить каталог в
пределах тома, если список оказался пуст.
26
СТО АлтГТУ 13.62.1.1120 – 2012
6. Для заданного каталога сформировать список файлов, длина которых не превышает заданное число. Первый найденный файл подходящей длины удалить, запросив подтверждение.
7. Определить для файла, заданного полным путем, дату его создания. Если файл создан
раньше указанной даты, то скопировать его, а иначе переместить в каталог-родитель.
8. Определить для файла, заданного полным путем, время его создания и последнего обновления. Если файл создан позже указанной даты, то удалить его, если он не является системным или временным, иначе переместить в новый каталог.
9. Определить для файла, заданного именем, каталог, который является для него родительским. Если родительский каталог создан раньше указанной даты, то скопировать его содержимое в новый каталог.
10. Найти на логическом диске файлы, созданные не более двух суток назад и вывести их
имена. Если среди них есть файлы, начинающиеся на букву «а», скопировать их в заданный
каталог.
11. Найти на логическом диске каталоги, содержащие не более трех файлов и подкаталогов,
и вывести их имена. Первый найденный такой каталог скопировать со всем содержимым в
новый подкаталог корневого каталога.
12. Задано имя файла. Определить имена каталогов, в которых он содержится, и, если
найден не один каталог-родитель, то все файлы с указанным именем поместить в новый каталог с известным именем.
13. Определить количество доступных логических дисков. С одного из них вывести все
файлы с атрибутом «только чтение». Файлы, длина которых превышает заданное число,
скопировать в новый каталог, изменив данный атрибут.
14. Задано 2 имени файлов. Определить, какой из них создан раньше, и тот, который создан
позже, скопировать в новый каталог.
15. Задано 2 имени файлов. Определить, родительский каталог которого из них создан позже, и тот каталог, который создан позже, скопировать в новый каталог и сделать его текущим.
16. Найти все каталоги, не содержащие файлов с расширением txt, sys и asm. Вывести на
экран атрибуты последнего из них, а затем изменить его дату создания на заданную дату.
17. Сосчитать количество подкаталогов в текущем каталоге. Если таких каталогов больше
заданного числа, вывести атрибуты самого длинного файла. Иначе скопировать содержимое текущего каталога в новый и сделать его текущим.
18. Выдать имена всех файлов, содержащихся в каталогах, созданных после указанной даты. Последний найденный файл переместить в заданный каталог.
19. На заданном логическом диске найти имена всех файлов, если в каталогах-предках есть
системные файлы. Первый найденный файл скопировать в новый каталог с заданным именем.
20. На заданном логическом диске найти имена всех файлов, соседями по каталогу для которых являются файлы с атрибутом «только чтение». Каждый второй найденный файл скопировать во временный каталог, который после просмотра его содержимого уничтожить.
21. Найти файлы, созданные до указанной даты, и вывести его атрибуты на экран при условии, что у него есть не менее двух подкаталогов-предков в полном пути. Последний
найденный файл скопировать в заданный каталог.
22. Для данного диска выдать имена всех каталогов, содержащие файлы с расширением
"exe" или "com". Если в каталоге более трех файлов с таким расширением, переместить во
временный новый каталог очередной файл из заданного каталога. Очередность файлов
сдвигается после каждого перемещения.
23. Найти файлы, созданные после указанной даты, и вывести их атрибуты на экран при
условии, что у них есть не менее трех подкаталогов-предков в полном пути. Первый
найденный файл скопировать в заданный каталог.
27
СТО АлтГТУ 13.62.1.1120 – 2012
24. Найти имена всех каталогов, не содержащих файлов с расширением "sys" или "c" и созданных после указанной даты. Содержимое таких каталогов переместить во временный
новый каталог, который удалить после просмотра.
25. Найти имена всех каталогов, не содержащих файлов с расширением "exe" или "com" и
созданных до указанной даты. Содержимое таких каталогов переместить во временный новый каталог, который удалить после просмотра. Содержимое этого каталога переместить
обратно.
26. Определить имя компьютера, где запущено приложение. Определить имя системного
каталога ОС, сделать его текущим, а затем вывести на экран имена всех файлов, длина имени которых не превышает заданного значения. Последний найденный файл скопировать в
новый каталог.
27. Найти файлы, у которых каталог-родитель содержит пустой каталог. Если таких файлов
несколько, переместить их после подтверждения в новый каталог.
28. Определить свободное дисковое пространство на томе. Затем найти все файлы, которые
занимают больше, чем заданное количество секторов. Найденные файлы скопировать после
подтверждения в каталог с заданным именем.
29. Определить имя компьютера, где запущено приложение. Определить имя системного
каталога ОС, затем вывести на экран имена всех его файлов, длина которых не превышает
заданного значения. Последний найденный файл переместить в новый каталог по согласованию с пользователем.
30. Выдать имена всех каталогов заданного логического диска, содержащих более одного
файла с расширением "doc". Последний найденный каталог сделать текущим и скопировать
в него три файла из системного каталога ОС.
31. Выдать имена всех файлов с заданным расширением, с заданного логического диска с
указанием полного пути. Если размер хотя бы одного из них совпадет с заданным числом,
то переместить этот файл в новый каталог.
32. Найти каталоги, содержащие более 2-х файлов с датой создания не позже, чем дата создания заданного файла. Если таких каталогов не один, то переместить содержимое первого
из них в новый временный каталог, который удалить после просмотра его содержимого.
33. Выдать имена всех каталогов уровня вложенности более 3, начиная от корневого, содержащего файлы с заданным расширением. Последний найденный каталог удалить после
подтверждения пользователя.
34. Для заданного логического диска выдать имена всех пустых каталогов. В последний
найденный каталог скопировать первые 5 файлов из системного каталога ОС.
35. Сосчитать количество подкаталогов в текущем каталоге. Если таких каталогов меньше
заданного числа, вывести атрибуты самого короткого файла из текущего каталога. Иначе
скопировать содержимое текущего каталога в новый и сделать его текущим
36. Для указанного каталога выдать имена всех содержащихся в нем (именно в нем, а не в
его подкаталогах) файлов. Все эти файлы переместить после подтверждения пользователя в
заданный каталог.
37. Выдать имена файлов, имя которых содержит не более 3 символов (без расширения) и в
родительском каталоге которых есть еще хотя бы один каталог. Для последнего из них
установить дату создания 01.01.01.
38. Напечатать имена всех файлов, начинающихся с буквы "а", находящихся не в корневой
директории и являющихся не зашифрованными. Для последнего найденного файла установить заданную дату создания по согласованию с пользователем.
39. Выдать имена каталогов, не содержащих файлов (каталоги могут быть). Если такие каталоги есть, то переместить содержимое одного из них в другой временный каталог.
40. На заданном ЛД выдать имена всех каталогов, чей уровень вложенности превышает заданный. Если такие каталоги отсутствуют, скопировать все файлы из корневого каталога
(не содержимое каталогов!) в новый каталог.
28
СТО АлтГТУ 13.62.1.1120 – 2012
41. Заданы имя каталога и имя файла. Если файл занимает более заданного количества секторов, то выдать содержимое каталога, иначе выдать список атрибутов файла. Файл уничтожить по согласованию с пользователем.
42. Вывести на экран содержимое тех каталогов, у которых длина имени не превышает заданное количество букв и которые не содержат файлов с расширением *.txt. Если таких каталогов больше 2, то переместить их файлы по согласованию с пользователем в другой каталог.
43. Выдать имена всех файлов, созданных ранее указанной даты, а затем переместить их во
временный каталог. После просмотра временного каталога реализовать обратное перемещение.
44. Выдать содержимое каталогов, созданных до указанной даты и содержащих не менее
заданного количества файлов и подкаталогов. Если таких каталогов нет, то получить информацию о томе и файловой системе.
45. Определить для файла, заданного полным путем, время его создания и последнего обновления. Если файл создан раньше указанной даты, то удалить его по согласованию с
пользователем, если он не является системным, иначе переместить в новый каталог.
46. Определить для файла, заданного полным путем, каталог, который является для него
родительским. Если родительский каталог создан позже указанной даты, то скопировать
его содержимое в новый каталог.
47. Найти файлы, созданные не более недели назад и вывести их имена. Если среди них
есть файлы, начинающиеся на букву «i», скопировать их в заданный каталог.
48. Найти на логическом диске каталоги, содержащие не более трех файлов и подкаталогов,
и вывести их имена. Последний найденный такой каталог скопировать со всем содержимым
в новый подкаталог корневого каталога.
49. Задано имя файла. Определить имена каталогов, в которых он содержится, и, если
найден только один каталог-родитель, то все его файлы переместить в новый каталог с известным именем по согласованию с пользователем.
50. Определить количество доступных логических дисков. С одного из них вывести все
файлы с атрибутом «архивный» или «только чтение». Файлы, длина которых не превышает
заданное число, скопировать в новый каталог, изменив данный атрибут.
51. Сосчитать общее количество подкаталогов в заданном, и содержимое последнего из них
переместить в новый каталог.
52. Сосчитать количество файлов, дата создания которых находится в заданном диапазоне.
Первый из таких файлов удалить, запросив у пользователя подтверждение.
53. Найти каталог, который содержит хотя бы 1 пустой каталог и не менее 2 файлов с заданной датой создания. Если такого нет, то из текущего каталога удалить файл по согласованию с пользователем.
54. Сосчитать количество каталогов, которые созданы до указанной даты и содержат не менее одного пустого каталога. Если таких каталогов нет, по согласованию с пользователем
удалить первый найденный файл, начинающийся на букву «а».
55. Сосчитать количество папок, которые содержат не менее трех файлов с расширением
«exe». Если таких папок нет, то переместить файл с заданным именем в каталог на один
уровень выше, чем родительский для заданного файла. Если такого каталога нет, что сообщить.
56. Найти файлы, у которых каталог-родитель содержит пустой каталог. Последний
найденный файл удалить по согласованию с пользователем.
57. Найти файлы, все каталоги-родители которых начинаются на заданную букву. Последний найденный файл переместить в заданный каталог.
58. Найти все файлы, для которых дата создания находится в заданном диапазоне и все каталоги-предки содержат в имени не более 2 символов. Последний найденный файл удалить
по согласованию с пользователем.
29
СТО АлтГТУ 13.62.1.1120 – 2012
59. Для заданного каталога вывести имена всех подкаталогов, содержащих не менее заданного количества файлов. Если таких нет, то скопировать содержимое последнего просматриваемого каталога в новую папку.
60. Для заданного каталога и заданного файла определить все родительские каталоги для
каждого. Если в двух полученных списках есть каталоги с одинаковыми именами, то удалить файл по согласованию с пользователем.
61. Для заданного файла определить его длину и дату создания. Если длина меньше заданного числа, то скопировать файл в заданный каталог. Иначе установить дату создания
07.07.07.
62. Для файла, заданного полным путем, определить, имеются ли в заданном каталоге другие файлы с тем же именем, но меньшей длиной. Если такие файлы есть, то скопировать их
в новый каталог.
63. Для файла, заданного полным путем, определить дату создания. Если файл создан позже указанной даты, скопировать его в заданный каталог.
64. Для файла, заданного полным путем, проверить, имеются ли в его родительском каталоге файлы с расширением exe. Если есть, то скопировать их в новый каталог.
65. Сосчитать количество подкаталогов в заданном каталоге. Если их больше заданного
числа, то скопировать самый длинный файл из заданного каталога в первый найденный каталог на диске С.
30
СТО АлтГТУ 13.62.1.1120 – 2012
ПРИЛОЖЕНИЕ Б
Методические указания по выполнению расчетного задания по дисциплине
"Основы системного программирования "
Б.1 Общие сведения о расчетном задании
Б.1.1 Цель выполнения расчетного задания
Расчетное задание по дисциплине «Основы системного программирования» является
заключительным этапом в изучении студентами соответствующей учебной дисциплины.
Расчетное задание предполагает самостоятельную работу студента и служит для систематизации и закрепления теоретических знаний и практических навыков по дисциплине, а
также для применения этих знаний при разработке и создании приложения или драйвера
устройства, позволяющего решить поставленную задачу. При выполнении работы развиваются навыки выполнения самостоятельной работы и проведения научного поиска; приобретаются навыки по оформлению и представлению результатов проделанной научноисследовательской или практически-значимой работы.
Б.1.2 Организация выполнения расчетного задания
Расчетное задание выполняется согласно заданию, выданному преподавателем в начале
семестра. В задании указывается тема работы, основные этапы работы и сроки их выполнения.
Выполнение расчетного задания предусмотрено в двух уровнях сложности в зависимости от подготовки студента. Первый уровень сложности позволяет студенту получить за
выполнение расчетного задания максимальный рейтинг 75 баллов, второй уровень позволяет получить до 100 баллов.
Задание первого уровня сложности предусматривает разработку приложения с реализацией оконных элементов управления. Задание второго уровня сложности включает ознакомление с архитектурой и c функциями драйвера устройства на примере драйвера клавиатуры. Для самостоятельной работы используется документация и среда WDK, поставляемая
дополнительно к Visual Studio. \
Задание к работе первого уровня сложности:
1. Создать собственную DLL
2. Написать оконное приложение с элементами управления форм, использующее
функции библиотеки.
Задание к работе второго уровня сложности:
Изучить теоретический материал по архитектуре драйверов, примеры и документацию из DDK.
2. Изучить структуру драйвера-фильтра для клавиатуры.
3. Создать драйвер на основе примера из DDK и проверить его работоспособность.
1.
Описание используемых средств для выполнения работы : язык программирования
Assembler, MASM32, Visual Studio 2010, DDK, операционная система Windows ХР.
Расчетное задание должно быть выполнено и защищено до окончания семестра в срок,
установленный в задании. Расчетное задание оценивается по стобалльной шкале, полученный рейтинг зачитывается в общий рейтинг семестра. При выполнении и/или защите работы после установленного срока оценка может быть снижена.
Процесс сдачи расчетного задания включает в себя:
- демонстрацию разработанной программы;
31
СТО АлтГТУ 13.62.1.1120 – 2012
- представление отчета о выполнении расчетного задания;
- устную защиту.
По результатам выполнения расчетного задания студент должен сдать отчет на бумажном носителе.
Процесс выполнения расчетного задания рекомендуется разделить на следующие этапы:
1) формализация задачи, изучение необходимой учебной литературы;
2) разработка алгоритма решения задачи;
3) разработка программы;
5) тестирование программы;
6) оформление отчета;
7) защита и сдача расчетного задания.
Отчет рекомендуется оформлять параллельно с разработко й программы. Для этого
необходимо документировать текущие этапы работы.
Б.2 Оформление отчета по расчетному заданию
Отчет по расчетному заданию должен включать:
- титульный лист;
- задание;
- содержание;
- введение;
- постановку задачи;
- алгоритмы и структуры данных программы;
- описание программного кода;
- заключение;
- список использованных источников;
- код программы в приложении.
Оформление отчета должно быть осуществлено в соответствии с СТП АлтГТУ 12 570 и
СТО 12 400 2009.
32
СТО АлтГТУ 13.62.1.1120 – 2012
ПРИЛОЖЕНИЕ В
Тесты текущего контроля знаний по дисциплине
ТЕСТЫ
контроля текущих знаний по дисциплине
Б.3.В.19 “ Основы системного программирования “
(код и наименование дисциплины)
230100 Информатика и вычислительная техника (квалификация (степень) "бакалавр")
(код и наименование специальности)
Факультет информационных технологий
Кафедра вычислительных систем и информационной безопасности
Вопросы к лабораторной работе №1
1. Отличие прерываний от исключений.
2. Структура обработчика аппаратного прерывания.
3. Архитектура PIC и APIC.
4. Понятие и уровни IRQL.
5. Прерывания DPC и APC.
6. Алгоритм обработки диспетчером прерываний запросов на прерывания от устройств
Вопросы к лабораторной работе №2
1. Оконный класс и его регистрация.
2. Цикл обработки сообщений и вызываемые в нем системные функции.
3. Структура оконной функции.
4. Сообщения от клавиатуры и мыши, их обработка.
5. Организация обработки очереди сообщений.
Вопросы к лабораторной работе №3
1. Понятие и типы контекстов. Запрос и освобождение контекста.
2. Назначение функции SelectObject.
3. Типы растров. Системные функции для организации вывода растра.
4. Понятие контекста памяти.
5. Системные функции для создания и использования DLL.
6. Структура видеопамяти, организация хранения графической информации.
Вопросы к лабораторной работе №4
1. Логическая структура диска.
2. Структура MBR.
3. Обработка дескрипторов файлов и каталогов.
4. Системные функции обработки информации о файловой системе для различных ОС.
Составил профессор каф. ВСИБ__________________
(подпись)
Сучкова Л.И.
Заведующий кафедрой
___________________
(подпись)
Якунин А.Г.
Декан ФИТ
___________________
(подпись)
Кобелев Г.Н.
33
СТО АлтГТУ 13.62.1.1120 – 2012
ПРИЛОЖЕНИЕ Г
Тесты промежуточного контроля знаний по дисциплине
ВОПРОСЫ, ПРИМЕРЫ ЗАДАЧ И ТЕСТОВ
письменного контроля итоговых знаний по дисциплине
Б.3.В.19 “ Основы системного программирования “
(код и наименование дисциплины)
230100 Информатика и вычислительная техника (квалификация (степень) "бакалавр")
(код и наименование специальности)
Факультет информационных технологий
Кафедра вычислительных систем и информационной безопасности
Теоретические вопросы:
1. Архитектурные особенности реального и защищенного режимов. Long-режим.
2. Пространство ввода-вывода. Порты и регистры.
3. Прерывания и исключения. Классификация прерываний. Структура обработчика
аппаратных прерываний.
4. Архитектура PIC. APIC и SAPIC.
5. Обработка прерываний от клавиатуры.
6. Обслуживание прерываний стандартным PIC.
7. Понятие и уровни IRQL для ОС различной разрядности.
8. Обслуживание запроса на прерывание в многопроцессорной системе.
9. Связь IRQ с IRQL.
10. Процессы и потоки. \
11. Прерывания уровня APC и DPC и их обслуживание.
12. Программирование в Win32. Сообщения и их структура.
13. Минимальное приложение с главным окном. Функция WinMain и ее параметры.
Организация вывода окна в WinMain.
14. Цикл обработки сообщений. Сообщения от мыши и клавиатуры.
15. Оконная функция, ее параметры и структура.
16. Использование таймера в приложениях.
17. Видеосистема. Архитектура видеопамяти.
18. Назначение и типы контекстов. Обработка сообщения WM_PAINT.
19. Организация работы с инструментами рисования.
20. Организация работы со шрифтами в Win32.
21. Типы растров. Технология отображения растров.
22. Элементы управления форм. Пример работы с элементом формы.
23. Понятие DLL. Создание и работа с функциями DLL.
24. Физическая организация жесткого диска.
25. Логическая и физическая геометрия. Функции дискового контроллера. Системы
нумерации секторов.
26. Логическая организация диска. Начальная загрузка.
27. Пример обработки данных файловой системы на низком уровне ее архитектуры.
28. Базовые и динамические диски. База данных LDM. Виды составных томов.
29. Основные принципы организации подсистемы ввода-вывода ОС.
30. Подсистема ввода-вывода. Диспетчер ввода-вывода.
31. Схема обработки запроса на ввод-вывод.
32. Иерархичность вызова драйверов.
33. Структура драйвера устройства.
34
СТО АлтГТУ 13.62.1.1120 – 2012
34. Назначение процедур ISR, DPC, APC драйвера.
35. Объекты «файл», «драйвер» и «устройство».
36. Обработка запроса на ввод-вывод одноуровневым и многоуровневым драйверами.
Примеры задач:
1. Написать ISR, которые реализуют следующее: нажатие ESC в первые 5 секунд
после запуска программы перезагружает компьютер.
2. В буфере находится сектор, считанный из FAT32. Определить, сколько цепочек
кластеров заканчивается в этом секторе и сколько в этом секторе пустых кластеров.
Каждый тест итогового контроля содержит 2 теоретических вопроса и задачу.
Пример теста:
ТЕСТ № 1
1. Назначение прерываний уровня APC.
2. Схема обработки запроса на ввод-вывод.
3. Написать программу, позволяющую замаскировать все линии IRQ, кроме IRQ0, на 5
секунд..
Составила профессор каф. ВСИБ__________________
(подпись)
Сучкова Л.И.
Заведующий кафедрой
___________________
(подпись)
Якунин А.Г.
Декан ФИТ
___________________
(подпись)
Кобелев Г.Н.
35
СТО АлтГТУ 13.62.1.1120 – 2012
ПРИЛОЖЕНИЕ Д
Памятка для студентов по изучению дисциплины
" Основы системного программирования"
направления «Информатика и вычислительная техника»
Составила профессор кафедры ВСИБ Сучкова Л.И.
Утверждаю
Зав. кафедрой ВСИБ А.Г.Якунин
_________________
«01» 09 2012 года
Содержание дисциплины
Изучение дисциплины «Основы системного программирования» происходит во 5 семестре. Учебный план предусматривает 17 часов лекций, 17 часов лабораторных работ, 110
часов СРС, выполнение расчетного задания, экзамен.
Теоретический материал содержит:
Модуль 1.
1. Архитектура системного программного обеспечения. Классификация системного программного обеспечения. Процессы и потоки, их представление в вычислительной
системе. (2 часа; [1,5,6]).
2. Ввод-вывод, управляемый прерываниями. Программирование на уровне портов-ввода-вывода. (4 часа; [1,9,12]).
Модуль 2.
3. Низкоуровневое программирование в операционной среде. Примеры обработки событий, связанных с мышью и клавиатурой. (4 часа; [2,6,9,11]).
4. Синхронный и асинхронный ввод-вывод. Функции управления файлами и каталогами ОС различных типов. (2 часа; [1,4,5,6,9,10]).
Модуль 3.
5. Архитектура подсистемы ввода-вывода ОС. Схема обработки запроса на вводвывод. (2 часа; [3,7,8]).
6. Многоуровневость драйверов. Драйвер как системная DLL. Основные функции,
включаемые в драйвер. Объекты «файл», «драйвер» и «устройство». Понятие IRP. Обработка запросов ввода-вывода одноуровневым и многоуровневым драйверами. (3 часа;
[3,7,8]).
График контроля
Таблица
Контрольное испытание
Лабораторная работа 1
Защита
Лабораторная работа 2
Защита
Лабораторная работа 3
Защита
Лабораторная работа 4
Защита
Расчетное задание
Экзамен
Время проведения
6 неделя
Вес в итоговом рейтинге
0,2
10 неделя
0,05
14 неделя
0,05
17 неделя
0,1
7-17 недели
в период сессии
0,1
0,5
36
СТО АлтГТУ 13.62.1.1120 – 2012
Литература и учебно-методические материалы:
а) основная литература:
1. Аблязов, Р.З. Программирование на ассемблере на платформе х86-64. – СПб.: ДМКПРЕСС, 2011. – 304 с.
2. Ганеев, Р.М. Проектирование интерфейса пользователя средствами Win32 API:
[учеб. пособие для вузов].-М.: Горячая линия -Телеком, 2007.-357 с.: ил. Режим доступа http://elib.altstu.ru/elib/liter/Ganev_win32_api.zip
3. Пенни Орвик, Гай Смит. Windows Driver Foundation. Разработка драйверов. – Издво БХВ-Петербург, 2008. – 880 с. – 2 экз.
4. Роберт Лав. Linux. Системное программирование. – СПб.:«Питер», 2008. – 416 с.- 1
экз.
б) дополнительная литература:
5. Гордеев А.В., Молчанов А.Ю.. Системное программное обеспечение.- СанктПетербург: 2002.- 736 с. - 5 экз.
6. Харт Дж. Системное программирование в среде Win32. – М.: Вильямс, 2001. – 464 с.
– 30 экз.
7. Солдатов В.П. Программирование драйверов под Windows. – Изд-во БИНОМПРЕСС, 2006. – 576 с. – 1 экз.
в) программное обеспечение и Интернет-ресурсы:
8. http://www.microsoft.com/whdc/ddk/winddk.mspx
9. http://wasm.ru
10. www.linuxcenter.ru
г) методические указания студентам:
11. Сучкова, Л.И. Win32 API: основы программирования: учебное пособие /
Л.И.Сучкова; Алт. гос. техн. ун-т им. И.И. Ползунова. – Барнаул: АлтГТУ, 2010. –
138 с. – 7 экз. +Режим доступа http://elib.altstu.ru/
12. Сучкова, Л.И. Программно-аппаратные аспекты низкоуровневого обмена с периферийными устройствами: учеб.пособие/ Л.И. Сучкова; Алт. гос. техн. ун-т им. И.И.
Ползунова, – Барнаул, 2012. – Режим доступа http://elib.altstu.ru/
В результате изучения дисциплины студенты должны обладать знаниями, умениями и
навыками, приведенными в таблице.
Код компетенции
по ФГОС
ВПО или
ООП
ОК-1
Содержание
компетенции
(или ее части)
владеет культурой мышления, способен к
обобщению,
анализу, восприятию информации, постановке цели
и выбору путей
её достижения
В результате изучения дисциплины
обучающиеся должны:
знать
- основы логики
обслуживания
процессов в операционной среде;
-понятие и структуру драйвера;
-архитектуру
подсистемы ввода-вывода;
уметь
владеть
- осуществлять
поиск информации по проблемам функционирования
системного
программного
обеспечения
- способностью к
анализу системных
структур данных и
логики функционирования системного
программного обеспечения
37
СТО АлтГТУ 13.62.1.1120 – 2012
ОК-6
ПК-5
ПК - 10
Стремится к
саморазвитию,
повышению
своей квалификации и мастерства.
- методы и средства
получения
информации
по
вопросам, касающимся системного программного
обеспечения
Разрабатывать
компоненты
программных
комплексов и
баз данных,
использовать
современные
инструментальные средства и технологии программирования
- базовые понятия
архитектуры системного программного обеспечения
- принципы низкоуровневого
программирования с использованием
интерфейсных функций
операционной
среды;
Сопрягать аппаратные и
программные
средства в составе информационных и
автоматизированных систем
-современные
технические
и
программные
средства взаимодействия с ЭВМ;
-методы обработки
драйверами
запросов на вводвывод в многозадачных операционных системах
применять методы и средства познания
для профессионального роста
- разрабатывать
приложения с
использованием системных
функций операционной среды;
- разрабатывать
алгоритмы для
обработки системных структур данных;
-создавать
и
использовать
библиотеки
динамической
компоновки.
- разрабатывать
программное
обеспечение,
обрабатывающее системную
информацию
или осуществляющее
системные вызовы
способностью к переоценке накопленного опыта, анализу
своих возможностей,
готовностью приобретать новые знания
- навыками самостоятельной, индивидуальной работы, способностью принимать решения в рамках своей профессиональной компетенции
- технологией использования интерфейсных функций
операционной среды;
- методикой обслуживания драйверами
запросов на вводвывод;
Порядок вычисления рейтинга по дисциплине «Основы системного программирования»
1 Шкала оценок и правила вычисления рейтинга
Успеваемость студента оценивается с помощью текущего рейтинга (во время аттестации), семестрового (после окончания семестра) и итогового рейтинга (после сессии). Во
всех случаях рейтинг вычисляется по формуле:
38
СТО АлтГТУ 13.62.1.1120 – 2012
RT 
R p
p
i
i
i
,
где Ri – оценка за i-ю контрольную точку, pi – вес этой контрольной точки. Суммирование проводится по всем контрольным точкам с начала семестра до момента вычисления
рейтинга.
На 1-й аттестации (9 неделя) рейтинг равен рейтингу 1 лабораторной работы. На
17
неделе образом учитываются выполнение и защита лабораторных работ по темам 1-4 и расчетного задания.
R
70  0,2  50  0,05  40  0,05  60 * 0,1  50 * 0,1
 59 .
0,2  0,05  0,05  0,1  0,1
Перед началом сессии вычисляется семестровый рейтинг по темам 1-4, расчетного задания и с учётом посещаемости студентом занятий:
R СЕМ  0,9R  Б П
где R – текущий рейтинг на конец семестра, вычисленный по результатам контрольных точек, Бп – дополнительные баллы за посещаемость занятий определённые по следующей схеме
Итоговый рейтинг, помимо семестрового, учитывает рейтинговую оценку выполнения
экзаменационного задания с учетом его веса. В зачётку выставляется оценка, соответствующая итоговому рейтингу.
Профессор кафедры вычислительных систем и информационной безопасности
__________________ Сучкова Л.И.
39
Download