LINUX.ORG.RU

KolibriN 10.1 - операционная система, написанная на ассемблере

 ,

KolibriN 10.1 - операционная система, написанная на ассемблере

2

2

Объявлен выход KolibriN 10.1 - операционной системы, написанной преимущественно на ассемблере.


KolibriN с одной стороны — это дружелюбная для пользователя версия KolibriOS, с другой — её максимальная сборка. Иными словами, проект создан, чтобы показать новичку все возможности, доступные в альтернативной операционной системе Kolibri на данный момент. Отличительные особенности сборки:

  • Мощные мультимедийные возможности: видеоплеер FPlay, просмотрщик изображений zSea, графический редактор GrafX2.
  • Программы для чтения: uPDF, BF2Reder, TextReader.
  • В поставку входят игры, среди которых Doom, Loderunner, Pig, Jumpbump и эмуляторы игровых консолей: NES, SNES, Gameboy эмуляторы DosBox, ScummVM и ZX Spectrum позволят запустить сотни старых приложений и игр.
  • Также в поставку входят: просмотрщик документов формата PDF, переводчик Dicty, средства разработки и многие другие программы.
  • Добавлены утилиты персонализации графической оболочки.
  • Протестирована и отлажена по сравнению с ночными сборками Kolibri.

Проект является открытым и в нём может принять участие каждый желающий, распространяется на условиях GPLv2.


Из основных изменений в новой версии:

  • Добавлена поддержка чтения с файловой системы XFS форматов v4 (2013) и v5 (2020).
  • Количество обрабатываемых прерываний увеличено с 24 до 56.
  • Добавлена обработка более одного I/O APIC.
  • Улучшен алгоритм перезагрузки: теперь используется Reset-регистр из таблицы FADT, если он доступен.
  • Корректное определение звука на самых новых чипах AMD.
  • Исправления в поиске дополнительной папки.
  • Текстовый браузер WebView обновлен с версии 1.8 до 2.46: появился кэш веб-страниц, вкладки, он-лайн обновление, динамическое выделение памяти, ручной выбор кодировки, автоопределение кодировки, поддержка DOCX файлов, переход по якорям, читать стало удобнее.
  • Изменения в командной оболочке SHELL: улучшена вставка текста, навигация по редактируемой строке, вывод ошибок, добавлена подсветка папок в листинге.
  • Обновлена документация.

>>> Скриншоты

>>> Скачать (архив весит 69 МБ)

>>> История KolibriOS

>>> Сообщество разработчиков (VK)

>>> Подробности

★★★★★

Проверено: cetjs2 ()
Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от anonymous

и что, там будет работать и сеть, и все библиотеки для нетскейпа? я помню, чувак один тоже всё показывал урезаную xp, а оказалось, что в ней вайфай в принципе не работает :)

buratino ★★★★★
()
Ответ на: комментарий от kostyarin_

в gas есть православный .intel_syntax noprefix вместо б-го мерзкого at&t

anonymous
()
Ответ на: комментарий от anonymous

ясное дело, что это не про

как ты быстро сманяврировал

anonymous
()
Ответ на: комментарий от anonymous

vp8

ютуб уже дропнул в пользу vp9

anonymous
()
Ответ на: комментарий от anonymous

вот на этом, кажется можно было бы запилить неплохую реализацию оберона. портировать HLA под Kolibri, затем на HLA написать оберон в духе оберс который .com под DOS на украинском и nasm.

Может всё это и классно, но если это ко мне как-то относится, то лучше бы обсуждать где-то в отдельной теме, чтобы не заниматься тут рекламой альтернативы Колибри. И для этого надо бы тебе деанонимизироваться.

den73 ★★★★★
()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Спасибо, но это опять выигрыш за счёт ассемблера. А вот насколько компактной можно сделать именно рабочую линукс-систему, не прибитую гвоздями к интелу…

Тут в одной из прошлых новостей про Колибри один ненужнист-регистрант фыркал, что если линукс будет «не уметь» столько же, сколько Колибри, он и таким же маленьким будет, и грузиться так же быстро…

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

