Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

OS od nule(ponovo)

[es] :: Kernel i OS programiranje :: OS od nule(ponovo)

[ Pregleda: 4822 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SFilip

Član broj: 42290
Poruke: 102
195.178.55.*



+3 Profil

icon OS od nule(ponovo)28.12.2004. u 22:50 - pre 184 meseci
Postoji li nacin da se napise neki OS "od nule"(ili od neke jednostavne osnove) gde ce najveci deo koda(ili ceo OS, ako je moguce) biti napisan u pascalu?
Open Source. Millions of open minds can't be wrong.
Otvoreni kod. Milioni slobodnih misli ne mogu da pogrese.
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
195.246.3.*



Profil

icon Re: OS od nule(ponovo)29.12.2004. u 00:17 - pre 184 meseci
Ovako odoka gledajuci, ima sanse.

Trebas iz pascala dobiti .obj fajlove (sto bi svaki pascal trebalo da moze da uradi).
Pascal ima podrsku za pointere, sto je naravno jako vazno.
Bitno je da tvoj pascal kompajler podrzava kucanje inline assembler-a (borlandovi alati to imaju, nisam siguran da li je propisano standardom).
Valjalo bi da kompajler ima i sluzbenu rec 'interrupt' ali to nije presudno jer se da simulirati.
Asembler ce ti raditi oko 1-5% ukupnog kooda, sve ostalo mozes da vozis u paskalu.

Ceo os nije moguce napisati bez upotrebe assemblera (ni u paskalu, ni u ceu ni bilo cemu drugom).

I to ti je otprilike to. Neki real-mode OS ('kernel', command interpreter, file system, i/o access, console) mozes napisati u par stotina linija koda - naravno zavisi od toga koliko ces kvalitetno podrzati odredjene stvari.
Naravno, mozes napisati i os za IA-32, sto se samog paskala tice ne bi trebalo biti ogranicenja.

ss.
When something is hard to do, then it's not worth doing.
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
*.zaslon-telecom.si.



Profil

icon Re: OS od nule(ponovo)29.12.2004. u 07:45 - pre 184 meseci
Evo malo da se dopunim :)

Na adresi http://www.schutsch.de.vu ima link 'RS3' za koji autor tvrdi da je funkcionalan os napisan u FreePascalu. Samo sto je lik shvabo, i komentari su mu nemacki, i kood mu je ruzan do zla boga :)
Ali ako vec nekog zanima...

ss.
When something is hard to do, then it's not worth doing.
 
Odgovor na temu

SFilip

Član broj: 42290
Poruke: 102
195.178.55.*



+3 Profil

icon Re: OS od nule(ponovo)29.12.2004. u 11:36 - pre 184 meseci
Zaboravio sam da napisem da koristim Delphi7. Nisam znao da je tako vazno.
Mozes li da mi das jos malo detalja(vec si mi mnogo pomogao, hvala ti unapred) o tome sta da radim sa .obj fajlovima i sta mi tacno treba iz assemblera?
Open Source. Millions of open minds can't be wrong.
Otvoreni kod. Milioni slobodnih misli ne mogu da pogrese.
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
*.zaslon-telecom.si.



Profil

icon Re: OS od nule(ponovo)29.12.2004. u 13:31 - pre 184 meseci
Citat:
...o tome sta da radim sa .obj fajlovima...


Nabavis neki linker koji moze da pravi izlazni format koji tebi treba. Koji ti treba zavisi od boot loadera koji planiras koristiti. Preporucujem ti da ne pravis sopstveni loader, vec da uzmes neki postojeci. Pravljenje loadera je 'pain in the ass' pogotovo sto nisi uopste siguran da li radi to sto loader ucita sa diska. Boot loader ces izabrati na osnovu toga kakav os pravis (real ili protected mode).

Citat:
...sta mi tacno treba iz assemblera?


Za protected mode ti treba od asemblera:
1. Inicijalizacija procesora - sam princip je prilicno komplikovan za razumeti, ali programiranje se svodi da sledis preciznu i jako dobru intelovu dokumentaciju. Radi se samo o setovanjima pojedinih bita u registrima, pojedinih registara i tako to.

2. interapti, tj. kontrola istih.

3. task switching (ako doguras do te faze ;)

uglavnom se prica vrti oko premestanja registara ovamo i onamo, nikakvo specijalno programiranje.


Za real mode:

Ukucas u googletu 'Ralf Brown interrupt list'

Dobro proucis naredbe 'mov' i 'int' :)

I to je sve sto ti od asm-a treba (ne shvataj ovo bukvalno ;). Pravljenje real-mode osa se u sustini svodi na pozivanje funkcija biosa. znaci u registre (ah, bh...) upisujes parametre funkcije koju trazis od bios-a, sa int XXX pozivas XXX funkciju. Liste SVIH parametara i funkcija ima taj Ralf B.

Nego u stvari najvaznije pitanje: znas li C?

ss.

