Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Индивидуальные задания. Напишите на языке Java программу моделирования процесов с использованием потоков.



Напишите на языке Java программу моделирования процесов с использованием потоков.

В программах класс Cpuqueue описывает очередь, класс Cpuprocess моделирует поток процессов, а класс CPU – поток обслуживания процесса центральным процессором. Очереди, потоки процессов и обслуживания процесса моделируются с помощью объектов соответствующего класса. Параметры очереди моделируются с помощью алгоритмов вставки и вытягивания процесса с очереди. Параметром процесса является интервал времени между двумя последовательными генерациями процессов. Параметром процессора является время обслуживания процесса.

Случайное время для интервалов между моментами генерации процессов и для времени обсловування распределенные по равномерному закону распределения с заданными верхней и нижней границами( см. метод random() в классе Math). Начальными данными для моделирования есть количество процессов, которые должны сгенерировать ( для каждого потока процессов), а также нижние и верхние границы для потоков.

1. Программа моделирует обслуживание трех потоков процессов с разными параметрами тремя центральными процессорами компьютера без очередей. Первый процессор обрабатывает процессы любого потока. Второй процессор обрабатывает процессы только второго потока, а третий – только третьего. Если згенерований процесс не может быть обработан из-за занятости процессора, он зніщується. Візначити процент уничтоженных процессов в каждом потоке.

2. Программа моделирует обслуживание одного потока процессов одним центральным процессором комп'тера с очередями фіксованиого размера (буферными областями). Если размер очереди превышает заданный размер, содержимое очереди поступает на обработку в процессор. Если буферная область заполняется к окончанию обработки процессором содержимого предыдущей буферной области, создается новая буферная область и так далее. Определить максимальное и среднее количество буферных областей.

3. Программа моделирует обслуживание двух потоков процессов с разными параметрими одним центральным процессором комп'тера. Для каждого потока задается своя очередь. Очередь для прешого потока имеет фиксированный размер, и, если процесс сгенерировался в тот момент, когда преша очередь заполнена, процесс уничтожается. Размер очереди второго потока неограниченный. На каждое n запросов из первой очереди (n задается как начальное данное), процессор берет на обработку один запрос из второй очереди. определить процент уничтоженных процессов первого потока и максимальную длину второй очереди.

4. Программа моделирует одного потока процессов несколькими центральными процессорами компьютера с несколькими очередями одинакового размера. Если процесс сгенерировал в тот момент, когда первая очередь заполнена, процесс помещается в следующую очередь, для обработки которой запускается второй процессор. Если и эта очередь заполнена, создается третья очередь и запускается третий процессор и так далее. Визничити количество задействованных процессоров, максимальное длину последней очереди и процент от общего количества процессов, которые были обработаны каждым процессором.

5. Программа моделирует одного потока процессов несколькими центральными процессорами компьютера без очередей. Если процесс сгенерировал в тот момент, когда первый процессор занят, процесс берется на обработку вторым процессором, если и этот процессор занят, запускается третий процессор и так далее. Определить количество задействованных процессоров и процент от общего количества процессов, которые были обработаны каждым процессором.

6. Программа моделирует обслуживание одного потока процессов одним центральным процессором комп'тера с двумя очередями. Если размер первой очереди превышает заданный, процесс помещается в другу очередь (буфер переполнения), размер которой не ограничен. Процессор берет на обработку процесс из второй очереди только в том случае, если размер этой очереди превысит некоторую заданную величину. Определить максимальный размер второй очереди и процент процессов, которые были выбраны на обработку из второй очереди.

7. Программа моделирует обслуживание одного потока процессов одним центральным процессором компьютера с двумя очередями. Процесс, который сгенерировал, помещается в ту очередь, размер которой меньший. В свою очередь, процессор берет на обслуживание запрос из той очереди, размер которой больший. Определить процент запросов, которые были выбраны на обработку из первой очереди.

8. Программа моделирует обслуживание одного потока процессов тремя центральными процессорами компьютера без очереди. Первый процессор обрабатывает процессы один, второй и третий - последовательно, причем, если второй процессор освобождается, он может взять на обработку следующий процесс, который ждет, пока не закончится обработка на третьем процессоре. Процесс, который сгенерировал, одновременно старается начать обработку на первому и на второму процессоре. Если процессор занят, то процесс уничтожается. Определить процент уничтоженных процессов отдельно на первому и отдельно на второму процессоре.

