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

 
 
> Функции setjmp/longjmp
_Артём_
сообщение Jan 18 2012, 22:28
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Подумалось вдруг: а нельзя ли с помощью этих функций сделать нечто вреде кооперативной ОС?
Поискал в гугле, не нашёл подобного. Почему? Плохо искал или оно для этого не приспосабливаемо?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Jan 19 2012, 06:03
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(_Артём_ @ Jan 19 2012, 01:28) *
Подумалось вдруг: а нельзя ли с помощью этих функций сделать нечто вреде кооперативной ОС?

Для кооперативной - слишком шикарно выходит. Зачем там нужен полный контекст?
Вот для примочек а-ля "вытесняющая ось" на фоне общей кооперативной - это может быть.
Не всегда, правда - там, где разные указатели стеков для режимов юзер и прерывания, - не пойдет.
Но это не страшно - поскольку всё будет завязано на низкоуровневые операции, заботиться о переносимости контекстопереключателя на сабже нет смысла.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jan 19 2012, 09:00
Сообщение #3


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(_Pasha @ Jan 19 2012, 08:03) *
Для кооперативной - слишком шикарно выходит. Зачем там нужен полный контекст?
Чтобы передавать управление откуда-то из глубины вызова функций.
Для такой кооперативки стеков нужно практически как для вытеснялки.
У longjmp контекст таки немного меньше, чем полный контекст для вытеснялки, так что стеков и времени на переключение у такой коператвивки нужно меньше. Но несущественно на фоне использовани ястека самими процессами.
Поэтому я не сильно понимаю смысл таких кооперативок. Но они есть, именно на longjmp (надо таки найти в завалах у себя архив «мобильной реализации сопроцесов» из софтпанорамы года так 1993-95 — первое, что я на этом видел).



--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 19 2012, 10:24
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(ReAl @ Jan 19 2012, 13:00) *
Чтобы передавать управление откуда-то из глубины вызова функций.
Для такой кооперативки стеков нужно практически как для вытеснялки.

Но свелось жеж к некоей процедурке, с подавлением возможности рекурсивных вызовов? Понятно, что общий случай проигрывает, когда все вызваны ранее, а мы из последнего вызываем эту процедуру и пытаемся оттудава выкачать ну хоть одно событие. Но это маловероятно. Усилиями программистовsm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Артём_   Функции setjmp/longjmp   Jan 18 2012, 22:28
- - Idle   гугли "cooperative multitasking longjump...   Jan 19 2012, 05:32
|- - _Артём_   Цитата(ReAl @ Jan 19 2012, 11:00) Для так...   Jan 19 2012, 12:16
|- - _Артём_   Чтоб но плодить темы спрошу тут. Какие есть коопер...   Jan 22 2012, 17:16
|- - dxp   QUOTE (_Артём_ @ Jan 23 2012, 00:16) Чтоб...   Jan 23 2012, 07:14
|- - _Артём_   Цитата(dxp @ Jan 23 2012, 09:14) Вы имели...   Jan 23 2012, 11:07
|- - dxp   QUOTE (_Артём_ @ Jan 23 2012, 18:07) Попо...   Jan 23 2012, 16:55
|- - _Артём_   Цитата(dxp @ Jan 23 2012, 18:55) Что меша...   Jan 23 2012, 17:41
|- - dxp   QUOTE (_Артём_ @ Jan 24 2012, 00:41) Боят...   Jan 24 2012, 03:30
|- - _Артём_   Цитата(dxp @ Jan 24 2012, 05:30) Во, как...   Jan 24 2012, 13:14
|- - dxp   QUOTE (_Артём_ @ Jan 24 2012, 20:14) Може...   Jan 24 2012, 15:02
|- - _Артём_   Цитата(dxp @ Jan 24 2012, 17:02) Единстве...   Jan 24 2012, 20:50
|- - dxp   QUOTE (_Артём_ @ Jan 25 2012, 03:50) Попы...   Jan 25 2012, 12:09
|- - _Артём_   Цитата(dxp @ Jan 25 2012, 14:09) Так это ...   Jan 25 2012, 13:20
|- - dxp   QUOTE (_Артём_ @ Jan 25 2012, 20:20) ...   Jan 26 2012, 04:04
|- - _Артём_   Цитата(dxp @ Jan 26 2012, 06:04) Ну, так ...   Jan 26 2012, 05:11
- - _Pasha   Посмотрел на ужас низкоуровневого подхода в портах...   Jan 24 2012, 13:24


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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 00:25
Рейтинг@Mail.ru


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