Operačný systén BRDOS

Byrokracia sa natlacila aj do pocitacov. Tymto systemom chcem dosianut modularitu na binarnej urovni a organizaciu. Takisto sa snazim zamedzit opakovanie kodu ako v zdrojakoch tak aj v binaroch a aj v pameti! Fungovanie by som prirovnal k bubline v nadobe s vodou. Ked pri dne pustime bublinku tak sa pri ceste nahor zvacsuje az na hladine praskne. To znamena, ze staci podat jednu ziadost a ta sa v systeme rozsiri, vybavi a potom bez stopy zmizne.
31.10.2012 041

Boot

Moj os bude bootovat z grubu priamo do pmode. Najprv musí nastaviť GDT IDT hromadu a ešte niečo.
31.10.2012 046

prostredie

Programujem na Debian Linux HP laptope. Používam Free Pascal a Netvide Assembler. Jadro potom spústam cez virtualny stroj BOCHS.
31.10.2012 047

GDT

GDT som úspešne nastavil na Flat režim.
31.10.2012 048

Hromada

Hromadu somvyriesil nasledovne. Kazde volne miesto bude mat v sebe datovu strukturu obsahujucu jeho dlzku a ukazatel na dalsi. Hromada sa imicializuje na 4kB v bss sekcii jadre.
31.10.2012 049

Multiboot

Z mulyiboot info struct som uspesne vybral zaciatok a koniec rozsirenej pamete pre Hromadu, prikazovy riadok jadra a multiboot moduli.
31.10.2012 050

Multiboot

Z multiboot info struct som uspesne vybral aj info o pameti takze mozem vyuzit aj viac ako 32MB.
31.10.2012 056

Moduly

Viem spustat multiboot moduly.
31.10.2012 061

Tabulka

Naprogramoval som jednoduchu ale ucinu jednotku na preklad nazvov do cisiel. Akoze NO-HASH-TABLE.
31.10.2012 069

Loader

Tak konecne mi funguje prvý modul akoze multiboot kernel. Jeho ulohov je spustit ostatné moduly. Dokáze: plná jednotka DEBUG ovládanie gdt storage segmentov memory Map moduly a dake info. Dalsie moduly sa budú klást na samostatný segment a ich PSP bude mat dlzku $0020 (32B).
09.12.2012 086

Build script

Naprogramoval som build script v php aby mi ulahčil budovanie modulov. Loader dostal cislo 1.0.
11.12.2012 088

Loader 1.2

Zmenil som trochu strukturu Loader-u aby vyhovoval novemu build script-u. V Loader-e sa este zmenila struktura psp. Kedze je celkom stabilny rozhodol som sa napisat dokumentaciu.
16.12.2012 090

Na stiahnutie

Async 0

Dalsi modul bude mat mat nazov Async. Jeho ulohov je zabezpecit smerovanie preruseni a spristupnenie funkcii Loader-u cez int.
16.12.2012 091

Premenovať Async?

Vyzerá to tak, že modul Async premenujem, ale neviem ake meno mu dám. Meno Async nevyhovuje, lebo tam nieje nič asynchrónne...
18.12.2012 093

Ano premenovať

Meno Async nevyhovuje, lebo tam nieje nič asynchrónne a tak som mu dal zatial meno Coore. Skončil som pri verzii 0.6 keď som opravil bug v jednotke debug :) . Ale vie to: Tabuľky prerušení a setIntVect Vsetky potrebné funkcie su pristupne cez prerusenia Toto este upravim...
29.12.2012 098

Heap

Začal som programovať na dynamickej pameti. Niekde je v kóde chyba pri inicializovaní voľnej pamete to GPF.
29.12.2012 099

Index