Курсовая по СПО (538457)
Текст из файла
3
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Московский государственный технический университет
«МАМИ»
Кафедра «Автоматика и процессы управления»
Е.Г.Мурачев
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
По выполнению курсовой работы
по дисциплине
«Системное программное обеспечение»
Для студентов заочной формы обучения
Москва 2008
ВВЕДЕНИЕ
Курсовая работа по дисциплине "Системное программное обеспечение1' выполняется студентами специальности 220100 в 9 семестре. В рамках курсовой работы должно быть разработано приложение для операционной системы UNIX, при выполнении курсовой работы используются знания, полученные студентами при изучении дисциплины "Системное программное обеспечение", а также дисциплин "Информатика", "Алгоритмические языки и программирование", "Операционные системы",
1 ЦЕЛИ И ЗАДАЧИ КУРСОВОГО ПРОЕКТИРОВАНИЯ
1.1 Целью курсового проектирования является приобретение
практических навыков по разработке структуры приложения, алгоритмов
и программ для их реализации с использованием языков C++ и
PostScript для операционной системы UNIX/Linux.
1.2 Задачей курсовой работы является разработка приложения по
заданным исходным данным:
-разработка командного интерпретатора;
- разработка программы-демона;
- построение грамматики для заданного языка и автомата для его
распознавания
-
построение лексического анализатора;
-
разработка программы обработки запроса ядром UNIX для символьного устройства;
-
разработка программы обработки запроса ядром UNIX для блочного устройства;
-
разработка программы вывода графиков на языке PostScript.
2. ОРГАНИЗАЦИЯ И ПОСЛЕДОВЛЬНОСТЬ ВЫПОЛНЕНИЯ
КУРСОВОЙ РАБОТЫ
Курсовое проектирование является формой самостоятельной работы студента и выполняется по индивидуальному заданию.
Заданиена курсовую работу выдается преподавателем на первом занятии по курсу СПО 9 семестра, защита проводится в конце того же семества перед экзаменом. На защите демонстрируется выполнение программы с соответст-вующими пояснениями.
"В ходе выполнения курсовой работы студент консультируется с руководителем, назначенным кафедрой.
За правильность проектных решений, качество оформления работы, своевременность выполнения отдельных этапов и представления к защите отвечает студент.
2.1 Задание на курсовую работу
Задание на гсурсовую работу выбирается студентом по номеру группы и порядковому номеру студента в журнале.
-
Объем и содержание курсовой работы
Работа состоит из расчетно-пояснительной записки (РПЗ) и программы, представленной на CD-диске.
Техническое задание включает общие и специальные требования к программе.
Объем пояснительной записки составляет 30-40 машинописных страниц (формат А4) РПЗ должна быть написана четко и кратко, содержать пояснения к разработанному приложению, обоснование принятых решений. РПЗ должна включать следующие разделы:
-
Титульный лист (приложение А)
-
Бланк задания, подлисанный преподавателем и студентом (приложение Б)
3) Содержание
4) Перечень условных обозначений и сокращений в алфавитном
порядке в виде списка, в котором слева приводится сокращение, справа - его
расшифровка.
5) Основная часть РПЗ:
-
Краткие теоретические сведения: анализ существующих программ подобного класса; особенности создания приложений для ОС UNIX/Linux;
-
Разработка структуры приложения;
-- Разработка алгоритма решения задачи;
-
Разработка программы;
-
Проектирование интерфейса приложения (если это предусмотрено заданием на КР);
- Заключение;
-
Список использованных источников;
-
Приложения:
о спецификация программного обеспечения (приложение В),
о текст программы (приложение Г),
о руководство пользователя (системного программиста)
(приложение Д).
2.3 Последовательность выполнения работы
Курсовая работа разрабатывается в последовательности, соответствующей содержанию РПЗ (п.2,2).
Расчетно-пояснительная записка и графический материал оформляются в соответствии с требованиями ЕСКД и ЕСПД (Единая система конструкторской документации, Единая система программной документации).
Подготовленная и оформленная работа, прошедшая экспертизу на выполнение требований ЕСКД и ЕСПД представляется преподавателю не позднее, чем за неделю до защиты.
Защита работы происходит на 16 или 17 неделе семестра.
3 ВАРИАНТЫ ЗАДАНИЙ Вариант 1
Написать и отладить программу на языке С++, использующую системные вызовы для управления файлами в среде UNIX (тип файла - обычный, каталоги).
Вариант 2
Написать и отладить программу на языке С++, использующую системные вызовы для управления файлами в среде UNIX (тип файла - специальные, FIFO).
Вариант 3
Написать интерпретатор для языка высокого уровня. Проект должен включать:
- трансляцию исходной программы в промежуточное представление (в
виде четверок иди кода стековой машины);
- интерпретацию промежуточного представления.
Порядок создания модулей:
-
разработка механизма таблицы символов;
-
создание интерпретатора для четверок;
-
создание лексического анализатора;
-
разработка семантических действий;
-
разработка синтаксического анализатора;
-
создание подпрограмм обработки ошибок;
-
вычисления Вариант 4
Разработать на языке PostSsrtpi иршрпмму вывода графика функции f(), которая строит n периодов, соединяя точки, расположенные с интервалом m°,
отрезками прямых, Размер поля рисования 10x4 см, график расположен в
центре листа и обведен рамкой.
а) f= sin(2а+х), п=4 m=5°
б) f=cos(x), п=3, т=10°
в) f= sin(x)/2, n= 4; т=8°
Вариант 5
Написать процедуру на языке PostScript, которая вдоль ранее созданного графического пути строит штрих - пунктирную линию, состоящую из:
1) прямоугольных штрихов со срезанными краями и кружков между
ними;
2) двукратное проведение штриховой линии с разными параметрами,..
Вариант 6
Разработать на языке PostScript программу, позволяющую строить различные графические изображения с использованием функций cos() и sin(), не используя при этом встроенные функции языка. Разработка данной программы предполагает вывод изображений функций cos () и sin() одновременно в различных проекциях и пространствах (двумерном, трехмерном), различным цветом, со смещенной системой координат на 90°. Изображения строятся по точкам, расположенным друг от друга с интервалом 5°, 10°, 36°, 12б°3 181°, 359°, Для работы с цветом использовать процедуру изменения цвета изображений (по RGB- матрице).
Вариант 7
Разработать неинтерактивную программу-демон. Создаваемая программа должна:
-
отслеживать запуск программ в определенные моменты времени;
-
обеспечивать доступ к сервисам системы из сети;
-
обеспечивать получение и отправление почты. При разработке программы необходимо учитывать;
- демон не должен реагировать на сигналы управления заданиями, посылаемые ему при попытке операции ввода-вывода с управляющим его терминалом. Начиная с некоторого момента, демон снимает ассоциацию с управляющим терминалом, но на начальном этапе запуска ему может потребоваться вывести то или иное сообщение на экран;
-
-
необходимо закрыть все открытые файлы (файловые дескрипторы), особенно стандартные потоки ввода-вывода. Предполагается, что демон остается работать и после того, как пользователь.покинул систему UNIX;
-
необходимо снять его ассоциацию с группы процессов и управляющих терминалов, что позволит демону избавится от сигналов, генерируемых терминалом (SIFINT или SIGHUB), например, при нажатии определенных клавиш или выходе пользователя из системы;
-
сообщения о работе демона следует направлять в специальный журнал с помощью функции syslog;
- необходимо изменить текущий каталог и корневой для возможного
ремонтирования примонтированной файловой системы.
Также следует:
-
игнорировать сигналы, связанные с вводом-выводом на терминал фонового процесса;
-
организовать собственную группу и сеанс, не имеющие управляющего терминала, выполнить порождение дочернего процесса для проверки, не является ли процесс лидером (предыстория запуска данной программы неизвестны);
-закрыть все возможные файловые дескрипторы;
- сменить текущий каталог на корневой;
- установить опции ведения журнала - каждая запись предваряется
идентификатором PID демона. Нри невозможности заниси в журнал
сообщение выводить на консоль, источник сообщений определить как
"системный демон", либо неренаправляется и ооответствии со списком
пользавотелей данной или удаленной системы.
Внриннт 8
Разработать Транслятор инфиксных выражений в постфиксную форму. Выражения разделены между собой точками с запятой и состоят из чисел, идентификаторов и операторов +,-,*, /, div, mod
Вариант 9
Написать на языке PostScript файл для печати рекурсивных геометрических объектов:
а) ковра Серпинского;
б) кривых Гильберта;
в) кривых Коха;
г) кривых_Пеано.
Вариант 10
Разработать на языке PostScript программу построения и вывода на печать графика заданной функции:
а) f=tg(l+2a)/(a+b);
б) f=exp(3a+2);
в) f=log(1+a/4)/3
Вариант 11
Разработать командный интерпретатор (КИ), распознающий внутренние и внешние команды. При создании КИ необходимо учитывать некорректные действия пользователя, которые могут привести к сбою программы. В качестве команд использовать как стандартные, так и созданные пользователем (например, команда test как результат выполнения нескольких команд: Is -I | grep ). Общие технические требования: ОС -UNIX, язык протраммирования С++, компилятор языка С++.
Вариант 12
Разработать приложение под UNIX для ведения журнала событий:
а) спецификация интерфейса удаленных процедур log.x;
б) текст удаленной процедуры Log.x;
в) текст головной программы клиента.
Вариант 13
Разработать программу создания параллельно взаимодействующих вычислительных процессов. Процесс А запускает задачи D, С, Е. Время завершения задач D, С, Е приблизительно одинаковое. Поток F запускается тем, кто завершается первым, но только после завершения 2-х остальных, приходящих в точку синхронизации. Задача G запускается последней
закончившим работу потоком Е или F, Схема взаимодействия отдельных потоков приведена на рисунке.
А
1- я точка синхронизации
2- я точка синхронизации
Вариант 14 -
Разработать алгоритм и написать программу для разбора и вычисления уравнения заданной сложности. Использовать стековый алгоритм разбора с выводом стека на экран. При разработке интерфейса предусмотреть: поле для ввода выражения; окно, в котором отображается ход выполнения программы; окно для ввода переменных и поле для вывода результата вычислений.
Вариант 15
Разработать алгоритм и программу обработки запроса ядром UNIX для символьного устройства.
Вариант 16
Разработать алгоритм и программу обработки запроса ядром UNIX для блочного устройства.
4 ИНФОРМАЦИЯ ДЛЯ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ
41. Демоны
Важную роль в работе операционной системы .играют системные демоны. Демоны — это неинтерактивные процессы, которые запускаются обычным образом - путем загрузки в память соответствующих им программ (исполняемых файлов), и выполняются в фоновом режиме. Обычно демоны запускаются при инициализации системы и обеспечивают работу различных подсистем UNIX; системы терминального доступа, системы печати, системы - сетевого доступа и сетевых услуг и т. а, Демоны не связаны ни. с одним пользовательским сеансом работы и не могут непосредственно уаправляться пользователем. Большую часть времени демоны ожидают пока тот или иной процесс запросит определенную услугу, например, доступ к файловому архиву или печать документа.
Возможность терминального входа пользователей в систему, доступ по сети, использование системы печати и электронной почты, — все это обеспечивается соответствующими демонами. Некоторые демоны работают постоянно, пример такого демона — процесс init(), являющийся прародителем всех прикладных процессов в системе. Другими примерами являются сгоn(), позволяющий запускать программы б определенные моменты, времени, inetd(), обеспечивающий доступ к сервисам системы из сети, и sendmaii(), обеспечивающий получение и ошравку электронной почты.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.