4.2 Структура дисциплины по разделам и формам организации обучения приведена в таблице 1.
Таблица 1
Структура дисциплины по разделам и формам организации обучения
Название раздела/темы
|
Аудиторная работа
(час)
|
СРС
(час)
|
Контр. Р.
|
Итого
|
Лекции
|
Лаб. зан.
|
|
|
|
Введение
|
2
|
2
|
|
|
|
Особенности выполнения программ
|
3
|
3
|
|
|
|
Ввод-вывод
|
3
|
3
|
|
|
|
Файловые системы
|
4
|
4
|
|
|
|
Драйвера устройств
|
4
|
4
|
|
|
|
Подсистема безопасности
|
4
|
4
|
|
|
|
Службы, особенности их создания и работы
|
4
|
4
|
|
|
|
Итого
|
24
|
24
|
|
|
|
5. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ
В таблице 2 приведено описание образовательных технологий, используемых в данном модуле.
Таблица 2
Методы и формы организации обучения (ФОО)
ФОО
Методы
|
Лекция
|
Лабораторная работа.
|
Практ. зан./
Семинар,
|
Тренинг, Мастер-класс
|
СРС
|
К. пр.
|
IT-методы
|
+
|
+
|
|
|
+
|
|
Работа в команде
|
|
|
|
|
|
|
Case-study
|
|
+
|
|
|
+
|
|
Игра
|
|
|
|
|
|
|
Методы проблемного обучения.
|
+
|
|
|
|
|
|
Обучение
на основе опыта
|
|
+
|
|
|
|
|
Опережающая самостоятельная работа
|
|
+
|
|
|
+
|
|
Проектный метод
|
|
|
|
|
|
|
Поисковый метод
|
|
|
|
|
+
|
|
Исследовательский метод
|
|
+
|
|
|
|
|
Другие методы
|
|
|
|
|
|
|
* - Тренинг, ** - Мастер-класс
6. ОРГАНИЗАЦИЯ И УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ
6.1. Самостоятельную работу студентов (СРС) можно разделить на текущую и творческую.
Текущая СРС – работа с лекционным материалом, подготовка к лабораторным работам; опережающая самостоятельная работа; выполнение домашних заданий; изучение тем, вынесенных на самостоятельную проработку; подготовка к экзамену.
Творческая проблемно-ориентированная самостоятельная работа
(ТСР) – поиск, анализ, структурирование информации по темам, выносимым на самостоятельное изучение (ресурсы Интернет в том числе).
6.2. Содержание самостоятельной работы студентов по дисциплине
В процессе изучения дисциплины студенты должны самостоятельно овладеть следующими темами:
Технологии виртуализации памяти
Методики командной разработки программного обеспечения
Промежуточный контроль знаний – теоретических и практических – производится в процессе защиты студентами лабораторных работ. Контроль и оценка знаний производится в соответствии с рейтинг-планом. Окончательный контроль знаний производится в форме экзамена (с учетом набранных баллов).
6.3. Контроль самостоятельной работы
Рубежный контроль в виде контрольной работы по теоретической и практической части.
По результатам текущего и рубежного контроля формируется допуск студента к экзамену. Экзамен проводится в устной форме.
6.4.Учебно-методическое обеспечение самостоятельной работы студентов
Для самостоятельной работы студентов используются сетевые образовательные ресурсы, представленные на сервере кафедры ИПС, сеть Интернет и другие научно-образовательные ресурсы.
7. СРЕДСТВА (ФОС) ТЕКУЩЕЙ И ИТОГОВОЙ ОЦЕНКИ КАЧЕСТВА ОСВОЕНИЯ ДИСЦИПЛИНЫ
Для организации текущего контроля полученных студентами знаний по данной дисциплине используются тесты, размещенные на сайте каф. ИПС. Каждый тест имеет 2 или 3 варианта и содержит несколько вопросов. Текущий контроль освоения дисциплины осуществляется при сдаче студентом лабораторных работ. Для контрольной работы предлагается перечень из теоретических вопросов и практических задач. Экзаменационные билеты также содержат теоретическую и практическую части.
8. РЕЙТИНГ КАЧЕСТВА ОСВОЕНИЯ ДИСЦИПЛИНЫ
Распределение учебного времени:
Лекции 24 часа
Лабораторные работы 24 часа
Самостоятельная работа студентов 48 часов
Основные положения по рейтинг-плану дисциплины
На дисциплину выделено 100 баллов и 5 кредитов, которые распределяются следующим образом:
8-й семестр: 5 кредитов, 100 баллов – лекции, лабораторные работы, контрольная работа, экзамен.
- текущий контроль 75 баллов;
- промежуточная аттестация (экзамен) 25 баллов.
Допуск к сдаче экзамена осуществляется при наличии более 60 баллов, обязательным является выполнение всех лабораторных работ.
Итоговый рейтинг определяется суммированием баллов, набранных в течение семестра и на экзамене.
Рейтинг-план освоения дисциплины в течение семестра приведен в ПРИЛОЖЕНИИ 1.
Банк заданий к лабораторным работам приведен в ПРИЛОЖЕНИИ 2.
9. УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ
ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Основная литература:
Таненбаум Э. Современные операционные системы, 2-е изд.: Пер. с англ. - СПб: Питер, 2003. - 1040 с.: ил.
Гордеев А. В., Молчанов А. Ю. Системное программное обеспечение: Учебник для вузов - СПб: Питер, 2003. - 736 с.: ил.
Вильямс А. Системное программирование в Windows 2000 для профессионалов - СПб: Питер, 2003. - 624 с.: ил.
Джонсон М. Системное программирование в среде Win32, 2-е изд.: Пер. с англ. - M.: Издательский дом "Вильямс", 2001. - 464 с.: ил.
Рихтер Дж. Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows, 4-е изд.: Пер, англ - СПб: Питер; М.: Издательско-торговый дом "Русская Редакция", 2001. - 752 с.; ил.
Дополнительная литература:
Электронная версия книги Solomon D., Russinovich M. Inside Microsoft Windows 2000 : Microsoft Press, 2000. -
Электронная версия книги Brain M., Reeves R. Win32 System Services: The Heart of Windows 98 and Windows 2000 : Prentice Hall PTR, 2000
Электронная версия книги Oney W. Programming the Microsoft Windows Driver Model : Microsoft Press, 1999
Программное обеспечение и Internet-ресурсы:
Операционная система Microsoft Windows XP или новее
Программа виртуализации Oracle VirtualBox
Операционная система Ubuntu Linux для работы в качестве гостевой операционной системы виртуальной машины VirtualBox
Среда разработки (на выбор):
Borland Turbo Delphi 2006 или новее
Среда разработки Microsoft Visual Studio 2005 или новее
Driver Development Kit – среда разработки драйверов. Используется для выполнения лабораторных работ по созданию драйверов.
10. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Лабораторные работы выполняются в компьютерном классе, оснащенном 8‑ю компьютерами на базе процессоров Intel Core 2 Duo.
Компьютерный класс (Ул. Советская, 84/3,
Ауд. 408А-ИК)
|
Компьютеры Pentium Core2 1,6GHz (8 шт.),
мониторы LCD 17" Acer (8 шт.)
Сетевой коммутатор CNet 8 ports
|
Программа составлена на основе Стандарта ООП ТПУ в соответствии с требованиями ФГОС по направлению 230100 «Информатика и вычислительная техника».
Программа одобрена на заседании кафедры информатики и проектирования систем
протокол № 1 от «31» 08 2011 г.
Автор – старший преподаватель каф. Информатики и проектирования систем
Дорофеев Вадим Анатольевич
Рецензент – профессор каф. Информатики и проектирования систем
Погребной Владимир Кириллович
ПРИЛОЖЕНИЕ
Дисциплина «Системное программирование» Число недель – 15
Институт кибернетики Кол-во кредитов – 3
Кафедра информатики и проектирования систем
Лекции, час – 24
Семестр 8 Лаб. работы, час. – 24
Группы 8В11, 8В12 Всего аудит. работы, час. – 48
Преподаватель Дорофеев Вадим Анатольевич, старший преподаватель
Самост. работа, час. – 48
ВСЕГО, час. – 96
Рейтинг-план освоения дисциплины «Системное программирование»
Недели
|
Текущий контроль
|
Теоретический материал
|
Практическая деятельность
|
|
|
Название раздела
|
Темы лекций
|
Контролир. материал
|
Баллы
|
Название лаб. работ
|
Баллы
|
Индивид. задание
|
Баллы
|
Итого
|
1
|
Введение
|
Основные понятия и их определения, классификация
|
|
|
Создание простого Windows приложения
|
5
|
|
|
7
|
2
|
Интерфейс операционной системы
|
|
|
Работа со строками
|
5
|
|
|
7
|
3
|
Особенности выполнения программ
|
Объекты ядра, процесс выполнения программ
|
|
|
Работа с объектами ядра Win32
|
8
|
|
|
10
|
4
|
Синхронизация потоков, решение проблем синхронизации
|
|
|
5
|
Ввод-вывод
|
Принципы аппаратуры ввода-вывода, программное обеспечение
|
|
|
Работа с процессами и потоками
|
8
|
|
|
10
|
6
|
Компоненты ввода-вывода и их взаимодействие
|
|
|
7
|
Файловые системы
|
Файлы, каталоги
|
|
|
Синхронизация потоков
|
8
|
|
|
10
|
8
|
Реализация файловой системы
|
|
|
9
|
Взаимоблокировки, безопасные и небезопасные состояния
|
|
|
Взаимодействие процессов
|
8
|
|
|
10
|
10
|
Драйвера устройств
|
Организация подсистемы управления
|
|
|
11
|
Унифицированная модель разработки драйверов
|
|
|
Взаимоблокировки
|
8
|
|
|
9
|
12
|
Подсистема безопасности
|
Подсистема безопасности: цели; защита объектов
|
|
|
13
|
Реализация подсистемы безопасности
|
|
|
Создание драйвера
|
10
|
|
|
10
|
14
|
Службы
|
Назначение, особенности работы
|
|
|
15
|
Создание, запуск, удаление службы
|
|
|
Итоговая
|
75
|
Зачёт
|
25
|
Итого баллов по дисциплине
|
100
|
«31» 08 2011 г.
Зав. кафедрой ИПС Сонькин М.А.
Преподаватель Дорофеев В.А.
ПРИЛОЖЕНИЕ 2
Банк заданий к лабораторным работам (примерный)
Лабораторная работа №1
Вывести количество времени, прошедшее с момента запуска операционной системы (формат: сутки, часы, минуты, секунды)
Написать программу, которая выводит текущее время в MessageBox.
Вывести на экран имя компьютера и текущего пользователя
Лабораторная работа №2
Функцию написать в двух вариантах: для ANSI-строк и строк UNICODE (UTF-8).
Написать функцию addslashes (char * str), которая вставляет символ обратного слэша (\) перед одинарными и двойными кавычками, встречающимися в строке.
Написать функцию ltrim (char * str), которая удаляет пробелы в начале строки.
Написать функцию comparestrings (char * str1,char * str2), которая сравнивает количество символов в строках. Возвращаемые значения: 1 - если str1 короче, чем str2; 2 - если str2 короче, чем str1; 3 - если количество символов в строках одинаково.
Лабораторная работа №3
Создание одного из объектов ядра и получение описателя(handle) на него (функции Create: - CreateProcess, CreateMutex etc)
Проверка, что объект создан, то есть описатель не равен NULL, иначе получить код ошибки (функция GetLastError), форматировать сообщение об ошибке (FormatMessage) и вывести его (с помощью MessageBox или в консоль)
Получение параметров описателя объекта и вывод их на экран
Дублирование описателя этого же объекта (функция DuplicateHandle)
Проверка равны ли первоначальный описатель и его клон, вывод на экран результата
Закрытие первого описателя (CloseHandle)
Проверка существует ли еще объект ядра, то есть вызов любой функции, связанной с этим объектом (например для объекта File - ReadFile), проверка результата выполнения функции и вывод на экран сообщения об удачном/неудачном выполнении
Закрытие второго описателя
Проверка существует ли еще объект ядра и вывести результат на экран (аналогично пункту 7)
Лабораторная работа №4
Создать поток, который выводит два сообщения через MessageBox с интервалом в 5 секунд. После окончания его работы основной поток процесса выводит сообщение об этом.
Создать поток и вывести в нем параметры текущего процесса: заголовок окна, расстояния по осям X и Y от левого верхнего угла, ширину и высоту окна, дескрипторы стандартных устройств ввода и вывода.
Вывести параметры текущего процесса: заголовок окна, расстояния по осям X и Y от левого верхнего угла, ширину и высоту окна, дескрипторы стандартных устройств ввода и вывода. Затем создать процесс с заданными параметрами заголовка окна, ширины, высоты и смещения от левого верхнего угла экрана. После чего вывести те же параметры, что и для первого процесса.
Создать процесс и вывести его переменные окружения.
Лабораторная работа №5
1. Создать две функции потоков, которые выполняют следующие расчеты:
Поток 1: a=(b+3); b = (b-1);
Поток 2: b = (b+2);
Каждая функция потока вычисляет свою формулу в цикле из ста итераций. При вычислении значения переменных а и b выводить на экран.
2. Произвести те же вычисления при помощи критических секций. После этого вывести значения переменных a и b на экран.
3. Написать две программы:
Программа 1 создает объект ядра «событие» выводит на экран текущее время и делает задержку на пять секунд, после чего освобождает «событие»; Перед задержкой запустить Программу 2;
Программа 2 ждет, пока освободится объект ядра «событие», после чего выводит на экран текущее время.
4. Создать 3 функции потоков, каждая из которых выводит в цикле из 25 итераций сообщение «Это поток № номер_потока». Сообщение заносить в строку, на которую указывает глобальная переменная str. Сделать синхронизацию потоков при помощи мьютексов.
Лабораторная работа №6
Создать два дочерних процесса и соединить их анонимным каналом. Для этого использовать переопределение стандартных устройств ввода/вывода. Основная программа создает канал, процессы и передает им описатели чтения/записи канала. Вторая программа получает от родительской описатель записи в канал в качестве стандартного устройства вывода и передает по каналу данные из файла (определяется программистом). Третья программа получает описатель чтения из канала в качестве стандартного устройства ввода, считывает через него информацию из канала и выводит ее на экран.
Вести широковещательную рассылку сообщений по сети при помощи почтовых ящиков. Сервер создает почтовый ящик и периодически записывает туда сообщения. Клиенты подключаются к этому ящику, считывают полученные сообщения и выводят их на экран.
Реализовать механизм клиент/сервер при помощи именованных каналов. Сервер передает клиенту аргументы, при помощи которых клиент проводит определенные вычисления (например, y=3*a+5*b-2*c). Результат вычислений передается обратно по каналу серверу, который осуществляет вывод на экран.
Лабораторная работа №7
Решить задачу обедающих философов (n=5).
Три процесса записывают в один и тот же файл текстовую строку. Первый процесс создает файл, второй процесс может работать с файлом, если первый успешно завершил свою работу, третий процесс дописывает в конец файла свою строку только в том случае, если второй процесс успешно выполнил свою работу и освободил файл.
Два процесса записывают данные в файл, один считывает и выводит их на экран. Доступ к файлу возможен только в монопольном режиме.
Лабораторная работа №8
Разработать драйвер устройства, имитирующий последовательный ввод/вывод.
Достарыңызбен бөлісу: |