Board.KolibriOS.org

Official KolibriOS board
It is currently Sat May 30, 2020 8:43 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 1323 posts ]  Go to page Previous 151 52 53 54 5589 Next
Author Message
PostPosted: Fri Apr 05, 2013 2:19 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Mario_r4
Так у нас и так программная многозадачность.

Ага, программная... с загрузкой в процессор дескрипторов.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Apr 05, 2013 10:14 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4
Не пойму, что ты хочешь этим сказать.


Top
   
PostPosted: Fri Apr 05, 2013 10:47 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Mario_r4
Не пойму, что ты хочешь этим сказать.

Я тоже не понял твоего замечания.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Apr 05, 2013 11:17 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Quote:
Ага, программная... с загрузкой в процессор дескрипторов.

Дескрипторы имеют мало отношения к многозадачности, тем более все потоки используют один набор os_code os_stack app_code app_data. Это механизм защиты памяти.


Top
   
PostPosted: Fri Apr 05, 2013 12:26 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Ну, если все так просто, то почему мы до сих пор плаваем в 8 битовом счетчике?

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Apr 05, 2013 12:57 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Наверное потому, что оконная система и все структуры планировщика сделаны в виде статических массивов под 8-ми битный счётчик ? Но какое это имеет отношение программной или аппаратной многозадачности ? Аппаратный механизм переключения задач не умеет менять значение [CURRENT_TASK] и [current_slot]


Top
   
PostPosted: Fri Apr 05, 2013 1:13 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Еще один вопрос. Сейчас блиттер, как я понимаю, может отрисовывать только в видеопамять, как я понимаю. Возможно сделать отрисовку и в обычную память тоже?


Top
   
PostPosted: Fri Apr 05, 2013 1:33 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Наверное потому, что оконная система и все структуры планировщика сделаны в виде статических массивов под 8-ми битный счётчик ? Но какое это имеет отношение программной или аппаратной многозадачности ? Аппаратный механизм переключения задач не умеет менять значение [CURRENT_TASK] и [current_slot]

В таком случае - а она вообще на x86 бывает чисто аппаратной?

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Apr 05, 2013 2:38 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4 wrote:
В таком случае - а она вообще на x86 бывает чисто аппаратной?
Тут вопрос, что считать чисто аппаратной многозадачностью. Многозадачность возможна и на 8086, но не долго. В 80286/80386 появились аппаратные механизмы поддержки многозадачности. При некоторой смекалке можно одним нелёгким far jmp pword менять не только контекст процессора, но и глобальные переменные ядра, выполняя всю работу по переключению потока аппаратно.


Top
   
PostPosted: Fri Apr 05, 2013 2:41 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
SoUrcerer
А зачем, это функция для прикладной библиотеки, как memmove().


Top
   
PostPosted: Fri Apr 05, 2013 10:59 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5276
Функция 72 - "Послать сообщение окну" у меня возвращает 72. Может я что-то не так делаю?
Code:
--- Подфункция 1 - послать сообщение с параметром активному окну. ----
Параметры:
  * eax = 72 - номер функции
  * ebx = 1 - номер подфункции
  * ecx = код события: 2 или 3
  * edx = код клавиши для ecx=2, идентификатор кнопки для ecx=3
Возвращаемое значение:
  * eax = 0 - успешно
  * eax = 1 - буфер заполнен


Attachments:
File comment: if (id==2) debugi(SendWindowMessage(evKey, 13));
example.zip [2.05 KiB]
Downloaded 38 times

_________________
Звиздеть не мешки ворочать
Top
   
PostPosted: Fri Apr 05, 2013 11:28 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Возвращает где? Real system, Qemu, VirtualBox, KlbrInWin?

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Last edited by Mario_r4 on Fri Apr 05, 2013 11:32 pm, edited 2 times in total.

Top
   
PostPosted: Fri Apr 05, 2013 11:31 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5276
Qemu. Возвращает 72.

_________________
Звиздеть не мешки ворочать


Top
   
PostPosted: Fri Apr 05, 2013 11:37 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
У меня твой пример пишет, что нажат Enter, когда тычу в кнопку.
Ты точно в ночной сборке, а не в каком-нибудь альтернативном ядре проверяешь? (USB или еще чего)

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Apr 05, 2013 11:41 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5276
У меня тоже пишет, не в этом дело. Посмотри на доску отладки. Функция должна возвращать или 0 или 1, а возвращает 72. Или в документации ошибка?

_________________
Звиздеть не мешки ворочать


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1323 posts ]  Go to page Previous 151 52 53 54 5589 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited