Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Реализация мультизадачности

8.5K
04 августа 2006 года
infernodiablo
73 / / 04.03.2006
На сколько я себе представляю мультизадачность (в смысле реализацию переключения задач в PM), это методом прерывания от системного таймера. Но мне этот метод кажется глупым и неэффективным... А существуют ли какие нибудь другие методы реализации мультизадачности??? Более продвинутые???
17K
04 августа 2006 года
Yar4
15 / / 10.07.2006
Насколько я знаю, многозадачность в защищенном режиме осуществляется аппаратно, благодаря этому возможна многопроцессорность. Как именно переключаться между задачами я не знаю, возможно процессор сам выполняет все сегменты кода и системе нужно заботится только о разделение ресурсов. Я в этом сам начинающий и мне тоже необходимо это знать, может кто-нибудь расскажет поподробнее.
2.1K
04 августа 2006 года
vectoroc
234 / / 25.07.2006
Многопроцессорность возможна совсем не благодаря многозадачности, наоборот сказать было бы логичнее... На однопроцессорных системах есть только псевдо многозадачность . Задачи переключаются по таймеуру, т.к. наверно этот вариант самый лучший и логичный (вытесняющая многозадачность). Бывают варианты, когда задача переключается по вызову сисфункции (какой-то функции ядра ос), но не думаю что такой вариант тебе понравится больше. Если интересно больше советую прочитать рассылку про защищённый режим Интела на wasm.ru
8.5K
04 августа 2006 года
infernodiablo
73 / / 04.03.2006
Да... я порой забываю что процессор не умеет думать, он умеет только считать! Видать квантование процессорного времени между задачами с помощью прерываний от таймера - это наиболее приемлемый вариант, если не единственный :-)

Codenet - конечно хороший сайт... но только вот не в нем, не вообще по интернету невозможно найти нормальной документации по программированию железа, про интерфейсы LPT COM USB, про IDE контроллеры, про i8042... Распинувку - вообще нереально...
Впрочем может я плохо ищу? Но вдруг здесь добрые люди подскажут какой - нибудь волшебный сайт где это все есть...
2.1K
04 августа 2006 года
vectoroc
234 / / 25.07.2006
Не слабо ты замахнулся :)
Наверно свою ось будешь писать? (я не смеюсь, сам в МеОС пытаюсь участвовать). Имхо самый коротки путь к достоверной информации, поискать на сайте производителей...
349
04 августа 2006 года
Phantom-84
656 / / 27.10.2005
Читал и долго смеялся...

Один переключение по таймеру считает неэффективным, у другого многопроцессорность возможна только благодаря многозадачности (ты сам понял, что сказал?)... Попробую кое-что вам разъяснить...

Многозадачность по таймеру - действительно не самый эффективный способ, но это единственно возможный вариант настоящей многозадачности в однопроцессорных системах! Такую многозадачность принято называть вытесняющей. Обычно в современных системах совместно используются два способа переключения: по таймеру и когда приложение само отдает управление системе при обращении к системному сервису. В многопроцессорных системах и в системах на основе технологии HT операционная система сама распределяет все задачи между процессорами, т.е. на каждом из процессоров работает вытесняющая многозадачность, а между ними реальная (параллельная) многозадачность...
349
04 августа 2006 года
Phantom-84
656 / / 27.10.2005
infernodiablo, в инете можно найти практически любую документацию по железу! Да и еще... ты в курсе, что есть такой форум как http://board.sysbin.com
8.5K
04 августа 2006 года
infernodiablo
73 / / 04.03.2006
[QUOTE=Phantom-84]Читал и долго смеялся...

Один переключение по таймеру считает неэффективным, у другого многопроцессорность возможна только благодаря многозадачности (ты сам понял, что сказал?)... Попробую кое-что вам разъяснить...

Многозадачность по таймеру - действительно не самый эффективный способ, но это единственно возможный вариант настоящей многозадачности в однопроцессорных системах! Такую многозадачность принято называть вытесняющей. Обычно в современных системах совместно используются два способа переключения: по таймеру и когда приложение само отдает управление системе при обращении к системному сервису. В многопроцессорных системах и в системах на основе технологии HT операционная система сама распределяет все задачи между процессорами, т.е. на каждом из процессоров работает вытесняющая многозадачность, а между ними реальная (параллельная) многозадачность...[/QUOTE]
Да... посмеятся конечно можно (тем более когда пишут что многопроцессорная система может работать токо в PM)... просто я в душе таил надежду того, что Intel или AMD и т.п., без моего ведома, может придумали аппаратную поддержку квантования процессорного времени между задачами.
Да, кстати, может подскажешь, для расширения кругозора, как инициируется второй процессор в двупроцессорных системах? Не уж то при старте машины они запускаются оба, только с разными CS EIP, или сначала запускается первый процессор, который специальными I/O командами запускает второй проц. который начинает выполнение программы в заданной первым процом входной точке?
349
05 августа 2006 года
Phantom-84
656 / / 27.10.2005
Сначала запускается один процессор, а потом программно другой...
17K
08 августа 2006 года
Yar4
15 / / 10.07.2006
Я конечно извиняюсь, что сморозил глупость, я просто хотел сказать, что в однозадачной системе работать будет только один процессор и от второго прироста производительности не будет.
349
08 августа 2006 года
Phantom-84
656 / / 27.10.2005
Ну и меня ты тоже извини... :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог