МУ и задания на КР по ОС 2019
.pdfФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
Кафедра Математической кибернетики и информационных технологий
Методические указания и задания на курсовую работу
по дисциплине ОПЕРАЦИОННЫЕ СИСТЕМЫ
для студентов 3 курса факультета Информационные технологии
(направления подготовки 090301, 090302, 020302)
Москва 2017
План УМД 2011/12 уч. год
Методические указания и задания на курсовую работу
«ИССЛЕДОВАНИЕ МЕХАНИЗМОВ МЕЖПРОЦЕССНОГО ВЗАИМОДЕЙСТВИЯ»
по дисциплине ОПЕРАЦИОННЫЕ СИСТЕМЫ
Составитель Королькова Т.В., старший преподаватель Илл. - 2, табл. - 1, список лит. - 18 назв.
Утверждено на заседании кафедры МК и ИТ.
Зав. кафедрой МК и ИТ |
проф., д.т.н. М.В.Яшина |
||||
Протокол заседания кафедры МКиИТ № от |
|
|
20__ года. |
||
|
|
|
|
|
|
Рецензент |
проф., д.т.н. Е.Н.Турута |
2
ВВЕДЕНИЕ
Дисциплина “Операционные системы” занимает одно из центральных мест в цикле общепрофессиональных дисциплин, определяющих уровень подготовки бакалавров по направлениям подготовки
09.03.01 – Информатика и вычислительная техника, 09.03.02 –
Информационные системы и технологии, 02.03.02 – Фундаментальная информатика и информационные технологии.
Согласно п. 42 Типового положения об образовательном учреждении высшего профессионального образования, утвержденного Постановлением Правительства Российской Федерации от 14 февраля 2008г. №71, курсовая работа по дисциплине является одним из основных видов учебных занятий и формой контроля учебной работы студентов.
Выполнение и защита курсовой работы имеют целью привить навыки самостоятельной работы, выявить знания студентов по данной дисциплине и умение применять эти знания в практической работе. В процессе выполнения курсовой работы студент должен самостоятельно работать с учебной и научно-технической литературой, проявить умение обобщать полученные знания, делать обоснованные выводы, формулировать рекомендации по выбору средств для решения поставленной задачи, продемонстрировать навыки использования систем программирования и применения функций прикладного программного интерфейса для создания программного обеспечения.
1. ЦЕЛИ И ЗАДАЧИ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ
Целью данной курсовой работы является закрепление и углубление теоретических знаний в области современных операционных систем,
приобретение практических навыков разработки клиент-серверных
3
приложений, использующих стандартные механизмы межпроцессного
взаимодействия.
Задачи курсовой работы:
1.Изучить методы разработки клиент-серверных приложений.
2.Изучить механизмы обмена данными в Windows NT и особенности их применения на практике.
3.Изучить средства синхронизации процессов в Windows NT и особенности их применения на практике.
4.Изучить функции Win32 API для получения системной информации, информации о процессах и потоках, состоянии памяти.
5.Разработать серверные приложения и приложение-клиент, обменивающиеся данными через заданный интерфейс.
6.Оформить результаты выполнения курсовой работы в виде пояснительной записки в соответствии с предъявляемыми требованиями.
2. ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
Разработать многозадачное приложение, выполняющее получение, сбор и вывод системной информации в соответствии с вариантом задания
(таблица 1). Номер варианта задания на курсовую работу совпадает с номером, под которым записана фамилия студента в журнале группы.
Таблица 1. Индивидуальные варианты заданий
№ |
Способ |
Процесс 1 |
Процесс 2 |
|
вар. |
коммуникации |
определяет и передает |
определяет и передает |
|
|
|
|
|
|
1 |
2 |
3 |
4 |
|
1, 25 |
отображение |
- имя компьютера, имя |
- процент используемой |
|
файлов |
пользователя; |
физической памяти; |
||
|
||||
2, 26 |
почтовые ящики |
- версию |
- процент используемой |
|
|
операционной |
виртуальной памяти |
||
|
|
|||
3, 27 |
каналы |
|||
системы |
|
|||
4, 28 |
сокеты |
|
||
|
|
|||
5, 29 |
отображение |
- системные цвета (для |
- идентификатор |
|
файлов |
2-3-х элементов); |
текущего процесса; |
||
|
||||
|
|
4 |
|
6, 30 |
почтовые ящики |
- код раскладки |
- дескриптор текущего |
|
7, 31 |
каналы |
клавиатуры |
процесса |
|
|
|
|||
8, 32 |
сокеты |
|
|
|
9, 33 |
отображение |
- текущее местное |
- приоритеты |
|
|
файлов |
время |
клиентского и |
|
10, 34 |
почтовые ящики |
- продолжительность |
серверных |
|
11, 35 |
каналы |
текущего сеанса |
процессов; |
|
12 |
сокеты |
работы |
- дельта-приоритеты их |
|
|
|
потоков |
||
|
|
|
||
|
|
|
Продолжение таблицы 1 |
|
1 |
2 |
3 |
4 |
|
|
|
|
|
|
13 |
отображение |
- количество клавиш |
- размер файла |
|
файлов |
мыши; |
подкачки в байтах; |
||
|
||||
|
|
- наличие колеса |
- количество свободных |
|
14 |
почтовые ящики |
|||
прокрутки |
байтов файла подкачки |
|||
15 |
каналы |
|||
|
|
|||
|
|
|
|
|
16 |
сокеты |
|
|
|
17 |
отображение |
- ширину и высоту |
-количество потоков |
|
файлов |
рамки окна; |
серверных и |
||
|
||||
18 |
почтовые ящики |
- ширину и высоту |
клиентского процессов; |
|
19 |
каналы |
экрана |
- количество модулей |
|
20 |
сокеты |
|
серверного и |
|
|
клиентских процессов |
|||
|
|
|
||
21 |
отображение |
- код последней |
- полное имя модуля |
|
|
файлов |
ошибки; |
текущего процесса; |
|
22 |
почтовые ящики |
- текущее положение |
- идентификаторы |
|
|
|
каретки |
серверных и |
|
23 |
каналы |
|||
24 |
сокеты |
|
клиентских процессов |
|
|
|
|
|
3. МЕТОДИЧЕСКИЕ УКАЗАНИЯ
3.1 Общие замечания
Приложение создается на основе технологии «клиент-сервер» средствами интегрированных сред разработки Visual C++, C++ Builder, по согласованию с преподавателем возможно использование других компиляторов. Процессы 1 и 2 выступают как серверы приложений, третий процесс является их клиентом. Наличие еще одного процесса, выполняющего вспомогательные функции (индикация имен запущенных серверов, ведение дневника и т.п.) приветствуется, но необязательно.
5
Минимальный функционал клиента:
-создание заданного средства коммуникации;
-получение данных от серверов;
-вывод полученных данных на экран.
Серверные процессы получают требуемую системную информацию и передают ее клиенту. Работа приложения должна быть организована таким образом, чтобы данные серверов приложений при выводе не перемежались бы друг с другом, т.е. сначала полностью выводятся данные, поставленные первым сервером, а затем данные второго сервера, или наоборот.
И клиентский, и серверные процессы оформляются как отдельные приложения. В большинстве вариантов заданий требуется синхронизация процессов. Выбор средства синхронизации должен быть обоснован.
Настоящая курсовая работа является обобщением цикла лабораторных работ, выполняемых студентами в течение семестра в рамках изучения дисциплины «Операционные системы». Методические указания к выполнению лабораторных работ содержат исчерпывающую информацию (теоритические сведения, функции Win32API, примеры кода) по всем аспектам выполнения курсовой работы. Использование функций получения системной информации (работа первого сервера) подробно рассмотрено в методических указаниях к лабораторной работе №1, функции для работы с процессами и потоками, исследования памяти (работа второго сервера) – в лабораторных работах № 2 и 5, системные средства синхронизации процессов – в лабораторной работе № 3, средства передачи данных между процессами – в лабораторной работе № 4.
3.2 Порядок выполнения курсовой работы
Курсовая работа предназначена для самостоятельного практического закрепления материала и выполняется в несколько этапов.
Подготовительный этап. Уточнение постановки задачи. Аналитический обзор научно-технической литературы.
6
Проектный этап. Разработка алгоритмов работы приложения.
Обоснование необходимости и выбор средства синхронизации.
Реализационный этап. Реализация разработанных алгоритмов средствами выбранного языка программирования, окончательная отладка программ, получение и анализ результатов.
Оформительский этап. Оформление пояснительной записки в соответствии с требованиями пунктов 3.3 и 3.4 настоящих методических указаний.
Заключительный этап. Защита курсовой работы.
3.3 Структура и примерное содержание пояснительной записки
Пояснительная записка к курсовой работе должна включать в себя
следующие структурные элементы в указанной ниже последовательности:
•титульный лист (Приложение 1);
•задание на курсовую работу;
•содержание;
•введение, в котором раскрываются актуальность и значение темы,
формулируется цель работы;
•основная часть:
o постановка задачи;
o краткие теоретические основы разрабатываемой темы (суть,
область применения, достоинства и недостатки вычислительной архитектуры «клиент-сервер»; обзор системных средств коммуникации и синхронизации процессов);
o разработка и описание алгоритма работы приложения;
o описание cтруктуры программы (модулей, основных функций,
классов и т.д.);
o руководство пользователя;
o результаты применения программы в виде снимков экрана после запуска приложения (пример для консольного приложения
7
приведен на рис. 1, на рис. 2 – пример для приложения с
оконным интерфейсом);
•заключение;
•список использованных источников;
•приложение, содержащее исходные коды разработанных программ с необходимыми комментариями.
Рис. 1.
8
Рис. 2.
3.4 Требования к оформлению пояснительной записки
Пояснительная записка к курсовой работе выполняется на стандартных листах бумаги формата А4, сброшюрованных в папку. Текст печатается на одной стороне листа. Поля: левое поле - 35 мм, правое – 10 мм, верхнее и нижнее – 20 мм. Примерное количество знаков на странице – 2000. Шрифт
Times New Roman размером 12, межстрочный интервал 1,5. Страницы текста и рисунки имеют сквозную нумерацию. Первой страницей является титульный лист, на котором номер страницы не проставляется.
3.5 Защита курсовой работы
Защита курсовой работы является заключительным этапом курсового проектирования и проводится не позднее середины последней недели перед началом сессии.
Выполненная курсовая работа в бумажной или электронной форме сдается на проверку руководителю проектирования. Руководитель вносит в
9
текст свои замечания по работе, принимает решение о допуске к защите или возвращает работу на доработку с указанием причин.
Защита состоит в демонстрации студентом функционирования разработанного многозадачного приложения и ответах на вопросы преподавателя (по алгоритмам и кодам программ, а также на теоритические вопросы, в рамках содержания работы). Защита курсовой работы позволяет выявить уровень знаний студента, степень его самостоятельности в выполнении курсовой работы.
В результате защиты курсовая работа, согласно Положению о промежуточной аттестации студентов МТУСИ, оценивается дифференцированной отметкой («неудовлетворительно», «удовлетворительно», «хорошо», «отлично»).
Студенты, не защитившие курсовую работу, до экзамена по дисциплине "Операционные системы" не допускаются.
4. СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ
Основная:
1.В.Г.Олифер, Н.А.Олифер. Сетевые операционные системы. – СПб.:
Питер, 2009
2.Э.Таненбаум. Современные операционные системы. 3-изд. – СПб.:
Питер, 2011
3.М. Руссинович, Д. Соломон. Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000. - СПб.:
Питер, 2008
4.Джеффри Рихтер, Кристоф Назар. Windows via C/C++. – M.:Издательство «Русская редакция»; СПб.: Питер, 2009
5.http://msdn.microsoft.com
6.Л. Басс, П. Клементс, Р. Кацман. Архитектура программного обеспечения на практике. СПб.: Питер», 2006 г.
10