9. Программа моделирует обслуживание двух потоков процессов с разными параметрами двумя центральными процессорами компьютера с одной очередью. Если згенеровано процесс второго потока и второй процессор занят, процесс поступает в очередь. Если згенеровано процесс первого потока, то, если первый процессор занят обработкой первого потока, то процесс поступает на обработку на второй процессор. Если и второй процессор занят, то процесс уничтожается. Если в момент генерации процесса первого потока на первом процессоре обрабатывается процесс второго потока, то процесс перерывается и возвращается в очередь. Определить максимальную длину очереди, процент уничтоженных процессов для первого потока и процент прерванных запросов для второго потока.

10. Программа моделирует обслуживание двух потоков процессов с разными параметрами двумя центральными процессорами компьютера с одной очередью. Если згенеровано процесс второго потока и второй процессор занят, процесс поступает в очередь. Если згенеровано процесс первого потока, то, если первый процессор занят обработкой первого потока, то процесс поступает на обработку на второй процессор. Если и второй процессор занят, то процесс уничтожается. Если в момент генерации процесса первого потока на первом процессоре обрабатывается процесс второго потока, процесс считается утраченным. Определить максимальную длину очереди и проценты уничтоженных процессов для первого и второго потока.

11. Программа моделирует обслуживание одного потока процессов одним центральным процессором компьютера с одной очередью. Если очередной процесс генерируется в момент, когда процессор свободный, процесс поступает на обработку в процессор, иначе процесс поступает в очередь. Если процессор свободный и в очереди есть процессы, процесс удаляется с очереди. Определить максимальную длину очереди.

12. Программа моделирует обслуживание одного потока процессов одним центральным процессором компьютера без очереди. Если очередной процесс генерируется в момент, когда процессор свободный, процесс поступает на обработку в процессор, иначе процесс уничтожается. Определить процент уничтоженных процессов.

13. Программа моделирует обслуживание одного потока процессов двумя центральными процессорами компьютера без очереди. Если очередной процесс генерируется в момент, когда любой из процессоров свободный, процесс поступает на обработку в данный процессор, иначе процесс уничтожается. Определить процент уничтоженных процессов для двух одинаковых процессоров.

14. Программа моделирует обслуживание одного потока процессов двумя центральными процессорами компьютера с общей очередью. Если очередной процесс генерируется в момент, когда любой из процессоров свободный, процесс поступает на обработку, иначе процесс становится в очередь. Если один из процессоров освобождается, и в очереди есть процессы, процесс удаляется с очереди. Определить максимальный размер очереди для двух одинаковых процессоров.

15. Программа моделирует обслуживание одного потока процессов двумя центральными процессорами компьютера с двумя очередями. Если очередной процесс генерируется в момент, когда любой из процессоров свободный, процесс поступает на обработку в свободный процессор, иначе процесс помещается в ту с двух очередей, размер которой меньший. Определить максимальный размер для каждой из очередей для двух одинаковых процессоров.

16.Программа моделирует обслуживание двух потоков процессов с разными параметрами центральным процессором компьютера. Для каждого потока задается своя очередь. Если очередной процесс генерируется в момент, когда процессор свободный, процесс поступает на обработку на процессор, иначе процесс становится в свою очередь. Если процессор освобождается, он берет на обработку процесс из первой очереди и, только в том случае, если первая очередь свободная, процессор берет на обработку процесс из второй очереди. Определить максимальный размер для каждой из очередей.

17. Программа моделирует обслуживание одного потока процессов одним центральным процессором компьютера с одной очередью заданного размера. Если очередной процесс генерируется в момент, когда процессор свободный, процесс поступает на обработку в процессор, иначе процесс поступает в очередь. Если процессор свободный и в очереди есть процессы, процесс удаляется с очереди. Если размер очереди превышает заданный размер, процесс уничтожается. Определить процент уничтоженных процессов.

18. Программа моделирует обслуживание одного потока процессов двумя центральными процессорами компьютера с общей очередью заданного размера. Если очередной процесс генерируется в момент, когда любой из процессоров свободный, процесс поступает на обработку, иначе процесс становится в очередь. Если размер очереди превышает заданное значение, процесс уничтожается. Определить максимальный размер очереди и процент уничтоженных процессов для двух одинаковых процессоров.

19. Программа моделирует обслуживание двух потоков процессов с разными параметрами двумя центральными процессором компьютера. Для каждого потока задается своя очередь. Процесс из каждого потока поступает на свой процессор, и лишь в том случае, когда в своей очереди нет процесса, процессор берет на обработку чужой процесс. Определить максимальный размер для каждой из очередей.

20. Программа моделирует обслуживание двух потоков процессов с разными параметрами двумя центральными процессором компьютера. Для каждого потока задается своя очередь. Процесс из каждого потока поступает на свой процессор, и лишь в том случае, когда длина своей очереди не превышает заданного для этой очереди размера, а длина другой очереди превышает заданный для нее размер, процессор берет на обработку чужой процесс. Определить максимальный размер для каждой из очередей.

21. Программа моделирует обслуживание одного потока процессов двумя центральными процессорами компьютера с общей очередью. Если очередной процесс генерируется в момент, когда первый процессор свободный, процесс поступает на обработку, иначе процесс становится в очередь. Если размер очереди превышает заданное значение, процесс поступает на обработку во второй процессор. Определить общее количество процессов и отношения ( в процентах) обработанных процессов к общему количеству процессов, которые были згенеровані, для обеих процессоров.

22. Программа моделирует обслуживание двух потоков процессов с разными параметрами двумя центральными процессором компьютера. Для каждого потока задается своя очередь. Процесс из каждого потока поступает на первый процессор, и лишь в том случае, когда длина одной из очередей превышает заданную для нее величину. Определить общее количество процессов и отношения ( в процентах) обработанных процессов к общему количеству процессов, которые были згенеровані, для обеих процессоров.

23. Программа моделирует обслуживание двух потоков процессов с разными параметрами одним центральным процессором компьютера без очереди. Процесс из каждого потока поступает на процессор, но если при обработке процесса генерируется процесс из того же потока, обрабатываемый процесс считается утраченным. Однако, если при обслуживании процесса из второго потока генерируется процесс первого потока, то процесс уничтожается и начинается обработка процесса из первого потока. Определить процент уничтоженных процессов для первого и второго потоков.

24. Программа моделирует обслуживание одного потока процессов двумя центральными процессорами с одной очередью. Когда процесс отдаляется с очереди, он сначала поступает на обработку в первый процессор. Как только процесс обработки заканчивается, процесс обрабатывается на второму процессоре, а на первый процессор поступает очередной процесс с очереди (если очередь не пустая). Процесс на первом процессоре ждет окончания обработки предыдущего процесса на второму процессоре (если обработка предыдущего процесса еще не закончилась). Определить максимальную длину очереди.

25. Программа моделирует обслуживание двух потоков процессов с разными параметрами одним центральным процессором и одной очередью. Если згенорований процесс второго потока и процессор занят, процесс поступает в очередь. Если згенорований процесс первого потока, то, если процессор обрабатывает процесс первого потока, то процесс уничтожается. Если же процессор обрабатывает процесс второго потока, то процесс врывается и возвращается в очередь. Определить максимальную длину очереди, процент уничтоженных процессов первого потока и количество прерванных процессов второго потока.

 

Контрольные вопросы

1. Типы многозадачности.

2. Какими способами можна создать поток.

3. Зачем используются приоритеты потоков.

4. С помощу какого метода можно установить приоритет потоков.

5. Способы синхронизации потоков.

Список используемой литературы

Основная литература

20. Г.Шилдт. Полный справочник по Java SE6 , 7-е изд. – М.: "Вильямс",2007

21. Б.Эккель. Философия Java , 4е изд. – М.: "Питер" ,2009

22. Шилдт Г., Ноутон П. Java 2– М.: "Вильямс", 2007

Дополнительная литература

23. Нотон П.JAVA:Справ.руководство:Пер.с англ./Под ред.А.Тихонова.-М.:БИНОМ:Восточ.Кн.Компания,1996:Восточ.Кн.Компания.-447с..-(Club Computer)

24. Патрик Нотон, Герберт Шилдт Полный справочник по Java.- McGraw-Hill,1997, Издательство "Диалектика",1997

25. Дэвид Флэнэген Java in a Nutshell.- O'Reilly & Associates, Inc., 1997, Издательская группа BHV, Киев, 1998

26. Ренеган Э.Дж.(мл.)1001 адрес WEB для программистов:Новейший путеводитель программиста по ресурсам World Wide Web:Пер.с англ..-Минск:Попурри,1997.-512с.ил.

27. Сокольский М.В.Все об Intranet и Internet.-М.:Элиот,1998.-254с.ил.

28. Чен М.С. и др.Программирование на JAVA:1001 совет:Наиболее полное руководство по Java и Visual J++:Пер.с англ./Чен М.С.,Грифис С.В.,Изи Э.Ф..-Минск:Попурри,1997.-640с.ил.+ Прил.(1диск.)

29. Майкл Эферган Java: справочник.- QUE Corporation, 1997, Издательство "Питер Ком", 1998

30. Джо Вебер Технология Java в подлиннике.- QUE Corporation, 1996, "BHV-Санкт-Петербург",1997

31. Джейсон Мейнджер Java: Основы программирования.- McGraw-Hill,Inc.,1996, Издательская группа BHV, Киев,1997

32. И.Ю.Баженова Язык программирования Java.- АО "Диалог-МИФИ", 1997

33. Джон Родли Создание Java-апплетов.- The Coriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996

 

 


 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.