Отправляет email-рассылки с помощью сервиса Sendsay

Операционная система Proolix

gcc & com

Hi, All!

Коллега Робин прислал мне полезную для дела Пруликса ссылку:

Как собрать досовский COM-файл компилятором GCC
https://habr.com/post/412867/

     ответов: 0   2018-06-01 16:42:33 (#3566278)

Новости операционной системы Proolix

В MSDOS-эмуляторе операцинной системы Proolix нормально запускается
досовская "интра" https://github.com/ern0/256byte-xorlissj

(Интра или заставка - небольшая программа, написанная с целью демонстрации
каких-либо визуальных видеоэффектов и являющаяся поджанром компьютерного
искусства, так называемой "демо-сцены")

     ответов: 0   2018-05-14 13:28:23 (#3563093)

Fortran

В декабре я собрал для своей ОС Proolix первую утилиту на Фортране. Hello,
world, конечно, но сам факт возможности кросс-компиляции это таки да.

Теперь в ОС возможны три языка: ProolSkript (интерпретируемый, похожий на
усеченный forth), C и Фортран (два последних в виде кросс-компилятора в
Линуксе, используется gcc и gfortran). Sorry, совсем забыл ассемблер as,
тоже в виде кросс-компилятора.

По тому же методу можно сделать и Аду (и что там еще есть в коллекции gcc)

Ссылка на гитхаб (предупреждаю, чтение моих исходников опасно для вашего
мозга, вы рискуете разбить ладонь о свой лоб)

https://github.com/prool/proolix

     ответов: 0   2018-01-08 15:15:51 (#3540447)

Очень полезная статья о разработке ОС

https://habrahabr.ru/post/343690/.com[iz-pesochnitsy]-kak-vyyti-na-put-razrabo

     ответов: 0   2017-12-02 15:31:09 (#3533483)

Об UEFI

В 2020 году придется переделать Proolix. Intel собирается полностью
отказаться от поддержки старого BIOS и перейти на UEFI. А Пруликс
пользуется сервисом BIOS

     ответов: 0   2017-11-23 17:08:44 (#3531566)

Следующий барьер взят

Для Пруликса теперь можно кросс-компилировать утилиты, написанные на
ассемблере или C. Уже работают первые три системных вызова

Ссылка на репозиторий: https://github.com/prool/proolix

     ответов: 0   2017-10-17 14:48:05 (#3524223)

Milestone

Очередной барьер в операционной системе Proolix взят: реализована
простейшая файловая система FoolFS (мне даже FAT было лень
программировать). Работают функции создать файл, писать в файл, удалить
файл, читать из файла.

Ссылки

github: https://github.com/prool/proolix

FoolFS: http://proolepedia.kharkov.org/index.php/FoolFS

     ответов: 0   2017-08-03 21:40:23 (#3511155)

Два проекта

Hi, All!

Кстати, из моих проектов на Гитхабе первое место по лайкам (8 звездочек)
занимает ОС Пруликс и игра Виртустан мад:

https://github.com/prool

Второе место сильно отстает: у "Виртустанского приложения" (которое по сути
рогалик) и еще двух мадов - Зеркало и BBS MUD по 3 звездочки

     ответов: 0   2017-07-17 15:12:53 (#3507599)

Пруликс инсталлировался на физический жесткий диск и загрузился с него!

Итак, что я сегодня выяснил:

Флешки бывают двух типов: флешка как HDD и флешка как дискета. У флешки-HDD
первый физич. блок это master boot record
с таблицей partition table. А дальше идут разделы, чаще всего один. В
терминах моего Ubuntu Linux флешка как физич. устройство
это /dev/sdb, а раздел /dev/sdb2. При загрузке с такой флешки сама флешка
становится устройством 0x80 в терминах прерывания
0x13. А реальный физич. HDD - device 0x81.

Я загрузился с такой флешки (она была создана при помощи unetbootin) и
набрал команду install. И инсталлировал Пруликс на
устройство 80, то есть на эту же флешку, только в raw формате (без syslinux
и файловой системы). И смог загрузиться
с raw флешки.

Затем я сделал флешку другого типа (флешка-как-дискета). Первым блоком у
нее идет boot sector, никакой MBR нет. На такую флешку
тоже можно при помощи unetbootin установить syslinux и загрузить с нее
Proolix-l. Но при этом диск 80 - это реальный
HDD! Я этого тогда не знал и набрал команду install и инсталлировался на
устройство 80 и установил Пруликс на реальный
HDD и запортил Винду на ноуте. Но такой случайный эксперимент показал, что
установленный на реальный жесткий диск
реального компьютера Пруликс загружается и работает. (То есть загружается
ядро, пока кроме ядра у Пруликса еще ничего нет,
файловой системы нет).

А Винду я потом восстановил без проблем, так как первый цилиндр винчестера
почти не используется. MBR я восстановил,
загрузившись с CD с Виндой и вначале запустив автоматич. восст. (оно ничего
не дало), а потом выполнив
в консоли восстановления команду

bootrec /fixmbr

и потом на всякий случай

bootrec /fixboot

Винда стала нормально загружаться, но при этом в первом цилиндре (начиная с
сектора номер 1, то есть второго сектора, то есть сектора,
непосредственно следующего за MBR) осталось ядро Пруликса и никто его не
затер.

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

Пруль

     ответов: 0   2017-01-25 22:04:47 (#3467435)

С Новым годом!

Сабж, однако! И поменьше вам багов и мемори ликов!

А Пруликс тем временем неторопливо развивается, см. Гитхаб

https://github.com/prool/proolix

     ответов: 0   2017-01-04 23:38:09 (#3462465)

install

Hi, All!

Сделан простейший инсталлятор. Теперь можно загрузится с дискеты, CD или
флешки и инсталлировать командой install (сначала run ct, естественно) ядро
Пруликс на жесткий диск (если конечно жесткого диска не жалко, потому что с
НЖМД Пруликс работает как с большой дискетой, то есть затирает MBR и
рассматривает диск как одно большое блочное устройство)

https://github.com/prool/proolix/

     ответов: 0   2016-12-11 00:45:29 (#3456952)

Temple OS

Истинно говорю вам: вот конкурент Пруликсу:

https://geektimes.ru/post/281754/

     ответов: 0   2016-10-26 00:06:58 (#3444563)

Линуксу 25 лет

https://geektimes.ru/post/279756/

     ответов: 0   2016-08-25 10:39:19 (#3429067)

Prool CPU-16

Я окончательно поехал крышей и подумал, что писать свою операционную
систему это мелко. И начал разрабатывать свой процессор. Так как я
программист, то пока просто пишу эмулятор. Пока не буду пытаться сделать
что-то сложное с виртуальной памятью и прочими плюшками. Для тренировки
пальцев сделаю нечто 16-разрядное, с минимальным набором команд.
Впоследствии это вполне реально будет сделать в железе, например на базе
FPGA. А потом и выпустить партию в кремнии. Интел уже трепещет, наверное. Я
стану миллионером!

А всё почему: пока еду на работу и с работы в метро, мне скучно и я думаю.
И всякую херь придумываю. В трамвае проще, там можно по сторонам в окно
смотреть и отвлекаться на окружающий мiръ

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

https://github.com/prool/cpu16

     ответов: 0   2016-06-17 20:50:37 (#3410629)

Test VDS

https://github.com/prool/proolix/tree/58871603f29599df0285a647acaef3479699e3ce

Эта версия Proolix-lf протестирована на VDS: загрузка с ISO работает!

     ответов: 0   2016-04-10 12:03:26 (#3391442)

unetbootin bug

Мои эксперименты показали, что прога unetbootin в Ubuntu 15.10 x64 глючит,
то есть не работает (она же - последняя версия с unetbootin.github.io). При
загрузке с флешки выдается сообщение

SYSLINUX ... Peter Anvin et al
Boot error

Такие же манипуляции в Ubuntu 14.04LTS создают работоспособную флешку

* * *

unetbootin используется мной при создании загрузочных флешек Пруликса (из
образов дискеты или CD ISO image)

     ответов: 0   2016-04-07 19:26:13 (#3390643)

Proolscript

Несколько дней назад я реализовал в Пруликсе свой интерпретируемый язык
программирования, который назвал Прульскрипт. Язык похож на Forth

Вот его спецификация

http://proolepedia.kharkov.org/index.php/ProolScript

     ответов: 0   2016-01-02 16:37:16 (#3353461)

Unikernel

А ведь мой Пруликс это Unikernel <https://en.wikipedia.org/wiki/Unikernel>

Бессмысленный и беспощадный
* * *

И напоминаю ссылки на ресурсы, посвященные Пруликсу

Пруликс на github: https://github.com/prool/proolix

Официальный сайт Пруликса: http://prool.kharkov.org/proolix

Блог Пруликса: http://prool.kharkov.org/proolix/blog

* * *

Статистика: на 5 декабря 15 года у данного листа 42 подписчика

42!

http://lurkmore.to/42

     ответов: 0   2015-12-05 12:34:51 (#3342407)

DIR-100

Хотел на свой старый роутер DIR-100 установить какой нибудь DD-WRT (то есть
полноценный маленький Linux) и начать там разработку Пруликса
<http://github.com/prool/proolix>. Оказалось, DD-WRT или OpenWRT с DIR-100
не совместимо. На форумах советуют (не мне, а аналогичным гикам) открыть
корпус, заменить флеш-память на бОльшую, подключиться к консоли (разъем на
плате) и работать. Но это к сожалению не мой метод, я не умею паять. Хотя,
может удастся собрать DD-WRT размером в два мега? Но я пока никогда не
собирал эту прошивку

     ответов: 0   2015-11-04 17:47:40 (#3329439)

Флешка

На данный момент Proolix грузится с флешки при помощи syslinux. То есть
делается файл-образ дискеты, с которого можно грузиться, например
виртуальной машиной. (Или копировать файл на реальную дискету и с нее
грузиться) Затем образ дискеты инсталлируется на флешку при помощи утилиты
unetbootin, которая инсталлирует на флешку syslinux.

Загрузка с флешки происходит так: вначале автоматически грузится syslinux,
который затем загружает образ дискеты, подменяя при этом прерывания 13h,
15h, 1ah и делая виртуальный диск.

Я как любитель всего низкоуровневого решил поэкспериментировать с прямой
загрузкой с флешки (раньше, в эпоху proolix-d вроде получалось). Как
оказалось, флешка может быть отформатирована только под файловую систему
FAT16 (но не FAT12), я начал переделывать бут-сектор. У меня есть заготовка
кода для FAT-16, но что-то она пока не работает

Наработки (пока не работающие) я сброшу на github сегодня

* * *

О, и сайт с Ralf Brown Interrupt List <http://www.ctyme.com/rbrown.htm> не
грузится. Надо искать альтернативный
<http://www.delorie.com/djgpp/doc/rbinter/ix/>

     ответов: 0   2015-10-20 11:38:53 (#3322860)

cygwin

Hi, All!

Проект Proolix-l собирается в среде Linux/gcc (например в Ubuntu). А вот в
среде cygwin не собралось, хотя там тот же gcc, as, ld. Но некоторые флаги
другие

     ответов: 0   2015-07-28 11:50:45 (#3298736)

KVM

Hi, All!

Установил на своем ноутбуке с Ubuntu систему виртуализации KVM и создал там
виртуальную машину, у которой был примонтирован Proolix-d CD. И запустил
эту VM, и зашел на нее через VNC клиент Remmina. Работает, однако

     ответов: 0   2015-07-18 22:14:53 (#3294869)

Промежуточный финиш: MSDOS-эмулятор

Сделан зачаточный MSDOS эмулятор. Пока реализована только функция 33h

MSDOS com-файлы запускаются командой run2

Имена файлов вводятся в виде 11 символов, все буквы большие,
имя дополняется пробелами до 8 символов примерно так

ATTRIB COM

     ответов: 0   2015-05-10 14:23:37 (#3264284)

Как загрузить Пруликс

Hi, All!

Чтобы загрузить Proolix-l (который собирается в среде gcc) и посмотреть на
этот ужас есть два основных способа:

1. Взять образ загрузочной дискеты из каталога
proolix/proolix-l/src/boot-sector/diskette.img и загрузиться с него как с
дискеты в системе виртуализации, например в VirtualBox

2. Взять образ дискеты, при помощи unetbootin или аналогичной утилиты
сделать загрузочную флешку и загрузить компьютер с нее

ВНИМАНИЕ! Я НЕ ДАЮ НИКАКИХ ГАРАНТИЙ!

3. Можно еще, используя образ загрузочной дискеты, сделать загрузочный CD
ROM/DVD ROM и загрузиться с него

* * *

Музейный Proolix-d, собранный старым добрым Turbo C 2.0 тоже можно
попытаться запустить аналогично, в файловом архиве есть образы и дискеты и
сиди 2007 года сборки (CD в неровском формате .nrg), но он не работает на
новых архитектурах (а если у вас есть работающий IBM PC/XT, там ЭТО
заработает)

* * *

А еще я с удивлением увидел, что Пруликс - уже 32-разрядная ОС. Времена
архитетур с реальным режимом i8086 прошли, на современных компах всё
совместимо, но уже 32-битно, и 32-битные команды работают

* * *

Я балбес, тупо нажал кнопку четыре раза и четыре раза отправил комен к
одному из предыдущих писем. Посыпаю голову пеплом

     ответов: 1   2015-05-08 23:37:39 (#3263202)

Proolix news

Proolix состоит из двух проектов:

Proolix-d - хронологически первый, средой разработки является проприетарная
среда MSDOS/MS Windows и проприетарный компилятор Turbo C 2.0/tasm. Проект Д
загружался и даже как-то работал!

Proolix-l - это рефакторинг проекта Д, уже в среде Linux с использованием
компиляторов gcc/as. Этот проект я когда-то начал и временно приостановил,
там разработан только бутсектор и простейшее ядро. Цель рефакторинга:
переход на исключительно свободное ПО

Так вот, имея на рабочей машине только Ubuntu Linux я думал, как собрать
проект Д. В виртуальной машине? И вот сегодня я сделал проще - собрал все в
DOSbox. И оно собралось, правда ранее работающее ядро сразу виснет. Надо
разбираться, что я делал не так, может какие параметры компиляции или версии
tc/tasm/pklite (ядро у меня потом упаковывается при помощи pklite b
представляет собой файл формата exe, а в boot manager встроен простой
загрузчик exe файлов. На это пришлось пойти, так как по мере роста объема
кода ядро уже не умещалось в модель памяти tiny (то есть в один сегмент 64К.
Напоминаю, что ОС Proolix работает в реальном режиме процессора i8086 и
совместимых с ним)

     ответов: 4   2015-05-07 15:03:19 (#3166266)

github

github заработал, но всё равно надо делать бекапы

     ответов: 0   2015-05-06 15:25:05 (#3262658)

github

Hi, All!

За все эти месяцы эксплуатации Гитхаба сегодня (сейчас) первый случай,
когда Гитхаб не работает: стоит заставка, что он на срочном техобслуживании.
Понятно, что последние версии моих проектов есть у меня на ноутбуке, но всё
равно как-то неприятно. Делайте бекапы, господа, и я их буду делать

     ответов: 0   2015-05-06 15:07:37 (#3262650)

github

Hi, All!

Я выложил на Гитхаб текущее состояние проектов Proolix-d и Proolix-l

https://github.com/prool/proolix

     ответов: 0   2015-05-06 11:43:59 (#3262576)

Рекомендуем подписаться: