реклама на сайте
подробности

 
 
> Принцип работы ОС, как?
Denisvak
сообщение Aug 21 2007, 18:47
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 7-03-06
Из: Санкт-Петербург
Пользователь №: 15 038



Добрый вечер.
Задача примерно такая...
Есть две-три функции которые крутятся в бесконечном цыкле - необходимо чтобы они выполнялись как бы паралельно, и процессорное время было поделено между ними поровну. Хочу разобраться как работают ОС и написать свой код для этого...применять какую либо готовую ОС не вижу смысла для подобной задачи...да просто хочется самому понять принцып.

Вопросы:
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. большая просьба не удалять тему...поиском пользовался но ничего не нашел sad.gif
Спасибо

Сообщение отредактировал Denisvak - Aug 21 2007, 18:48
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 08:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016