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

Share your distros and discuss others'
  • Алекс, если колибри будет выходить на реальное железо, я бы голосовал за кроссбитную ОС, в которой хард, или флешку с компьютера можно переставить в другой компьютер, и независимо от того что разрядность окружения изменится - система загрузится с предыдущего сохраненного состояния - это конечно раздует ядро в 2 раза. Но 64 разрядные приложения не всегда быстрее, а зачастую они в 1,25 раза медленнее, и расход энергии на единицу производительности у них в 1,5 раза выше.
    Ну и чтоб в системе присутствовала функция переключить режим процессора по распознаванию последовательности инструкций из 64 в 32 и обратно.
    На примере менуэта видно что это все дело влазиет в 1,44 Мб. Если аналогичный функционал вместится в хотя бы 3 Мб - будет здорово.
    А еще если в 32-разрядное ядро закинуть эмуляцию выполнения 64разрядных приложений (что конечно, не эффективно) - то это будет и вовсе вау. - Полная мимикрия под окружение и использование максимальных возможностей аппаратно или посредством эмуляции. Это откроет дорогу к поддержке эмуляции других архитектур.
  • [b][u]diamond[/u][/b] когда-то очень давно wrote: "Колибри позиционируется не только как очень быстрая,
    но и как очень маленькая ОС"
    64-битный код раздуется не вдвое. и не втрое.
    и тормозить он будет совсем не на 25%, а в разы.
    а главное - зачем?
    кому-то тесно в 2ГБ юзерспейсе?
  • Насколько я знаю menuet os имеет 64-битные версии и она же является прародителем kolibri, так зачем делать то что уже есть, зачем изобретать велосипед?
  • Предком (теперь уже - давно забытым предком) Колибри был кривой как козлиный рог МеОС-32.

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

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

    Code: Select all

    ; В начале было Слово:
    B32:        mov     ax, os_stack       ; Selector for os
    [/size]
  • art_zh, А как же обработка широкополосного объема информации? Куда будут помещаться все эти BIG DATA?
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • Можете пожалуйста откомментировать код ядра КолибриОС?
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • Alex2003
    ты опять нифига не понял.
    неблагодарное это занятие - писать для людей, которые не умеют читать.

    с AI-ботами общаться и то интереснее
    - они не употребляют абсурдных оборотов вроде "широкополосный объём"
    и хоть как-то умеют выстраивать примитивные логические цепочки
  • art_zh,
    Чего я не понял и не прочитал?
    Я уже давным-давно прочитал код ядра КолибриОС на SVN, и даже скопировал его себе куда только можно. Но я так и не понял: где у него разрядность? Или же весь код - это микропроцессорные команды?
    P.S. Иногда я настолько туп, что даже родители не могут меня понять
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • 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".
  • [quote=dunkaist]Alex2003,
    шаги, чтобы ответить на ваш вопрос:
    Открыть руководство программиста fasm;
    Прочитайте там о директивах форматирования (весь документ стоит прочитать);
    Найдите эти директивы в исходном коде ядра.

    Я также рекомендую прочитать «Руководство программиста по архитектуре AMD64, том 2: Системное программирование», по крайней мере, до главы 1.3 «Режимы работы».[/quote]
    Спасибо большое!
    Big thank!
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • А если сделать такую фишку?
    В образе лежат два ядра: kernel32.mnt и, соответственно kernel64.mnt. При запуске любой программы 32-ое ядро проверяет заголовок файла; если заголовок use 32 - программа работает на изначальном ядре; если use 64 - запускается скрипт, подгружающий в память 64-разрядное ядро, и программа запускается при его помощи. При этом у обоих ядер одно адресное пространство, и когда одно ядро начинает записывать в ячейку памяти информацию, оно ограничивает к ней доступ (допустим, только для чтения) и проверяет ячейку на наличие информации; если же ячейка занята, ядро идёт по памяти дальше, перебирая ячейки; найдя подходящую, она записывает в неё инфу, ставит метку разрядности и снимает ограничение доступа к ячейке. Таким образом, если 64-битное ядро изменило ячейку, записав в неё свою информацию, 32-битное ядро, наткнувшись на эту инфу проверяет метку разрядности. Допустим, 64 бита обозначаются a, тогда 32-разрядное ядро проверив ячейку памяти, обнаружила метку а, она пропускает эту ячейку и идёт по памяти дальше, ища свою или пустую.
    P.S. Прошу не кидаться в меня говном помидорами, всё придумано буквально только что. И да: я понимаю, что это дико костыльно.
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • если есть идея - делай, не болтай.

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

    Code: Select all

    ; В начале было Слово:
    B32:        mov     ax, os_stack       ; Selector for os
    [/size]
  • Alex2003 wrote:А если сделать такую фишку?
    Ещё раз.
    Есть ли такая задача (решение) которой тесно в рамках текущих 32-а бита в рамках KolibriOS?
    Может отсутствие 64-х битности в проекте это не такая текущая существенная опция в отсутствии других "опций"? :)
  • И что мне сначала написать - механизм одновременной работы двух (и более) ядер в одном адресном просиранстве, или же 64 битное ядро?
    Kopa, что было неоднократно высказано на форуме? Правильно, каждый делает то, что считает нужным! А я уже зае++++я доказывать себе и другим, что этот подход неправильный!
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • Who is online

    Users browsing this forum: No registered users and 1 guest