Где второй капитан моего шаттла?
Уважаемые участники сообщества,нет ли у вас примеров следующих программ?
1.Реализация функций многопоточности ОС. Требуется разработать программу, которая реализует переключение контекстов процессов, имитируя работу многозадачной системы. Каждый процесс характеризуется случайным набором значений регистров вычислительной системы, вероятностью завершения на данном кванте времени, вероятностью вызова операции ввода/вывода, распределением времени нахождения в состоянии ожидания ввода/вывода. Вид многозадачности и вариант диспетчеризации процессов выбирается произвольно. Программа должна позволять динамически вводить новые процессы, переводить их из одного состояния в другие, переключать активный процесс, вести очередь процессов, визуализировать состояние системы.
2.тестовые модули, инструменты, облегчающие ввод информации, ее конвертацию и обработку.

Комментарии
06.11.2007 в 00:07

Партизанский дуэт
*бьецо головой об стену*
к нам что аутсайдеры из МГУ факультета программирования поперли? :) Один вопрос круче другого.
Можно вопрос, вам это действительно задали или вы решили с наскока штучку типа VMWare написать? :)
09.11.2007 в 22:07

Где второй капитан моего шаттла?
Действительно задали,ага)
10.11.2007 в 23:18

Партизанский дуэт
Могу посоветовать только писать на .NET) ThreadPool юзать и все такое.
С нуля написать, проще повесицо
31.12.2007 в 06:18

D'oh!
MSDN тебе в помощь, а так же API CreateProcess, если конечно тебе подойдет диспетчер задач для Win32. Windows предоставляет список API для управления процессами, создания нескольких потоков, перевод потоков в sleep, расстановки приоритетов.

Если нужно сделать многозадачную OS из DOS, то можно завязаться на прерывание от таймера (int 8). Вообщем конкретизируйте.


31.12.2007 в 06:24

D'oh!
Надеюсь это поможет:

1- The CreateProcess function creates a new process and its primary thread. The new process runs the specified executable file in the security context of the calling process.
2- The CreateThread function creates a thread to execute within the virtual address space of the calling process.
3- ExitProcess Ends a process and all its threads.
4- GetPriorityClass Retrieves the priority class for the specified process.
5- SuspendThread Suspends the specified thread.
6- SwitchToThread Causes the calling thread to yield execution to another thread that is ready to run on the current processor.

Было бы разумным писать Task Switcher под уже существующую операционную истему, правда конечно тут врятли удастся "Каждый процесс характеризуется случайным набором значений регистров вычислительной системы", это реализованно аппаратно, если не ошибаюсь.