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)

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

P.S.: к тому же вместо православного GAS с православным AT&T синтаксисом там используется бесовский FASM с бесовским же Inter-синтаксисом и порядком операндов. Фи.

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

Про сингулярити - посмотрел в википедии, выглядит более-менее здраво. В отличие от А2, нет общей для всех процессов памяти и каждого процесса свой отдельный сборщик мусора. Это хорошо. Хотя может быть, что система менее стройная - там есть и Си. Но она не под пермиссивной лицензией, так что интересна разве только на посмотреть :)

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

Ну не совсем так, на трешках, правда за давностью лет не скажу с сопром или без, win 3.1 с 6-м вордом работало точно нормально.

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

Ну не совсем так, на трешках, правда за давностью лет не скажу с сопром или без, win 3.1 с 6-м вордом работало точно нормально.

Это шалости.
В 2000 году пришлось перевести все «супер компьютера» в терминальный режим работы /сервер Альт/.
«Супер копмпьютера» имели такие технические характеристики:

  • 386-й процессор 33 Mgz;
  • 2 MB ОЗУ;
  • винчестера - нет;
  • дисковода - нет;

Собрал на старой slackware ядрышко размером 1MB.
Так вот все терминалы работали на ура.
Ради прикола реализовал возможность запуска /и не более/ на терминалах Windows 98.

У электронщиков челюсти поотвисали от зависти.

Владимир

Владимир

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

Работать на этом было невозможно,

Навигатор немыслимо тупил, да. А вот ворд как раз прекрасно работал, если не засовывать в него 100500 OLE-объектов.

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

ворд как раз прекрасно работал

Зависит от объёмов памяти. На 386sx машинках, а уж тем более на 286 с этим было туго. Я говорю про времена, когда эти машины были актуальны (тогда 640К хватало всем, а у зажиточных выскочек бывало аж 2Мб)

no-such-file ★★★★★
()

Зачем делать новую ОС десктопной? Сразу же понятно, что такая поделка не взлетит. Лучше бы начали делать ОС специального назначения: например, контроллер доставки приложений или СУБД.

Как вот эти вещи, только чтобы вообще всё было в ядре и заточено под конкретную одну функцию:
https://www.mcobject.com/kernel_mode_database/
http://tempesta-tech.com/

Или я больной?

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

Общий объём памяти влиял на скорость запуска процессов и переключения между окнами, на типовые операции в самом документе почти никак. Загружались и сохранялись файлы с известными задержками, но сам отклик на ввод был быстрым.

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

На 80386SX работает Win 95. С Netscape Navigator' ом и интернетом, да.

как пользовалтель десктопа 386sx25/2/60 и ноутбука 386sx20/2/60, даже не представляю, каким образом. честно говоря, я вообще не видел 386sx с hdd более 80 мб. уместить туда win95, tcp-ip и нетскейп - довольно проблематично. а уж как это будет работать. там первое уфо нещадно тормозило, а уж win95...

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

на 486sx50/4 в win 3.x (не помню, какая именно, вроде 3.10 без воркгруп) word6 запускался, а excel5 - нет. ругался, что ему надо памяти. вирт. память, естественно, была...

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

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

Я как бы лично тыкал Word6 на 386sx/2/40. Запускалось, но тупило жутко - набираешь текст и он постепенно пропечатывается. Вообще win3.1 там был только для галочки. Использовался комп по факту только с DOS и православным редактором «Слово и Дело».

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

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

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

не от соседа расказы пересказываю

А очень похоже. Потому что я указал конкретную программу и конкретное железо, а ты пока что только сказал что «не должно тормозить в вакууме».

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

Ты ждёшь от меня lspci от железки, за которой я эпизодически сидел 25 лет назад? Ты себя хорошо чувствуешь?

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

компьютерное зрение

в machine learning как раз такое и используется, без преувеличений

ты бы хоть прочитал, что такое machine vision, чтобы так не садиться больше, без преувеличений

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

очевидно, что ты даже приблизительно не понимаешь о чём тут пытаешься спорить

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

и православным редактором «Слово и Дело»

Кстати, как и Колибри — ещё один немой укор современному раздутому софту.

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

Колибри же, как я понял, прибита гвоздями к конкретной архитектуре и я не знаю, можно ли это поправить.

Никак. Можешь считать это фичей. Она выжимает максимум из конкретной архитектуры (хотя мне тут сейчас про SMP напомнят), и за это приходится платить.

А вот вопрос, можно ли сделать «обрезанный линукс», чтобы он по шустрости отставал от Колибри не в разы а хотя бы на незаметные для пользователя проценты — вот это интересная творческая задача. Если есть такой дистрибутив — я бы потыкал.

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

с холма ли? 30 лет назад не требовало и сейчас без него обходятся. ясное дело, что это не про распознавание лиц.

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

ещё один немой укор современному раздутому софту.

Есть такое.
К примеру возьмем конфигурации, поставляемые фирмой 1С.
Вроде все разумно и сделано «на все случаи жизни».
Но их «раздутость» зашкаливает.

Мои бабка с фефом суфились фьюг с фьюгом, кто из них меня бойше юбит.
А всему виной что?
Загрязненность водоемов, ...

Владимир

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

А вот вопрос, можно ли сделать «обрезанный линукс», чтобы он по шустрости отставал от Колибри не в разы а хотя бы на незаметные для пользователя проценты — вот это интересная творческая задача. Если есть такой дистрибутив — я бы потыкал.

Элементарно …
Берете старый дистрибутив Альта /скажем 2.2/.
У меня он стоял на компе 256 MB, 10GB, и уж не помню, что-то типа 300Mgz.
Он обслуживал 50 терминальных станций.

Ныне …

"Все не так, все не так ребята".

Дешевизна памяти повлекла за собой «побочные эффекты».

Владимир

anonymous
()

интересно, но боюсь, что оно чуть более чем мертво.

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

укор современному раздутому софту

Ну тут как посмотреть. Можно сказать, что тогдашний софт был очень убог, потому что делался по принципу «как-бы выкрутиться, чтобы не тормозило». Поэтому в ход шли всевозможные грязные хаки, никто даже не думал про безопасность и т.д.

Ведь «Слово и Дело» сейчас бы вообще летал пулей, но что-то никто не бежит его использовать. Как и Колибри, кстати.

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

Есть диссертация товарища, который участвовал в разработке А2, они сделали кооперативный планировщик на неблокирующих алгоритмах. Неблокирующие алгоритмы у них для бантика, как я считаю, а с помощью кооперативности они обогнали планировщики линукса и windows. Но это немудрено, т.к. в А2 общая память, соответственно, никакой защиты от вредоносности процессов. Я уж не говорю про какой-нибудь spectre. Тормознутость ОС - это расплата за её надёжность/безопасность, а не только следствие плохого кодирования. Кроме того, и размер, конечно, имеет значение. Если вся ОС помещается в процессорный кеш, понятно, она будет быстрее. Или взять привычку хранить всё в файлах. При таком подходе легко упереться в скорость дисковой подсистемы. Перестанешь хранить в файлах - будет хуже при потере питания. Также архитектура. Всяческие внутренние АПИ - это передача по не выполняющим никакой бизнес-функции проводам, но не со скоростью света, а гораздо медленнее.

den73 ★★★★★
()

1. Что у этой ОС написано на ассемблере, только ядро или прикладная часть тоже?

2. Есть ли под эту ОС компилятор плюсов (или хотя бы си)?

3. Что из себя представляет прикладной интерфейс ОС?

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

Пользовался Win 3.11 и Word6/Excel-какой-то на 386, точную модель не помню, с 8 Мб памяти. Отлично работало, правда сравнить тогда было не с чем.

anonymous
()
Ответ на: комментарий от normann
  1. Что у этой ОС написано на ассемблере, только ядро или прикладная часть тоже?

Ядро, бо́льшая часть драйверов и библиотек, больша́я часть программ.

  1. Есть ли под эту ОС компилятор плюсов (или хотя бы си)?

Кросс-компилятор, gcc. Им собран, например, ffmpeg.

