А давайте сделаем 64-битную KolibriOS!

Share your distros and discuss others'
User avatar
Alex2003
Posts: 350
Joined: Wed Mar 18, 2015 8:22 am

А давайте сделаем 64-битную KolibriOS!

Post by Alex2003 »

Признаюсь, я просто всех задолбал со своим флудом, но ИМХО, я думаю что птичке пора переходить на другую разрядность. В ближайшее время постараюсь помочь с асемблерным кодом (активно изучаю fasm).
Я один из тех, кто ещё не программист, но уже не новичок.
Редактор в группе "KolibriOS - официальная группа".
User avatar
ProMiNick
Posts: 46
Joined: Thu Aug 04, 2016 10:43 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by ProMiNick »

Алекс, если колибри будет выходить на реальное железо, я бы голосовал за кроссбитную ОС, в которой хард, или флешку с компьютера можно переставить в другой компьютер, и независимо от того что разрядность окружения изменится - система загрузится с предыдущего сохраненного состояния - это конечно раздует ядро в 2 раза. Но 64 разрядные приложения не всегда быстрее, а зачастую они в 1,25 раза медленнее, и расход энергии на единицу производительности у них в 1,5 раза выше.
Ну и чтоб в системе присутствовала функция переключить режим процессора по распознаванию последовательности инструкций из 64 в 32 и обратно.
На примере менуэта видно что это все дело влазиет в 1,44 Мб. Если аналогичный функционал вместится в хотя бы 3 Мб - будет здорово.
А еще если в 32-разрядное ядро закинуть эмуляцию выполнения 64разрядных приложений (что конечно, не эффективно) - то это будет и вовсе вау. - Полная мимикрия под окружение и использование максимальных возможностей аппаратно или посредством эмуляции. Это откроет дорогу к поддержке эмуляции других архитектур.
User avatar
art_zh
Kernel Developer
Posts: 1462
Joined: Fri Aug 14, 2009 1:46 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by art_zh »

[b][u]diamond[/u][/b] когда-то очень давно wrote: "Колибри позиционируется не только как очень быстрая,
но и как очень маленькая ОС"
64-битный код раздуется не вдвое. и не втрое.
и тормозить он будет совсем не на 25%, а в разы.
а главное - зачем?
кому-то тесно в 2ГБ юзерспейсе?
User avatar
ctv
Posts: 9
Joined: Sun Apr 07, 2019 9:54 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by ctv »

Насколько я знаю menuet os имеет 64-битные версии и она же является прародителем kolibri, так зачем делать то что уже есть, зачем изобретать велосипед?
Лень-движение прогресса
User avatar
art_zh
Kernel Developer
Posts: 1462
Joined: Fri Aug 14, 2009 1:46 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by art_zh »

Предком (теперь уже - давно забытым предком) Колибри был кривой как козлиный рог МеОС-32.

64-битную версию Вилле Т. клепал уже после Большого Форка,
полностью закрыв исходный код.

и без особого успеха за все прошедшие 15 лет...
Евангелие от Иоанна: стих 1

Code: Select all

; В начале было Слово:
B32:        mov     ax, os_stack       ; Selector for os
[/size]
User avatar
Alex2003
Posts: 350
Joined: Wed Mar 18, 2015 8:22 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by Alex2003 »

art_zh, А как же обработка широкополосного объема информации? Куда будут помещаться все эти BIG DATA?
Я один из тех, кто ещё не программист, но уже не новичок.
Редактор в группе "KolibriOS - официальная группа".
User avatar
Alex2003
Posts: 350
Joined: Wed Mar 18, 2015 8:22 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by Alex2003 »

Можете пожалуйста откомментировать код ядра КолибриОС?
Я один из тех, кто ещё не программист, но уже не новичок.
Редактор в группе "KolibriOS - официальная группа".
User avatar
art_zh
Kernel Developer
Posts: 1462
Joined: Fri Aug 14, 2009 1:46 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by art_zh »

Alex2003
ты опять нифига не понял.
неблагодарное это занятие - писать для людей, которые не умеют читать.

с AI-ботами общаться и то интереснее
- они не употребляют абсурдных оборотов вроде "широкополосный объём"
и хоть как-то умеют выстраивать примитивные логические цепочки
User avatar
Alex2003
Posts: 350
Joined: Wed Mar 18, 2015 8:22 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by Alex2003 »

