Программа дисциплины по кафедре Вычислительной техники C icon

Программа дисциплины по кафедре Вычислительной техники C


Смотрите также:
Программа дисциплины по кафедре Вычислительной техники операционные системы...
Программа дисциплины по кафедре Вычислительной техники Теория автоматов...
Программа дисциплины по кафедре Вычислительной техники микропроцессорные системы...
Программа дисциплины по кафедре Вычислительной техники Технологии программирования...
Программа дисциплины по кафедре Вычислительной техники мультимедийные системы...
Программа дисциплины по кафедре Вычислительной техники периферийные устройства ЭВМ...
Программа дисциплины по кафедре Вычислительной техники системы передачи данных...
Программа дисциплины по кафедре Вычислительной техники организация ЭВМ и систем...
Рабочая программа рассмотрена и одобрена на заседании кафедры вычислительной техники (протокол №...
Аннотация примерной программы дисциплины : «Аппаратные средства вычислительной техники»  Цели и...
Учебная программа Дисциплины р6 «Аппаратные средства вычислительной техники» по направлению...
Программа дисциплины по кафедре Автоматики и системотехники Мультимедиа Технологии...



Загрузка...
страницы:   1   2   3
скачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

Тихоокеанский государственный университет



Утверждаю

Проректор по учебной работе

______________ С.В. Шалобанов

“_____” ________________2007 г.



Программа дисциплины

по кафедре Вычислительной техники


CИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ


Утверждена научно-методическим советом университета для направлений подготовки (специальностей) в области «^ Информатики и вычислительной техники»


Специальность 230101.65

«Вычислительные машины, комплексы, системы и сети»


Хабаровск 2007 г.


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


Программу составил (и)




Миронов А. С




кафедра Вычислительной техники, преподаватель







Программа рассмотрена и утверждена на заседании кафедры

протокол 16 от « 13 » 09 2007г.

Завкафедрой__________«__»______ 2007г

________________

Подпись дата

Ф.И.О.







Программа рассмотрена и утверждена на заседании УМК и рекомендована к изданию

протокол 6 от « 14 » 09 2007г

Председатель  УМК  _______«__»_______ 2007г

_________________

Подпись дата

Ф.И.О.




Директор  института  _______«__»_______ 2007г

__________________

(декан факультета) Подпись дата

Ф.И.О.


1. Цели и задачи дисциплины
^

1. Цели и задачи дисциплины


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

Студенты специальности 230101.65, должны изучить следующие обязательные разделы: назначение, функции и структура операционной системы (ОС); понятие процесса; управление процессами, способы диспетчеризации процессов; понятие ресурса, виды ресурсов, управление ресурсами; управление памятью; устройства, виды устройств, драйверы устройств, устройства в МS-DOS; файловая система на диске, структура логического диска; синхронизация процессов, семафоры, сообщения, использование семафоров для решения задач взаимоисключения и синхронизации; тупики, способы борьбы с тупиками; загрузка и настройка ОС, файлы конфигурирования MS-DOS, основные команды MS-DOS; обзор современных ОС; трансляторы; формальные языки и грамматики, типы грамматик; вывод цепочек; конечный и магазинный автоматы, распознаватели и преобразователи, построение автомата по заданной грамматике; структура компиляторов и интерпретаторов, лексический, синтаксический и семантический анализаторы, генератор кода; распределение памяти, виды переменных; статическое и динамическое связывание; загрузчики; функции загрузчика; настраивающий и динамический загрузчики; подключение библиотек.

Изучение дисциплины базируется на знаниях, полученных при изучении дисциплин «Информатика», «Основы алгоритмизации и программирования», «Операционные системы».


^ 2. Требования к уровню освоения содержания дисциплины

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

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

- уметь анализировать проблемную область и выбирать средства и методы решения задач дисциплины.

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

-иметь представление об основных принципах функционирования систем на базе процессоров i80x86: программная модель, архитектура, адресация, система прерываний и системы ввода-вывода.

^ 3. Объём дисциплины и виды учебной работы.

Наименование

По учебным планам (УП)

с максимальной трудоёмкостью

с минимальной трудоёмкостью

^ Общая трудоёмкость дисциплины







по ГОС

170

170

по УП

255

255
Изучается в семестрах

7,8

7,8

^ Вид итогового контроля по семестрам







зачет







экзамен

6

6

Курсовой проект (КП)

10

10

Курсовая работа (КР)







расчетно-графические работы (РГР)







^ Реферат (РФ)







Домашние задания (ДЗ)







^ Аудиторные занятия:







всего

136

136

В том числе: Лекции (Л)

51

51

Лабораторные работы (ЛР)

51

51

Практические занятия (ПЗ)

34

34

^ Самостоятельная работа







общий объем часов (С2)

119

119

В том числе на подготовку к лекциям

17

17

на подготовку к лабораторным работам

25.5

25.5

на подготовку к практическим занятиям

25.5

25.5

на выполнение КР

51

51

на выполнение РГР







на написание РФ







на выполнение ДЗ








^ 4. Содержание дисциплины

Лекционный курс 7 семестр.

Таблица 1. Развернутый план лекционного курса. 7 семестр

п/п

Темы.

Наименование тем лекционных занятий

1

2

3




1

^ Введение. Основные понятия.

Цель и задачи курса. Содержание дисциплины. История развития программного обеспечения. Виды программного обеспечения. Современное системное программное обеспечение. Классификация системного программного обеспечения. История развития операционных систем. Современные операционные системы. Основные понятия управления вычислительными процессами и ресурсами ЭВМ, комплексов и систем.

2

^ Технология программирования.

Парадигма программирования. ГОСТ 19.xxx Единая система программной документации. Этапы проектирования. Язык UML. Рациональный унифицированный процесс. Экстремальное программирование. Методология проектирования и разработки программного обеспечения масштаба предприятия Microsoft Solution Framework.

3

^ Операционная система Windows.

Операционная система Windows NT/2000.

Windows. История разработки. Состав и структура. Особенности операционной системы. Объекты ядра, процессы, потоки, файлы. Функции WinAPI. Графический интерфейс пользователя. Установка. Сетевые средства. Включение в существующие сети. Создание одноранговых сетей. Установка и настройка Windows. Панель управления. Реестр. Windows 2000/NT История. Область применения. Active Directory. Настройка сетевых протоколов. TCP/IP. Пользователи, группы пользователей, управление политикой защиты. Web-сервисы. Обработка ошибок. Unicode. Объекты ядра. Архитектура системы Windows 9x/NT. Исполнительная система. Системные механизмы.

4

^ Операционная система DOS. Операционная система UNIX.

История, разновидности, структура. Управление процессами. Файловая система. Средства защиты. Учетные записи. Загрузка системы. Основные команды. Сферы использования.

5

^ Современные системы программирования.

Понятие и структура системы программирования. Принципы функционирования. Дополнительные возможности. Примеры современных систем программирования: Inspire Builder, Visual Studio 6.0, Visual.NET, ASP.NET, PHP и др.

6

^ Программирование для Windows 95/NT.

Основные понятия программирования для операционной системы Windows с использование языка assmebler. Консольное приложение. Графическое приложение. Динамические библиотеки. Драйверы устройств.

Стандарты, открытые системы и принципы Win32. Архитектура Windows 2000. Модель. Ключевые компоненты. Ядро. Объекты ядра.Unicode

7

^ Операционные системы и среды. Архитектура ОС и интерфейсы прикладного программирования.

Основные понятия. ОС. Вычислительный процесс и ресурс. Прерывания. Виды ресурсов. Классификация ОС. Основные принципы построения ОС. Микроядерные ОС. Монолитные ОС. Требования, предъявляемые к ОС реального времени. Принципы построения интерфейсов операционных систем.

8

^ Подсистема ввода-вывода и файловая подсистема.

Компоненты подсистемы ввода-вывода. Открытие и закрытие устройств. Работа с файлами. Копирование файла (3 примера). Реализация асинхронного ввода-вывода. Уведомление о завершение ввода-вывода.

9

^ Объекты и механизмы.

Запуск и завершение работы системы.

Системные механизмы. Диспетчеризация ловушек. Диспетчер объектов. Объект исполнительной системы. Системные рабочие потоки. LPC

Защита и безопасность. Объект. Защита объектов. Маркеры. Аудит. Защита в Active Directory.

10

^ Структурная обработка исключений.



Реализация на С/С++.Исключения и обработчики. Ошибки и исключения. Примеры. Обработчик завершения. Фильтры и обработчики исключений. Необработанные исключения и исключения С++.

11

^ Процессы и потоки. Планирование потоков. Нити.


Разработка многопоточных программ в среде Windows. Процессы. Описание. Функция CreateProcess. Завершение процесса. Дочерние процессы. Перечисление процессов. Локальная память потока. Нити. АРС. Задания и рабочие наборы. Планирование потоков. Приоритет, привязка к процессам. Многопоточность и MFC. Классы MFC, C# и функции Win32 API для управления потоками. Задачи. Интерфейс программиста.

12

^ Диспетчер ядра. Объекты ядра. Синхронизация потоков. Реализация мультизадачности. Проблема тупиков.

Синхронизация в пользовательском режиме. Синхронизация с использованием объектов ядра. События. Ожидаемые таймеры. Семафоры. Мьютексы. Критические секции. Средства для синхронизации. Пулы потоков. Организация мультизадачности. Система приоритетов задач. Механизмы мультизадачности с автовыгрузкой и без автовыгрузки. Процессы и потоки. Многопоточная мультизадачность. Понятия тупиковых ситуаций. Формальные модели изучения тупиковых ситуаций. Сети Петри. Вычислительные схемы. Модель пространства состояний системы. Методы борьбы с тупиками: предотвращение, обход, обнаружение.

13

^ Управление памятью.

Виртуальное адресное пространство. Распределение адресного пространства задачи в Windows NT и Windows 95. Менеджер виртуальных машин. Динамически распределяемая память. Отображаемые в память файлы. Функции ОС по управлению памятью. Типы адресов. Память и отображения, виртуальное адресное пространство. Распределение памяти (оверлейные структуры). Алгоритмы распределения памяти (статический, динамическими, перемещаемые разделы). Организация памяти (сегментная, страничная, сегментно-страничная). Кэширование данных. Распределение ОЗУ в современных ПК (MS-DOS, Windows 95/NT, Windows NT, Unix).

14

^ Динамически подключаемые библиотеки.

Внедрение DLL и перехват API-функций.

DLL: адресное пространство процесса. Создание dll-модуля. Создание exe-модуля. Загрузка и связывание идентификатора. Функция входа/выхода. Отложенная загрузка dll. Переадресация вызова функций. Локальная память потока. Статистическая память потока. Пример внедрения DLL с использованием реестра, ловушек, удалённых потоков, как отладчика, троянской системы, через проецируемый в память файл, через функцию CreateProcess. Перехват API-функций.

15

^ Формальные языки и грамматики.


Языки и цепочки символов. Способы задания языков. Грамматика. Классификация. Цепочки вывода. Сентенциальная форма. Распознаватели. Основные принципы построения трансляторов. Общая схема работы. Таблица идентификаторов. Лексические анализаторы (сканеры). Синтаксические анализаторы.


16

^ Организация системного реестра.

Понятие системного реестра. Структура системного реестра. Основные ключи реестра. Модификация и сохранение реестра.

ActiveX. Концепция технологии. Создание приложения-контейнера, приложение-сервера. Сервер автоматизации. Элемент управления ActiveX.

17

Драйвера. Ввод-вывод.

Драйвера виртуальных устройств. Средства разработки драйверов. DDK. Driver Studio 1.5.


Лекционный курс 8 семестр.

Таблица 2. Развернутый план лекционного курса. 8 семестр

8 семестр



Темы

Наименование тем лекционных занятий

1

2

3




18

Ассемблер. Программная модель 16-разрядного микропроцессоров i80х86.

Программная модель 32-разрядного микропроцессоров i80х86.

Для 16-разрядного микропроцессоров i80х86.Регистры процессора. Базовая архитектура. Формат регистра флагов. Адресация данных. Форматы данных. Сегментная адресация. Механизм прерывани. Для 32-разрядного микропроцессоров i80х86. Пользовательские и системные регистры процессора. Базовая архитектура. Формат регистра флагов. Адресация данных. Форматы данных. Сегментная адресация

19

Ассемблер. Защищённый режим работы микропроцессора i80x86.

Прерывания и особые случаи в процессорах 80х86.

Программная модель микропроцессора i80x86. Сегментная организация памяти. Формат дескриптора сегмента. Формат дескриптора данных, кода. Права доступа сегмента. Дескрипторные таблицы. Глобальная дескрипторная таблица. Локальная дескрипторная таблица. Дескрипторная таблица прерываний. Селекторы сегментов. Особенности сегментации. Понятие прерывания и особого случая. Типы особых случаев. Система прерываний в режиме реального адреса. Прерывания в защищенном режиме. Обработка аппаратных прерываний. Дескрипторная таблица прерываний. Шлюз ловушки. Шлюз прерывания. Особенности обработки особых случаев

21

^ Страничная организация памяти в процессорах 80х86.

Структура кэш-памяти.

Структура страниц. Страничное преобразование адреса. Формат элемента страниц. Особенности страничного преобразования. Разрешение и запрещение страничного преобразования. Буфер ассоциативной трансляции TLB. Понятие кэширования. Структура внутренней кэш-памяти. Организация работы внутренней кэш-памяти. Команды управления кэшированием. Управление кэш-памятью на уровне страниц. Ассоциативный буфер страничного преобразования. Внешняя кэш. Программная кэш.

22

^ Организация работы сопроцессоров и устройств с плавающей точкой.

Блоки расширения вычислительных возможностей в процессорах 80х86.

Программная модель сопроцессора и FPU. Форматы численных данных. Режимы работы и состояние. Расширение IA MMX. Расширение SSE (блок XMM). Расширение 3DNow! Расширение SSE2. Совместимость, различия и идентификация процессоров. Процессоры Pentium. P6. AMD.

23

Организация защиты в процессорах 80х86. Зашита по привилегиям в процессорах 80х86.

Уровни привилегий. Привилегированные команды. Защита доступа к данным. Защита сегментов кода. Передача управления между уровнями привилегий. Подчиненные сегменты кода. Шлюзы вызова. Переключение стека при передаче управления между уровнями привилегий. Защита по привилегиям на уровне страниц. Объединение защиты на уровне сегментов и страниц.

24

Мультизадачность.

Управление задачами в операционных системах.

Понятие мультизадачности. Контекст задачи и его изменение. Сегмент состояния задачи. Дескриптор сегмента TSS. Переключение задач. Регистр задачи. Изменение уровня привилегий в задаче. Вложения задач. Двоичная карта разрешения ввода-вывода. Взаимодействие между задачами. Управление псевдонимами. Перекрытие адресных пространств. Разделение кода и данных. Планирование и диспетчеризация процессов и задач. Состояние состязания. Понятие блокировки.

25

^ Запуск и завершение работы процессоров 80х86. Аппаратный и программный сброс.

Порядок аппаратного и программного сброса для процессоров 80х86

26

^ Заключительное занятие.

Обзор новейших технологий программирования. Перспективы дисциплины системное программное обеспечение.


^ Разделы дисциплины и виды занятий и работ



Раздел дисциплины
Л

ЛР

ПЗ

КП

(КР)
РГР

ДЗ

РФ

С2

1

2

3

4

5

6

7

8

9

10



^ Введение. Основные понятия.

*
























^ Технология программирования.

*

*













*

*



^ Операционная система Windows. Операционная система Windows NT/2000.

*

*

*

*







*

*



^ Операционная система DOS. Операционная система UNIX.

*

*

*

*







*

*



^ Современные системы программирования.

*

*

*

*










*



^ Программирование для Windows 95/NT.

*

*

*

*







*

*



^ Операционные системы и среды. Архитектура ОС и интерфейсы прикладного программирования.

*

*

*

*










*



^ Подсистема ввода-вывода и файловая подсистема.

*




*

*










*



^ Объекты и механизмы ОС.

*

*

*

*







*

*



^ Структурная обработка исключений.

*







*










*



^ Процессы и потоки. Планирование потоков. Нити.

*

*

*

*










*



^ Диспетчер ядра. Объекты ядра. Синхронизация потоков. Реализация мультизадачности. Проблема тупиков.

*

*

*

*







*

*



^ Управление памятью.

*

*

*

*










*



^ Динамически подключаемые библиотеки.

Внедрение DLL и перехват API-функций.

*

*




*







*

*



^ Формальные языки и грамматики.

*
















*

*



^ Организация системного реестра.

*

*




*










*



^ Драйвера. Ввод-вывод.

*

*

*

*










*



Ассемблер. Программная модель 16-разрядного микропроцессоров i80х86. Программная модель 32-разрядного микропроцессоров i80х86.

*

*

*













*



Ассемблер. Защищённый режим работы микропроцессора i80x86. Прерывания и особые случаи в процессорах 80х86.

*

*

*

*










*



^ Страничная организация памяти в процессорах 80х86. Структура кэш-памяти.

*



















*



^ Организация работы сопроцессоров и устройств с плавающей точкой. Блоки расширения вычислительных возможностей в процессорах 80х86.

*

*




*







*

*



Организация защиты в процессорах 80х86. Зашита по привилегиям в процессорах 80х86.

*

*

*













*



^ Мультизадачность. Управление задачами в операционных системах.

*

*

*

*










*



^ Запуск и завершение работы процессоров 80х86. Аппаратный и программный сброс.

*



















*



^ Заключительное занятие.


























^ 5.1.Лабораторный практикум

7 семестр

  1. Изучение пакета разработчика приложений Visual Studio.

Цель работы: Изучить и освоить пакет разработчика приложений Visual Studio.

Исполнение: 1. Знакомство с средой разработки (изучение литературы, справочной информации MSDN). 2. Разработка приложения типа “Hello world” (IDE Visual C++ 6.0). 3. Исследование приложения (VC++, IDA). 4. Ответ на письменные вопросы.

Обеспечение: Операционная система Windows 98/2000/XP. Среда разработки Visual Studio 6/2005. Программа IDA. IBM PC совместимый компьютер.

Оценка: Проверяется: полнота отчета, ответы на письменные вопросы. Знание и уверенное использования основных приложений входящих в среду Visual Studio.

Время выполнения работы: 4 часа.

  1. Пакет Visual.Net, язык C# и VB.Net

Цель работы: Освоение пакетов Visual.Net, язык C# и VB.Net

Исполнение: 1. Знакомство со средой разработки . 2. Изучение и дизассемблирование простых приложений (3 экз). 3. Исследование кода сложных приложений. 4. Написание простого приложения.

Обеспечение: Операционная система: Windows NT/2000/XP,Visual Studio.Net, язык программирования C#

Оценка: Демонстрация работы программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 6 часов.

  1. Многопоточные приложения для Windows.

Цель работы: В лабораторной работе закрепляете знания, полученные в курсе «Операционные системы». Так же приобретаете навык разработки многопоточных приложений для Windows и инструментов отладки приложения.

Исполнение: Теоретическая часть. Многопоточные приложения. Изучение механизмов отладки Visual C++. Управление потоками. Синхронизация. Межпроцессовое взаимодействие

Обеспечение: Операционная система Windows 98/2000/XP. Среда разработки Visual Studio 6/2005. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанных программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 8 часов.

  1. Архитектура «документ-вид». Диалог.

Цель работы: Разработка приложений для операционной среды Windows с использованием среды разработки Visual C++ 6.0/Visual C++.NET, продемонстрировать знания основ построения баз данных, синтаксиса и стандартных библиотек языка Си++. Для отображения информации использовать элементы библиотеки MFC. Основа приложений. Архитектура «документ-вид». Диалог.

Исполнение: Считывание данных из источника. 2. Хранение данных с помощью элементов библиотеки stl. 3. Отображение на экране. 4. Сохранение в базе данных (технология ODBC).

Обеспечение: Операционная система Windows 98/2000/XP. Среда разработки Visual Studio 6/2005. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанных программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы:6 часов.


  1. Организация системного реестра. Динамически подключаемые библиотеки.

Цель работы: Получение навыков по работе с системным реестром Windows. Получение навыков по созданию и использованию динамических библиотек.

Исполнение:1.1 Изучение функций для работы с реестром. 1.2. Написать приложение для создания и/или изменения ключей реестра (например изменение ключей ответственных за текущие свойства экрана). 1.3. С помощью команды regedit проверить успешность сделанных изменений.1.4. В приложениях для ввода значений ключей использовать стандартные средства библиотеки MFC.2.1 Создание простой динамической библиотеки (например выполняющей 1 арифметическую функцию). 2.2 Создать приложение с подключенной к нему разработанной библиотекой, и использующее функции библиотеки.

Обеспечение: Операционная система Windows 98/2000/XP. Среда разработки Visual Studio 6/2005. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанных программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 4 часа.

  1. Современные технологии программирования.

Цель работы: Научиться применять при разработке своих приложений современные технологии программировании.

Исполнение: 1. Необходимо написать создать предложение в среде Visual Studio c применением следующих технологий на выбор обучающегося : COM, OLE, ActiveX. ADO.NET. ASP.NET. 2. В качестве варианта выполнения данной лабораторной работы также возможно предоставление студентом подробного разбора стороннего приложения использующего современные технологии программирования.

Обеспечение: Операционная система Windows 98/2000/XP. Среда разработки Visual Studio 6/2005. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанных программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 6 часа.


8 семестр


  1. ^ Изучение компилятора языка Assembler

Цель работы: Изучение правил работы, возможностей и характеристик компилятора Assemblera

Исполнение: 1. Изучение правил работы, возможностей и характеристик компилятора Assemblera на примере пакета Borland Turbo Assembler 5.0. 2. Инсталляция пакета Tasm 5.0 (обзор пакета в файле filelist.txt). 3. Изучение структуры каталогов. 4. Компиляция программы написанной типа «Hello world» на языке Ассемблера. 5. Изучение параметров компиляции и линковки программ.

Обеспечение: Операционная система DOS, Windows 98/2000/XP. Среда разработки Borland Turbo Assembler 5.0. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

  1. Разработка и отладка программ под управлением операционной среды MS-DOS

Цель работы: Научиться применять средства отладки при разработки программ под управлением ОС MS DOS.

Исполнение: 1. Написание com- или exe- приложение на языке ассемблера реализующее нетривиальные алгоритмы (например бинарный поиск, сортировку). 2. Изучить структура makefile, параметры запуска makefile.exe. 3. Изучить основные свойства отладчика приложения Turbo Debuger из пакета Borland Turbo Assembler 5.0. 4. Провести отладку в режиме реального времени: точки прерывания, пошаговая отладка в процессе отладки пронаблюдать изменение данных. 5. Повторить пункт «4» сделав изменения структуры программы.

Обеспечение: Операционная система DOS, Windows 98/2000/XP. Среда разработки Borland Turbo Assembler 5.0. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

  1. Резидентная программа.

Цель работы: Получить практический навык в написании резидентных программ для ОС MS-DOS.

Исполнение: Написать резидентную программу на языке ассемблера, реализующую заданную функцию (будильник, print screen, система обучения иностранному языку и тд). Предусмотреть выгрузку резидентной программы.

Обеспечение: Операционная система DOS, Windows 98/2000/XP. Среда разработки Borland Turbo Assembler 5.0. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

  1. Защищённый режим.

Цель работы: Ознакомление со способами перевода процессора x386 и выше в защищенный режим под управлением ОС MS-DOS.

Исполнение: 1. Составить подробную блок схему алгоритма перехода в защищенный режим. 2.Разработка приложения на языке ассемблера для перехода в защищённый режим (PM) микропроцессора x386, выполняющее простейшие функции (например вывод на экран символьной инфформации). Осуществить в программе корректное возвращение в реальный режим.

Обеспечение: Операционная система DOS, Windows 98/2000/XP. Среда разработки Borland Turbo Assembler 5.0. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы:3 часа.

  1. Сложное программирование

Цель работы: Получить навыки по работе с математическим сопроцессором процессора х386. Получить навыки по программированию (написанию программ на языке ассемблера для управления) аппаратных средств ПК под управлением MS-DOS в реальном режиме.

Исполнение: 1. Написать программу на языке ассемблера для выполнения арифметических функций с использование функций математического сопроцессора. 2. Написать программу на языке ассемблера для программирования портов ввода/вывода и управления различными контроллерами, входящими в состав ПК(например Программирование контроллера сетевой карты. Системного таймера. Последовательный/параллельный порт. Клавиатура. Динамик. Часы реального времени и CMOS-память. Звуковые платы. Контроллер DMA. Контроллер прерываний. Джойстик).


Обеспечение: Операционная система DOS, Windows 98/2000/XP. Среда разработки Borland Turbo Assembler 5.0. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 4 часа.

  1. Мультизадачная среда.

Цель работы: Получить навык в сложном программировании для защищенного режима.

Исполнение: 1.Разработать модель обработчика прерываний для защищенного режима. Результат представить в виде блок схемы.2. Написать программу на языке ассемблера по обработке прерываний в защищенном режиме. 3. Разработать модель программы монитора для трех приложений работающих совместно в защищенном режиме. Результат представить в виде блок схемы. 5.Написать программу на языке ассемблера для реализации многозадачности.

Обеспечение: Операционная система DOS. Среда разработки Borland Turbo Assembler 5.0. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 4 часа.
Лабораторные занятия и их взаимосвязь с содержанием лекционного курса




№ п/п

№ раздела по варианту содержания

Наименование лабораторной работы

1

2,5,6

Изучение пакета разработчика приложений.

2

2,3,5,6

Пакет Visual.Net, язык C# и VB.Net

3

3,6,7,9,11,13,23

Многопоточные приложения для Windows

4

3,5,6

Архитектура «документ-вид».

5

14,16

Организация системного реестра. Динамически подключаемые библиотеки

6

2,5

Современные технологии программирования

7

18,19

Изучение компилятора языка Assembler

8

4,18

Разработка и отладка программ под управлением операционной среды MS-DOS

9

18

Резидентная программа

10

19,22

Защищённый режим

11

17,21

Сложное программирование

12

19,23

Мультизадачная среда.


^ 5.2. Практические занятия

7 семестр.

1. Настройка рабочей станции *nix.

Цель работы: Осуществить настройку персональной рабочей станции под управлением ОС *nix

Исполнение: 1.Установка. 2. Загрузка. 3. Подключение к ЛВС и Internet. 4. Запуск и останов системы.. 5.Описать основные функции и средства ОС.

Обеспечение: Используемые ОС: FreeBSD, RedHat, QNX, Linux, Minix. IBM PC совместимый персональный компьютер.

Оценка: Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы по теме работы.

Время выполнения работы: 2 часа.

^ 2. Написание простых программ в системе Unix.

Цель работы: Закрепление навыков, полученных при изучении курса «Операционные системы».

Исполнение: Написать простую программу вывода статистических сведений ( например по структуре каталогов и файлов в них) минимум 3 различными инструментальными средами под управлением ОС *nix.

Обеспечение: Используемые ОС: FreeBSD, RedHat, QNX, Linux, Minix. IBM PC совместимый персональный компьютер. Использование языков shell, C, C++, perl, php.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 3. Настройка сетевой службы.

Цель работы: Получить навыки по настройке сетевых служб ОС *nix.

Исполнение: 1. Настройка, на выбор студента, следующих серверов :Web-сервер, ftp-сервер, почта, СУБД. named, …2. Создание подробного отчета по процессу настройки сетевых служб.

Обеспечение: Используемые ОС: FreeBSD, RedHat, QNX, Linux, Minix. IBM PC совместимый персональный компьютер.

Оценка: Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 1 час.

^ 4. Графическая библиотека gtk

Цель работы: Получить навыки в создании приложений для *nix с использованием библиотеки gtk.

Исполнение:1. Изучить структуру библиотеки gtk. 2. В любом графическом редакторе создать внешний вид разрабатываемого приложения (например калькулятор). 3 .Реализовать приложение с использованием библиотеки gtk.

Обеспечение: Используемые ОС: FreeBSD, RedHat, Linux, IBM PC совместимый персональный компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 5. Программирование на ассемблере в среде UNIX.

Цель работы: Получение навыков по написанию программ в среде *nix с использованием ассемблера

Исполнение: 1. Изучение синтаксиса АТ&T, операторов ассемблера, директив ассемблера. 2. Написать приложение, в котором будут использованы вызовы кода С из Ассемблера (Обращение к API). 3. Кода ассемблера из Си.

Обеспечение: Используемые ОС: FreeBSD, RedHat, Linux, IBM PC совместимый персональный компьютер. Система Eclips.

Оценка: Демонстрация разработанных программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 6. Файловая подсистема.

Цель работы: Изучение функции работы с файлами и устройствами видимыми, как файл в ОС *nix.

Исполнение: Рассматриваемые вопросы: Файл. Работа с файлами. Каталоги, файловые системы и специальные файлы. Стандартная библиотека ввода/вывода. Необходимо написать программу по работе с файлами, каталогами (чтение из файла, запись, создание, удаление, копирование и тд) используя стандартные функции.

Обеспечение: Используемые ОС: FreeBSD, RedHat, Linux, IBM PC совместимый персональный компьютер. Система Eclips.

Оценка: Демонстрация разработанных программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 7. Подсистема ввода-вывода.

Цель работы: Углубленное изучение структуры драйверов *nix

Исполнение: Проведение семинара. Рассматриваемые вопросы: Драйвера устройств. Блочные устройства. Символьные устройства. Архитектура терминального доступа. Подсистема STREAMS.

Оценка: Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 8. Подсистема управления процессами.

Цель работы:

Исполнение:1. Рассматриваемые вопросы: 1.Основы управления процессами. 2.Процесс. Управление процессом. 3.Сигналы и их обработка. 4.Межпроцессорное взаимодействие.

5.Требуется написать многопрцессное приложение с использованием библиотеки gtk

Обеспечение: Используемые ОС: FreeBSD, RedHat, Linux, IBM PC совместимый персональный компьютер. Среда разработки QT.

Оценка: Демонстрация разработанной программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 9. Поддержка сети в операционных системах UNIX.

Цель работы: Изучение интерфейса программиста для создания сетевых приложений в ОС *nix.

Исполнение:1. Изучение (повтор) протоколов TCP/UDP. 2. Изучение icmp запросов. 3. Изучение порядка создания сетевых приложений с использованием сырых сокетов. 4. Создание приложение реализующее команду «ping» с использованием сырых сокетов.

Обеспечение: Используемые ОС: FreeBSD, RedHat, Linux, IBM PC совместимый персональный компьютер. Cреда Eclips

Оценка: Демонстрация разработанной программ. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.


8 семестр.

^ 10. Язык программирования Assembler для IBM PC

Цель работы: Углубленное изучение языка ассемблера.

Исполнение: Рассматриваемые вопросы: 1. Директивы и операторы. 2.Структура программ. 3. Директивы распределения памяти. 4. Организация программ. 5. Выражения. Макроопределения.

Оценка: Студент оценивается по результатам письменного теста.

Время выполнения работы: 2 часа.

^ 11. Организация программ MS-DOS

Цель работы:

Исполнение: 1. Изучение структуры com-, exe- файлов. 2. Ознакомление с принципами работы системы вывода на экран в текстовом режиме (сервисы DOS/BIOS/прямая работа с видеопамятью). 3. Изучение методов ввода информации с клавиатуры (DOS/BIOS). 4. Написать программу на языке ассемблера выполняющую следующие функции: чтение введенных пользователем данных с клавиатуры и вывод полученной информации с заданной модификацией на экран используя сервисы DOS/BIOS или прямую работа с видеопамятью.

Обеспечение: Операционная система DOS. Среда разработки Borland Turbo Assembler 5.0. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 12. Резидентные программы в среде MS-DOS.

Цель работы: Изучение структуры и правил написания резидентной программы в ОС MS DOS.

Исполнение:1. Изучение структуры резидентной программы. 2. Изучение механизма применений свободных адресов обработчиков прерываний для загрузки и выгрузки резидентной программы.

Оценка: Устный опрос по пройденному материалу

Время выполнения работы: 2 часа.

^ 13. Операционная система MS-DOS. Управление памятью в среде MS DOS.

Цель работы: Изучение архитектуры MS DOS.

Исполнение: Семинар. Происхождение MS-DOS. Состав и структура MS-DOS. Процесс начальной загрузки. Функции MS DOS. Ядро операционной системы MS-DOS. Структура прикладных программ в среде MS DOS. Структура префикса программного сегмента. Управление памятью в среде MS DOS. Функции распределения памяти. Обычная память. Дополнительная память. Расширенная память. Область памяти UMB, HMA. Интерфейс EMS, XMS. Блок окружения среды. Блоки управления памятью. Диспетчеры памяти.

Оценка: Выступление на семинаре

Время выполнения работы: 2 часа.

^ 14. Управление программами. Загружаемые драйверы устройств в MS-DOS.

Цель работы: Изучение архитектуры MS DOS.

Исполнение: Семинар. Рассматриваемые вопросы: Управление программами. Заголовок EXE-файла. Процесс загрузки программ в память. Загрузка com- и exe- файлов. Блоки управления памятью. Префикс программного сегмента PSP.

Загружаемые драйверы устройств в MS-DOS. Понятие драйвера. Структура драйвера. Формат заголовка запроса. Программа стратегии. Программа прерываний. Загрузка драйвера. Взаимодействие драйвера с операционной системой

Оценка: Выступление на семинаре

Время выполнения работы: 2 часа.

^ 15. Система прерывания. Защищённый режим.

Цель работы: Получение практических навыков по проектированию(разработке) модели системы прерываний при работе в защищенном режиме ОС MS DOS.

Исполнение: 1. Методы перевода процессора i80x86 в защищённый режим 2. Система прерывания в защищённом режиме процессоров i80x86. 3. Принцип формирования и замещения IDTR. 4. Разбор примера.5. . Формирование сегмента состояния задачи

Оценка: Устный опрос. Проверка выполнения предложенного задания.

Время выполнения работы: 2 часа.

^ 16. Файловые системы. Управление вводом/выводом и файловые системы.

Цель работы: Углубленное изучение систем управление файлами FAT, NTFS и системы ввода/вывода. Изучение сервисов ОС DOS/BIOS для работы с файлами

Исполнение: 1. Письменные ответы на вопросы по СУФ.2. Написание программы на языке ассемблера, позволяющей использовать свыше 1МБ памяти для хранения данных .ОС для выполнения MSDOS. 3. Составление графического алгоритма по программе

Обеспечение: Операционная система DOS. Среда разработки Borland Turbo Assembler 5.0, DOS4G. IBM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 17. Драйвера устройств.

Цель работы: Изучение средств автоматического проектирования драйверов DDK, Driver Studio 1.5

Исполнение:1. Установка средств автоматического проектирования драйверов. 2. Изучение структуры и предоставляемых функций.3. Создание простейшего драйвера (например виртуальной дискеты, драйвера чтения/записи в порт). 4. Написание подробного отчета о проделанной работе

Обеспечение: Операционная система Windows. DDK, Driver Studio 1.5. BM PC совместимый компьютер.

Оценка: Демонстрация разработанной программы. Оценка отчёта и материалов на соответствия требованиям и полноту. Проверка и оценка знаний содержания работы и затронутых в работе теоретических сведений. Ответы на устные вопросы.

Время выполнения работы: 2 часа.

^ 18. Инсталляционные пакеты.

Цель работы: Изучение средств создания инсталляционных пакетов для ОС Windows

Исполнение: 1. Установка средств создания инсталляционных пакетов. 2. Изучение структуры и предоставляемых функций.3. Создание простейшего инсталляционного пакета для любой своей программы. 4. Написание подробного отчета о проделанной работе

Обеспечение: Операционная система Windows.IBM PC совместимый компьютер. Средства создания инсталляционных пакетов. Wise Installer, Install Shield.

Оценка:

Время выполнения работы: 1 час.

Практические занятия и их взаимосвязь с содержанием лекционного курса




№ п/п

№ раздела по варианту содержания

Наименование практической работы

1

4

Настройка рабочей станции *nix.

2

5

Написание простых программ в системе Unix.

3

4

Настройка сетевой службы.

4

4,7

Графическая библиотека gtk.

5

4,7,8

Программирование на ассемблере в среде UNIX.

6

8

Файловая подсистема.

7

8

Подсистема ввода-вывода.

8

9,11

Подсистема управления процессами.

9

4

Поддержка сети в операционных системах UNIX.

10

18,19

Язык программирования Assembler для IBM PC.

11

4,18

Организация программ MS-DOS

12

4,18

Резидентные программы в среде MS-DOS

13

13,22,23

Операционная система MS-DOS. Управление памятью в среде MS DOS.

14

4,17

Управление программами. Загружаемые драйверы устройств в MS-DOS.

15

19

Система прерывания. Защищённый режим.

16

4,8

Файловые системы. Управление вводом/выводом и файловые системы.

17

17

Драйвера устройств.

18

5,6,7

Инсталляционные пакеты.


^ 5.3 Курсовое проектирование.

Цель. курсового проектирования курса «Системное программное обеспечение» ставится выработка понимания основных концепций системного программного обеспечения. Приобретение практических навыков в разработке системных программных средств.

Ниже приведены темы курсовых проектов. По предложению студентов список тем может быть расширен.




оставить комментарий
страница1/3
Дата04.03.2012
Размер0.78 Mb.
ТипПрограмма дисциплины, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы:   1   2   3
Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх