rpd000003067 (1006618), страница 3
Текст из файла (страница 3)
5. Оформите работу. Проектам должны соответствовать графы для каждого вида категории. Напишите ответы на вопросы. Сохраните результаты лабораторной.
1.1.7. Использование(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: 1. Изучите категорию использование. Какие разновидности этой категории есть. Вершины графа, соединенные горизонтальной связью, определите на графе в виде категории использование, для этого поставьте соответствующие стрелки.
2. Реализуйте категорию использование клиент сервер, в одельном проекте.
3. Реализуйте категорию использование общности. в одельном проекте со скрытым конструктором.
4. Сравните полученные категории. В каком случае между объектами меньшее зацепление? В каком случае между объектами большая плотность?
5. Оформите работу. Проектам должны соответствовать графы. Напишите ответы на вопросы. Сохраните результаты лабораторной.
1.1.8. Конкретизация(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: 1 .Изучите категорию конкретизация. Какие разновидности этой категории есть. Вершины графа, соединенные горизонтальной связью, определите на графе в виде категории конкретизация, для этого поставьте соответствующие стрелки. Для каждого вида категории составьте свой граф.
2. Реализуйте категорию конкретизация функции в одельном проекте. Функция позволяет перемещаться по графу A-B-C, представленному категорией агрегация по ссылке и наследованием. Реализуемая функция должна двигаться по любому отрезку иерархии и реализуется в цикле.
3. Реализуйте категорию конкретизация класса в одельном проекте.
4. Сравните полученные варианты. Напишите какими свойствами обладает категория конкретизация? В каком случае ее целесообразно использовать?
5. Оформите работу. Проектам должны соответствовать графы. Напишите ответы на вопросы. Сохраните результаты лабораторной.
1.1.9. Архитектура инструкций(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: 1. Изучите архитектуру Фон-Неймана, укажите достоинства и недостатки. В чем особенности ассемблера в этой архитектуре. Какие виды прерываний используются в примерах программ на ассемблере.
2. Для заданных двух арифметических выражений написать на ассемблере программы, которые обмениваются результатами вычислений через память.
3. Реализуйте требуемые ассемблерные команды (инструкции), для вычисления арифметических выражений. При реализации примените категорию наследование. В главной программе примените механизм подстановки объектов: подставьте сконструированный объект в программу main (…). В реализации примените механизм замещения функции.
4. Оформите работу. Напишите ответы на вопросы. Сохраните результаты лабораторной.
1.1.10. Архитектура организации и реализации(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: 1. В первой части, используя сконструированные программы на ассемблере, связывающие два арифметических выражения (лаб. 1), реализовать их выполнение в многозадачном режиме (job). Сравните режимы выполнения программ в первой и второй лабораторной работе. В чем принципиальное отличие?
2. Во второй части требуется спроектировать архитектуру ОРГАНИЗАЦИИ и РЕАЛИЗАЦИИ части операционной системы для заданной схемы и реализовать программно, отсутствующие компоненты.
2.1. Для проектирования части архитектуры схемы изучите по шагам метод проектирования в категориях. При составлении диаграмм категорий учтите их топологию расположения согласно выбранной архитектуре ОРГАНИЗАЦИИ: расположение по слоям, в виде микроядра, в виде монолитного ядра. Диаграммы должны отражать состояния объектов и взаимодействия между ними в соответствии со схемой.
2.2. Для программной реализации схемы необходимо:
а) изучить, как выполняется прерывание командой Int и процесс его обработки;
б) реализовать команду(ы) прерываний на ассемблере, для чтения данных из устройства и записи данных в устройства. Эти команды не реализованы в контуре. Для этого может потребоваться внесение новых прерываний в модуль Architecture.h;
в) команда(ы) прерываний должны быть вставлена в текст программ на ассемблере в соответствии с заданными взаимодействиями на схеме.
г) заместить функцию объекта cpu и расширить ее. Спроектировать диаграмму взаимодействия объектов для обработчика прерываний.
д) внести изменения в main, для использования вашей реализации, применяя механизм полиморфизма.
3. Оформите работу. Напишите ответы на вопросы. Сохраните результаты лабораторной.
1.1.11. Модель состояний процессов(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: Лабораторная работа состоит из двух частей.
1. В первой части, используя сконструированные программы на ассемблере, связывающие два арифметических выражения (лаб. 2), реализовать их выполнение как процессов. Сравните выполнение программ во второй и третьей лабораторной работе. В чем принципиальное отличие?
2.1. Во второй части требуется реализовать модель с пятью состояниями, например: Новый, Готовый, Выполняющийся, Блокированный, Завершающийся. Для рассматриваемой модели в контуре уже реализованы состояния, кроме состояния Новый (New). Состояния, не реализованные в контуре, отмечены комментариями (не используется) см. модуль Architecture.h.
2.2. Для программной реализации схемы необходимо:
а) изучить, как реализована и выполняется модель состояний в контуре;
б) Задача добавить в модель состояний контура, новое состояние New.
в) При создании образа процесса processImage применяется метод объекта ядра CreateProcess ("P1",code). Динамика взаимодействия объектов приведена на диаграмме.
г) Изучить диаграмму.
д) Спроектировать диаграмму (алгоритм) для метода initProcessID и метода dispatch() по программе контура. Обратите внимание, что для состояний исмпользуются очереди и методы push – поставить и pop – удалить образ процесса из стека очереди.
е) Спроектировать диаграмму (алгоритм) для метода initProcessID и метода dispatch() при работе с моделью состояний, включающей состояние New.
ж) Заместить, имеющиеся методы, спроектированными.
з) Использовать отладчик очередей для проверки, очереди New.
и) внести изменения в main, для использования вашей реализации, применяя механизм полиморфизма.
3. Оформите работу. Напишите ответы на вопросы. Сохраните результаты лабораторной.
1.1.12. Методы синхронизации(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: 1.Изучите методы синхронизации параллельных процессов.
2. Изучите алгоритмы функций по приведенным схемам:
3. Спроектировать алгоритмы для функций блокирующей переменной wait() и past(), на основе изученных функций и оформите их в виде схемы.
4.. Расширить классы myKernel и myDispatcher для реализации этих методов.
5. Разработайте диаграмму для алгоритма, синхронизирующего два процесса методом блокирующих переменных.
6. Оформите работу. Схемы алгоритмов должны полностью соответствовать коду программ.
1.1.13. Загрузчик с интерпретатором (АЗ: 8, СРС: 4)
Форма организации: Лабораторная работа
Описание: 1. Спроектировать класс Loader с функцией interpretator(…).
2. Для функции interpretator() программы, разработанные ранее в лаб. 1 на ассемблере, должны читаться из текстового файла по строкам или по символам (можно выбрать любой вариант чтения данных из файла).
3. Определите формат для команд на ассемблере, записываемых в файл, например (без пробелов):
Моv,r1,20;
Int,r1,exit;
Команды и параметры разделяются запятой, точка с запятой ; – окончание командной строки.
4. Для поиска соответствия команд (строк в файле) реализуйте массив из подстрок перечислимого типа для инструкций (команд), регистров и прерываний, определенных в модуле Architecture.h.
5. Прочитанные из файла строка, должны разбираться функциями в соответствии с принятым форматом команды: функция для команды, для регистра, для числа и для прерывания. В функциях используйте line.substr(...), для взятия подстроки из line до разделителя.
6. После интерпретации, код команд на ассемблере помещать в объект CODE.
7. Добавить объект класса Loader в main() контура и реализовать последовательность действий для выполнения интерпретированных программ контуром. Разработать пошаговый отладчик Debug(), показывающий на экране последовательность выполняемых действий.
1.1.14. Организация основной памяти(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: 1. Для организации страничной основной памяти требуется спроектировать класс Page, использующий функции работы с блоками см. пример:
2. Применить наследования для реализации класса PageMemory.
3. Оформите работу. Отчет должен включать схемы взаимодействия объектов для алгоритма загрузки.
1.1.15. Таблица методов(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: Составить таблицу методов, выбрать лучший метод для схемы. Привести обоснование выбора.
1.1.16. График выполения процессов(АЗ: 4, СРС: 4)
Форма организации: Лабораторная работа
Описание: Составить график выполнения процессов на многопроцессорной системы согласно заданной схемы.
-
Типовые задания
Приложение 3
к рабочей программе дисциплины
«Системы программирования »
Прикрепленные файлы
QuesationsTickets.doc
Примечание:
Во всех билетах вопрос 1 - принцип подстановки.
1. Сформулировать принцип подстановки и на примере объяснить: последовательность создания и разрушения объектов, замещение, полиморфизм, утечку памяти и методы ее устранения, динамическое определение типа.
4 вопрос - задача: определить ситуацию и синхронизировать
1. Курсовая работа должна быть сдана.
2. Знание принципа подстановки (замещения, утечки памяти, динамического определения типа) и - уже 3.
Правильный ответ по OS + 0,5
Правильный ответ по C++ + 0,5
Решение задачи 1. + 1,0
-----------------------------------------
Итого 5, 0
Не знание принципа подстановки (замещения, утечки памяти, динамического определения типа) – пересдача. Остальные правильные ответы не учитываются.
Вопросы в билетах по ОС
1. Опишите основные программные и аппаратные компоненты архитектуры сетевой ОС.
2. Опишите регистры процессора и алгоритм исполнения команд.
3. Какие принципы построения архитектур операционных систем существуют их достоинства и недостатки. Требования к современным операционным системам.
4. Дайте определение мультипрограммированию, процессам и потокам.
5. Какие существуют модели состояний процессов. Приведите пример.
6. Дайте описание образа процесса в терминах категорий.
7. Опишите алгоритм создания процесса. Дайте определение трассировки.
8. Дайте определение понятию вытеснение процесса и поясните алгоритм вытеснения.
9. Какие существуют методы синхронизации процессов и потоков. Определите типы прерываний и способа их обработки.
10. Какие существуют способы организации основной и виртуальной памяти, их отличие и оказывают ли они влияние на производительность.
11. Дайте определение понятию свопинг. Дайте описание алгоритма динамического преобразования адресов для виртуальной и физической памяти. Как свопинг влияет на производительность системы.
12. Какие существуют способы организации виртуальной памяти, как они влияют на производительность. Чем ограничивается максимальный размер виртуального адресного пространства.
13. Какие существуют методы планирования однопроцессорных ОС. Их достоинства и недостатки.
14. Какие существуют методы планирования многопроцессорных ОС. Их достоинства и недостатки.
15. Какие существуют архитектуры сетевых служб и распределенных приложений. Расскажите о способах разделения приложений на части.















