|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.05.2008, 23:41 | #1 |
Регистрация: 27.04.2008
Сообщений: 4
|
Имитация операционной системы на Delphi
Вобщем ща проходим курс СПО(системное программное обеспечение). И дали задание сделать имитацию того как процессы поступают на обработку к CPU и реалезация нескольких методов. Так вот у меня вопрос:
есть метод SJF («кратчайшее задание—первым»). Тоесть есть очередь готовых процессов и они ждут того когда попадут на выполнение в CPU. Но у каждого процесса есть "время выполнения"(BurstTime).Так вот если оно меньше чем у впереди стоящего в очереди процесса, то они соответственно меняются местами и на выполнение идёт тот у которого BurstTime меньше. Я вот не понимаю как там с указателями работать! Вот код программы на Delphi: Код:
|
26.05.2008, 05:26 | #2 |
ИСККОНный хакер
Форумчанин
Регистрация: 08.11.2007
Сообщений: 195
|
Твой пример - просто очередь. Можно её процессором назвать. Тебе осталось планировщик написать, который эту очередь использовать будет.
#define QUESTION bb || !bb
|
26.05.2008, 08:14 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
26.05.2008, 08:27 | #4 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Процесс должен ставиться в очередь не первым, а перед процессом с бОльшим BurstTime. Тогда очередь всегда останется отсортированной по BurstTime и на выполнение будут выбираться процессы с наименьшим временем. |
|
26.05.2008, 09:03 | #5 |
Регистрация: 27.04.2008
Сообщений: 4
|
ну это всё я понимаю что переписать Qadd, но суть в том что я не очень шарю с указателями.
как это должно выглядеть? Вот мой пример, но я знаю что он не рабочий(( if r.p.BurstTime < (вот сдесь как задать чем BurstTime предыдущего?) then (поменять их местами тоже незнаю как) _in^.next:=r; |
26.05.2008, 09:05 | #6 |
Регистрация: 27.04.2008
Сообщений: 4
|
планировщик есть! у меня есть все модули которые нужны. Мне осталось реалезовать работу памяти и в процессах сделать вот эту штуку и упорядоченность списка через t тактов.+Вытеснения. Просто в этом примере, я чего прошу помощи? потому что не очень разбираюсь с указателями.
|
26.05.2008, 10:43 | #7 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Код:
|
|
27.05.2008, 00:04 | #8 |
Регистрация: 27.04.2008
Сообщений: 4
|
спасибо за помощь
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
До проги не доходит сигнал выгрузки операционной системы | Altera | Общие вопросы Delphi | 6 | 30.08.2008 18:03 |
Какая программа подходит лучше всего для написании операционной системы? | Briz | Операционные системы общие вопросы | 6 | 26.10.2007 11:12 |
Какой оптимальный способ в Delphi для перевода 10 системы счисления в 16с.с | SERGOO | Общие вопросы Delphi | 5 | 25.05.2007 19:02 |
Разработка тестирующей системы в DELPHI | noodles | Общие вопросы Delphi | 5 | 09.02.2007 08:52 |