Загрузчик задач
Проблемы: не могу ничего найти
///////////////////////////////////////////////
Алгоритм:
Вроде насколько я понимаю алгоритм, который надо реализовать следующий:
1. задается список задач ( имен файлов) и для каждой задачи сколько времени она должна работать
2. для каждой задачи извлекается ее PSP и код и все это заносится в динамическую структуру
3. начала работать задача 1... исходя из этого регистры устанаваливаются в нужное состояние ( передается адрес на код программы)
4. параллельно с этим заменяется адрес прерывания таймера.. когда задача 1 отработала ... она завершается и запускается задача 2
///////////////////////////////////////////////
Мои достижения:
1. не могу понять как извлечь PSP чужой программы вроде кто-то это делал как:
if ((f = open(fn, O_RDONLY | O_BINARY, S_IWRITE | S_IREAD)) != -1)
{
read (f,(void*)(code),filelength(f));
....
Так считывается код программы ну и тому подобное ...
2. На этом они заканчиваются
//////////////////////////////////////////////////
Что надо:
I NEED SOURCES... пример (РАБОТАЮЩЕГО) кода кто что может:
1. например как считать PSP другой программы
2. в какие регистры и что заносит чтобы запустить программу из программы
3. как ее остановить и переключить на другую
4. или все вместе
//////////////////////////////////////////////////
Что не надо:
1. Не надо абстракций типа: .. да это просто сюда заносим код программы, сюда... 0 .. и без вас знаю и видел кучу словесных описаний..нужен код
2. Тех кто ничего не понимает просьба не беспокоить
3. Не надо говорить что это проще сделать на ASM-е и посылать меня туда..
4. И не надо мне говорить про функцию getpsp() - она получает PSP самой себя ( имеет ввиду программы)
//////////////////////////////////////////////////
Как связаться
1. Если у вас есть что-то чем вы не хотите делиться с другими... все вместе шлем мне это на мыло: [email]point3@pochtamt.ru[/email]