Невозможное заданиеСап, бредач, на связи студент-кун, 19 лвл. Сегодня я наконец решил написать курсач по "Операционным системам" и прочел задание. Сразу скажу, что препод по этому предмету женщина лет сорока, которую походу заставили вести ОпСис, ибо недостаток знаний/понимания у нее видит даже самый отбитый быдлан.Так вот, само задание:Разработать программу-диспетчер операционной системы для ОС Windows, который должен обеспечивать моделирование обрабатывающего устройства и очереди к немуНе поняв, что от меня вообще хотят, я подошел к ней и выяснил, что обрабатывающее устройство - это процессор. А очередь должна быть из процессов, которые выполняются. То есть некоторые процессы выполняются, а некоторые - нет, они ждут своей очереди на выполнение.Но в винде же МНОГОЗАДАЧНОСТЬ! Программы не ждут своей очереди, они выполняются чуть ли не одновременно, занимая разное процессорное время в зависимости от приоритета. Некоторые, конечно, бездействуют, но не потому что ждут очереди, а потому что им нечего делать.Так вот, это я тупой или такую программу, которая бы показывала очередь выпонения процессов в винде просто невозможно написать, потому что никакой очереди там нет?Как быть? Может есть вариант решения этой задачи? Как мне писать курсач?алсо она сказала "Да, у тебя очень сложное задание, нужно хорошо подумать, поискать аналоги, а потом написать свое программное обеспечение.P.S. Другие варианты этого курсача такого типа "написать программу, которая может перевести компьютер в спящий режим". :facepalm:
Бамп ночной.
Бамп армейский
Бамп тупой
Что за вуз?
>>141169366 (OP)> P.S. Другие варианты этого курсача такого типа "написать программу, которая может перевести компьютер в спящий режим". :facepalm:$ systemctl suspend
>>141169366 (OP)Хотя, ОП, я похоже понял, чего от тебя хотят.Все сделать можно, только долбоебы сформулировали как всегда все через жопу.
>>141169567Собсно, если ОП-хуй еще не свалил, могу по хардкору объяснить по пальцам, поскольку подобную хуету я использовал на практике на работке.
>>141169741Иди нахуй
>>141169851Ну тогда страдай, пидор.
блядь, анон напиши ей диспетчер задач и все. или напиши две программы. одна форкает кучу процессов с разными таймаутами, а другая показывает очередность их исполнения (исходя из таймаутов). ну будь креативнее. Если скажет хуету принес, скажи сама дура не понимаешь нихуя, тз должно быть нормальным. что мне переделать чтобы резульата вас устроил?
>>141169366 (OP)Вот вся пидорха и её образование такое. Нахуя как и зачем это вообще всё нужно, всем похуй.
>>141169911ТЗ нормальное. От опа просто хотят чтобы он написал сорт оф виртуальную машину с кооперативной многозадачностью (короче как гринтреды).
>>141169366 (OP)>Но в винде же МНОГОЗАДАЧНОСТЬ!Какая разница, что там на винде, тебе ведь эмулятор процессора надо написать.
>>141169984Двачую. Еще сказали бы свой драйвер для windows 95 написать.
>>141170034>эмулятор процессораТы даун блядь?Лолед нахой! Откуда на ночном дегенераты такие?
>>141170034Двачну.А заодно и компилятор скорее всего.
>>141170093Да нет, манюнь, даун - это как раз ты.Именно эмулятор процессора тут писать и надо.Со счетчиком инструкций, стеком и прочей хуйней. Самое простое - заебашить стек-машину.
>>141169366 (OP)О, я сегодня экзамен завалил по ОС как раз. Сам заочник дропнул шарагу на 3курсе, это говно не учил, работаю не по специальности. Думал на изичах прийду скатаю и досвидос. Но преподша оказалась не простого десятка, и никому не давала списать. Я так и сдал пустой листочек. Чувствую себя дебилом, хоть и рациональным.
Lel
>>141170128Иди на хуй отсюда уже, не позорься дальше порванка. А то наэмулирую тебе процессоров за щеку, зеленый.
>>141170128>Со счетчиком инструкций, стеком и прочей хуйней. Самое простое - заебашить стек-машину.Орнул, чё несешь, упоротый?
>>141170188Тебе завтра ко второму уроку?
>>141170221Это ты упоротый, петушок.Нахуй ты вообще в вузик шел, если ты такое одноклеточное?
>>141169741НЕТ, БРАТИШКА, Я НЕ СВАЛИЛ, РАССКАЗЫВАЙ!нахуй тебя не я послал
>>141170282Ну и окай.Ща длиннопасту накатаю.
>>141170254Да нет, не может быть так сложно, вы бы другие варианты видели.
>>141169911Мои знания примерно на нуле, так что если вдруг захочешь подробнее рассказать об этом, милости прогу. Ну там ссылки всякие хоть кинь.
>>141170375>милости прогу.прошу*
>>141169366 (OP)Запусти ей батник с tasklist, это всё что требуется по аналогии со спящем режимом. Можешь захуярить екзешник с красивым ярлыком.
>>141170323Уровень сложности пиздец плавает, конечно.> Среда реализации: Borland C++ Builder 6MDA XEX
>>141170323Может, анон, может.Уровень сложности курсачей реально может плавать от "постройте пирамидку в песочнице" до "соберите ядерный реактор на быстрых нейтронах"
>>141169366 (OP)Ты дебил. Нехер было прогуливать пары. Многозадачность не означает, что процессы выполняются разом. Такое вообще физически возможно только на многопроцессорных системах. Именно, что процессы ждут очереди и выполняются. Правда ждут они её очень немного, потому что система быстро переключается между процессами.А ещё ты не так понял задание курсача, еблан.
>>141170459Она сказала где угодно пишите
>>141170519Ну так объясни мне, я не спорю, что я сам даун. не агрись плс
>>141170519А я физически имею вообще доступ к этой "очереди". Там разве за секунду не выполняются 1000+ инструкций из разных команд? Разве процессор не переключается хуилиард раз за секунду между разными программами?
В Microsoft вообще в курсе о таком пиздеце ?
>>141170549Тебе нужно не за реальными процессами следить, а запилить модель, которая покажет, как реализуется многозадачность.
>>141170282Короче.Напиши виртуальный процессор, который будет выполнять байткод. Процессор стековый (т.е. будет оперировать херней уровня "сложить 2 числа на стеке, результат вернуть в стек").Для него в систему команд добавь что-то типо WAIT - она должна будет переключать процессор на другой процесс. Такая хуйня будет эмулировать вытесняющую многозадачность.На работке у нас юзалась такая хуйня - компилились скрипты на сишке в байткод и выполнялись виртуальной машиной, профиты - не надо ебаться с многозадачностью, когда ОС может переключить процесс когда угодно из-за чего пришлось бы сношаться с блокировками и синхронизацией. Так система переключит процесс только тогда когда ты прямо вставишь такую инструкцию (на практике - в циклах, или когда идет ожидание какого-то события)
>>141170604Да. Не имеешь. Да. Переключается всё крайне быстро.Но тебе оно и не надо.>>141170633
>>141170604Нет, не имеешь. Написано же, МОДЕЛИРУЮЩУЮ. Вот и будет у тебя сидеть однопоточный наколеночный диспетчер и квантовать свои кванты времени.
>>141170667Не, тут скорее нужно показать, как восстанавливаются регистры и передаётся управление. Ну и прерывания, по которым происходит переключение. Как я полагаю.
>>141169366 (OP)Таких программ уже на сто лет вперед написано. Поищи в книдках по C++ Builder или по Delphi или покапайся на древних форумах типа sources.ru там сотни раз такие задания всплывали. В прикриплейтед книгах кажется есть что тебе нужно. Ищи раздел "распределенные приложения". Не благодари.
>>141170604Написал:function theProcessor(command) { return eval(command); }var commandQueue = ['1+2', '2*3', 'Math.sqrt(9)'];commandQueue.forEach(function(a) { alert(theProcessor(a)); });
>>141170716Как вариант, кстати, он может написать в линупсе чуть ли не сраный скрипт, который будет запускать процессы, и по очереди слать им SIGSTOP/SIGCONT. Это было бы проще всего.
БОЖЕ, НО ВЕДЬ Я У НЕЕ СПРОСИЛ, КАК ДЕЛАТЬ, ОНА ОТВЕТИЛА, ЧТО НУЖНО СЛЕДИТЬ ЗА ВИНДОЙ, А НЕ МОДЕЛИРОВАТЬ СВОЕ!
Вытесняющая многозадачность. И да, они стоят в очереди и ждут.
>>141170815>распределенные приложенияЭтого двачую. Тред можно закрывать.
>>141170830> который должен обеспечивать моделирование обрабатывающего устройства и очереди к нему
>>141170815Огромное спасибо, анон. Поищу>>141170667С таким наверное не справлюсь, но если без вариантов, то попробую
>>141170889Видимо она сама свое же задание не поняла.
>>141170830За виндой нельзя следить. Винда по ушам палкой надаёт.А если серьёзно - как следить, если у тебя в это время другой процесс выполняется? Это явная ошибка.
>>141170868> Вытесняющая многозадачность. И да, они стоят в очереди и ждут.Можно реализовать кстати совковую многозадачность. Некоторые рандомные процессы будут пробиваться без очереди "только спросить".
>>141171021Помню нам рассказывали, что когда взяли на обслуживание такой совковый компуктер, выяснилось, что один из процессов там два года висел один процесс с низким приоритетом в ожидании.
>>141171021ПРЕ-РЫ-ВА-НИ-Я
>>141170935Ну ебтваю!Все просто же.Твой процессор - кассирша в макдаке, процессы стоят в очереди, у процессов есть номера-идентификаторы (PID) - цифра на чеке напечатана. Кассирша-планировщик их по очереди вызывает, и выдает им квант хавки, если в очереди никого нет - идет дрочить в туалет.
>>141171128Подробнее про PID, это просто номер или влияет на приоритет?
>>141171128Я могу эту очередь видеть в винде или нет?
>>141171180PID - это просто номер, Process ID.Можно проще. Есть куча голых мужиков, стоят в очереди к шлюхе. На листочке написано что делать (код процесса) - там отсосать, анус вылизать, пердак подставить.А в зависимости от приоритета (номинала купюры в руке процесса) - шлюха одного будет обслуживать 5 минут, а у випа к примеру час. Если время по приоритету истекает - мужик отправляется в конец очереди, если ему надо отодрать шлюху еще раз.
>>141171256Ты можешь ее изобразить. Как в детстве - когда пиздюки играли в войнушку, оружия ни у кого не было, и все носились с палками и кричали "пыщ-пыщ-пыщ", "ты убит".
>>141171271Ах да.Рот/пизда/жопа шлюхи - это устройства.
>>141170519У нас тут 2076, многоядерные камни подвезли. Не, не слышал? P.S. Поссал в ротешник опу-дегенерату:redlol:
>>141171598Опу то за что?
>>141171598Очередь всё равно на месте же. Иначе ты бы на своём 2 ЯДРА 2 ГИГА больше двух процессов и не запустил никогда.
>>141171674Где я говорил про очередь, ебанько?>>141171647Недержание.ПОШЕЛ НАХУЙ СО СВОЕЙ КАПЧЕЙ!
>>141169366 (OP)Охуеть. То есть, если в метро три двери входные и два эскалатора на спуск, то люди чисто из-за своей тупизны сразу все не заходят и устраивают давку?
>>141169525программу syka, а ты команду ебучую пишешь для консоли
1) Заходишь на MSDN2) Вбиваешь функцию ToolHelp32Snapshot3) Гуглишь как её использовать4) Делаешь диспетчер задач консольный со списком процессовБонусом можешь запилить функцию отключения процесса по PID (MSDN - NtTerminateProcess) Думаю этого должно хватить. Работы буквально на 10 минут.
>>141172372так уж быть щас наколякаю ОПу долбаебу
#include <cstdio>#include <Windows.h>#include <TlHelp32.h> int main(){ printf("Manya Task manager v1.0 OP xuy /n"); HANDLE procmg = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); PROCESSENTRY32 proch = new PROCESSENTRY32; (proch).dwSize = sizeof(PROCESSENTRY32); while (Process32Next(list, proch) != FALSE) { printf("Process , process ID : %s tt %d n", (hproc).szExeFile, (hproc).th32ProcessID); } getchar(); return 0;}
>>141169366 (OP)Многозадачность это и есть 4 ядра, 8. Всё что более кол — ва ядер на компе идёт в прерывание. Прерывания так быстры что видится одновременное исполнение. Оп, ты ебучие быдло, гуглить даже не умеет, зато на дваче гонит на преподавателя (случайно прошлые темы не ты создавал?)
>>141172283запакуй в батник епта бля сука
Оп хуй тема сажа.
>>141172523>Многозадачность это и есть 4 ядра, 8еблан
>>141173031Нет докажи
>>141172420Спасибо, братишка. Да хранит тебя Аллах. Попробую впарить ей это.бля, кажется она говорила делать гуй
>>141172523Не, я ридонли сидел