
- •1. Задания контрольных работ
- •Содержание отчета:
- •2. Курсовая работа Задание на курсовое проектирование.
- •1. Исходные данные: _
- •1. Исходные данные:
- •3. Литература: лз с. 279 - 294, л8 с. 486 - 493.
- •3. Литература: л6 с. 400 - 440, л7 с. 670 -682, л8 с. 602 - 605.
- •3. Литература: л6 с. 400 - 440, л7 с. 670 -682, л8 с. 602 - 605.
- •Пример курсовой работы (основная часть) по курсу «Операционные среды, системы и оболочки»
- •1. Постановка задачи
- •2. Решение задачи
- •3. Контрольный пример
- •3 Вопросы для подготовки к экзамену Вопросы к экзамену по курсу «Операционные системы»
3. Литература: л6 с. 400 - 440, л7 с. 670 -682, л8 с. 602 - 605.
Вариант 40
Анализ свойств и возможностей кластерных систем
Исходные данные:
известные методы кластеризации;
общие принципы построения кластерных систем;
архитектуры кластеров;
Windows 2000 Cluster Server и Sun Cluster;
параллельные вычисления в кластерах.
Результаты работы должны включать в себя:
представление набора выполняемых процессов взвешенным графом
разрезание графа на подграфы с равными суммами весов вершин.
Литература: Л6 с. 400 - 440, Л7 с. 670 -682, Л8 с. 602 - 605.
Вариант 41
Анализ свойств и возможностей кластерных систем
Исходные данные:
известные методы кластеризации;
общие принципы построения кластерных систем;
архитектуры кластеров;
Windows 2000 Cluster Server и Sun Cluster;
параллельные вычисления в кластерах.
Результаты работы должны включать в себя:
представление набора выполняемых процессов взвешенным графом;
разрезание графа на максимально связные подграфы.
Литература: Л6 с. 400 - 440, Л7 с. 670 -682, Л8 с. 602 - 605.
Вариант 42
Анализ свойств и возможностей кластерных систем
Исходные данные:
известные методы кластеризации;
общие принципы построения кластерных систем;
архитектуры кластеров;
Windows 2000 Cluster Server и Sun Cluster;
параллельные вычисления в кластерах.
Результаты работы должны включать в себя:
представление набора выполняемых процессов взвешенным графом;
планирование на основе эвристического алгоритма, инициируемого отправителем.
3. Литература: л6 с. 400 - 440, л7 с. 670 -682, л8 с. 602 - 605.
Литература
1. Варфоломеев В.И., Назаров С.В. Алгоритмическое моделирование элементов экономических систем. М.: Финансы и статистика, 2004.
2. Назаров С.В. Операционные среды, системы и оболочки. Основы структурной и функциональной организации: Учеб. пособие. М.: КУДИЦ-ПРЕСС, 2007.
3. Олифер В.Г., Олифер Н.А. Сетевые операционные системы СПб.: Питер, 2006.
4. Подбельский В.В., Фомин С.С. Программирование на языке Си, М.: Финансы и статистика, 2003. С. 369-381.
Прайс Д., Гандэрлой М. Visual C#.NET. Полное руководство: Пер с англ. К.: ВЕК+, СПб.: КОРОНА принт, К.: НТИ, М.: Энтроп, 2004.
Рихтер Дж. Windows для профессионалов: Пер. с англ. 4-е изд. СПб: Питер; М.: Издательско-торговый дом «Русская редакция», 2003.
Стопингс В. Операционные системы. М.: Вильямс, 2003.
Таненбаум Э. Современные операционные системы: Пер. с англ. 2-е изд. СПб.: Питер, 2002.
Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си (+CD). М.: Финансы и статистика, 2004. С. 400-440.
Пример курсовой работы (основная часть) по курсу «Операционные среды, системы и оболочки»
Тема: Синхронизация потоков средствами языка программирования С#
1. Постановка задачи
Разработать пример синхронизации потоков, используя различные средства языка С#.
Для демонстрации приложения использовать модель биллинговой системы, снимающей деньги со счетов клиента. Система работает в многопоточном режиме. Каждый поток в произвольном порядке снимает заданную сумму со счета каждого клиента. При этом определенное время (задается в графическом интерфейсе программы) тратиться на запуск каждого потока и на снятие денег со счета каждого клиента.
Общая схема работы каждого потока.
Определение порядка обработки клиентов (генерируется случайным образом).
Вход в критическую секцию (если синхронизация включена):
получение текущего счета клиента;
приостановка потока на некоторое время;
обновление счета клиента.
Выход из критической секции.
Программа должна позволять демонстрировать различные средства языка программирования, обеспечивающие способы синхронизации между потоками, основные классы и приемы работы с многопоточными приложениями, а также показывать типичные ошибки при отсутствии необходимой синхронизации.