Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Sep 20, 2019 3:17 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 48 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
PostPosted: Wed Jan 30, 2008 8:03 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Я догадывался :)
Хорошо, а сколько таких програм, написанных на чистом ВинАпи? Уже можно какие-то из них портировать?

P.S. Я сам не программист, а дизайнер, но иногда бывает нечего делать. Так что скоро увидите ;)

_________________
Через тернии к звездам


Top
   
PostPosted: Thu Jan 31, 2008 5:05 pm 
Offline

Joined: Thu Dec 21, 2006 10:51 am
Posts: 88
Да вообще-то все виндовые программы юзают только Win API все MFC, ATL и т.д. это банально враперы над Win API. Только что можно будет портировать без реализации COM (и всех его наворотов типа ActiveX(OLE2) и т.д.)?
В ядре нет помоему даже rpc и как перенести COM?

Вообще лучше подумать хотя бы о поддержке POSIX дабы перенести программы из UNIX из разряда простейших хотябы.

Ну хотя если человеку хочется то пусть делает, хуже от этого не будет.

_________________
Если бы строители строили здания, так же как программисты пишут программы первый же залетевший дятел разрушил бы цивилизацию.


Top
   
PostPosted: Sat Mar 15, 2008 9:01 pm 
Offline

Joined: Sat Mar 15, 2008 8:57 pm
Posts: 1
Отличная идея, только чет я немного не понял твоей мысли. зачем все переписывать?
ИМХО:
1. Для начала нужно просто написать качественный загрузчик WinPE файлов, т.е. прогу, которая бы обрабатывала таблицы импорта и экспорта exe и dll-файлов - берем файл, читаем заголовок, выделяем функции импорта, ищем библиотеки с нужными функциями (но уже экспорта!), грузим в память эти библиотеки по пути перенаправляя адреса их функций на какие-нибудь еще библиотеки, если надо, потом грузим код нашего pe-файла, перенапрявляя адреса функций на уже загруженные перед этим библиотеки. Но это в двух словах, на деле там хренова туча ньюансов!
2. Для начала весь API переписывать не надо, только основные функции ядра, думаю после этого начнутся загружаться и библиотеки самой виндовс. Если нельзя майкросовтовские - пожалуйста, есть библиотеки ReactOS с открытым кодом.
3. Реализация Win GUI API на основе API Kolibri. Либо использование родного GUI, но мне кажется первый вариант предпочтительнее =)

Вообще я целиком всеми руками за этот проект, и более того, эта мысль меня терзает уже давно, я сам определенно намерен этим заниматься, но есть одно но, никогда не писал на асме или на си. ) (но есть опыт делфи и php)))).

PS Где взять описание внутреннего устройства ядра колибри и принципов реализации многозадачности. Есть что-нибудь в научно-популярном стиле? ))


Top
   
PostPosted: Sat Mar 15, 2008 9:20 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Есть FreePascal, научится Си несложно.
А лучший док по ядру - это каменты в нём :)

_________________
Через тернии к звездам


Top
   
PostPosted: Sat Jun 14, 2008 8:55 pm 
Offline

Joined: Wed Jun 04, 2008 10:16 pm
Posts: 174
Мне удалось пофиксить работу всех не работавших функций (CreateDirectorty, DeleteFile).
Однако даже с набором функций, указанных в list.txt, не запустится даже виндовский блокнот... писать еще очень и очень много.


Attachments:
File comment: исходники
WinAll.7z [8.76 KiB]
Downloaded 251 times
Top
   
PostPosted: Tue Jun 17, 2008 4:26 pm 
Offline

Joined: Thu Dec 21, 2006 10:51 am
Posts: 88
В общем P.S.
На всем известный Wine со дня старта и по версию 1.0 ушло 10 лет и это с ядром и кучей библиотек котрые в принципе не хуже от Win32 по функциональности. И то ничего сложнее WinRar и блокнота без танцев с бубном запустить не получается. В общем идея в принципе сложно реализуемая на данном ядре.

_________________
Если бы строители строили здания, так же как программисты пишут программы первый же залетевший дятел разрушил бы цивилизацию.


Top
   
PostPosted: Tue Jun 17, 2008 9:16 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
Я знаю про Wine. Работа грандиозная (35 метров исходников), а результат пока не очень впечатляющий. Но приведу другой пример. DosWin32 - пакет эмуляции Win32-подсистемы в ОС DOS. Программа шароварная и с закрытыми исходниками, возможности приличные. Запускается rar, far и другие консольные приложения Винды. Ведь по статистике в консольных приложениях используется всего 100-200 API функций, реализовать которые вполне реально. Кроме того в DosWin32 есть механизм плагинов - можно самостоятельно реализовать недостающие функции.


Top
   
PostPosted: Mon Jul 28, 2008 7:53 pm 
Offline

Joined: Tue Apr 18, 2006 11:48 pm
Posts: 53
По-моему, эта затея с переносом хороша только для изучения API Колибри самим автором в процессе написания этого самого "емулятора винды" ;)


Top
   
PostPosted: Wed May 08, 2013 12:20 am 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Albom, у Вас есть более новая версия WinAll, чем та, что уже выложена? Скиньте, пожалуйста.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
PostPosted: Wed May 08, 2013 7:28 am 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
GerdtR
Более новой версии нет. Последняя - за 18 января 2008 года (во вложении).
Сейчас бы я по-другому реализовывал эти функции... Используя предыдущие наработки (kolibri.c из shell) и применяя gcc вместо MSVC. Основная идея - заставить компилироваться (а потом и запускаться) хотя бы одну виндовую (консольную) программу.
Кстати, можно "на ты".


Attachments:
winall.zip [6.43 KiB]
Downloaded 137 times
Top
   
PostPosted: Thu May 09, 2013 2:58 am 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Моя идея несколько сложнее: заставить работать хотя бы несколько вин-прог в Колибри. А что бы использовать труды из Wine нужно как минимум переписать ntdll, kernel32, и добруя часть user32. Вот меня и интересует сия разработка.
Мало) Хочу ещё)

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
PostPosted: Thu May 09, 2013 3:32 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Намного более реалистично портировать wine. Функции WinAPI несколько сложнее, чем функции Колибри.

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


Top
   
PostPosted: Thu May 09, 2013 7:29 am 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
GerdtR
Какие конкретно проги тебя интересуют?


Top
   
PostPosted: Thu May 09, 2013 10:05 am 
Offline

Joined: Mon Mar 27, 2006 6:33 am
Posts: 666
Mario_r4 wrote:
Намного более реалистично портировать wine. Функции WinAPI несколько сложнее, чем функции Колибри.

Загрузчик PE также есть в HX DOS Extender (c исходниками и список испытанных приложений хороший) и в других "местах" (ReactOS)
А поддержку или подгрузку необходимых функций win DLL ( WinApi) "достаточно" выполнить минимальную, как например в ещё и doswin32
или запускать существующие решения в рамках DOS BOX

P.S. Получится запустить, "достаточно" много windows приложений помимо консольных и FAR.
Разве никто это ещё не "испытал" в рамках колибри? (хотя с выводами, наверное поторопился)


Top
   
PostPosted: Thu May 09, 2013 12:57 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Kopa wrote:
Разве никто это ещё не "испытал" в рамках колибри? (хотя с выводами, наверное поторопился)

Насколько мне известно - нет.

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 48 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 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