Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Методические рекомендации по выполнению курсовой работы.doc
Скачиваний:
123
Добавлен:
11.04.2015
Размер:
228.86 Кб
Скачать

Тема 28. Разработка приложения, моделирующего возникновение взаимоблокировок и восстановление после них.

Содержание задания.

Разработайте приложение, моделирующее обнаружение взаимоблокировок в системе, включающей набор из нескольких типов ресурсов в количестве n каждого типа и m потоков. Заставьте каждый поток сгенерировать необходимый ему набор ресурсов (например, три ресурса типа A, один ресурс типа B и пять ресурсов типа C). Затем каждый раз запрашивайте из конкретного набора ресурс одного определенного типа в произвольном порядке с паузами разной длительности. Сделайте так, чтобы каждый поток удерживал полученные ресурсы, пока не будут удовлетворены все его дополнительные запросы. С этого момента должны начать возникать взаимоблокировки. Запустите другой поток, который бы проверял наличие взаимоблокировок каждые несколько секунд. В случае возникновения тупиковой ситуации он должен будет сообщить об этом и начать уничтожение потоков, вовлеченных во взаимоблокировку. Испытайте различные эвристические подходы к выбору жертвы среди потоков и проанализируйте, при использовании какого метода среднее время между возникновением взаимоблокировок является наименьшим. Реализуйте в приложении также аналитический метод обнаружения взаимоблокировок. Разработайте необходимый пользовательский интерфейс приложения.

Тема 29. Разработка приложений, моделирующих работу дискового накопителя.

Содержание задания.

Разработайте приложение, моделирующее работу дискового накопителя с двумя пластинами (т.е. четырьмя поверхностями), четырьмя головками чтения/записи, 25 цилиндрами и 20 секторами на каждой дорожке. Накопитель должен помнить текущую позицию головок чтения/записи и выполнять операции чтения, записи и позиционирования. Эти операции должны возвращать время в миллисекундах, необходимое для выполнения запроса (для примера можно задать время перемещения между дорожками 2 мс, среднее время позиционирования 10 мс и вращательную задержку 5 мс). После этого напишите приложение, генерирующее равномерно распределенные запросы с указанием пластины, цилиндра, сектора и количества запрашиваемых секторов. Эти запросы должны отправляться диспетчеру дисковых операций (первое приложение), который будет упорядочивать их и посылать накопителю (первое приложение) для выполнения. Накопитель должен выполнять операции чтения, записи и позиционирования. Используйте возвращаемые накопителем величины, чтобы определить пропускную способность каждого алгоритма, время его реагирования и разброс этого времени. Рабочие операции обоих приложений должны выполняться в отдельных рабочих потоках.

Литература

  1. А.В. Гордеев. Операционные системы: Учебник для вузов. 2-е изд. – СПб.: Питер, 2007. – 416 с.: ил.

  2. С.В. Назаров. Операционные среды, системы и оболочки. Основы структурной и функциональной организации: Учеб. пособие. – М.: КУДИЦ-ПРЕСС, 2007. – 504 с., илл.

  3. С.В. Назаров, Л.П. Гудыно, А.А. Кириченко. Операционные системы. Практикум. Под ред. С.В. Назарова – М.: КУДИЦ-ПРЕСС, 2008. – 464 с., илл.

  4. В.Г. Олифер, Н.А. Олифер. Сетевые операционные системы: Учебник для вузов. 2-е изд. – СПб.: Питер, 2008. – 669 с.: ил.

  5. Д.В. Иртегов. Введение в операционные системы. – 2-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2008. – 1040 с.: ил. – (Учебное пособие)

  6. Х.М. Дейтел, П.Дж. Дейтел, Д.Р. Чофнес. Операционные системы. Основы и принципы: Третье издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2006 г. – 1024 с.: ил.

  7. Х.М. Дейтел, П.Дж. Дейтел, Д.Р. Чофнес. Операционные системы. Распределенные системы, сети, безопасность: Третье издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2006 г. – 704 с.: ил.

  8. Э. Таненбаум. Современные операционные системы. 2-е изд. – СПб.: Питер, 2006. – 1038 с.: ил.

  9. Д. Бэкон, Т. Харрис. Операционные системы. – СПб.: Питер; Киев: Издательская группа BHV, 2004. – 800 с.: ил.

  10. Джеффри Рихтер. Windows для профессионалов (программирование в Win32 API для Windows NT 3.5 и Windows 95) /Пер. с англ. – М.: Издательский отдел «Русская редакция» ТОО «Channel Trading Ltd.», 1995. – 720 с.: ил.

  11. Джеффри Рихтер. Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной Windows /Пер. с англ. – 4-е изд. - Спб.: Питер; М.: Издательство «Русская редакция», 2008. – 722 с.: ил.

  12. Ч.Петзолд. Программирование для Windows 95. Том 1: пер. с англ. – СПб.: BHV – Санкт-Петербург, 1997. – 752 с., ил.

  13. Ч.Петзолд. Программирование для Windows 95. Том 2: пер. с англ. – СПб.: BHV – Санкт-Петербург, 1997. – 368 с., ил.

27