art_zh,
Чего я не понял и не прочитал?
Я уже давным-давно прочитал код ядра КолибриОС на SVN, и даже скопировал его себе куда только можно. Но я так и не понял: где у него разрядность? Или же весь код - это микропроцессорные команды?
P.S. Иногда я настолько туп, что даже родители не могут меня понять
Я один из тех, кто ещё не программист, но уже не новичок.
Редактор в группе "KolibriOS - официальная группа".
User avatar
dunkaist
Mentor
Posts: 728
Joined: Mon Oct 19, 2009 10:58 am
Been thanked: 2 times

Re: А давайте сделаем 64-битную KolibriOS!

Post by dunkaist »

Alex2003 wrote:Но я так и не понял: где у него разрядность?
Alex2003,
steps to answer your question:
  1. Open fasm programmer's manual;
  2. Read there about formatter directives (the whole document is worth reading);
  3. Find these directives in the kernel source.
I also recommend you reading "AMD64 Architecture Programmer’s Manual Volume 2: System Programming", at least up to Chapter 1.3 "Operating Modes".
User avatar
Alex2003
Posts: 350
Joined: Wed Mar 18, 2015 8:22 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by Alex2003 »

[quote=dunkaist]Alex2003,
шаги, чтобы ответить на ваш вопрос:
Открыть руководство программиста fasm;
Прочитайте там о директивах форматирования (весь документ стоит прочитать);
Найдите эти директивы в исходном коде ядра.

Я также рекомендую прочитать «Руководство программиста по архитектуре AMD64, том 2: Системное программирование», по крайней мере, до главы 1.3 «Режимы работы».[/quote]
Спасибо большое!
Big thank!
Я один из тех, кто ещё не программист, но уже не новичок.
Редактор в группе "KolibriOS - официальная группа".
User avatar
Alex2003
Posts: 350
Joined: Wed Mar 18, 2015 8:22 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by Alex2003 »

А если сделать такую фишку?
В образе лежат два ядра: kernel32.mnt и, соответственно kernel64.mnt. При запуске любой программы 32-ое ядро проверяет заголовок файла; если заголовок use 32 - программа работает на изначальном ядре; если use 64 - запускается скрипт, подгружающий в память 64-разрядное ядро, и программа запускается при его помощи. При этом у обоих ядер одно адресное пространство, и когда одно ядро начинает записывать в ячейку памяти информацию, оно ограничивает к ней доступ (допустим, только для чтения) и проверяет ячейку на наличие информации; если же ячейка занята, ядро идёт по памяти дальше, перебирая ячейки; найдя подходящую, она записывает в неё инфу, ставит метку разрядности и снимает ограничение доступа к ячейке. Таким образом, если 64-битное ядро изменило ячейку, записав в неё свою информацию, 32-битное ядро, наткнувшись на эту инфу проверяет метку разрядности. Допустим, 64 бита обозначаются a, тогда 32-разрядное ядро проверив ячейку памяти, обнаружила метку а, она пропускает эту ячейку и идёт по памяти дальше, ища свою или пустую.
P.S. Прошу не кидаться в меня говном помидорами, всё придумано буквально только что. И да: я понимаю, что это дико костыльно.
Я один из тех, кто ещё не программист, но уже не новичок.
Редактор в группе "KolibriOS - официальная группа".
User avatar
art_zh
Kernel Developer
Posts: 1462
Joined: Fri Aug 14, 2009 1:46 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by art_zh »

если есть идея - делай, не болтай.

когда покажешь хоть что-нибудь интересное и работающее - тогда и поговорим
Евангелие от Иоанна: стих 1

Code: Select all

; В начале было Слово:
B32:        mov     ax, os_stack       ; Selector for os
[/size]
Kopa
Posts: 707
Joined: Mon Mar 27, 2006 6:33 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by Kopa »

Alex2003 wrote:А если сделать такую фишку?
Ещё раз.
Есть ли такая задача (решение) которой тесно в рамках текущих 32-а бита в рамках KolibriOS?
Может отсутствие 64-х битности в проекте это не такая текущая существенная опция в отсутствии других "опций"? :)
User avatar
Alex2003
Posts: 350
Joined: Wed Mar 18, 2015 8:22 am

Re: А давайте сделаем 64-битную KolibriOS!

Post by Alex2003 »

И что мне сначала написать - механизм одновременной работы двух (и более) ядер в одном адресном просиранстве, или же 64 битное ядро?
Kopa, что было неоднократно высказано на форуме? Правильно, каждый делает то, что считает нужным! А я уже зае++++я доказывать себе и другим, что этот подход неправильный!
Я один из тех, кто ещё не программист, но уже не новичок.
Редактор в группе "KolibriOS - официальная группа".
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest