|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
||||||
Планировщик потоков30.08.2017, 20:42. Показов 3670. Ответов 31
Метки нет (Все метки)
Программная реализация простого бесприоритетного планировщика потоков.
Исходные данные: - возможные состояния потоков: выполнение, ожидание, блокировка - отрабатываемые события: создание нового потока, завершение активного потока, завершение кванта времени у активного потока, блокирование потока, разблокирование потока - основная структура данных: массив дескрипторов потоков с двумя полями - идентификатор потока, состояние потока - массив реализует простейшую очередь со сдвигом элементов при удалении Очередь потоков сделал. Кликните здесь для просмотра всего текста
Никак не могу представить как сделать и как она должна выглядит второй пункт - отрабатываемые события: создание нового потока, завершение активного потока, завершение кванта времени у активного потока, блокирование потока, разблокирование потока Помогите кто в теме. Добавлено через 4 часа 7 минут Народ не ужели никто не знает? Подскажите в каком направление хотя бы двигать. Как должен выглядит например "Создание нового потока" на паскале, вообще не понятно.
0
|
||||||
| 30.08.2017, 20:42 | |
|
Ответы с готовыми решениями:
31
Программа неправильно работает при запуске через Планировщик Заданий Планировщик потоков
|
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,365
|
|
| 31.08.2017, 08:02 | |
|
Паскаль объектно-ориентированный язык, начни с нпаписания класса, потом добавляй в него задачи-методы
1
|
|
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
|
| 31.08.2017, 09:09 [ТС] | |
|
А как соотносить тем что я написал выше на паскале? Его переделывать?
0
|
|
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,365
|
|
| 31.08.2017, 10:28 | |
|
не понимаю, что ты хотел написать и что написал...
Поток - это одно, очередь - это другое, массив - третье. В лучшем случае часть кода войдет в описание класса, в худшем - все в топку
0
|
|
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
||||||
| 31.08.2017, 10:48 [ТС] | ||||||
|
Тогда переписал так:
Правильно ли описан класс? Если правильно какое тело должно быть метода Stop(Завершение потока) правильны ли остальные методы? И как вообще описать методы "Завершение кванта времени у активного блока" или этот метод вообще не должен быть в этом классе. И еще правильно ли у метода Unblock(Разблокирование потока) тело? Из состояния блокировки перейти в состояние ожидание. ps Нам задали задание по теме у которого не было практики, по этому мало что понимаю что от меня хочет препод со своим заданием. Кликните здесь для просмотра всего текста
0
|
||||||
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,365
|
||
| 31.08.2017, 11:29 | ||
|
В современном паскале используют классы У класса есть поля, свойства и методы-процедуры(функции) Если проектируется менеджер, то он должен содержать коллекцию того, чем он управляет... здесь можно использовать лист или очередь. Очередь гугли по словам стек, очередь В классе обязательно должны быть конструктор и деструктор Обычно под потоком понимают объект класса TThread. Если это то, что надо, то посмотри его свойства и методы Называй вещи своими именами, если не знаешь чего-то, в гугле отличный переводчик. Если метод создает поток, так и назови его, СоздатьПоток, на английском. Создать можно что угодно. "desc" ассоциируется с "описание" К чему это? Не нужно сокращать имена. Ты же не наркоман и не душевнобольной. Обычно ID является уникальным и генерируется программно, а имя можно задавать Внимательно продумай, какой тип, какие свойства и поведение у каждого класса объектов. А то я даже со второго раза не могу понять, что к чему. И пиши комментарии к коду, без комментариев, тебе даже за деньги никто не станет помогать
0
|
||
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
||||||||
| 31.08.2017, 12:26 [ТС] | ||||||||
|
А в операционных системах под потоком подразумевается многозадачность. То есть потоки делят процессорное время(квант). Я думал вы после прочтения задания поняли это. И нужно написать, внимание, написать модель планировщика потоков. И по этому написать в турбопаскале или в бейсики мне кажется разницы нет. Вот с комментариями Кликните здесь для просмотра всего текста
Добавлено через 8 минут Вот нашел такую же тему, но только с другими условиям задачи. Программная реализация простого бесприоритетного планировщика потоков
0
|
||||||||
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,365
|
||
| 31.08.2017, 13:13 | ||
|
0
|
||
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
|
| 31.08.2017, 13:26 [ТС] | |
|
У меня есть free paskal Lazarus, но это сути не меняет, тут нужно написать имитатор функции планировщика ОС, написать модель. Но никак не могу тронутся с места потому что один говорит что нужно так то то, другой говорит что не так.
Добавлено через 10 минут Другими словами мне не нужно написать программу что бы она работа в несколько потоков а нужно всего лишь написать имитатор плпнировщика ОС, не ужели это не понятно исходя из задачи.
0
|
|
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,365
|
||
| 31.08.2017, 14:49 | ||
|
0
|
||
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
|
| 31.08.2017, 14:55 [ТС] | |
|
vlisp, Я вот по этому и здесь, так как не знаю каким образом его сделать. Еще нужно очередь потоков нужно закодировать. Вроде как бы в первом посте сделал очередь из потоков сейчас нужно переделывать получается.
Мне бы толчок в правильном направление...
0
|
|
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,365
|
|
| 31.08.2017, 15:17 | |
|
У тебя есть пример на плюсах, там реализована очередь и кстати потоки там настоящие
0
|
|
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
|
| 31.08.2017, 15:23 [ТС] | |
|
Я не знаю ++. Если бы даже знал в паскале по любому по другому она делается.
0
|
|
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,365
|
|
| 31.08.2017, 15:26 | |
|
я тебе написал, что надо, волшебного пендаля у меня для тебя нет, увы
0
|
|
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
|
| 31.08.2017, 18:43 [ТС] | |
|
Походу никто не знает что конкретно нужно сделать, жаль.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 31.08.2017, 19:03 | ||
|
Нет, если очень хочется, вы можете написать собственную ОС, которая будет пускать куда надо. Но это уровень дипломной работы.
1
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
| 31.08.2017, 19:29 | |
|
Промавтоматика, это то что запрограммировали лет 50 тому назад и оно с тех пор пашет без всяких изменений? Нет, если хорошо поискать, конечно откопать какое-то экзотическое железо с DOS возможно. Но я сомневаюсь что топикстартер учится на специалиста по экзотическому железу.
0
|
|
|
10 / 4 / 3
Регистрация: 29.01.2016
Сообщений: 131
|
|
| 31.08.2017, 19:44 [ТС] | |
|
Ну как либо сыимировать нельзя, построив какую нибудь структуру данных? Я знаю что задание бред, по операционным системам задавать составить программу.
Добавлено через 9 минут Ведь нужно построить только модел, а не составить программу которая работает в несколько потоков
0
|
|
| 31.08.2017, 19:44 | |
|
Помогаю со студенческими работами здесь
20
Создание и завершение процессов и потоков. Приоритеты выполнения потоков Разработать программу, генерирующую n потоков в пуле потоков CLR Замедление работы потоков если запущено несколько потоков Синхронизация потоков на элементарном уровне (переключение потоков)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|