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

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

ARM

TODO: подумать о портировании Proolix на процессоры ARM

     ответов: 0   2014-12-04 18:18:47 (#3175479)

github

Завел для OS Proolix аккаунт на github:

https://github.com/prool/proolix

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

     ответов: 0   2014-10-28 00:01:01 (#3151889)

ShellShock

Под Пруликс пока не портирован Bourne Shell, поэтому уязвимость ShellShock
в ОС Proolix невозможна в принципе, но разработка приложений для Пруликса
производится методом кросс-компиляции на других ОС, у которых эта
уязвимость может быть. Поэтому вот вам ссылка на сервис онлайновой проверки
этой уязвимости

http://www.host-tracker.com/

     ответов: 0   2014-10-08 13:55:24 (#3139589)

Monolitic

Является ли ОС Proolix микроядерной? Нет, у нее monolitic structure

     ответов: 0   2014-10-08 13:50:33 (#3139586)

Опять взялся

Hi, All!

Я позавчера опять взялся за Пруликс (после перерыва примерно в 9 лет) и
начал переписывать его с нуля, в частности сильно упростив бут-сектор (это
уже сделано). Чуть позже продолжу и напишу, что и зачем я делаю. (Особого
практического смысла мои экзерсисы не имеют, так, хобби, чтоб навык не
потерять и вообще, программирование приводит меня в хорошее настроение, а
это сейчас очень нужно, у нас в Украине война)

     ответов: 0   2014-08-30 00:01:26 (#3111746)

И снова об эмуляции

Сегодня установил у себя в Ubuntu 12.04.4 LTS гипервизор QEMU и
virt-manager и запустил Пруликс на маленькой виртуальной машине. Пруликс
загрузился с ISO образа, заработал и в частности опознал master boot record
виртуального жесткого диска

Вот мой ISO
http://prool.kharkov.org/proolix/proolix-bootable-cd-19-feb-2006.nrg (не
смотрите, что это созданный Nero .nrg-файл, он частично совместим с ISO)

А вот образ загружаемого флоппи диска с Пруликсом
http://prool.kharkov.org/proolix/proolix-bootable-diskette-19-feb-2006.bin
(именно из него был изготовлен загружаемый ISO образ)

     ответов: 0   2014-08-04 09:07:06 (#3090487)

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

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

Пруль!

www.prool.kharkov.org

     ответов: 0   2014-01-01 02:01:22 (#2907200)

VirtualBox

Я запустил OS Proolix в среде Oracle VM VirtualBox, загрузив виртуальную
машину с образа пруликс-дискеты. Ура, оно и там работает!

     ответов: 0   2013-12-02 19:44:35 (#2884701)

проверка отложенной отправки

проверка проверка проверка

Пруль

www.prool.kharkov.org

     ответов: 0   2013-09-18 07:13:05 (#2826846)

TOR

Под Proolix клиента TOR нету (в Пруликсе пока вообще нет нетворкинга), но
вообще TOR - полезная для нашего сурового времени штука:

https://www.torproject.org/

     ответов: 0   2013-09-10 01:32:12 (#2820879)

News

Файловый архив немного пополнен старыми файлами (образами, архивами,
исходниками)

     ответов: 0   2013-08-26 10:57:44 (#2811082)

Proolix wiki

Статья из Прулепедии про Пруликс:

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

     ответов: 0   2013-04-04 23:19:16 (#2717865)

Сайт Пруликса

Сайт ОС Пруликс заработал после сбоя винчестера, правда пока в форме
файлосвалки:

http://prool.kharkov.org/proolix/

     ответов: 0   2013-03-03 01:00:39 (#2693277)

Сайт

Hi, All!

Сайт Пруликса http://prool.kharkov.org/proolix временно не работает из-за
сбоя диска. Скоро восстановлю

     ответов: 0   2013-02-22 20:00:02 (#2686297)

News

Чуть-чуть причесал сайт Пруликса. Просто так

А работа над самой ОС приостановлена оч. давно. Всё равно я команду Линуса
не догоню

     ответов: 0   2013-01-12 01:44:37 (#2650286)

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

С Новым годом, коллеги!

     ответов: 0   2012-12-30 22:19:17 (#2643460)

Дискуссионные листы заработали

Только что пришел ответ из техподдержки Сабскрайба, что был глюк и что
они его исправили. Я проверил, всё заработало! Ура!

     ответов: 0   2012-10-02 16:38:18 (#2565702)

Сайт

Hi, All!

Пруликс-сайт перенесен и работает на новом месте (место новое, но
адрес прежний):

http://prool.kharkov.org/proolix

     ответов: 0   2012-09-08 16:32:38 (#2549659)

Сайт

Hi, All!

В связи с переносом одного из серверов, сайт операционной системы Proolix:

http://prool.kharkov.org/proolix

временно пустой, информация там появится в ближайшие N дней

А сайта (адреса) http://www.users.itl.net.ua/~prool/proolix* уже не будет

А вот статья про Пруликс из Прулепедии

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

     ответов: 0   2012-08-10 15:09:19 (#2527160)

MUD как операционная система

Не помню, писал ли я, но онлайновые многопользовательские игры (типа
моего Virtustan MUD'а) очень похожи на операционные системы. Точнее,
мад-сервер похож на ядро ОС. Мад-сервер - это один процесс, однако он
эмулирует многозадачность на программном уровне. Каждая сессия с
пользователем - это отдельный виртуальный терминал, каждый моб-NPC -
отдельный процесс. Есть механизмы семафоров, очередей и так далее

     ответов: 0   2012-07-26 16:05:11 (#2516357)

OS Phantom

Proolix - по сути игрушка. Еще более игрушка, чем Minix или XINU. А
вот концепция ОС Phantom Завалишина весьма оригинальна

http://dz.ru/solutions/phantom#01

     ответов: 0   2012-07-04 00:36:34 (#2497861)

DOS

Статья про MSDOS на Луркоморье:

http://lurkmore.to/DOS

Proolix имеет много общего с MSDOS. Хотя я и реализовывал системые
вызовы POSIX, тем не менее Пруликс, как и МСДОС, однозадачный, работает
с файловой системой FAT, имеет исполнимые файлы образа памяти (BIN или
COM) с блоком PSP, блоки памяти, EXE-подобный формат (недоделан),
системное прерывание типа int 21h (но с другим номером, кажется 83h) и т.д.

Кстати, в Пруликсе есть простейший MSDOS-эмулятор mse, в котором
частично запускались отладчик afd (и кажется debug), Turbo C (или Turbo
pascal), Volcov Commander, кажется какой-то архиватор и игра типа диггера

--
Prool
http://prool.kharkov.org

     ответов: 0   2012-06-22 18:07:40 (#2489752)

Emacs

FYI

Статья про текстовый редактор GNU emacs на Луркоморье

https://lurkmore.to/GNU_Emacs

     ответов: 0   2012-06-16 23:14:46 (#2483828)

Продолжение про OS/2

Достоинства и недостатки системы

Для своего времени эта штука была очень даже неплоха. Из основных плюсов:

отдельные сегменты ядра написаны на ассемблере с использованием
практически всех (а не только самых общеизвестных) возможностей
процессора i386 (в отличие от других ОС для PC). Уже в версии 3.0 1994
года код преимущественно 32-разрядный. С каждой новой версией оставшиеся
участки 16-разрядного кода замещаются 32-разрядным.

стабильная работа ядра системы и прикладного софта, даже при
высоких нагрузках (именно поэтому часто использовалась на банкоматах,
узлах Фидонета и др.) (В некоторых банкоматах она пользуется до сих пор)

хороший отличный TCP/IP стек, к тому же BSD4.4-совместимый

поддержка программ DOS и Win16, а в Warp 4.0 -- и Win32, из-за
присутствия внутри полуоси чуть более, чем половины библиотек Windows
3.1, специально лицензированных у Микрософта (реально, DOS и WIN
3.1/3.11 задачи работали быстрее и надежнее, чем под DOS'ом. <<Лучшая
DOS, чем MS-DOS, и лучшая Windows, чем MS-Windows>>. Odin -- аналог Wine,
увы, так и не допилили)

быстрая Java-машина (по результатам некоторых тестов, самая быстрая
x86-реализация вообще)

расово верный встроенный язык программирования REXX

Недостатки:

отсутствие поддержки PnP, что в 1996-м году заставляло страдать
юзеров, уже попривыкших к этому в Форточках'95 и отвыкших от
самостоятельного конфигурирования параметров устройств вручную.

вялое сотрудничество IBM с производителями железа и софта, на
которое часто жалуются пользователи

Вышеупомянутый маркетинговый фэйл -- ни тебе широких рекламных
акций, ни презентаций красивых картинок, ничего похожего на
микрософтовский пеар.

Всё это сводилось к холивору фанатов полуоси и виндузятников. Смысл
сводился к тому, что полуось работала стабильней чем Windows 9x, но под
винду софта и дров было больше.

Например:

- а в выне окошки кpасивее, ось - мастдай!
- а ось pаботает устойчивее, вынь мастдай!
- а под вынь софта больше, ось - мастдай!
- а вынь одни чайники юзают!
- сам чайник!
- а ось все pавно кpуче...

Жизнь после IBM`а

Даже в 2009 году полуось поддерживается по отдельным договорам и
используется в некоторых банкоматах и POSах, ввиду гораздо большей
устойчивости, чем винды (вы никогда не видели банкомат с BSODом? Или с
радостно мигающей на экране надписью <<неизвестная ошибка, ОК?>>? Ещё
увидите, неоднократно (на самом деле в относительно новые банкоматы
давно ставят винду.

Так же, купив eComStation любой версии и доплатив ещё 128 рублей, можно
получить дистрибутив последней версии OS/2 от IBM (пруф:
http://ru.ecomstation.ru/ecoshop/?action=7)

А ещё, совершенно безумная команда российских и буржуазных программистов
пишет Open Source версию OS/2 с нуля. Называется сиё чудо osFree и
базируется на микроядре L4 Fiasco, из-за чего уже появилось рабочее
полулулзовое название <<Проект беда>>.

Есть и другая команда российских и украинских программистов, которая
пишет Closed Source версию OS/2, но, естественно, не с нуля, а на основе
пусть старых, но все же исходников, доводя их до текущего уровня. Их
жизнь <<слегка>> осложняется тем, что исходники одного только ядра
представляют собой восемьдесят мегабайт ассемблерного кода,
рассчитанного на выполнение на 286-х процессорах. Назывался этот проект
<<Чахлик невмирушщий>>, а теперь называется OS/4 Phoenix. Трекер находится
по адресу http://tracker.os4.su

Описания функций API и руководство к ним из IBM OS/2 Toolkit были
переведены на русский язык, в книге десятки сотен глав (во что, как
обычно, никто не верит), но, к сожалению или к счастью, аффтар слишком
увлёкся Лиспом и прочей функциональщиной, так что законченной версии мы
никогда не увидим.

Кроме того, Полуось пользуется популярностью у даунгрейдеров, но на
самом деле, для большинства даунгрейдеров сейчас основной ОС является
Windows 98 SE -- которая некоторыми энтузиастами до сих пор
допиливается/хакается (к примеру, сборка от IFk0), что частично
компенсирует забитый на нее болт от производителей железа/софта.

Алсо

Одним из неофициальных лозунгов сабжа было: <<Размер имеет значение>>, так
как OS/2 помещалась на дискету, имея при этом джентльменский набор софта
- ядро, стек TCP/IP, текстовый таскменеджер и текстовый шелл -- это было
сделано для построения <<роутера на одной дискете>>

Вообще-то, OS/2 существовала и до нашумевшего проекта OS/2 3.0 Warp, о
котором собственно сама статья. Самые первые версии так же как и дос не
имели GUI (там переключались полноекранныя сеансы), более поздние имели
GUI, уже начиная с версии 1.1 (1988 год). Видеодрайверы, которые юзал
этот GUI, были 16-разрядными, а в комментариях к ихним исходным кодам
стояло... да-да, Windows 2.x :) и работали они в полуоси аж до середины 90-х.

Некоторые части ядра были написаны IBM-ом: механизм страничной памяти,
таймеры и обработку прерываний делал внезапно Майк Коган (и он же
проектировал API), драйверы и файловые системы -- Стив Мастрианни. Другие
-- мелкомягкими: переключение из 16-разрядного режима в 32-разрядный
написал Гордон Летвин, файловая система HPFS -- тоже его лап дело. Так
чем же первоначальная MS OS/2 отличалась от первоначальной IBM OS/2. А
ничем, поскольку вплоть до версии 1.2 оно разрабатывалось совместно.

А вот насчёт версии 2.0 мнения уже разошлись: IBM хотела дальше
развивать кодовую базу пополамы версий 1.х, тогда как мелкомягкие хотели
всё переписать заново и запилили проект под названием OS/2 NT (угадайте,
что из него потом выросло), и выпустить его когда-нибудь потом как OS/2
3.0, и потому в разработке версии 2.0 участия практически не принимали.
На что в Голубом Гиганте весьма обиделись, да тут ещё и свежевышедшая
Винда 3.0 стала мозолить им глаза, так что между ними приключился развод
и попилка шкафа.

Источник: http://lurkmore.to/OS/2 (текст сокращен и слегка облагорожен)

     ответов: 0   2012-05-15 17:09:45 (#2456494)

Немного истории операционных систем. OS/2

OS/2 (полуось, ось, полумух(а), муха) -- операционная система, созданная
IBM для писюков, на первом этапе совместно с Microsoft. В начале 90-х
годов -- предмет фапа фанатов, ничуть не меньшего, чем сейчас линупс.
Эпичнейший маркетинговый фейл IBM. Которое даже и не заметило, что
где-то там у них была операционная система.

Жил да был Билл Гейтс. И купил он для IBM PC дисковую операционную
систему QDOS за 50000 американских рублей. Далее называлась она уже
MSDOS. Была та дось крива, тупа, убога, 16-битна и без графики. Отчего
во второй половине 80-х гг мучились все неимоверно, а тут еще маки
вылезли со своей грааааафикой, гуееееем и прочими пищалками и
перделками, на радость юзерам. Отчего стало Биллу, а еще больше ИБМу,
горько и обидно, и задумали они сделать свою систему с блекджеком и
шлюхами, то есть защищенным режимом процессора (а, значит, возможностью
использования программами кучи памяти и какой никакой защитой этой
памяти от взаимных глюков), нормальной файловой системой (а не FATом
образца 78 года, который на винтах в сотню бегамайт уже являлся
полнейшим и бесповоротным фейлом, что, впрочем, не мешает ему вовсю
использоваться и спустя уже 33 года), и прочим там. И сделали Windows
1.0. В результате возникшего срача Микрософт с Ибмом расплевались на
веки вечные, Билли пошел доделывать свои форточки, а ИБМ продолжила
продвигать получившееся.

OS/2 Warp3

Примерно к 93-95 году у полуоси еще были шансы. Альтернативой на те
времена ей были только Windows форточки 3.0-3.1-3.11, с наивысшими
достижениями -- встроенной сетью для рабочих групп и кооперативной
многозадачностью (Имеется в виду, что программа отдаст процессорное
время другой программе только если сама этого захочет, а не потому что
надо как при <<честной>> многозадачности, то есть если одна программа
висла -- то висла система целиком). А если задача решила повисеть, юзеру
остается только подождать. Впрочем, кооперативная многозадачность суть
не бог весть какая проблема, поскольку даже у Маков оно такое было аж до
2000 года, до Mac OS X). Но то про винду, а вот и полуось была тоже не
сахар -- драйверов под железо нет, требования к железу (проц и память
прежде всего) по тем временам просто чудовищные (нет, ну вы только
вдумайтесь! Эти буржуи в 1993-м хотели целых 8 (восемь!) мегабайт озу!,
родных программ -- почти нет, процедура установки и настройки -- примерно
как у gentoo. Хотя даже Windows 3.1 требовала под себя только от 2
мегабайт (не гигабайта, а именно мегабайта), и при этом на ней даже
можно было работать в Microsoft Word 6.0/Excel 4.6 тех времен, мало,
кстати, изменившихся по основным функциям.

То есть в это время Микрософт тоже не спал. В 95 году была выпущена
Чикага, виндовз95, ставшая могучим прорывом -- уже, можно сказать, почти
нормальная система защищенного режима и вытесняющей многозадачности,
работая под которой можно было почти забыть про досовскую основу. В
которой тоже уже была нормальная графика, унифицированная работа с
устройствами (программерам на радость, особенно всяким гамерописателям,
которым стало не надо из каждой игрушки лезть прямо копытами в
видеокарты и прочее железо, то есть каждый раз писать эти куски заново,
и под каждое новое железо) и всё то прочее, что сейчас, через 15 лет,
считается само собой разумеющимся.

OS/2 Warp4 Rus

Параллельно развивалась и НТя (по тем временам 3.5). С не сильно
большими успехами, ввиду еще бОльших требований к железу, и еще большими
заскоками. Но уже с нормальной NTFS (расово развитым на основе полуосной
HPFS, на которую Микрософт имела права), нормальной внутренней
структурой (практически на 100% унаследованной из DEC'овской VAX/VMS,
ведущий архитектор которой как раз в те годы перебежал к мелкомягким) и
прочим.

Говорить о том, что с выходом маздая 98 и нти 4.0 полуось слилась, по
меньшей мере преждевременно, поскольку в 1999 году была выпущена версия
4.50, имевшая ряд существенных улучшений и включающая такие новые
возможности, аналоги которых отсутствовали на тот момент в продуктах M$.
Что, впрочем, действительно не помещало юзерам мигрировать в
красиво-завлекательное щасте от Мирософта.

(Источник: Луркоморье, сокращено)

     ответов: 0   2012-05-14 11:09:47 (#2455166)

Блогун

На сервисе Сабскрайб.Ру завелся Блогун (blogun.ru).
А именно, в архиве выпусков рассылок на некоторые слова ставится
рекламная гиперссылка.
И теперь не поймешь, где мои авторские ссылки, а где рекламные ссылки
от Блогуна.
Это не есть хорошо, надо подумать, что делать.
В присылаемых по почте выпусках блогунских ссылок пока не ставят

     ответов: 0   2012-05-14 11:09:41 (#2455165)

Proolix for Nokia

Hi, All!

13 апреля я купил себе дешевый (так называемый бюджетный) телефон
Nokia 1616. Оказывается, его можно перепрошивать (там внутри
флеш-память), только у телефона нет стандартного разъема и нужно
припаивать кабель к двум секретным точкам на плате. Таким образом
можно разработать и зашить в него мобильную версию ОС Proolix! Правда,
меня останавливает неумение паять и боязнь испортить телефон, но идея
хорошая, годная.

     ответов: 0   2011-05-15 16:03:05 (#1603637)

О написании своей ОС

В дружественную рассылку <<Создай операционную систему УжОС>>
(http://subscribe.ru/catalog/comp.soft.othos.kretos/), где дискуссия
ушла в сторону "а давайте изучать внутренности Windows 7 и создадим
безглючный аналог Виндов" я написал вот что:

Кстати, коллеги, я думаю, не стоит зацикливаться на изучении только Виндов
и Линуксов. Всё это мейнстрим в мире ОС. Любому системному программисту
надо знать новые веяния - микроядерную архитектуру, ОС реального времени,
HURD, ОС для однокристалльных микроконтроллеров, распределенные ОС,
завалишинский Phantom, ОС для телефонов и стиральных маших и т.п. Да и
историю надо знать, по крайней мере в качестве хобби - всякие MSDOS, RT-11,
CP/M, VM/360. И системы виртуализации типа VDS тоже по сути почти ОС

Даже если среди нас не заведется второй Торвальдс, Кокс, Таненбаум или
Комер, изучение существующих ОС и попытка сделать что-то своё много даст.

     ответов: 0   2011-04-13 21:42:07 (#1536754)

Нас нас напали!

"Нас нас напали!" (с) Warctaft II

На меня пришла жалоба. Душераздирающие подробности по ссылке:

http://prool1.kharkov.ru/archives/310

     ответов: 0   2011-03-25 17:40:39 (#1485087)

С 23-м февраля!

Всех пользователей ОС Пруликс, всех разработчиков, которые что-то пишут
или портируют под Пруликс, всех менеджеров компьютерных магазинов,
которые продают ноутбуки с предустановленной ОС Пруликс и вообще всех,
всех, всех

с праздником 23 Февраля!

Ура!

     ответов: 0   2011-02-23 15:48:36 (#1435181)

OS и MUD

Hi, All!

Кстати, написание ОС и написание мада - задачи близкие. Мад - это по
сути тоже специлизированная ОС со своим командным интерпретатором,
графическими оболочками, ядром, процессами (или их эмуляциями),
демонами. Линус Торвальдс начал разработку своей ОС как разработку
терминальной программы, а потом пошло-поехало (кстати, этот постинг я
наибраю в середе ОС Ubuntu Linux).

Посмотрите, например, на мад сервер FluffOS, который уже почти ОС:

http://en.wikipedia.org/wiki/FluffOS

     ответов: 0   2011-02-21 10:58:00 (#1431403)

С днем программиста, коллеги!

Даешь расово верную ОС Пруликс как основную национальную ОС для России и
Украины!

Так победим!

     ответов: 0   2010-09-14 10:55:39 (#1208522)

News

Hi, All!

Векторную гипертекстовую национально и расово верную ОС Пруликс я слегка
подзабросил. Последнее телодвижение было в начале 2006 года, когда я
начал реализовывать поддержку FAT-32 и даже сделал ее чуть больше, чем
наполовину. А с загрузкой с флешек не получилось, так как все мои
рабочие машины аппаратно не поддерживают загрузку с USB и тестировать
оказалось негде. Но файловая система на флешке оказалась тем же старым
добрым FAT'ом

Правда, примерно с неделю назад я экспериментировал со старой машиной
133 МГц - 16 М на предмет извлечь из нее немного фана и лулзов и для
проверки работспособности грузился с bootable Proolix CD (успешно). Но
окончилось все тем, что я поставил на эту машину старую версию FreeBSD,
а именно 4.9. Душе- и байтораздирающие подробности здесь:
http://prool.livejournal.com/1083127.html Кстати, программировать я не
бросил, сейчас делаю онлайновую игру класса MUD:
http://subscribe.ru/archive/inet.thoughts.newsofprool/200807/02232743.html

Это сообщение проклято, первые две попытки отправить его в дискуссионный
лист не прошли, пришлось в качестве теста посылать бут-сектор.

     ответов: 0   2008-07-11 11:31:51 (#762118)

Бут-сектор

Длина бут-сектора 512 байт!

Ура!

     ответов: 0   2008-07-11 11:21:26 (#762116)

boot sector

PAGE ,79
jumps

; FDD Boot sector ver. 0.0.4.0 20-Apr-96 from Proolix operating system
; Copyright (C) Serge Pustovoitoff, 1993-1996
; При отладке бута учитывались многочисленные полезные замечания, которые
; сделал Алекс Семеняка и Юрий Белотицкий (bela@p*****.ua)

; History in stack order
; 0.0.4.0 20-Apr-96 загружаемый файл /boot может быть сжат pklite'ом
; 0.0.3.1 24-Mar-96 replace chr1 '.' -> char1 176
; 0.0.3.1 12-Mar-96 PSPSeg = 3050h
; 0.0.3.0 25-Feb-96 PSPSeg = 1050h
; 0.0.3.0 10-Jan-96 - загружаем не /kernel, а /boot (см. файл history,
; запись 0.0.1.4 10-Jan-96
; 0.0.2.3 16-Sep-95
; 0.0.2.2 15-Sep-95 - разветвление на FDD и HDD бут сектора
; 0.0.2.1 25-Feb-95 - до этого история не велась... (см. также общую историю
; в файле kernel/history.doc

; Смещение, связанное с тем, что во время компиляции
; адресом начала является 100h, а во время
; выполнения 7c00h
off equ 7c00h-100h

Drive equ 0 ; Загрузочный диск A: (FDD 0)

PSPSeg equ 3050h ; Сегментный адрес, куда будет
; загружен /boot (точнее, его PSP)

FATaddr equ Buff

; Макрос. Вывод одного символа через ROM BIOS.
chr1 macro sym
; Not worked in graph mode (registr bl - background color!)
; NO SAVE REGS !!!
mov ax,0e00h+sym
int 10h
endm chr1

sayr macro str
; NO SAVE REGS !!!

; Макрокоманда, аналогичная макрокоманде say. Только say использует
функцию 9h
; ДОС, а sayr - функцию ROM BIOS (функция 0eh прерывания 10h)
; В графических режимах не работает

mov si,offset str
call sayr_proc
endm sayr

locals

.model tiny
.code
org 100h

Begin: jmp short start
; Таблица параметров диска
db 90h ; NOP
; '12345678'
OEM db 'Proolix '
SectSiz dw 512
ClustSiz db 2
ResSecs dw 1
FatCnt db 2
RootSiz dw 112
TotSecs dw 720
Media db 0fdh
FatSize dw 2
TrkSecs dw 9
HeadCnt dw 2
HidnSec dd 0
BigNo dd 0 ; Big total no of sectors
db 0 ; Head No
db 0h ; Physical drive no
db 29h ; Extended boot signature
;dd 1 ; Volume serial no
;FATaddr label word ; !
dw 0 ; ! internal vars
StartClu dw 0 ; !
Lbl db 'BOOT ' ; Volume label
db 'FAT12 ' ; File system ID
RootSize dw ' '; use 2 last bytes of File system id
OldVec dw 2 dup (0)

start:
; push CS
; pop DS
; sayr OEM+off
; Значения регистров после загрузки boot-сектора
; CS:IP = 0:7C00 SS=30 SP=F6 ES=0

; 0:0 - 0:200 - таблица прерываний
; Стек: c 30:F6 (0:3F6) растет к 0 (0:200-0:400 - стек)
; ROM BIOS area 0:400-0:500

; cli
; Модификация diskette param table (взято из бута MSDOS 6.0)

; нужен ли в нижеследующей команде префикс ES: ?
lds si,dword ptr ES:[78h] ; DS:si - vector diskette param table
; diskette param tble
; Bytes:
; 0 - bit 0-3 - SRT (step rate time), 4-7 head unload time
; 1 - bit 0: 1 if DMA, 2-7 head load time
; 2 - motor wait (in 55 ms)
; 3 - sec size (0 - 128, 1 - 256, 2 - 512, 3 - 1024)
; 4 - EOT (finish sector on track)
; 5 - interval length for ReadWrite
; 6 - DTL - Data Transfer Length (maximal)
; 7 - interval length for formatting
; 8 - Filler
; 9 - head settle time (in ms)
; a - motor start time (in 1/8 s)
mov byte ptr [si+9],0Fh ; head settle := f
mov cx,TrkSecs+off ; TrkSecs
mov [si+6],cl ; Data Transfer Length
; sti
mov dl,Drive
xor ax,ax
int 13h ; Disk dl=drive ah=func 00h
; reset disk, al=return status
jc l_err

push CS
pop ES

push CS
pop DS

; Вычисления
mov al,byte ptr FatCnt+off
cbw
mov cx,word ptr FatSize+off
mul cx ; ax*cx -> dx:ax
add ax,word ptr ResSecs+off
; ax - Root Beginning Sector
mov word ptr StartClu+off,ax
PUSH ax

mov ax,word ptr RootSiz+off
mov cx,32
mul cx

mov cx,word ptr SectSiz+off
div cx ; dx:ax / cx -> ax; mod -> dx
or dx,dx ; Если остаток ненулевой, то прибавляем еще один
jz l_ll ; сектор (последний неполный сектор root'а)
inc ax
l_ll:
; ax - Root Size in Sectors
add word ptr StartClu+off,ax
mov cx,ax
mov word ptr RootSize+off,ax
POP ax ; ax - Root Bg Sec
@loop: ; Загрузка корневого каталога посекторно и посекторный поиск в нем
; имени ядра
push cx

push ax
mov bx,offset Buff+off
mov dl,Drive
push ax
call SecRead
jc l_err
pop ax

; push ax
; chr1 'R'
; pop ax

mov cx,16 ; root entryes in 1 sector
@l: push cx

mov cx,11
mov di,bx
mov si,offset Lbl+off
rep cmpsb
je l_found

pop cx
add bx,32
loop @@l

pop ax
inc ax

pop cx
loop @@loop
; end of load root dir
; HЕ HАШЛИ ЯДРА

l_err:
; chr1 'E'
call ohw
xor ah,ah
int 16h
int 19h
;Vis: jmp short Vis

sayr_proc proc ; Ver 0.0.1 9-Dec-93
; Процедура вывода строки при помощи функций BIOS
; Вход: DS:SI - ASCIIZ строка.
; NO REG SAVED !!!
; В графических режимах не работает
; cld
sayr_l1:
lodsb
or al,al
jz sayr_ret
mov ah,0eh
int 10h
jmp short sayr_l1
sayr_ret:
ret
sayr_proc endp

l_found: ; HАШЛИ !
pop cx
; Found kernel
; bx - kernel dir record
; word ptr [bx+1ah] - 1st cluster
mov ax,word ptr [bx+1ah] ; ax - 1st cluster

; Загрузка FAT в ОЗУ
PUSH ax ; save ax with 1st clu no

mov ax,word ptr ResSecs+off
mov bx,offset FATaddr+off
mov cx,word ptr FatSize+off

; Загрузка ядра покластерно (по цепочке из FATа)
; Загрузка FAT
@l: mov dl,Drive
push ax
call SecRead
jc l_err
pop ax
add bx,512
inc ax ; Next sector!

; push ax
; chr1 'F'
; pop ax

loop @@l

mov al,byte ptr ClustSiz+off
cbw
mov dx,word ptr SectSiz+off
mul dx
mov cx,ax ; Cluster Size in Bytes

POP ax ; restore ax (1st clu no)
mov bx,PSPSeg
mov ES,bx
mov bx,100h
l2: mov dl,Drive
call CluRead
push ax
chr1 176
pop ax
add bx,cx
call NextClu ; set ax
jnc l2

; EXEC! Запуск ядра
; mov ax,PSPSeg
; mov DS,ax
; mov ES,ax
; cli
; mov SS,ax
; mov SP,0fffeh
; sti

; sayr OEM+off

; *(int far *)MK_FP(PSP,2)=0x9FFF; /* для LZEXE */
mov ax,PSPSeg
mov DS,ax
cli
mov SS,ax
mov SP,0fffeh
sti
; mov ES,ax
; mov word ptr ES:[2],9FFFh

db 0eah ; JMP PSPSeg:100
dw 100h,PSPSeg

NextClu proc ; Input: ax - cluster no
; Output: ax - next cluster from FAT
; cf=1 if EOF
; Use global var:
; FATaddr dw 0
; REGS SAVED !

push bx
push cx
push dx
push si
push di

mov di,ax
mov bx,3
mul bx ; dx:ax := ax * bx
shr ax,1 ; ax := ax /2
; ax - addr in FAT
mov si,ax
mov bx,offset FATaddr+off
mov ax,word ptr [bx+si]
test di,1
jz @@1
mov cl,4
shr ax,cl
jmp @@2
@1: and ax,0fffh
@2:
; cmp ax,0fffh
; je @@cf
; cmp ax,0ff7h
; je @@cf
cmp ax,word ptr TotSecs+off
ja @@cf

clc
@ret:
pop di
pop si
pop dx
pop cx
pop bx

ret
@cf: stc
jmp @@ret
NextClu endp

SecRead proc ; ver 0.0.1 3-Nov-94 (for FDD boot)

; Read absolute sectors
; Input: ax - abs sec number
; dl - drive (for int 13h Fn=2)
; ES:bx - buffer
; DS - data segment reg

; Use global variables:
; word ptr HeadCnt+off
; word ptr TrkSecs+off

; Output: cf=1 if error
; NO ALL REGS SAVED !!!

; push ax
push bx
push cx
push dx
push si
push di

mov si,bx ; save bx & dx
mov di,dx

PUSH ax

mov ax,word ptr HeadCnt+off
mov cx,word ptr TrkSecs+off
mul cx ; dx:ax := HeadCnt * TrkSecs
mov bx,ax ; bx = HeadCnt * TrkSecs

POP ax
xor dx,dx ; dx:ax - Abs Sec No
div bx ; ax=Track=AbsSec/(HeadCnt*TrkSecs); dx - mod (Sec
on Cyl)

mov bx,ax ; bx - track no

mov ax,dx
xor dx,dx ; dx:ax - module (Sec on Cyl)
div cx ; Head=[dx:ax]/TrkSecs;ax - Head; mod (dx) - Sec on
Head-1
inc dx ; dx - Sec on Head

mov cx,5
l_loop:
push cx

mov cl,dl ; sector
mov ch,bl ; track ; Warning: track < 255 !!!
mov bx,si ; Restore bx - offset for buff
mov dx,di ; Restore dl - drive no
mov dh,al ; head
mov ax,0201h; Fn=02, Read 1 sector
int 13h
jnc l_break

pop cx
loop l_loop
jmp short l_ret
l_break:
pop cx
l_ret:
pop di
pop si
pop dx
pop cx
pop bx
; pop ax

ret
SecRead endp

CluRead proc ; Read cluster
; Input: ax - cluster number
; dl - drive (for int 13h Fn=2)
; ES:bx - buffer
; DS - data segment reg

; Use global variables:
; StartClu dw 0 ; Number sector of 1st
cluster
; ClustSiz db 2
; SectSiz dw

; ALL REGS SAVED !!!

push ax
push bx
push cx

; Sector = StartClu + ((Clu-2) * ClustSiz)
PUSH bx
PUSH dx
dec ax ; ax:=ax-2
dec ax ;
mov bx,ax
mov al,byte ptr ClustSiz+off
cbw
mov cx,ax
mul bx
add ax,word ptr StartClu+off
; ax - sector
POP dx ; Restore dl
POP bx
; cx - ClustSiz
@l:
push ax
call SecRead
jc l_err
pop ax
add bx,word ptr SectSiz+off
inc ax
loop @@l

pop cx
pop bx
pop ax

ret
CluRead endp

ohw proc

; Вывод слова в HEX-виде. Вход: слово в ax.
; Все регистры сохраняются.
; Вызывает подпрограмму ohb

push ax ; Сохр. ради al.
mov al,ah
call ohb
pop ax ; Восст. al.
call ohb
ret
ohw endp
ohb proc

; Procedure output hex byte Ver 0.1.1 6 Dec 93 via BIOS
; Input: AL - byte
; All regs. reserved ;)

; Not worked in graph mode. bl - bg color !!!

push ax
push cx
push dx

mov dl,al
mov cl,4
shr al,cl
call ohb1

mov al,dl
and al,0fh
call ohb1

pop dx
pop cx
pop ax

ret

ohb endp

ohb1 proc ; Regs not saved !!!
push ax

cmp al,9
ja @@_1 ; al > 9
; al <= 9
add al,'0'
jmp @@_out

@_1: add al,'A'-10
@_out: mov ah,0eh
int 10h

pop ax

ret
ohb1 endp

Buff label byte
end Begin

     ответов: 0   2008-07-11 11:21:14 (#762115)

И снова о компьютерной безопасности

Если Вы хотите поработать с важным для себя сайтом (онлайн-банкингом
или важным веб-мейл ящиком), то Ваша машина должна быть чистой,
то есть, запущен должен быть только один браузер и всё, больше никаких
программ (за исключением антивирусного монитора и фаерволла,
естественно, которые должны быть запущены всегда и запускаться
автоматически при включении компьютера).
Лучше всего перед началом важной работы перезагрузиться (и после
окончания работы тоже!)

В браузере должно быть открыто только одно окно - с тем сайтом, который
Вам нужен. На этот сайт надо попадать сразу, например, по закладке.
При старте браузер должен стартовать с пустой страницы (about:blank)
Поработали, обязательно закройте сессию аутентификации (то есть, нажмите
на сайте "Выход" или "Logout"), закройте браузер и перезагрузитесь.
А еще хорошо, чтобы Ваш браузер вообще не хранил куки (cookies), а
удалял их при выходе. Чем могут грозить незакрытые сессии и хранящиеся
куки: случайно открытый в другом окне вредоносный сайт или троянская
программа могут методом кросс-скриптинга (XSS) сделать от Вашего имени
некоторые действия на вашем аккаунте (например, поменять пароль или
снять деньги со счета).

Да и вообще, нажимать на любую ссылку в браузере
надо только в том случае, если Вы уверены, что это действительно Вам надо.

Жизнь вообще очень жестокая штука, и Интернет в этом смысле не исключение.

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

Искренне Ваш,

Сергей "Пруль" Пустовойтов, старший глюкмастер.
http://www.prool.kharkov.org

     ответов: 0   2007-09-21 10:18:18 (#692227)

Proolix and USB

Решил опять взяться за свою ОС Proolix, а именно реализовать загрузку ОС
с USB flash drive. Кто может помочь ссылками на материалы по загрузке с
USB, ссылками на API, документацию и т.п.?

Кроме того, для обсуждения проблем этой ОС только что создал
ЖЖ_сообщество proolix:

http://community.livejournal.com/proolix/

     ответов: 0   2006-11-08 12:15:52 (#607768)

Proolix и Google

Google недавно реализовал свой очередной проект: поиск по открытому
исходному коду. Там и код Пруликса тоже есть ;)

     ответов: 0   2006-10-23 13:52:00 (#603148)

Новости

Рассылка близкой тематики (об операционных системах) "ОСознанная
информация" (http://subscribe.ru/member/catalog/comp.soft.othos.osinfo)
закрыта по причине длительного невыхода

     ответов: 0   2006-08-22 14:52:23 (#582857)

Re: Чего нового

Сильно!

-----Original MessageFrom: Serge Pustovoitoff [mailto:pro***@i*****.ua]
Sent: Tuesday, April 04, 2006 12:51 AM
To: Матовых Виктор Дмитриевич
Subject: Чего нового

А ничего ;)

     ответов: 0   2006-04-04 07:18:13 (#533777)

Чего нового

А ничего ;)

     ответов: 0   2006-04-03 17:46:49 (#533645)

Proolix news

Зарелизил на сайте http://prool.kharkov.org/proolix очередную версию
Пруликса, от 14 февраля. Теперь работа с FAT-32 работает еще правильнее
(пока read only)

На очереди: возможность и писать тоже, поддержка длинных имен LFN и
работа Пруликса в Windows XP (если получится). В Windows 98 ядро
Пруликса можно запустить в ДОС-сессии и отлаживать, а в XP система
ругается по поводу прямого доступа к винту. Если обойти защиту не
удастся, нужно будет сделать для отладочного режима простенькую затычку-HAL.

Еще надо подумать о возможности загрузки Пруликса из ASP Loader'а. И по
сети. И с флеш-брелка

Кстати, архитектура Proolix - это "супермонолитное" ядро, в ядро входят
не только все библиотеки, но даже простой командный интерпертатор и
несколько утилит (например, ls и cat, только они называются l и Cat,
чтобы не путаться с внешними ls и cat). А было время, когда в ядре был
свой эмулятор MSDOS, но я его уже вынес во внешнюю утилиту mse

     ответов: 0   2006-02-15 14:45:01 (#515638)

Proolix news: FAT-32

Используя метод тыка и некоторую нагугленную информацию вчерне написал
поддержку FAT-32. По крайней мере ядро Пруликса только что прочитало
корневой каталог моего FAT-32-винта (а корневой каталог в FAT-32 - это
не область диска как в FAT-12/16, а обычный файл, представляющий собой
цепочку кластеров)

Зарелизил ЭТО здесь:

http://prool.kharkov.org/proolix

http://www.users.itl.net.ua/~prool/proolix.html

     ответов: 0   2006-02-06 19:44:17 (#511645)

FAT-32

4 февраля после длительного перерыва опять начал ковырять Пруликс
(Proolix-d). В нем, как известно, уже реализована поддержка файловых
систем FAT-12 и FAT-16, а я решил методом тыка реализовать и FAT-32.
Пока не получилось, ищу в Инете доку, разбираюсь, уже узнал много нового
;) Кроме того, код ядра разросся и уже почти не влазит в модель памяти
small (64К код и 64К данные). Надо выносить из ядра все то, что в нем
нафиг не нужно.

И последнее: Использование операционной системы Proolix на территории
США запрещено (не в смысле запрещено какой-то организацией, а просто не
рекомендуется, так как в Proolix-d использована поддержка FAT).
Proolix-l использовать можно ;)

Prool

     ответов: 0   2006-02-05 13:39:59 (#511183)

Re: Патент Microsoft на FAT получил вторую жизнь

Ну и свинство! Выходит, FAT на мыло?

     ответов: 3   2006-01-23 18:08:37 (#503065)

Proolix must die

Похоже, что моя ОС Proolix становится варезом (из-за патентов на FAT).
Патент еще не принят, поэтому скачивайте, пока еще лежит ;)

http://prool.kharkov.org/proolix

Пора уходить в тень :)

Подпись: PrO0l, Ze DaRk HaKeR

     ответов: 0   2006-01-21 22:59:47 (#503824)

Proolix must die

Похоже, что моя ОС Proolix становится варезом (из-за патентов на FAT).
Патент еще не принят, поэтому скачивайте, пока еще лежит ;)

http://prool.kharkov.org/proolix

Пора уходить в тень :)

Подпись: PrO0l, Ze DaRk HaKeR

     ответов: 0   2006-01-18 01:41:36 (#502894)

Патент Microsoft на FAT получил вторую жизнь

Автор: Владимир Парамонов
Опубликовано 12 января 2006 года

Управление США по патентам и торговым маркам (USPTO) признало
действительным патент Microsoft за номером 5,579,517, описывающий
файловую систему FAT (File Allocation Table).

Патент на FAT был выдан Microsoft еще в 1996 году, а споры вокруг того,
действителен ли он, разгорелись около двух лет назад. Дело в том, что
корпорация Microsoft рассматривала возможность лицензирования файловой
системы FAT для использования в накопителях на основе флэш-памяти.
Предполагаемая стоимость отчислений должна была составить либо 0,25
доллара США в расчете на каждый отдельный носитель, либо до 250 тысяч
долларов на производителя.

При этом многие эксперты указывали на то, что политика лицензирования
FAT сделает невозможным применение этой файловой системы в продуктах с
открытым исходным кодом. Таким образом, Microsoft теоретически могла бы
использовать патент для подавления конкуренции со стороны сообщества
open source. В 2004 году общественный фонд Public Patent Foundation
(PUBPAT) потребовал USPTO пересмотреть патент за номером 5,579,517,
который вскоре был признан недействительным.

Однако Microsoft опротестовала данное решение, представив на изучение
комиссии USPTO дополнительные материалы. В результате, на днях
Управление США по патентам и торговым маркам вынесло окончательное
решение, признав за Microsoft право на изобретение, сообщает InfoWorld.
Таким образом, патент за номером 5,579,517 получил вторую жизнь, и
Microsoft может вновь требовать от сторонних производителей выплаты
лицензионных отчислений. Впрочем, пока не ясно, как корпорация
распорядится патентом и будет ли он использоваться для получения выплат
от производителей флэш-памяти. Комментариев по данному вопросу со
стороны Microsoft пока не поступило.

Источник информации: http://www.ibusiness.ru/news/246573/

     ответов: 0   2006-01-18 00:24:36 (#502882)

Берем помощь клуба

Написание собственных микрооперационных систем - одно из любимых
времяпровождений программистов. Оно помогает изучить архитектуру
процессора и прочие тонкости, да и вообще, ОС - это opus magnum и каждый
geek мечтает написать свою ОС.

Вот я, например, иногда пописываю ОС Proolix. Иногда ко мне на огонек
прибиваются другие гики.

Вот например, пришло письмо от Николая Шатохина:

начало цитаты

Посмотрите на мою систему http://whitecross.narod.ru/os_21_10_2005.zip

Загрузчик bootsect загружает код находящийся после него (image.bin образ
для записи на дискету). sb.bin с прилинкованным (по incbin) к нему
kernel.bin собственно само ядро. Если грузить его с помощью bootsect то
все нормально, на дискете тогда нет файловой системы. А если грузить с
помощью загрузчика boot.bin то система перезагружается при загрузке. В
чем проблема?

конец цитаты

Хакеры и хэккеры, желающие занять время и мозги могут поковырятся в этой
проблеме

   "Serge Pustovoitoff (Prool)"   ответов: 0   2005-10-26 17:07:48 (#463120)

Q & A

Hi, All!

Как я уже говорил, иногда свои ответы на вопросы, касающиеся Пруликса,
полученные по е-мейлу или в icq я дублирую сюда, для всеобщего сведения.
Учитывая то, что у Пруликса документация и комментарии в исходниках
очень скудные, эти ответы, я думаю, будут полезны.

Вот еще свежее:

> Перерыл исходники пруликса, но не нашел там модулей файловой системы.
> Не подскажите, как они называются?
> З.Ы. Если на дискете нет файловой системы, то сможет ли ось читать и
> записывать на нее

> файлы (если в ней реализована fat12)

Начну со второго вопроса. Если на диске нет файловой системы, то писать
на диск (дискету) файлы невозможно в принципе, так как файлы вне
файловой системы не существуют. Если на диске нет файловой системы, то
адресуемой единицей информации, из которых состоит диск, будет
физический блок - сектор (размер сектора 512 байт). Для дискет еще можно
писать читать целыми дорожками.

А если на диске есть файловая система, то появляется понятие логического
блока. Для FAT-12/FAT-16/FAT-32 это кластер, размер кластера может быть
разным от 1 сектора и больше. Размер кластера в секторах указан
бут-секторе в переменной ClustSiz (файл src/boot/boots.asm Proolix-d)

Теперь о работе с файловой системой. Эта работа реализована в системе
Proolix-d. Там реализована работа с FAT-12 и FAT-16. Это все реализовано
в ядре, см. каталог src/kernel:

Файл io.c. Функции:

open() - открыть файл
read() - читать из файла
write() - писать в файл
close() - закрыть файл

absread.c и abswrite.c - чтение и запись физического блока (сектора) на диск

cluread.c - чтение кластера

sec4clu.c - вычисление номера первого сектора кластера

dir.c - работа с каталогами

Файл k2.c:

Функции

LinkClu() - определение по номеру кластера номера следующего кластера в
цепочке, составляющей файл

GetFreeClu() - получить номер свободного кластера

AppendClu() - формирование цепочки кластеров (цепляем к цепочке еще один
кластер)

NextClu() - вычисление следующего кластера и загрузка его в кеш

В упрощенном виде работа с FAT реализована в загрузочном секторе.
Загрузочный сектор Пруликса умеет найти корневой каталог, в нем файл по
имени BOOT, загрузить его и передать ему управление

Prool

     ответов: 0   2005-10-26 12:20:15 (#462975)

Re: ау

Матовых Виктор Дмитриевич пишет:

>>Да вроде живы пока и следим за новостями...
>
> Судя по статистике листа новости здесь не часто.
> Что за ОСь вообще?

Лучше всего об этой ОС сказано здесь -
http://www.osrc.info/content.php?article.71

А вот новые (еще не дописанные полностью) описательные ресурсы по этой
ОС, основанные на мощной технологии Wiki:

http://dir.osrc.info/Proolix
http://www.npj.ru/prool/proolix

И самая последняя новость: boot-менеджер проекта Proolix-l умеет
загружать ядра. Уже сделано первое отладочное ядро (ядрышко), цель
которого только перейти в защищенный режим и все. Ядрышко вызывает
перезагрузку компа ;) (чего быть не должно)

Prool

     ответов: 1   2005-09-06 12:03:33 (#431682)

Re: ау

Hello, Матовых Виктор Дмитриевич <Matovy***@m*****.ru>:

> Всем привет! Есть кто живой в этом листе?
>

Да вроде живы пока и следим за новостями...

With best regards, KaLGaN.

     ответов: 0   2005-09-05 16:41:20 (#431159)

ау

Всем привет! Есть кто живой в этом листе?

     ответов: 1   2005-09-05 11:24:09 (#430796)

Новости проекта Proolix-l

Ядра уже загружаются. А именно: бут-сектор загружает бут-менеджер,
бут-менеджер имеет простенький командный интерпретатор с несколькими
командами и, в частности, умеет загружать бинарные файлы как ядра ОС.
Самих ядер пока еще не написано.

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

Сейчас бут-менеджер умеет загружать ядра типа образа памяти (типа bin).
Буду разбираться с форматом ELF и загружать ядра, написанные на С и
скомпилированные в ELF.

По этому поводу несколько глупых вопросов:

- может ли компилятор gcc компилировать не в ELF или a.out, а в некое
подобие .com (то есть, в код, работающий в 16-разрядном реальном режиме
и занимающий менее 64К, а также не требующий
настройки адресов)?

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

   "Serge Pustovoitoff (Prool)"   ответов: 1   2005-08-09 19:00:22 (#414066)

Proolix bootable CD

Сделал загрузочный сидюк с ОС Proolix-d

Это оказалось неожиданно просто при помощи Nero (надо сделать
загрузочную дискету с Пруликсом и ее образ Nero пишет на диск)

     ответов: 0   2005-08-03 12:26:38 (#412230)

Proolix news

У шизофреников обострения происходят обычно весной и осенью (кстати,
почему?), у меня тоже. Близится осень и я опять начал писать Proolix.
Вчера немного пописал бут-менеджер для "линуксового" Proolix-l, получил
фан. Много забыл в ассемблере, впору на монитор стикер вешать "Источник
слева, приемник справа". Кстати, интересно бы на CVS root натравить
систему отображения статистики типа MRTG и отобразить по месяцам, дням
недели, часам частоту изменений (commit'ов)

http://prool.kharkov.org/proolix

     ответов: 0   2005-08-02 12:57:56 (#411707)

Задача

При разработке драйвера вечного двигателя для Пруликса возникла
следующая задача:

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

Числа выглядят так:

старшие четыре бита этого байта - это целая часть, младшие 4 бита-
дробная часть (количество 1/16-х).

0 = 0000 0000 (в двоичном представлении),
1 = 0001 0000,
2 = 0010 0000,
1.5 = 0001 1000 (то есть, 1.5+1.5=3, то есть 0011 0000).

Это же числа могут быть представлены в двухбайтном виде (старший байт -
целая часть, младший - дробная, то есть 1= 0000 0001, 0000 0000), не
важно. Важно то, что если 1 * 1, то это должно быть 1, а 2 * 2 = 4
соответственно, 1 * 1.5 = 1.5, 2 * 1.5 = 3 и т.п. Это коэффициенты
скорости, которые нужно перемножить. Что посоветуете? Тупо перемножать
два байта в таком представлении, а потом делить на 16 (сдвигать 4 раза),
или может есть более изящное решение?

     ответов: 0   2005-05-26 23:47:08 (#374327)

Новый сайт о разработке ОС

Hi, All!

О пользе рекламы и спама (о пользе ли?)

Только что случайно узнал о новом сайте о разработке ОС и
программировании

http://grudina.info/

А узнал я об этом из гостевой одного из сайтов, посвященных КВН.
О как. Таким образом сообщение об этом URL вполне можно было
расценивать как оффтопик и спам (впрочем, сообщение состояло из одного
слова "Привет", а URL был указан в контактных данных)

--
Prool

   "Serge Pustovoitoff (Prool)"   ответов: 0   2005-04-24 00:02:59 (#356237)