Меня по прочтении сей простыни другая безумная идея посетила — а нельзя ли написать полноценную операционку на командах LLVM? Тоже в своём роде кроссплатформенный ассемблер.

Хотя я наверняка не первый, кому это приходило в голову…

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Очевидно, сишную часть на LLVM IR написать без проблем. Причем, в таком виде оно будет хорошо оптимизируемо. Вставки на нативном асме все равно понадобятся, вероятно в меньших количествах.

; другой анон

anonymous
()
Ответ на: комментарий от hobbit

clang тебе напишет такую операционку на командах LLVM из исходников линукса

anonymous
()
Ответ на: комментарий от hobbit

ну так эта поделка не инициализирует ядра процессора кроме одного и так далее, лол. меньше загружать - быстрее загрузка

anonymous
()
Ответ на: комментарий от hobbit

Интересно было бы посмотреть на текст log файла, содержащего
данные о тех файлах, базах , … , которые Windows использует при загрузке.

anonymous
()
Ответ на: комментарий от stasolog

а там вообще дос-порнография, работающая с железом не по-нормальному, а через разные легаси режимы, что ограничивает производительность

anonymous
()
Ответ на: комментарий от anonymous

целерон в 2020г твоё всё? ах, даже в нём два ядра…

anonymous
()
Ответ на: комментарий от anonymous

ну так эта поделка не инициализирует ядра процессора кроме одного и так далее, лол. меньше загружать - быстрее загрузка

Вы мало себе представляете какой огромный объем проверок, … выполняет Windows при инициализации.
Все и вся проверяется, а затем самое интересное «сливается» на сервера Microsoft.

anonymous
()
Ответ на: комментарий от anonymous

да я не спорю, там ппц блоатварь

anonymous
()
Ответ на: комментарий от stasolog

Памяти Win98 меньше потребляет чем Kolibri.

По скорости хз.

На современном железе Windows 10 быстрее обеих систем.

На Pentium I, можно посравнивать в PCem, может Kolibri и будет быстрее…

fsb4000 ★★★★★
()
Ответ на: комментарий от anonymous

Скорее всего, если подразобраться в исходниках Virtual Box, то используя их с добавкой своего кода, можно много «чудесных открытий» о работе Windows получить.

Владимир

anonymous
()
Ответ на: комментарий от stasolog

Ну а по факту, в диспетчере задач после загрузки пишется:

В Win98 занято 8 мегабайт

А в KolibriOS: 18 мегабайт

Хотя колибри на 8 мегабайт загружается, правда без экрана рабочего стола и нижняя панель не появляется.

fsb4000 ★★★★★
()
Ответ на: комментарий от stasolog

Хотя именно по минимальному ты прав.

Windows 98 с 8 мегабайтами не загрузилась.

А Kolibri хоть и с глюками но загружается

fsb4000 ★★★★★
()
Ответ на: комментарий от buratino

ну у меня был интел чемпион с sx33 разогнан до sx2-50, до 66 не смог. ну так вот, памяти у меня было в итоге (сначала 4) 20 мб и коннер на 170мб. линукс, кстати, тогдашний толком на 4мб не работал, дали взаймы ещё 4 - тогда взлетел. полумух работал на 4мб.

mumpster ★★★★★
()
Ответ на: комментарий от no-such-file

в 1992 у нас в конторе были 386DX (Мгц не помню) с 5 мб ОЗУ, SIPP…и 286ая ГИПа с 4 мб, на которой крутился Microsoft Xenix.

mumpster ★★★★★
()
Ответ на: комментарий от no-such-file

вкрации: нет! просто По тогда более вдумчиво писал как правило, не было так распространенно «bloatware». наприер - Гибсоновская тулзень для лечения «Click-o-Death» писана на ассемблере и занимает килобайт 200-300 со всеми красивыми свистелкаии-перделками, мыргающими лампочками и пространным текстами с объяснениями. просто там нет ничего лишнего. я код смотрел т.к. надо было убрать ограничение по времени работы.

mumpster ★★★★★
()
Ответ на: комментарий от fsb4000

На современном железе Windows 10 быстрее обеих систем.

Громкий смех в зале.

