Diskuze: SMA-OP
V předchozím kvízu, Online test znalostí Assembler, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 7 zpráv z 7.
V předchozím kvízu, Online test znalostí Assembler, jsme si ověřili nabyté zkušenosti z kurzu.
Pro přdedstavu:
Pokud to chceš pojmout komerčně, neměl bys stavět na volně dostupných zdrojových kódech, alespoň ten tvůj zavaděč jsem našel na Googlu. U operačních systémů se naskýtá otázka k čemu je to dobré, když tu již jsou. Větší smysl má upravit existující Linux.
Zavaděč samozřejmě najdeš všude - je to zavaděč, jinak napsat
nejde... musíš definovat
stejné proměnné atd. Načítání kernelu a FATu by možná šlo i jinak -
ale toto vůbec neřeším - FAT používat nebudu. (Ale chvíli potrvá, než
napíši ten svůj FS.) Proč myslíš, že když si vývoj střežím, že jsem
vydal tento kód... OpenSource a komerčnost moc dohromady nejde:
Zdrojové kódy? Rozhodne OpenSource - ale až po vydání licence. Nějak komerčně to přecijen pojmout musím
Peníze za to sice chci - ale jinou cestou - například reklamy, sponzorství atd...
Smysl? Pročti si to... Nechci vycházet v ničem z již exitujících řešení - OS je hodně a to i mě odrazovalo, ale přesto věřím, že bude zatraceně inovativní...
Vygoogli mi:
OsPrintString:
pusha
mov ah, 0Eh ; int 10h teletype function
mov byte [line], 0
.loadWord:
push si
jmp .chaining
.summary:
pop si
cmp [line], cl
jg .newLine
jmp .writeWord
.chaining:
lodsb
cmp al, 0
je .summary
cmp al, 92
je .chanTestEsc
cmp al, 32
je .summary
inc byte [line]
jmp .chaining
.chanTestEsc:
lodsb
cmp al, 36
je .pop
inc byte [line]
cmp al, 92
je .chanTestEsc
inc byte [line]
jmp .chaining
.pop:
pop si
.writeWord:
lodsb ; Get char from string
cmp al, 0
je .done ; If char is zero, end of string
cmp al, 92 ; Is escape letter?
je .testEsc
int 10h ; Otherwise, print it
cmp cl, 0
je .writeWord
cmp al, 32
je .loadWord
jmp .writeWord
.testEsc:
lodsb
cmp al, 36
je .forced
mov bl, al
mov al, 92
int 10h
mov al, bl
cmp al, 92
je .testEsc
int 10h
jmp .writeWord
.forced:
inc dh
mov byte [line], 0
call OsMoveCursor
jmp .loadWord
.newLine:
inc dh
mov byte [line], 0
call OsMoveCursor
jmp .writeWord
.done:
popa
ret
line db 0
Krom serveru http://programujte.com/forum , kde jsem se ptal, proč mi to
nejde, nenajdeš jinou shodu... (Když už to bylo zveřejněno, nač to
schovávat... )
No dobře. Jen stále nevím, v čem to bude inovativní. S trochu štěstí se ti povede vytvořit druhý DOS.
Ale ten už dávno mám... (Instalačku pro Windows bez nějakého Windows uživatele dost dobře udělat nemohu, ale hotové ISO by snad přenášet šlo (mezi AMD a některými Intel) - takže klidně mohu poslat.) Jak jsem psal - vlastní jádro, vlastní FS, UI atd... Celé fungování jsem propracoval tak, že by trvalo dloho, než bych to vysvětlil - ale výsledkem bude maximální rychlost a práce s dynamickou pamětí - místo OS založeném na nějakém statickém bodu, SMA-OP je vlastě jakousi nadstavbou BIOSU (tuto přímou vazbu však nikdy neztratí - to je ta myšlenka operativního přístupu) - kdy vlastně nemůže nikdy spadnout - jelikož neexistuje něco jako hlavní proud... (Jako třeba hlavní smyčka.)
Když si to vezmeš, tak nemá smysl dělat cokoliv... Nač se vrtat v Linuxu? Když jsem se navíc dovrtal úplně všude... (A to ne v Linuxu, a už prakticky ani v Unixu - ale snad ve všem co se dalo zprovoznit na mém PC.) Je snad lepší přepisovat cizí práci? Která navíc absolutně neodpovídá mé představě... To už raději vezmu čistý list a mám vše takové, jaké jsem si kdysi vysnil... (Udělal jsem vždy to co pro mne dříve nebylo reálné...) Celý PC svět se neustále mění - OS je mnoho - ale jde přeci o to, co nabízí, kde se dají spustit atd... Podobný dotaz padá ve školách - "A proč se toto máme učit?" Důvod není - a je nesmyslné nějaký hledat - žádný není... Můžu se učit programovat na čemkoliv a v čemkoliv - co z toho ale budu mít? Atd...
Jedno je jisté - nikdy to nebude k ničemu - 80% práce budu moci aplikovat naprosto k čemukoliv... A navíc onen JSA Framework (z části něco jako vyšší programování v JSA) plánuji postavit tak, aby byl schopen zmapovat sadu instrukcí. Což už je jen krůček k vlastnímu jazyku... (Jeden již mám - ale ten chci dotáhnout na virtuální stroj - a ne držet se mého operative modelu.)
Zobrazeno 7 zpráv z 7.