Добрый вечер.
Задача примерно такая...
Есть две-три функции которые крутятся в бесконечном цыкле - необходимо чтобы они выполнялись как бы паралельно, и процессорное время было поделено между ними поровну. Хочу разобраться как работают ОС и написать свой код для этого...применять какую либо готовую ОС не вижу смысла для подобной задачи...да просто хочется самому понять принцып.
Вопросы:
1.Есть код...те самые три функции...
Код
void Function_1(void){
for(;;){
..............
}
}
void Function_2(void){
for(;;){
..............
}
}
void Function_3(void){
for(;;){
..............
}
}
как делить между ними процессорное время? Так понимаю что таймером...но вот к примеру таймер сработал когда "мы" находились в середине функции Function_1...выполнение прервалось и перешли к Function_2...Function_3....дальше возвращаемся в Function_1. Но вот как узнать на каком участке кода "мы" прервали функцию и откуда надо продолжить её выполнение?
P.S. большая просьба не удалять тему...поиском пользовался но ничего не нашел
Спасибо
Сообщение отредактировал Denisvak - Aug 21 2007, 18:48