|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.08.2017, 21:34 | #1 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
Планировщик потоков
Программная реализация простого бесприоритетного планировщика потоков.
Исходные данные: - возможные состояния потоков: выполнение, ожидание, блокировка - отрабатываемые события: создание нового потока, завершение активного потока, завершение кванта времени у активного потока, блокирование потока, разблокирование потока - основная структура данных: массив дескрипторов потоков с двумя полями - идентификатор потока, состояние потока - массив реализует простейшую очередь со сдвигом элементов при удалении Я даже не знаю каким образом подступиться к заданию. Допустим напишем в паскале все это дело. |
26.08.2017, 08:50 | #2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Глаза боятся, а руки делают. Начните с того, что знаете как сделать. К примеру с написания теста создания потоков - вернее просто заполнение массива. Потом отработки их планирования по принципу карусели.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
26.08.2017, 09:27 | #3 | |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
Цитата:
Вот как мне понять массив дескрипторов с двумя полями? То ли так? Код:
То ли не нужно через запись сделать все это дело, а просто через массив целых чисел где индекс ячеек и есть идентификаторы? |
|
26.08.2017, 09:32 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Вам бы теорию почитать.. Идентификатор - это уникально число, по которомы ваш планировщик потом сможет найти опред. поток и проделывать с ним нужные действия. Хотит берите рандомные числа, хотите по порядку нумеруйте, хотите преобразйте хендл от системы.
|
26.08.2017, 09:41 | #5 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
id - потока это номер присвоенный потоку при его создании. Он должен быть уникальным. А у вас сейчас они могут случайно совпасть - такого нельзя допускать. Да, так. Только status и state это разные слова. Не работаете на прямую с массивом. Работайте через функции. Инкапсулируйте.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
26.08.2017, 09:42 | #6 | |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
Цитата:
Код:
|
|
26.08.2017, 09:51 | #7 | |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
Цитата:
Тогда я понял так : Код:
|
|
26.08.2017, 11:48 | #8 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Ну вот продолжай дальше. Закодируй всё что тут перечислено:
Сделай на основе статического массива очередь. Все функции которые есть у очереди. Посмотри как очереди сделаны у других. Затем на основе этих функций сделай следующие: Цитата:
И если совсем не знаешь с чего начать, начни с определений. Определения сам найдёшь в интернете или в книгах.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
26.08.2017, 17:00 | #9 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
[QUOTE=Pavia;1696118]Ну вот продолжай дальше. Закодируй всё что тут перечислено:
Сделай на основе статического массива очередь. Все функции которые есть у очереди. Посмотри как очереди сделаны у других. Затем на основе этих функций сделай следующие: Ну вот сделал, только я мало чего пока понимаю как это будет работать вместе. Код:
Последний раз редактировалось goto ∞; 26.08.2017 в 17:03. |
26.08.2017, 18:29 | #10 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Вы же должны были сделать очередь потоков, а не отдельно массив потоков и очередь. Да и где здесь функция удаления потока из очереди?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многократное использование потоков(пул потоков) | ProgrammistRT | Общие вопросы Delphi | 10 | 06.04.2014 13:42 |
FTP планировщик | Zloy_Doomer | Операционные системы общие вопросы | 0 | 21.05.2013 00:08 |
Планировщик | KolinRol | Помощь студентам | 1 | 15.04.2013 05:13 |
Планировщик на ассемблере | Spartiat | Помощь студентам | 0 | 04.06.2009 18:43 |
Планировщик процессов. | Артин | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 05.05.2009 23:21 |