ОБРАЗОВАТЕЛЬНАЯ АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОРГАНИЗАЦИЯ «ВОЛЖСКИЙ УНИВЕРСИТЕТ ИМ. В.Н. ТАТИЩЕВА» (ИНСТИТУТ) Кафедра «Информатика и системы управления» УТВЕРЖДАЮ: Проректор по УР ____________ А.Д. Немцев “___”____________ 200__г. МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению курсовой работы по дисциплине “Системное программное обеспечение ” для студентов специальностей «Вычислительные машины, комплексы, системы и сети» “Информационные системы и технологии” (для дневного и заочного отделений) Тольятти 2011 Методические указания разработаны для студентов дневного и заочного отделений специальностей «Вычислительные машины, комплексы, системы и сети», «Информационные системы и технологии» на основании государственного стандарта. Составил: к.т.н. Трубачева С.И. Рецензент: к.т.н. Куралесова Н.О. Рассмотрено и утверждено на заседании кафедры “Информатика и системы управления” Протокол №___ от “___” ___________ 2011 г. Зав. кафедрой, д.т.н., профессор ______________________ С.В. Краснов Согласовано кафедра «Промышленная информатика» Зав. кафедрой, к.э.н. _________________________ В.И. Тихонов Одобрено Учебно-методическим советом факультета протокол № _____ от «____» ______________2011 г. Одобрено Учебно-методическим советом университета протокол № _____ от «____» ________ 2011 г. Председатель ________________________ СОДЕРЖАНИЕ ^ 2 ЦЕЛИ И ЗАДАЧИ КУРСОВОЙ РАБОТЫ 4 3 СОДЕРЖАНИЕ КУРСОВОЙ РАБОТЫ 4 4 ЭТАПЫ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ 6 5 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 8 6 ТЕМЫ КУРСОВЫХ РАБОТ, ЗАДАНИЯ 9 ^ Указания предназначены для методической помощи при выполнении курсовой работы студентами специальностей “Информационные системы и технологии”, «Вычислительные машины, системы, комплексы и сети» дневного и заочного отделений по дисциплине “Системное программное обеспечение”. ^ Курсовая работа служит для закрепления пройденного материала по дисциплинам «Операционные системы», «Системное программное обеспечение» и приобретения практических навыков в системном программировании и администрировании. ^ Курсовая работа состоит из: введения, теоретической и проектной частей, заключения, списка использованной литературы, приложений. Ниже дается краткое пояснение к изложению материала основных частей работы. 3.1 Введение В данном разделе студент должен предоставить аннотацию к выбранной теме курсовой работы, обосновать актуальность темы курсовой работы. 3.2 Теоретическая часть В данном разделе студент должен кратко изложить теоретический материал по выбранной теме курсовой работы. ^ Проектная часть включает в себя следующие подразделы: постановка задачи; алгоритм решения задачи; описание разработанной программы (программ). ^ Ниже даются рекомендации по каждому этапу работы. Работу следует начинать со сбора, всестороннего изучения, последующей аналитической обработки материала по выбранной теме курсовой работы. Необходимо выявить недостатки существующих методов, оценить преимущества. Поставить цель курсовой работы, обосновать ее актуальность, сформулировать комплекс задач для выполнения курсовой работы. Далее необходимо разработать алгоритм работы, представить его в графическом виде, описать. Разработать приложение, описать его. 3.4 Заключение Заключение должно содержать краткую характеристику о проделанной работе. Следует подчеркнуть главные моменты работы. Выводы по работе должны содержать: где, при каких условиях и ограничениях могут быть использованы результаты, представленные в курсовой работе. ^ Список должен содержать список литературы, которым студент пользовался при выполнении курсовой работы (список должен быть оформлен согласно ГОСТ на оформление библиографических списков). 3.6 Приложение В курсовой работе могут быть приложения. Приложение может содержать алгоритм (алгоритмы) решения задачи, работы программы и пр., листинги программ. По желанию можно дать в приложении вспомогательный материал, который является важным с точки зрения целостности изложения, но “затеняющий” основной текст курсовой работы. ^ Задание на курсовую работу выдается в начале семестра, в котором изучают дисциплину «Системное программное обеспечение». Некоторые теоретические разделы дисциплины к этому времени не изучены студентами. По мере написания работы эта информация будет получена на лекциях и проработана на лабораторных занятиях. ^ Преподаватель предлагает студенту тему курсовой работы. Правила определения варианта (темы) курсовой работы представлены в гл. 6.3. ^ После получения темы студент должен в течение 2-3-х недель представить руководителю план выполнения работы. После уточнения с преподавателем плана темы утверждается расписание консультаций из расчета 1,5 часА на курсовую работу. Студент имеет право в указанное время на консультацию по курсовой работе, в остальное время только по согласованию с преподавателем. ^ Курсовая работа представляется в виде пояснительной записки. Пояснительная записка оформляется в письменном виде. Текст располагается на одной стороне листа. Используются листы формата А4 (210 мм х 297 мм). Поля листа: слева 25-30 мм, сверху и снизу 20 мм, слева 10 мм. Первый лист – титульный. Второй лист - бланк задания к курсовой работе. Третий лист - содержание пояснительной записки, где также указаны страницы расположения разделов (глав и т.п.) работы. Далее следуют разделы работы в соответствии с рекомендациями, изложенными в данных методических указаниях. Список литературы должен следовать после заключения. Приложения оформляются (если их несколько) с использованием букв латинского алфавита (например, Приложение А “Листинг программы”). ^ После того, как преподаватель ознакомится с пояснительной запиской, по мере комплектования групп (5-6 человек) происходит защита студентом своей работы. Целью защиты является выявление глубины понимания студентом рассматриваемой темы, приобретение навыков публичного выступления. Время изложения – 5-7 мин. ^ Олифер В.Г., Олифер Н.А. Сетевые операционные системы. СПб.: Питер. -2002. -538с. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение / Учебник. СПб.:Питер. - 2002. -736с. Костромин В. Linux для пользователя. Самоучитель. СПб.: БХБ-Петербург. -2002. -672с. ^ 6.1 Список тем курсовых работ
^ Тема 1 Распределение оперативной памяти фиксированными разделами Описать письменно механизм распределение оперативной памяти фиксированными разделами. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Одномерная матрица действительных чисел инициализируется внутри программы. Найти минимальный элемент массива, заменить его максимальным элементом массива. На экране отобразить номер найденного элемента массива, его старое и новое значение. ^ Описать письменно механизм распределение оперативной памяти перемещаемыми разделами. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Одномерная матрица действительных чисел размерностью пять инициализируется внутри программы. Заменить третий элемент массива (при обращении использовать указатель). Первоначальные и измененные данные массива отобразить на экране. ^ Описать письменно механизм распределение оперативной памяти динамическими разделами. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Вводится строка и буква. Программа находит указанную букву в строке, заменяет найденную букву на заглавную. Результат работы программы отображается на экране. ^ Описать письменно механизм страничного распределения оперативной памяти. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Сравниваются две символьные строки. Одна строка инициализируется внутри программы. Вторая (пароль) запрашивается программой. По результату сравнения на экран выдается соответствующее информационное сообщение. ^ Описать письменно механизм сегментного распределения оперативной памяти. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ, объединяющую n символов одной строки с другой. Результат строки-получателя выводится на экран. Значение n запрашивается программой. ^ Описать письменно механизм сегментно-страничного распределение оперативной памяти. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ, копирующую n символов одной строки в другую. Результат строки-получателя выводится на экран. Значение n запрашивается программой. ^ Описать письменно механизм свопинга. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Программа находит указанный символ в строке. На экране отобразить адрес искомого символа в массиве, сам символ. ^ Описать письменно алгоритм работы планировщика операционной системы. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Заменить строчные буквы символьного массива на заглавные. Результат отобразить на экране. ^ Описать письменно алгоритм работы диспетчера ОС при использовании квантования и абсолютной приоритетности. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Одномерная матрица действительных чисел инициализируется внутри программы. Заменить числа буквами в соответствии с кодом буквы в алфавите. ^ Описать письменно алгоритм работы диспетчера ОС при использовании квантования и относительной приоритетности. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Дана одномерная матрица действительных чисел. Элементы массива вводятся с клавиатуры. Каждый элемент массива увеличить вдвое. Результат выводится на экран. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на Shell: Используя команду ps отобразить pid, name процесса конкретного пользователя, работающего за отдельным терминалом. Имя пользователя запрашивается программой. Номер терминала определяется программой. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: В программе используются операции инкремента и декремента значений переменных. После каждого изменения значений переменных результат отображается на экране. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ с использованием семафора. В качестве семафора используется двоичная переменная. Если ее значение равно единице, то выполняется функция сортировки элементов массива по возрастанию. Если значение равно нулю, то выполняется функция сортировки элементов массива по убыванию ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ с использованием inline функцию, в качестве комментария в программе пояснить повышение эффективности работы модуля. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: В программе задается функция поиска файла на диске. Имя файла задается в качестве параметра при запуске программы. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на Shell: оценивается объем свободного и занятого места каталога, имя которого запрашивается с клавиатуры. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на Shell: используется меню, при выборе определенного пункта меню отображается информация о запущенных в системе процессах. Текст меню определяет условия отображения данных на экране. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ с использованием критической секции (КС). Вход и выход КС ограничен флагом. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: разделяемому ресурсу присваивается значение двоичной переменной. Если ресурс занят, на экран выдается соответствующее сообщение, и выполнение программы прекращается. Если ресурс свободен, выполняются системные действия, например, запись данных с клавиатуры в файл. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: событие выполняется, если значения всех переменных a, b, c есть истина. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ с использованием функций wait(), post(). ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: Используется одномерный массив целых чисел. Значения элементов массива изменяются: каждый элемент массива уменьшается на число, полученное в результате следующего вычисления: от суммарного значения элементов массива (исходного) вычитается восьмеричное число двоичного кода 010. Значения элементов массива вводятся с клавиатуры. Результат выводится на экран. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать на СИ программу работы с файлами. Использовать функции creat, open, read, write и др. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на Shell: Осуществляется поиск файла. Если он существует и его размер не равен нулю, то содержимое этого файла копируется в файл /root/logfile1. Имя файла запрашивается программой. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: В программе описывается объект «Журнал»: название, цена, год издания (с использованием переменной типа структура). Данные инициализируются внутри программы. По запросу отображается или перечень названий журналов, или перечень названий журналов и их цена. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать программу на СИ: В программе описывается объект «Авто»: марка, цвет, цена (с использованием переменной типа структура). Программа запрашивает марку автомобиля, в случае его нахождения в списке, на экран выдается марка авто, цвет и его цена. ^ Описать письменно алгоритм работы утилиты при выполнении задачи. Разработать алгоритм работы операционной системы при использовании данного метода, представить его в виде блок-схемы. Написать bat-файл: При его запуске появляется сообщение "Вставьте дискету в дисковод". После паузы, которая прерывается нажатием клавиши, появляется следующее сообщение "Дискета будет отформатирована". После паузы, которая прерывается нажатием клавиши, осуществляется форматирование дискеты емкостью 1,44 Кбт, которая задается количеством дорожек (80) и секторов (18). По окончанию форматирования работа программы прекращается. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы приложения, представить его в виде блок-схемы. Написать программу на Shell: Применяется меню. Программой запрашивается носитель информации, тип файловой системы, точка монтирования. После паузы осуществляется монтирование ФС с указанными параметрами. Предусмотреть отключение ФС после работы с ним. ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы приложения, представить его в виде блок-схемы. Написать программу на Shell: Применяется меню. В зависимости от выбора конкретного пункта меню отображается разная информация о запущенных процессах: вся, выборочно, процессы конкретного пользователя, процессы, запущенные за конкретным терминалом и т.д. Требуемые данные запрашиваются программой (имя пользователя, терминал и пр.). ^ Описать письменно алгоритм работы ОС при выполнении задачи. Разработать алгоритм работы приложения, представить его в виде блок-схемы. Написать программу на Shell с использованием программы rpm, позволяющей установить программное обеспечение в указанный каталог. Иметь в качестве исходных данных программу для rpm-установки. Имя каталога для установки задается с клавиатуры. ^ Письменно описать процессы архивации и разархивации файлов (tar, gzip, gunzip и др.). Привести примеры с пояснениями. Разработать алгоритм работы приложения, представить его в виде блок-схемы. Написать программу на Shell: Применяется меню (Установка, Выход). При выборе пункта меню "Установка" программой запрашивается носитель информации, на котором находится требуемое для установки ПО, тип его файловой системы, точка для монтирования. На первом шаге осуществляется монтирование указанной ФС. Далее осуществляется копирование архива в указанный каталог. Имя каталога запрашивается программой. Далее осуществляется распаковка архива. После паузы на экране отображается содержимое каталога с установленным ПО. В качестве исходных данных иметь на флэш-карте архив *.tar.gz, например, какой-нибудь игры. ^ Письменно описать используемые в Unix-системах команды поиска файлов, данных в файлах. Привести примеры использования команд. Разработать алгоритм работы приложения поиска файлов на диске, представить его в виде блок-схемы. Написать программу на Shell: программа запрашивает имя файла для поиска, точку начала поиска (имя каталога). Проверяются атрибуты искомого файла и каталога /root. Если файл поиска доступен для чтения, а каталог /root - для редактирования, осуществляется поиск файла, найденная информация сохраняется в файле /root/find_file, содержимое файла отображается на экране. ^ Описать письменно алгоритм работы системного администратора при настройке принтера в фоновом режиме. Разработать алгоритм работы приложения-фильтра, представить алгоритм в виде блок-схемы. Написать программу на Shell, которая переводит код перехода на новую строку в два кода: перехода на новую строку и возврат каретки. Путь до файла-фильтра прописать в конфигурационном файле /etc/printcap. ^ Описать письменно алгоритм работы системного администратора при настройке принтера в фоновом режиме. Разработать алгоритм работы конфигурационного файла /etc/printcap при загрузке системы или при старте фонового режима печати, представить алгоритм в виде блок-схемы. Написать Shell-сценарий конфигурационного файла /etc/printcap. Внести комментарии в программу. Написать Shell-сценарий поиска файлов lpd, lpc, lpq, lprm. Если файлы найдены, отображается информационное сообщение об их наличии. Если файлов нет, осуществляется их установка (монтирование носителя информации, копирование файлов в каталог /etc). В качестве исходных данных иметь на дискете (или флэш) файлы lpd, lpc, lpq, lprm. ^ Описать письменно структуру системы программирования, представить схему. Разработать и описать алгоритм работы системы программирования при создании приложения, компиляции, компоновке и запуске. Написать простую программу на СИ, например, сложения нескольких чисел. Откомпилировать ее. При запуске программы в качестве параметра командной строки указывается пароль. Если пароль введен верно, программа выполняется, если нет, выдается сообщение, и работа программы прекращается. ^ Описать письменно основные функции лексического анализатора. Разработать функциональные диаграммы лексического анализатора (использовать bpwin или idef). Описать диаграммы. Написать простую программу на СИ, например, сложения нескольких чисел. Разработать дескрипторный текст этой программы. ^ Описать письменно структуру системы программирования, представить схему. Разработать функциональные диаграммы синтаксического анализатора (использовать bpwin или idef). Описать диаграммы. Написать простую программу на СИ, например, сложения нескольких чисел: а + (b + с) + (d + f). Построить граф (абстрактное синтаксическое дерево - АСД) для этого выражения. Сформировать ассемблерный код для каждого узла АСД. ^ Код первой буквы фамилии + Код первой буквы имени. Например, Иванов Иван. 10 + 10 = 20. Если полученный код больше, чем последний номер темы курсовой работы в списке, то цифры складываются. Например, Шекуров Станислав: 26 + 19 = 45. 4 +5 = 9. В таблице 1 представлены данные для определения темы курсовой работы.
ПРИЛОЖЕНИЕ 1 Волжский университет имени В.Н.Татищева Факультет “Информатика и телекоммуникации” Кафедра “Информатика и системы управления” ^ по дисциплине: “Системное программное обеспечение” Тема: “ ХХХХХХХХХХХХХХХ ХХХХХХХХХХХХХХХХХХХХ” Выполнил: студент гр. ИТ-ХХХ ^ Преподаватель: ХХХХХХ Х.Х. Тольятти 200X ПРИЛОЖЕНИЕ 2 Волжский университет имени В.Н.Татищева Факультет “Информатика и телекоммуникации” Кафедра “Информатика и системы управления” Специальность: ___________________________________________________________ ЗАДАНИЕ на курсовую работу по дисциплине “Системное программное обеспечение” Студенту________________________________________________________ Группа ____________________ Тема курсовой работы__________________________________________________________ ________________________________________________________________ СОДЕРЖАНИЕ ЗАДАНИЯ ________________________________________________________________ ________________________________________________________________ ________________________________________________________________ ________________________________________________________________ Руководитель курсовой работы ______________________ / ХХХХХ Х.Х./ Студент ______________________ / ХХХХХ Х.Х./ Дата выдачи: “ ____ “ __________ 200_ г.
|