ps. sorry na ovako pausalnim objasnjenjima, mrzi me da kucam opsirnije, a i zaboravilo se dosta. ipak, ako se jos neko zainteresuje, potrudicu se da potrazim vise linkova i da napisem poneki tip za pocetnike.
When something is hard to do, then it's not worth doing.
 
Odgovor na temu

dr ZiDoo
Banja Luka

Član broj: 189
Poruke: 1728
195.252.64.*

Jabber: ZiDoo@elitesecurity.org
ICQ: 299539598
Sajt: zidoo.geek.rs.ba


Profil

icon Re: OS od nule(ponovo)29.12.2004. u 14:47 - pre 184 meseci
OS u Pascalu :)
challange :)

Bilo bi zanimljivo ako kreneš sa tim projektom da sve kodove okačiš na ES, bilo bi jako posjećeno :D
tu nema kašike....
 
Odgovor na temu

SFilip

Član broj: 42290
Poruke: 102
195.178.55.*



+3 Profil

icon Re: OS od nule(ponovo)29.12.2004. u 21:50 - pre 184 meseci
Citat:
Nego u stvari najvaznije pitanje: znas li C?


Ne, nazalost nikad ga nisam naucio. Nakon pascala mi se ucinio nezamislivo tezak(ako se uporede, C i jeste tezak). Zato i zelim da napisem neki probni OS u Pascalu.
Open Source. Millions of open minds can't be wrong.
Otvoreni kod. Milioni slobodnih misli ne mogu da pogrese.
 
Odgovor na temu

Jimi Hex
Zoran Bradilkovic
Cistac ulica, ponekad kaskader
Veliki Siljigovac

Član broj: 30335
Poruke: 82
*.ptt.yu.

Sajt: www.jimihex.cjb.net


Profil

icon Re: OS od nule(ponovo)29.12.2004. u 22:51 - pre 184 meseci
Pozdrav...

[url] http://www.programiranje.net/vodic.php?id=45 [/url]
Pogledaj ovde... mozda ti pomogne, vrlo je zanimljivo, a ako zelis da saznas nesto vise kontaktiraj autora

Poz...
...to follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master...
 
Odgovor na temu

Jimi Hex
Zoran Bradilkovic
Cistac ulica, ponekad kaskader
Veliki Siljigovac

Član broj: 30335
Poruke: 82
*.ptt.yu.

Sajt: www.jimihex.cjb.net


Profil

icon Re: OS od nule(ponovo)29.12.2004. u 22:55 - pre 184 meseci
Pozdrav...

http://www.programiranje.net/vodic.php?id=45
Pogledaj ovde... mozda ti pomogne, vrlo je zanimljivo, a ako zelis da saznas nesto vise kontaktiraj autora

Poz...
...to follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master...
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
*.zaslon-telecom.si.



Profil

icon Re: OS od nule(ponovo)30.12.2004. u 07:59 - pre 184 meseci
Citat:
...Nakon pascala mi se ucinio nezamislivo tezak(ako se uporede, C i jeste tezak). Zato i zelim da napisem neki probni OS u Pascalu.


Pa evo ti najbolji hint koji ti mogu dati: pisi u ceu. Sad ovaj savet zvuci glupo (ja bar ne volim tu vrstu saveta tipa "zasto x, uzmi y") ali:

1. relativno velika zajednica koja se igra oko os programiranja koristi c (preciznije koristi gcc + nasm). samim tim ogromna vecina tutorijala i primera se bazira na tome. svejedno u cemu da pises os, moraces da razumevas te primere i samim tim moras da jako dobro razumes c sintaksu.

2. programiranje osa u ceu ili paskalu je jednako komplikovano s programerske strane. u cemu god da pises kood nece biti komplikovan.

3. u poredjenju sa problemima pisanja osa, c je smesno jednostavan.

Pisanje operativnog sistema je manje poznavanje odredjenog jezika. Jednom kad shvatis STA trebas napisati, samo programiranje je jednostavno da jednostavnije ne moze biti. Debagovanje - to je druga prica :)

toliko od mene, nadam se te nisam udavio ovolikim postovima ;)

ss.


When something is hard to do, then it's not worth doing.
 
Odgovor na temu

dpop
Dragan Đ. Popović
VBD, IT
Brčko distrikt BiH

Član broj: 1879
Poruke: 400
81.94.9.*

Jabber: dpop@elitesecurity.org
Sajt: dragon.objectis.net


Profil

icon Re: OS od nule(ponovo)30.12.2004. u 08:13 - pre 184 meseci
A da malo pogledate recimo sl. lokacije
www.minix.org
http://www.cs.vu.nl/~ast/minix.html a ako ste bas zagrizli u tu oblast iz edukativnih razloga -
sa malo truda se moze naci i source...
Na Google sa recimo "kernel source pascal" ima puno referenci
Howdy & Stay tuned to ...ES.. :))
 
Odgovor na temu

[es] :: Kernel i OS programiranje :: OS od nule(ponovo)

[ Pregleda: 4822 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.