Даже линукс быстр, если его на SSD установить. А в равных условиях (на HDD) 10-е недоразумение даже пользовательские папки и файлы открывает с задержкой и она уж никак не быстрее предыдущих винд.

RedEyedMan666
()
Ответ на: комментарий от anonymous

а чо сразу mumpster?

и…эээ… MUMPS только условно журналируемый был, оригинальный DSM-11 «журналировал» на ленту. а если на ходу дёрнуть рубильник на СМке - то могло быть большое бо-бо! :-(

mumpster ★★★★★
()
Ответ на: комментарий от RedEyedMan666

ты наверное тред не читал и не в курсе, что в этой поделке работает только одно ядро процессора, поддержка остального железа на том же уровне

anonymous
()
Ответ на: комментарий от RedEyedMan666

про быстроту линукса - ну хз, у мну современный дистр работает успешно на геоде 400 мгц - а 10ка так смогёт? бгг

по теме - нормально 10как работает с НЖМД, надо просто чутка подшаманить. и уж точно быстрее 7ки если отклчюить свистоперделки. плюс куча ништяков - от WSL до Hyper-V из коробки.

mumpster ★★★★★
()
Последнее исправление: mumpster (всего исправлений: 1)
Ответ на: комментарий от anonymous

Что касается колибри, то наверное ты прав. Тыкал я когда-то MenuetOS и оно всего одно ядро юзало. Сабж примерно такой же. Да и зачем этой игрушке все ядра ЦП? В ней делать нечего.

RedEyedMan666
()
Ответ на: комментарий от kostyarin_

нет, просто в Линуксе асм по сути нужен не только лишь всем.))

mumpster ★★★★★
()
Ответ на: комментарий от mumpster

про быстроту линукса - ну хз,

Он на HDD не особо шустрый, но отзывается лучше десятки. Ну а на SSD само собой «летает» любой тормоз – SSD не показатель отзывчивости ОС.

у мну современный дистр работает успешно на геоде 400 мгц - а 10ка так смогёт?

Не сможет наверное, но это такое себе сравнивать раздутый монолитный монстр от вредной корпорации и конструктор, коим является дистрибутив линукса

RedEyedMan666
()
Ответ на: комментарий от anonymous

через чур много букаф! вкрации: пролог не нужен. мампс видимо уже тоже. двочиные деревья есть теперь много где, а иерархические и сетевые БД фактически умерли как популярный класс, ушли в ниши

например, последний раз живой адабас видел в гаёвне лет 10 назад на сдохшем SFV890.

и да - нефига не понял, зачем делать для мампса б-деревья в прологе?8) их несложно сделать на чём угодно. проблема не в них.

mumpster ★★★★★
()
Ответ на: комментарий от mumpster

По тогда более вдумчиво писал как правило, не было так распространенно «bloatware»

Конечно вдумчиво. Тогда не было возможности просто взять набор универсальных «библиотек для всего» на пару гигов, приходилось всё под свои конкретные нужды велосипедить и потом ещё полировать.

просто там нет ничего лишнего

Ну да, например тупо лепим char buf[256] и не паримся о «лишнем». Не проверяем все возможные варианты ошибок, а просто валимся если что-то пошло не так и т.д.

no-such-file ★★★★★
()
Ответ на: комментарий от hobbit

можно.

— а нельзя ли написать полноценную операционку на командах LLVM? Тоже в своём роде кроссплатформенный ассемблер.

должно быть возможно. вообще, идея «высокоуровневневого ассемблера» перезагружалась раз этак несколько:

  • Algol/W был написан на высокоуровневом ассемблере под OS/360;

  • PL/M это по сути оно

  • HLA (с) середина 90х

  • Elate OS, TaoOS

  • C– который не Sphinx C– а другой, для упрощения компилятора

** и разновидности

  • TAL

  • LLVM и ещё один компилятор, проще – на SSA представлении

  • … ??? может ещё кто добавит???

про Elate / Tao OS / intent / AmigaDE – здесь с картинками :

здесь подробнее история хранит техническая информация

«Chris Hinsley, who at the time was a well known games programmer, writing such hits as Automania, Pyjamarama and Everyones A Wally, on the Spectrum and 8bit micros, and Onslaught on the Atari St and Amiga. In the early 90’s Francis Charig helped turn those ideas into a business reality»

