Темы_ДЗ

advertisement
Темы домашних заданий по дисциплине
“Операционные среды, системы и оболочки” (2010)
Отчет о выполненной домашней работе представляется в форме презентации и должен содержать материалы о сути решаемой задачи, в том числе краткую постановку задачи, подход к ее
решению, конкретное место использования результатов решения задачи в структурной организации операционной системы, компьютера, его блока или устройства. В презентации (не менее 15 –
20 слайдов) должны быть отражены следующие материалы выполненного задания:
 постановка задачи и ее формализация;
 известные подходы (алгоритмы) решения задачи с пояснениями;
 предложенный (разработанный) или выбранный автором работы алгоритм (подход, метод) решения задачи;
 программа с комментариями на отдельно носителе (CD, дискета);
 результаты эксперимента, представленные графиками и таблицами.
Студент может изменить условие задания по согласованию с преподавателем (в основном в
сторону обобщения задачи и расширения диапазона исходных данных).
Вариант 1
Модель преобразования виртуального адреса в физический адрес
1. Исходные данные:
o организация виртуальной памяти – страничная,
o разрядность виртуального адреса – 32 бита,
o размер физической страницы – 2 Кбайт,
o максимальное число работающих процессов не более восьми,
o количество физических страниц в таблице страниц процесса не более четырех,
o объем оперативной памяти – 32 физических страницы,
o заполнение таблицы страниц – с использованием датчика случайных чисел,
o виртуальный адрес вводится с клавиатуры.
2. Результаты работы модели, отображаемые на дисплее должны включать:
 виртуальный адрес,
 номер процесса,
 содержимое таблицы страниц данного процесса,
 физический адрес.
3. Литература: Л2 с. 151 – 168, Л3 с. 175 – 183, Л7 с. 397 – 408, Л8 с. 232 – 240.
Вариант 2
Модель преобразования виртуального адреса в физический адрес
1. Исходные данные:
o организация виртуальной памяти – двухуровневая страничная,
o разрядность виртуального адреса – 28 бит,
o размер физической страницы – 4 Кбайт,
o количество физических страниц в таблице страниц второго уровня – 256,
o объем оперативной памяти – 64 физических страницы,
o заполнение таблицы страниц – с использованием датчика случайных чисел,
o виртуальный адрес вводится с клавиатуры.
2. Результаты работы модели должны включать:
 виртуальный адрес,
1
 физический адрес,
 содержимое таблиц страниц первого и второго уровней.
3. Литература: Л2 с. 151 – 168, Л3 с. 175 – 183, Л7 с. 397 – 408, Л8 с. 232 – 240.
Вариант 3
Модель преобразования виртуального адреса в физический адрес.
1. Исходные данные:
o организация виртуальной памяти – страничная с TLB (буфером быстрой переадресации),
o емкость TLB – 16 записей
o разрядность виртуального адреса – 32,
o размер физической страницы – 4 Кбайт,
o объем оперативной памяти – 256 физических страниц,
o количество физических страниц в таблице страниц процесса не более 32,
o заполнение таблицы страниц и TLB – датчиком случайных чисел,
o виртуальный адрес вводится с клавиатуры.
2. Результаты работы модели должны включать:
 виртуальный адрес,
 физический адрес,
 содержимое таблицы страниц и TLB.
3. Литература: Л2 с. 151 – 168, Л3 с. 175 – 183, Л7 с. 397 – 408, Л8 с. 232 – 240.
Вариант 4
Модель преобразования виртуального адреса в физический адрес.
1. Исходные данные:
o организация виртуальной памяти – сегментная,
o число сегментов процесса – четыре,
o разрядность виртуального адреса – 32,
o объем оперативной памяти – 1 Гбайт,
o заполнение таблицы сегментов с клавиатуры,
o виртуальный адрес вводится с клавиатуры.
2. Результаты работы модели должны включать:
 виртуальный адрес,
 физический адрес,
 содержимое таблицы сегментов.
3. Литература: Л2 с. 169 – 178, Л3 с. 178 – 191, Л7 с. 397 – 411, Л8 с. 232 – 240.
Вариант 5
Модель преобразования виртуального адреса в физический адрес.
1. Исходные данные:
o организация виртуальной памяти – сегментно-страничная, принятая в процессоре
Pentium,
o разрядность виртуального адреса – 32,
o количество сегментов не более16,
o размер физической страницы – 4 Кбайт,
o объем оперативной памяти – 256 физических страниц,
o количество физических страниц в таблице страниц процесса не более 32,
o виртуальный адрес вводится с клавиатуры.
2. Результаты работы модели должны включать:
 виртуальный адрес,
 физический адрес,
 содержимое таблицы сегментов и таблицы страниц.
3. Литература: Л2 с. 429 – 439, Л3 с. 225 - 235, Л7 с. 397 – 411, Л8 с. 232 – 240.
2
Вариант 6
Модель распределения памяти фиксированными разделами
1. Исходные данные:
o объем оперативной памяти – 256 Мбайт,
o количество разделов 10,
o размер разделов выбирается исполнителем,
o очередь задач – общая,
o размер задачи – случайный – от 30 до 100 Мбайт,
o количество задач в очереди до 20.
2. Результаты работы модели должны включать:
состояние памяти после поступления очередной задачи
3. Литература: Л2 с. 145 – 148, Л3 с. 170 - 175, Л7 с. 363 – 371, Л8 с. 219 – 221.
Вариант 7
Модель распределения памяти динамическими разделами
1. Исходные данные:
o объем оперативной памяти – 512 Мбайт,
o количество разделов до15,
o очередь задач – общая,
o размер задачи – случайный – от 30 до 100 Мбайт,
o количество задач в очереди до 20.
2. Результаты работы модели должны включать:
состояние памяти после поступления очередной задачи
3. Литература: Л3 с. 170 - 175, Л7 с. 363 – 371, Л8 с. 219 – 221.
Вариант 8
Модель распределения памяти перемещаемыми разделами
1. Исходные данные:
o объем оперативной памяти – 256 Мбайт,
o количество разделов до10,
o очередь задач – общая,
o размер задачи – случайный – от 30 до 100 Мбайт,
o количество задач в очереди -20.
2. Результаты работы модели должны включать:
состояние памяти после поступления очередной задачи
3. Литература: Л3 с. 170 - 175, Л7 с. 363 – 371, Л8 с. 219 – 221.
Вариант 9
Модель алгоритма замены страниц
1. Исходные данные:
o объем области замещения оперативной памяти (резидентное множество) – 5 страниц,
o количество различных страниц - 16,
o последовательность обращения к страницам - задана,
o алгоритм замены – дольше всех неиспользовавшаяся страница (LRU).
2. Результаты работы модели должны включать:
 состояние памяти после поступления очередной страницы,
 число страничных прерываний.
3. Литература: Л2 с. 163 – 166, Л3 с. 178 - 196, Л7 с. 415 – 421, Л8 с. 245 – 257.
Вариант 10
Модель алгоритма замены страниц
1. Исходные данные:
3
o объем области замещения оперативной памяти (резидентное множество) – 4 страницы,
o количество различных страниц - 16,
o последовательность обращения к страницам - задана,
o алгоритм замены – “первым вошел – первым вышел” (FIFO).
2. Результаты работы модели должны включать:
 состояние памяти после поступления очередной страницы,
 число страничных прерываний.
3. Литература: Л2 с. 163 – 166, Л3 с. 178 - 196, Л7 с. 415 – 421, Л8 с. 245 – 257.
Вариант 11
Модель алгоритма замены страниц.
1. Исходные данные:
o объем области замещения оперативной памяти (резидентное множество) – 4 страницы,
o количество различных страниц - 16,
o последовательность обращения к страницам - задана,
o алгоритм замены – “часовой”.
2. Результаты работы модели должны включать:
 состояние памяти после поступления очередной страницы,
 число страничных прерываний.
решаемой задачи в структурной организации операционной системы.
3. Литература: Л2 с. 163 – 166, Л3 с. 178 - 196, Л7 с. 415 – 421, Л8 с. 245 – 257.
Вариант 12
Модель алгоритма замены страниц
1. Исходные данные:
o объем области замещения оперативной памяти (резидентное множество) – 4 страницы,
o количество различных страниц - 16,
o последовательность обращения к страницам - задана,
o алгоритм замены – “вторая попытка”.
2. Результаты работы модели должны включать:
 состояние памяти после поступления очередной страницы,
 число страничных прерываний.
3. Литература: Л2 с. 163 – 166, Л3 с. 178 - 196, Л7 с. 415 – 421, Л8 с. 245 – 257.
Вариант 13
Модель алгоритма замены страниц
1. Исходные данные:
o объем области замещения оперативной памяти (резидентное множество) – 3 страницы,
o количество различных страниц - 16,
o последовательность обращения к страницам - задана,
o алгоритм замены – “не использовавшаяся в последнее время” (NRU).
2. Результаты работы модели должны включать:
 состояние памяти после поступления очередной страницы,
 число страничных прерываний.
3. Литература: Л2 с. 163 – 166, Л3 с. 178 - 196, Л7 с. 415 – 421, Л8 с. 245 – 257.
Вариант 14
Модель алгоритма планирования потоков, основанного на квантовании
1. Исходные данные:
o две фиксированные очереди потоков разного приоритета с заданным временем выполнения,
o фиксированная величина кванта процессорного времени,
4
o количество процессоров - 1,
o циклическое выделение квантов потокам с учетом приоритета.
2. Результаты работы модели должны включать:
 среднее время выполнения потоков каждого приоритета.
3. Литература: Л2 с. 93 – 100, Л3 с. 110 - 113, Л7 с. 465 – 475, 499 – 503, Л8 с. 157 – 170.
Вариант 15
Модель алгоритма планирования потоков, основанного на квантовании
1. Исходные данные:
o фиксированная единая очередь потоков с заданным временем выполнения,
o фиксированная величина кванта процессорного времени,
o количество процессоров - 1,
o кратчайшая задача - первая.
2. Результаты работы модели должны включать:
 среднее время выполнения коротких и длинных потоков.
3. Литература: Л2 с. 93 – 100, Л3 с. 110 - 113, Л7 с. 465 – 475, 499 – 503, Л8 с. 157 – 170.
Вариант 16
Модель алгоритма планирования потоков, основанного на квантовании
1. Исходные данные:
o фиксированная единая очередь потоков с заданным временем выполнения,
o фиксированная величина кванта процессорного времени,
o количество процессоров - 2,
o циклическое выделение квантов потокам (круговое планирование).
2. Результаты работы модели должны включать:
 среднее время выполнения потоков.
3. Литература: Л2 с. 93 – 100, Л3 с. 110 - 113, Л7 с. 465 – 475, 499 – 503, Л8 с. 157 – 170.
Вариант 17
Модель алгоритма планирования потоков, основанного на квантовании.
1. Исходные данные:
o две фиксированных очереди потоков с заданным временем выполнения и разного
приоритета,
o фиксированная величина кванта процессорного времени,
o количество процессоров - 2,
o первыми обрабатываются задачи высшего приоритета.
2. Результаты работы модели должны включать:
 среднее время выполнения потоков разного приоритета.
3. Литература: Л2 с. 93 – 100, Л3 с. 110 - 113, Л7 с. 465 – 475, 499 – 503, Л8 с. 157 – 170.
Вариант 18
Модель синхронизации потоков
1. Исходные данные:
o две программы, работающие с файлом в режиме разделения,
o первая программа записывает в файл произвольную информацию (по выбору исполнителя) в определенном количестве записей, после чего разрешает доступ к файлу
второй программе;
o вторая программа удаляет записи, после чего разрешает доступ к файлу первой программе.
2. Результаты работы модели должны включать:
 печать содержимого файла обеими программами с временными отметками.
3. Литература: Л3 с. 148 - 150, Л4 с. 369 – 381, Л7 с. 267 – 279, Л8 с. 127 – 132.
Вариант 19
Модель графа ресурсов и процессов
1. Исходные данные:
o в системе имеется N типов единичных ресурсов (N <= 10),
5
o количество процессов, претендующих на ресурсы, - M (M <= 10),
o исходное состояние характеризуется некоторым распределением и запросами на ресурсы.
2. Результаты работы модели должны включать:
 граф текущего состояния ресурсов и процессов,
 выделение цикла в графе, если он есть.
3. Литература: Л2 с. 118 - 120, Л7 с. 328 – 334, Л8 с. 193 – 196, Л9 с. 400 – 408.
Вариант 20
Модель обнаружения блокировок при наличии нескольких ресурсов каждого типа
1. Исходные данные:
o в системе имеется M типов разделяемых ресурсов (M <= 10),
o количество процессов, претендующих на ресурсы, N (N <= 10),
o исходное состояние характеризуется некоторым распределением и запросами на ресурсы.
2. Результаты работы модели должны включать:
 матрицу текущего распределения ресурсов,
 матрицу текущих запросов процессов на ресурсы,
 решение для текущего состояния (есть тупик или нет, запускать новый процесс или
нет).
3. Литература: Л3 с. 150 - 153, Л7 с. 328 – 334, Л8 с. 196 – 199.
Вариант 21
Модель стека
1. Исходные данные:
o стек списковой структуры,
o перечень операций со стеком: создание, включение элемента, выборка элемента, извлечение данных, уничтожение.
2. Результаты работы модели должны включать:
 меню с перечнем всех операций над стеком,
 печать содержимого стека.
решаемой задачи в структурной организации операционной системы.
3. Литература: Л7 с. 76 – 78, Л9 с. 89 – 96.
Вариант 22
Модель стека
1. Исходные данные:
o стек векторной структуры,
o перечень операций со стеком: создание, включение элемента, выборка элемента, извлечение данных, уничтожение.
2. Результаты работы модели должны включать:
 меню с перечнем всех операций над стеком,
 печать содержимого стека.
3. Литература: Л7 с. 76 – 78, Л9 с. 89 – 96.
Вариант 23
Модель очереди
1. Исходные данные:
o очередь векторной структуры,
o перечень операций с очередью: создание и освобождение, включение в очередь нового элемента, выборка элемента из очереди,
o дисциплина очереди – FIFO (добавление в конец очереди, выборка из головы очереди.
2. Результаты работы модели должны включать:
 меню с перечнем всех операций над очередью,
 печать содержимого очереди.
6
3. Литература: Л7 с. 499 – 503, Л9 с. 115 – 122.
Вариант 24
Модель очереди
1. Исходные данные:
o очередь списковой структуры,
o перечень операций с очередью: создание и освобождение, включение в очередь нового элемента, выборка элемента из очереди,
o дисциплина очереди – FIFO (добавление в конец очереди, выборка из головы очереди).
2. Результаты работы модели должны включать:
 меню с перечнем всех операций над очередью,
 печать содержимого очереди
3. .Литература: Л3 с. 106 – 107, Л7 с. 499 – 503, Л9 с. 115 – 122.
Вариант 25
Модель очереди
1. Исходные данные:
o очередь векторной структуры с динамической памятью,
o перечень операций с очередью: создание и освобождение, включение в очередь нового элемента, выборка элемента из очереди,
o дисциплина очереди – FIFO (добавление в конец очереди, выборка из головы очереди).
2. Результаты работы модели должны включать:
 меню с перечнем всех операций над очередью,
 печать содержимого очереди.
3. Литература: Л7 с. 499 – 503, Л9 с. 115 – 122.
Вариант 26
Модель решения проблемы блокировок для произвольного числа процессов
1. Исходные данные:
o в системе имеется M типов ресурсов,
o количество процессов, претендующих на ресурсы, также равно М,
o для работы процесса необходимо два определенных ресурса,
o проблема синхронизации представляется классической проблемой обедающих философов.
2. Результаты работы модели должны показать:
 беступиковое выполнение процессов путем анализа программы,
 решение для текущего состояния (есть тупик или нет, запускать новый процесс или
нет).
3. Литература: Л3 с. 150 - 153, Л6 с. 227 – 239, Л8 с. 150 – 153.
Вариант 27
Модель решения проблемы блокировок при доступе к базе данных
1. Исходные данные:
o количество процессов, претендующих на ресурсы, равно М,
o разрешается одновременное чтение всем процессам,
o разрешается запись только для одного процесса,
o при записи доступ для остальных процессов должен быть прекращен,
o проблема синхронизации представляется классической проблемой читателей и писателей.
2. Результаты работы модели должны показать:
 беступиковое выполнение процессов путем анализа программы,
 решение для текущего состояния (есть тупик или нет, запускать новый процесс или
нет).
3. Литература: Л3 с. 150 - 153, Л6 с. 227 – 239, Л7 с. 273 – 278, Л8 с. 153 – 154.
7
Вариант 28
Модель решения проблемы межпроцессного взаимодействия
1. Исходные данные:
o количество процессов, претендующих на обслуживание произвольное,
o одновременно обслуживается только один процесс,
o число ожидающих процессов не более n,
o проблема синхронизации представляется классической проблемой спящего брадобрея.
2. Результаты работы модели должны показать:
 бесконфликтное выполнение процессов путем анализа программы.
решаемой задачи в структурной организации операционной системы.
1. Литература: Л8 с. 155 – 157, Л6 с. 227 – 239.
Вариант 29
Модель дискового планирования № 1
1. Исходные данные:
o количество цилиндров диска - 1024,
o стартовый цилиндр – 500,
o поступление запросов к дорожкам – случайное (генерировать датчиком случайных
чисел),
o среднее время поиска цилиндра – 10 мс,
o скорость вращения 7200 об/мин,
o дорожка имеет 500 секторов,
o производится чтение файла размером 1 Мбайт,
o дисциплина обслуживания запросов – FIFO.
2. Результаты работы модели должны включать:
 график перемещения головок по цилиндрам,
 количество пересеченных дорожек,
 среднее время чтения файла,
 среднее время поиска файла.
3. Литература: Л7 с. 560 – 568, Л8 с. 357 – 360.
Вариант 30
Модель дискового планирования № 2
1. Исходные данные:
o количество цилиндров диска - 1024,
o стартовый цилиндр – 500,
o поступление запросов к дорожкам – случайное (генерировать датчиком случайных
чисел),
o среднее время поиска цилиндра – 10 мс,
o скорость вращения 7200 об/мин,
o дорожка имеет 500 секторов,
o производится чтение файла размером 1 Мбайт,
o дисциплина обслуживания запросов – LIFO.
2. Результаты работы модели должны включать:
 график перемещения головок по цилиндрам,
 количество пересеченных дорожек,
 среднее время чтения файла,
 средняя продолжительность поиска файла,
3. Литература: Л7 с. 560 – 568, Л8 с. 357 – 360.
Вариант 31
Модель дискового планирования № 3
1. Исходные данные:
o количество цилиндров диска - 1024,
8
o стартовый цилиндр – 500,
o поступление запросов к дорожкам – случайное (генерировать датчиком случайных
чисел),
o среднее время поиска цилиндра – 10 мс,
o скорость вращения 7200 об/мин,
o дорожка имеет 500 секторов,
o производится чтение файла размером 1 Мбайт,
o дисциплина обслуживания запросов – RSS.
2. Результаты работы модели должны включать:
 график перемещения головок по цилиндрам,
 количество пересеченных дорожек,
 среднее время чтения файла,
 среднее время поиска файла.
3. Литература: Л7 с. 560 – 568, Л8 с. 357 – 360.
Вариант 32
Модель дискового планирования № 4
1. Исходные данные:
o количество цилиндров диска - 1024,
o стартовый цилиндр – 500,
o поступление запросов к дорожкам – случайное (генерировать датчиком случайных
чисел),
o среднее время поиска цилиндра – 10 мс,
o скорость вращения 7200 об/мин,
o дорожка имеет 500 секторов,
o производится чтение файла размером 1 Мбайт,
o дисциплина обслуживания запросов – PRI.
2. Результаты работы модели должны включать:
 график перемещения головок по цилиндрам,
 количество пересеченных дорожек,
 среднее время чтения файла,
 среднее время поиска файла.
3. Литература: Л7 с. 560 – 568, Л8 с. 357 – 360.
Вариант 33
Модель алгоритма замены страниц
1. Исходные данные:
o объем области замещения оперативной памяти (резидентное множество) – 4 страницы,
o количество различных страниц - 6,
o последовательность обращения к страницам - задана,
o алгоритм замены – “часовой с двумя стрелками”.
2. Результаты работы модели должны включать:
 состояние памяти после поступления очередной страницы,
 число страничных прерываний.
3. Литература: Л3 с. 178 - 196, Л7 с. 415 – 421, 436 – 437, Л8 с. 245 – 257.
Вариант 34
Модель взаимоисключения для двух процессов
1. Исходные данные:
o процессы имеют критические разделы,
o известно четыре варианта, не дающие полного решения проблемы,
o предлагается алгоритм Деккера.
2. Результаты работы модели должны включать:
 доказательство правильности алгоритма Деккера.
9
3. Литература: Л7 с. 257 – 262, Л8 с. 127 – 132.
Вариант 35
Модель взаимоисключения процессов
1. Исходные данные:
o процессы имеют критические разделы,
o известно четыре варианта, не дающие полного решения проблемы,
o предлагается алгоритм Петерсона.
2. Результаты работы модели должны включать:
 доказательство правильности алгоритма Петерсона.
3. Литература: Л7 с. 262 – 263, Л8 с. 127 – 132.
Вариант 36
Анализ свойств и возможностей файловой системы типа FAT
1. Исходные данные:
o известны характеристики магнитных дисков (до 32 Мбайт, 33-64 Мбайт, 65-128
Мбайт, 129-255 Мбайт, 256-511 Мбайт, 512-1023 Мбайт, 1024-2047 Мбайт, 20488192 Мбайт, 8193-16384 Мбайт, 16385-32768 Мбайт, более 32 Гбайт),
o известен минимальный размер кластера – 512 байт,
o характеристики FAT16 и FAT32.
2. Результаты работы должны включать:
 программу построения таблицы, содержащей для каждого типа диска количество возможных кластеров различного размера, объем адресной информации (абсолютный и в процентах к емкости диска), возможную величину внутренней фрагментации и др. данные по
усмотрению исполнителя.
 анализ целесообразности использования FAT16 или FAT32 в зависимости от емкости
диска.
1. Литература: Л3 с. 279 – 294, Л8 с. 486 – 493.
Вариант 37
Анализ свойств и возможностей файловой системы типа NTFS
1. Исходные данные:
o известны характеристики магнитных дисков (до 32 Мбайт, 33-64 Мбайт, 65-128
Мбайт, 129-255 Мбайт, 256-511 Мбайт, 512-1023 Мбайт, 1024-2047 Мбайт, 20488192 Мбайт, 8193-16384 Мбайт, 16385-32768 Мбайт, более 32 Гбайт),
o известен минимальный размер кластера – 512 байт,
o характеристики NTFS и NTFS 5.0.
2. Результаты работы должны включать:
 программу построения таблицы, содержащей для каждого типа диска количество возможных кластеров различного размера, объем адресной информации (абсолютный и в процентах к емкости диска), возможную величину внутренней фрагментации и др. данные по
усмотрению исполнителя.
 анализ целесообразности использования NTFS и NTFS 5.0 в зависимости от емкости
диска и других требований.
3. Литература: Л3 с. 299 – 307, Л7 с. 638 –642, Л8 с. 914 – 926
Вариант 38
1. Анализ свойств и возможностей файловой системы UNIX.
Исходные данные:
o известны характеристики магнитных дисков (до 32 Мбайт, 33-64 Мбайт, 65-128
Мбайт, 129-255 Мбайт, 256-511 Мбайт, 512-1023 Мбайт, 1024-2047 Мбайт, 20488192 Мбайт, 8193-16384 Мбайт, 16385-32768 Мбайт, более 32 Гбайт),
o известен минимальный размер кластера – 512 байт,
o характеристики s5 и ufs.
2. Результаты работы должны включать:
10
 программу построения таблицы, содержащей для каждого типа диска количество возможных кластеров различного размера, объем адресной информации (абсолютный и в процентах к емкости диска), возможную величину внутренней фрагментации и др. данные по
усмотрению исполнителя.
 анализ целесообразности использования NTFS и NTFS 5.0 в зависимости от емкости
диска и других требований.
3. Литература: Л3 с. 288 – 290, Л7 с. 634 –637, Л8 с. 493 – 496, 811 – 818.
Вариант 39
Анализ свойств и возможностей кластерных систем
1. Исходные данные:
o известные методы кластеризации,
o общие принципы построения кластерных систем,
o архитектуры кластеров,
o Windows 2000 Cluster Server и Sun Cluster,
o параллельные вычисления в кластерах.
2. Результаты работы должны включать:
 представление набора выполняемых процессов взвешенным графом,
 разрезание графа на подграфы с минимизацией сетевого трафика.
3. Литература: Л6 с. 400 – 440, Л7 с. 670 –682, Л8 с. 602 – 605.
Вариант 40
Анализ свойств и возможностей кластерных систем
1. Исходные данные:
o известные методы кластеризации,
o общие принципы построения кластерных систем,
o архитектуры кластеров,
o Windows 2000 Cluster Server и Sun Cluster,
o параллельные вычисления в кластерах.
2. Результаты работы должны включать:
 представление набора выполняемых процессов взвешенным графом,
 разрезание графа на подграфы с равными суммами весов вершин.
3. Литература: Л6 с. 400 – 440, Л7 с. 670 –682, Л8 с. 602 – 605.
Вариант 41
Анализ свойств и возможностей кластерных систем
1. Исходные данные:
o известные методы кластеризации,
o общие принципы построения кластерных систем,
o архитектуры кластеров,
o Windows 2000 Cluster Server и Sun Cluster,
o параллельные вычисления в кластерах.
2. Результаты работы должны включать:
 представление набора выполняемых процессов взвешенным графом,
 разрезание графа на максимально связные подграфы.
3. Литература: Л6 с. 400 – 440, Л7 с. 670 –682, Л8 с. 602 – 605.
Вариант 42
Анализ свойств и возможностей кластерных систем
1. Исходные данные:
o известные методы кластеризации,
o общие принципы построения кластерных систем,
o архитектуры кластеров,
o Windows 2000 Cluster Server и Sun Cluster,
o параллельные вычисления в кластерах.
2. Результаты работы должны включать:
11
 представление набора выполняемых процессов взвешенным графом,
 планирование на основе эвристического алгоритма, инициируемого отправителем.
3. Литература: Л6 с. 400 – 440, Л7 с. 670 –682, Л8 с. 602 – 605.
Литература
1. Варфоломеев В.И., Назаров С.В. Алгоритмическое моделирование элементов экономических систем. – М.: Финансы и статистика, 2004
2. Назаров С.В. Операционные среды, системы и оболочки. Основы структурной и функциональной организации: Учеб. Пособие. – М.: КУДИЦ-ПРЕСС, 2007. – 504 с.
3. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. СПб.: Питер, 2006
4. Подбельский В.В., Фомин С.С. Программирование на языке Си., М.: Финансы и статистика, 2003, с. 369 – 381.
5. Прайс Д., Гандэрлой М. Visual C#.NET. Полное руководство.: Пер. с англ. – К.: ВЕК+,
СПб.: КОРОНА принт, К.: НТИ, М.: Энтроп, 2004. – 960 с.
6. Рихтер Дж. Windows для профессионалов / Пер. с англ. – 4-е изд. – СПб: Питер; М.: Издательско-торговый дом “Русская редакция”, 2003. – 752 с.
7. Столингс В. Операционные системы. М.: Вильямс, 2003
8. Таненбаум Э. Современные операционные системы. : Пер. с англ. 2-е изд. – СПб.: Питер, 2002. – 1040 с.
9. Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си (+CD).
М.: Финансы и статистика, 2004, с. 400 – 440.
Зав. каф. Архитектуры ПС проф. Назаров С.В.
12
Пример домашнего задания (основная часть)
по курсу “Операционные среды, системы и оболочки”
Тема: Синхронизация потоков средствами языка программирования C#
1. Постановка задачи
Разработать пример синхронизации потоков, используя различные средства языка C#.
Для демонстрации приложения использовать модель биллинговой системы, снимающей
деньги со счетов клиента. Система работает в многопоточном режиме. Каждый поток в произвольном порядке снимает заданную сумму со счета каждого клиента. При этом определенное время (задается в графическом интерфейсе программы) тратиться на: запуск каждого потока и на снятие денег со счета каждого клиента.
Общая схема работы каждого потока:
1. Определение порядка обработки клиентов (генерируется случайным образом).
2. Вход в критическую секцию (если синхронизация включена):
получение текущего счета клиента,
приостановка потока на некоторое время,
обновление счета клиента.
3. Выход из критической секции.
Программа должна позволять демонстрировать различные средства языка программирования, обеспечивающие способы синхронизации между потоками, основные классы и приёмы работы с многопоточными приложениями, а также показывать типичные ошибки при отсутствии необходимой синхронизации.
2. Решение задачи
Главное окно приложения (рис. 1) делится на 3 основные части:
1. Таблица клиентов – данная таблица имеет следующие колонки:
 клиент – задаётся демонстрационное имя клиента;
 начальный счет – количество денег на счету данного клиента до выполнения операций
снятия со счета;
 счет после снятия без синхронизации – та сумма, которая осталась бы на счету у клиента
при снятии денег без синхронизации потоков;
 счет после снятия с синхронизацией – сумма, которая останется на счете клиента при
снятии денег с синхронизацией потока;
 кнопка «Добавить» позволяет добавить нового клиента в таблицу.
2. Параметры снятия денег:
13
 снимаемая сумма – сумма, снимаемая каждым потоком за одну итерацию;
 число снятий – определяет число потоков, которые будут снимать деньги со счетов;
 продолжительность операции снятия (мс) – задержка между операцией получения текущего баланса клиента и операцией обновления этого баланса;
 интервал между потоками (мс) – задержка перед запуском последующего потока
3.
– показывает статус выполняемой операции.
3. Контрольный пример
Рис. 1
В качестве контрольного примера были использованы данные, приведенные на рис.1. Выполнение операции снятия без синхронизации не заняло много времени, но и результаты получились неверные: отклонение от ожидаемого результата составило 15-20 руб. с каждого клиента.
Снятие денег с синхронизацией заняло значительно больше времени (это обусловлено вынужденным ожиданием одним потоком другого при синхронизации), но результаты получились абсолютно верные. Чтобы убедиться в этом, достаточно из второй колонки (начальный счет) вычесть 50 и
сравнить с колонкой «счёт после снятия с синхронизацией». Результат совпадает. Тем самым была
показана необходимость синхронизации потоков.
14
Download