Смекни!
smekni.com

Методические указания по выполнению курсовых работ по дисциплине «Системное программное обеспечение» для студентов, обучающихся по специальностям 210100, 210200 и направлению 550200 (стр. 1 из 9)

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение

высшего профессионального образования

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

университет «МАМИ»

Кафедра «Автоматика и процессы управления»

Е.Г. Мурачев, И.Ю. Иванов, Ю.А. Савостьянок

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

по выполнению курсовых работ

по дисциплине

«Системное программное обеспечение»

для студентов, обучающихся по специальностям 210100, 210200 и направлению 550200.

Одобрено методической комиссией

по общепрофессиональным дисциплинам

1-е издание

Москва

2010

Разработано в соответствии с Государственным образовательном стандартом ВПО 2000 г. для направления (специальности) подготовки _______ на основе примерной (рабочей) программы дисциплины «Системное программное обеспечение»

Рецензенты: профессор кафедры «Автотракторное электрооборудование» МГТУ «МАМИ» Р.А. Малеев

профессор кафедры «Автомобили» им. Е.А. Чудакова

В.В. Селифонов

Работа подготовлена на кафедре «Автоматика и процессы управления»

Исследование систем автоматического регулирования: методические указания / Е.Г. Мурачев, И.Ю. Иванов, Ю.А.Савостьянок. – 1-е изд. – М. : МГТУ «МАМИ», 2009. – 39 с.

В методических указаниях рассматриваются общие принципы построения операционных систем, построение и использование библиотек системных программ в среде операционной системы Linux, принципы построения программ с помощью интерпретатора PostScript, а также с помощью алгоритмического языка С++, способы хранения и вызов системных программ.

© Е.Г. Мурачев, 2009

© И.Ю. Иванов, 2009

© Ю.А.Савостьянок, 2009

© МГТУ «МАМИ», 2009

Введение

Курсовая работа по дисциплине «Системное программное обеспечение» выполняется студентами специальности 210100, 210200 и направления 550200 в 6 семестре. В рамках курсовой работы должно быть разработано приложение для операционной системы UNIX, при выполнении курсовой работы используются знания, полученные студентами при изучении дисциплины «Программирование и основы алгоритмизации», а также дисциплины «Информатика».

СОДЕРЖАНИЕ

Введение 3

Содержание 4

1 Цель и задачи курсового проектирования 5

2 Организация и последовательность выполнения

курсовой работы 6

2.1 Задание на курсовую работу 6

2.2 Объем и содержание курсовой работы 6

2.3 Последовательность выполнения работы 7

3 Варианты заданий 8

4 Информация для выполнения курсовой работы 12

4.1 Демоны 12

4.2 Язык PostScript 14

4.3 Командный интерпретатор 26

Приложения 32

Литература 37

1 ЦЕЛЬ И ЗАДАЧИ КУРСОВОГО ПРОЕКТИРОВАНИЯ

1.1 Целью курсового проектирования является приобретение практических навыков по разработке структуры приложения, алгоритмов и программ для их реализации с использованием языков C++ и PostScript для операционной системы UNIX/Linux.

1.2 Задачей курсовой работы является разработка приложения по
заданным исходным данным:

- разработка программы-демона;

- построение грамматики для заданного языка и автомата для его

распознавания

- построение лексического анализатора;

- разработка программы обработки запроса ядром UNIX для

символьного устройства;

- разработка программы обработки запроса ядром UNIX для блочного

устройства;

- разработка программы вывода графиков на языке PostScript;

- разработка программ, использующих системный вызов.


2. ОРГАНИЗАЦИЯ И ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ

Курсовое проектирование является формой самостоятельной работы студента и выполняется по индивидуальному заданию.

Задание на курсовую работу выдается преподавателем на первом занятии по курсу СПО 6 семестра, защита проводится в конце того же семестра перед экзаменом. На защите демонстрируется выполнение программы с соответствующими пояснениями. В ходе выполнения курсовой работы студент консультируется с руководителем, назначенным кафедрой.

За правильность проектных решений, качество оформления работы, своевременность выполнения отдельных этапов и представления к защите отвечает студент.

2.1 Задание на курсовую работу

Задание на курсовую работу выбирается студентом по номеру группы и порядковому номеру студента в журнале.

2.2 Объем и содержание курсовой работы

Работа состоит из расчетно-пояснительной записки (РПЗ) и программы, представленной на CD-диске.

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

Объем пояснительной записки составляет 30-40 машинописных страниц (формат А4), РПЗ должна быть написана четко и кратко, содержать пояснения к разработанному приложению, обоснование принятых решений. РПЗ должна включать следующие разделы:

1) титульный лист (приложение А),

2) бланк задания, подписанный преподавателем и студентом (приложение Б),

3) содержание,

4) перечень условных обозначений и сокращений в алфавитном порядке в виде списка, в котором слева приводится сокращение, справа – его расшифровка,

5) основная часть РПЗ:

Краткие теоретические сведения: анализ существующих программ подобного класса; особенности создания приложений для ОС UNIX/Linux;

Разработка структуры приложения;

Разработка алгоритма решения задачи;

Разработка программы;

Проектирование интерфейса приложения (если это предусмотрено заданием на КР);

Заключение;

Список использованных источников;

Приложения:

- спецификация программного обеспечения (приложение В),

- текст программы (приложение Г),

- руководство пользователя (системного программиста) (приложение Д).

2.3 Последовательность выполнения работы

Курсовая работа разрабатывается в последовательности, соответствующей содержанию РПЗ (п. 2.2).

Расчетно-пояснительная записка и графический материал оформляются в соответствии с требованиями ЕСКД и ЕСПД (Единая система конструкторской документации, Единая система программной документации).

Подготовленная и оформленная работа, прошедшая экспертизу на выполнение требований ЕСКД и ЕСПД представляется преподавателю не позднее, чем за неделю до защиты.

Защита работы происходит на 16 или 17 неделе семестра.


3 ВАРИАНТЫ ЗАДАНИЙ

Вариант 1

Написать и отладить программу на языке С++, использующую системные вызовы для управления файлами в среде UNIX (тип файла - обычный, каталоги).

Вариант 2

Написать и отладить программу на языке С++, использующую системные вызовы для управления файлами в среде UNIX (тип файла - специальные, FIFO).

Вариант 3

Разработать на языке PostScript программу вывода графика функции f(), которая строит n периодов, соединяя точки, расположенные с интервалом m°,

отрезками прямых. Размер поля рисования 10x4 см, график расположен в

центре листа и обведен рамкой.

а) f= sin(2а+х), п=4 m=5°

б) f=cos(x), п=3, т=10°

в) f= sin(x)/2, n= 4; т=8°

Вариант 4

Написать процедуру на языке PostScript, которая вдоль ранее созданного графического пути строит штрих - пунктирную линию, состоящую из:

1) прямоугольных штрихов со срезанными краями и кружков между ними;

2) двукратное проведение штриховой линии с разными параметрами,..

Вариант 5

Разработать на языке PostScript программу, позволяющую строить различные графические изображения с использованием функций cos() и sin(), не используя при этом встроенные функции языка. Разработка данной программы предполагает вывод изображений функций cos () и sin() одновременно в различных проекциях и пространствах (двумерном, трехмерном), различным цветом, со смещенной системой координат на 90°. Изображения строятся по точкам, расположенным друг от друга с интервалом 5°, 10°, 36°, 126°, 181°, 359°. Для работы с цветом использовать процедуру изменения цвета изображений (по RGB- матрице).

Вариант 6

Написать на языке PostScript файл для печати рекурсивных геометрических объектов:

а) ковра Серпинского;

б) кривых Гильберта;

в) кривых Коха;

г) кривых Пеано.

Вариант 7

Разработать на языке PostScript программу построения и вывода на печать графика заданной функции:

а) f=tg(l+2a)/(a+b);

б) f=exp(3a+2);

в) f=log(1+a/4)/3

Вариант 8

Используя системный вызов stat, напишите программу, определяющую тип файла: обычный файл, каталог, устройство, FIFO-файл.

Вариант 9

Напишите программу удаления файлов и каталогов, заданных в argv. Делайте системный вызов stat, чтобы определить тип файла (файл/каталог). Программа должна отказываться удалять файлы устройств. Для удаления пустого каталога (не содержащего иных имен, кроме "." и "..") следует использовать системный вызов

rmdir(имя_каталога);

(если каталог не пуст - errno получит значение EEXIST); а для удаления обычных файлов (не каталогов)

unlink(имя_файла);

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

Вариант 10

Напишите функцию печати текущего времени в формате ЧЧ:ММ:СС ДД-МЕС-ГГ. Используйте системный вызов time() и функцию localtime(). Рекомендуется использование стандартной функции ctime().

Вариант 11

Структура stat, заполняемая системным вызовом stat(), кроме прочих полей содержит поля типа time_t st_ctime, st_mtime и st_atime - время последнего изменения содержимого I-узла файла, время последнего изменения файла и время последнего доступа к файлу.