Крис Хинсли, автор нескольких популярных 8-мибитнных игрушек (и программист амижник) – в процессе портирования подо всё придумал «виртуальный процессор».

пусть у нас есть виртуальный процессор, с бесконечным количеством регистров (как в LLVM) и который легко и прозрачно отображается на реально существующие ассемблеры реальных (на то время) процессоров (примерно как регистровый Dis VM в Inferno)

под этот виртуальный процессор написано SDK. используется технология динамической трансляции и динамическая линковка – примерно как ngen AoT компилятор в .NET (и больше похоже на Crusoe/Alpha/Эльбрус динамическую бинарную компиляцию), здесь транслируется ассемблер этого VPcode в ассемблер реального процессора.

поскольку VPcode написан грамотно, трансляция как правило получается 1:1, с хорошей code density и минимальным оверхедом. при этом код можно даже распаковывать при динамической линковке (получается всё равно быстрее с бинарной компиляцией+загрузкой чем загрузка нативного бинарника).

код бинарно портируем – см. там про микроядро Elate Kernel и про драйвера.

далее на этом был написан SDK. и (микро)ядро (по сути, экзоядро-как-библиотека) – Elate . есть/была полноценная среда разработки. см. также про intent RTOS

далее на этом был написан SDK, на котором например была очень компактная реализация JVM. пытались делать неттопы. пытались продавать как SDK для мобильных (кроссплатформных подо всё) приложений.

anonymous
()
Ответ на: можно. от anonymous

в интервью на OSnews подробно расписан был их roadmap: завести партнёров, продавать и развивать SDK, делать компактные и минималистичные RTOS приставки, целевые SDK. см. картинки.

потом их партнёром стал Microsoft и обанкротил их. RIP. сейчас вроде бы есть какая-то одна игрушка на этом SDK разработанная в Amiga App Shop. и всё зачистили.

потому что такие вещи как Inferno/Dis (с вырвиглазным GUI на tk без tcl – по сути Plan9 как приложение внутри Dis VM) или Elate/TaoOS/intent

напрямую делают ненужным какой-то там .NET compact mobile framework, как класс. тогда это напрямую с вендофонами конкурировало, и дотнетом под него.

идея, впрочем, гениальная.

и сейчас тоже, прозреваю – весьма годная.

ещё у Микаэля Франца в Оберонах была идея хранить бинарники загружаемых модулей компонентного оберона как дерево, изоморфное AST представление. компактных, сжатых.

и проводить динамическую трансляцию при загрузке.

ещё там было замерено и подсчитано, что на самом деле это получается не так медленно и даже быстрее загрузки нативного бинарника.

здесь, в Elate/TaoOS/intent/AmigaDE – предлагается бинарная компиляция/динамическая трансляция VPcode. который по сути регистровая VM с бесконечным количеством регистров «высокоуровневого ассемблера». которая как и Dis VM или Dalvik – регистровая VM. но отображается на реальный ассемблер реального процессора гораздо проще, почти 1:1.

в LLVM используется SSA представление, для облегчения оптимизаций при компиляции. то есть. тут можно использовать модифицированную идею из диссертации Микаэля Франца.

и/или, выбрать аналогичное VPcode представление. которое отображается 1:1 LLVM:VPcode. который отображается 1:1 на реальный процессор.

кроссплатформно подо всё.

anonymous
()
Ответ на: комментарий от anonymous
Ответ на: комментарий от mumpster

линукс, кстати, тогдашний толком на 4мб не работал, дали взаймы ещё 4 - тогда взлетел. полумух работал на 4мб.

линукс да, не работал. а фряха работала – но не устанавливалась, инсталлятору 8 метров нужно было :) поэтому одалживаем планочку, устанавливаем, конфигуряем, снимаем планочку, отдаём – фряха работает :))

anonymous
()
Ответ на: комментарий от mumpster

ну да, журналируемость там – как бог и автор реализации на душу положит :))

anonymous
()
Ответ на: комментарий от anonymous

а что, диск переткнуть нельзя? будет бсвод как в вантузе?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.