Вроде, нативный tcc ещё, aka kcc. Поищи на форуме, чтобы наверняка.

  1. Что из себя представляет прикладной интерфейс ОС?

Сисколы и всякие библиотеки поверх них, как обычно.

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

с 8 Мб памяти. Отлично работало

С 8Мб и у меня работало. А с 2 нет. На 286 и 386sx из коробки обычно было 2 (а то и 1). То, что потом туда навтыкивали это другой вопрос. 8Мб и для 486 было круто по тем временам.

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

Вас зачем к каке тянет? Оставьте эти h265 и av1’ы — я не понмиаю, почему с ними все так запрыгали? Иисус Христос завещал нам использовать vp8 и h264.

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

на 386, точную модель не помню, с 8 Мб памяти.

Да вы дяденька буржуй были. 8Мб на трешке. :)

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

8Мб и для 486 было круто

У меня на четверке с 4Мб мозгов, 3-й варп крутился (не с родным DE), на котором CM нода, так же хаб в левонете. И норм под ней запускался win 3.1 в котором и word и excel и delphi работали без проблем + Watcom C не мешал. Но когда добил до 8 Мб это стало просто сказкой :)

anc ★★★★★
()

Человеческие простые заметки? Дайте два!

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

https://en.wikipedia.org/wiki/Intel_80486

In the general-purpose desktop computer role, 80486-based machines remained in use into the early 2000s, 
especially as Windows 95, Windows 98, and Windows NT 4.0 were the latest Microsoft operating systems to officially support installation on an 80486-based system.

На CPU 486/ 32MB/133Mgz /на 16MB помнится тоже работало, но медленно/.
Сначала Windows 98 использовал, а затем, когда сканер приобрел пришлось установить Windows NT 4.0.
Без всяких «затыков» одновременно: слушал музыку /mp3/, Visual Studio 6.0, …

Internet Explorer был гадостью похлеще «заливной рыбы».

Владимир

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

На CPU 486/ 32MB/133Mgz /на 16MB
Без всяких «затыков» одновременно: слушал музыку /mp3/, Visual Studio 6.0, …

Не верю! Амдешки гнались по частоте, но все равно упиралось у проц при проигрывании mp3, только realtime приоритет тогда хоть не затыкаться будет. Я из-за этого на пенек переехал :)

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

Не верю! Амдешки гнались по частоте, но все равно упиралось у проц при проигрывании mp3

Скорее всего вы правы.
Это был Pentium 133.

Владимир

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

Колибри же, как я понял, прибита гвоздями к конкретной архитектуре и я не знаю, можно ли это поправить. С безопасностью у неё никак, т.к. неясно, как можно верифицировать большой объём ассемблерного кода. Но зато она компактная и быстрая.

смущает, что оно 32-bit only. хотя…

я вот потыкал веточкой HLA aka High Level Assembler. синтаксис паскалевский, семантика С++ (даже STL и ООП в духе OWL есть, исключения), нормальные CTFE макросы, можно свои calling conventions писать или без них вообще (как naked в Си).

так оно тоже 32-bit only. в остальном – норм. правда есть вроде бы какой-то HLA3 который по ходу SDK не совсем допиленный конструктор любых ассемблеров (типа как fasmg в котором 30+ различных ассемблеров макросами и java bytecode до кучи тоже макроассемблером). для 64-битности следует пилить его, этот вот HLAv3 выборочно дописывая нужное.

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

ещё есть такая вот реализация Ады минималистичная: AUGUSTA AUGUSTA.ZIP . написана на турбопаскале.

она есть на AI-cdrom-r3 – какой-то подборки по AI из середины 90х.

там есть Ада, алгол, PL/I, снобол (например, исходники к книжке aisnobol.zip, в том числе реализация ATN).

ещё там есть какие-то минималистичные лиспы и прологи. из начала/середины 90х.

кстати, про пролог. знаешь ли, что метациклический интерпретатор на прологе пишется в четыре строчки?

https://www.metalevel.at/acomip/ – там с корня неплохая подборка статей по прологу. те же DCG расписаны.

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

типа AUGUSTA/оберс, портированный под Kolibri/ оберс или оберон07, портированный под HLA

HLA кстати, уже кроссплатформный.

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

более 80 мб. уместить туда win95, tcp-ip и нетскейп - довольно проблематично.

Win98 от Федоренки последний доведённый до ума дистрибутив

размер дистрибутива варьируется от 30 до более чем 500 мегабайт

Win95 в 5 Мб

это уж совсем маньяки, ходил текст про 95OSR в 15 Мб. filelist.diz

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

Или взять привычку хранить всё в файлах. При таком подходе легко упереться в скорость дисковой подсистемы. Перестанешь хранить в файлах - будет хуже при потере питания.

взять журналируемую БД какую-то. вместо файлов. простую как палка.

cast mumpster: MUMPS, например.

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

взять реализацию MUMPS какую-то.

к примеру, реализации MUMPS под CP/M весьма компактны.

да и из той книжки про реализацию на С++ тоже довольно просто.

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

Без всяких «затыков» одновременно: слушал музыку /mp3/, Visual Studio 6.0, …

не, это уже явно не 486. на 486 mp3 только под DOS нормально проигрывалось, без затыков.

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

хотя вот например на Arity Prolog есть поддержка Btree : список предикатов

ArityProlog32 : install : исходники на GitHub

написан на masm. есть компилятор подмножества Си, достаточный для линковки с Си DLL. 32-битный компилятор под Win32, когда-то была поддержка DOS, OS2 (если не выпилили).

умеет компилировать в .exe, .dll минималистичные самодостаточные.

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

и потом портировать имея минималистичное кроссплатформное пролог-ядро. легко, куда угодно.

пролог гомоиконный, как и лисп.

метацикличный интерпретатор пролога на самом прологе пишется в четыре строки.

это и прочее, например, интерпретатор лиспа на прологе – есть на https://www.metalevel.at/

кул сторис

ужасный факториал

если логику обычных программ типа паскаля можно представить как «Алгоритмы + данные = программа», то пролога – «управление + логика = алгоритмы» (даже статья такая есть, именно так и называется).

программа это дерево. пролог делает перебор дерева сначала вглубь (SLDF). обходит дерево, перебирает подстановкой «переменные» (на самом деле, привязки). если подстановка успешна, и в базе данных есть факт (предикат-атом), подстановка успешна, значение возвращается. если подстановка неуспешна – перебирается следующий предикат.

если есть несколько значений, могут перебираться все. или выполняться отсечение. см. например про ужасный факториал – как оптимизируют через отсечение.

что по сути реализует «ужасный факториал» ?

перебор и отсечение организованы так, чтобы рекурсия была хвостовой. и отсечение помогало оборвать хвост рекурсии.

в подобном же духе устроены метаинтерпретаторы, то есть – метациклические интерпретаторы.

метаинтерпретатор является расширяемым «на самом себе», поскольку его расширение и реализация eval – это подстановка в базу данных пролога новых предикатов (введенной строки).

далее в духе такого же отсечения как в «ужасном факториале» реализуется выполнение этого кода нового предиката.

теперь что интересного есть в Arity Prolog32. есть предикаты работы с BTree деревьями.

то есть, на этом вполне возможно реализовать какой-нибудь кроссплатформный MUMPS на прологе.

который будет устроен как метациклический интерпретатор выше. только ещё дополнительно он должен парсить через DCG команды MUMPS-а.

и реализовать VM MUMPS-а. в духе Thinking in States статьи.

на Arity Prolog уже есть реализация BTree, генерация .exe/.dll, подключение внешних .dll FFI, и прочее.

есть исходники. есть кроссплатформенное ядро (кроссплатформенное среди DOS/Win32/OS/2).

логично было бы туда запилить поддержку Kolibri.

и затем реализовать на таком вот Arity Kolibri Prolog какой-то MUMPS.

выглядит реалистично.

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

или вот такой пролог кроссплатформный есть: ciao

  • JVM implemented in Ciao

  • Java bidirectional interface

  • tcl/tk support

  • LLVM interface (пока только в другую сторону, чем нужно).

тут хотя бы исходники более полноценные есть. а не пополам с бинарниками.

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