dajte ljudi amo se pokrenuti malo. evo ja konkretno imam par ideja za pocetak, i nacin kako bi se mogle realizirati.
prvo, treba razluciti da li mi pokusavamo iskodirati OS, koji ce biti samo demostrator programiranja, tj. da li ce se on samo koristiti kao nekakva referenca kako izprogramirati bootloader u assembleru, kako implementirati kernel u assembleru i slicno. bez da ima ikakav konkretan cilj i viziju. ako je to tako, odmah cu reci da sam van tog projekta, jer se moze naci na stotine referentnih kodova po internetu koje rade te stvari.
ako nas OS treba cak i raditi nesto produktivno, mislim da ultimate goal koji bi trebali postici je da jednog dana se apache+php+mysql vrte na nasem OS-u, i serviraju ovaj forum. kad to postignemo, ako to postignemo, lako cemo dalje...
dakle, target naseg OS-a je x86/32, koristit cemo ELF arhitekturu izvrsnih datoteka, i pokusat implementirati POSIX standard na njega, da bi portanje vec postojecih opensource aplikacija bilo moguce.
svi mi ovdje, koji nesto znamo o arhitekturi postojecih operativnih sistema, smo barem jednom imali viziju u glavi kako bi se nas scheduler ponasao, kako bi okvirno izveli virtualnu memoriju, kako bi to sve skupa lipo i krasno izgledalo...ali veliki je problem to napraviti od pocetka. upravo je glupo misliti kako se sve to i treba raditi od pocetka! najveci je problem kodiranje sistemskih poziva, i manipulacije harverom kroz assembler. pogledajte malo realnost - linux je nastao iz minixa. macosx je nastao iz mach-a/next-a/bsd-a. freebsd je nastao iz bsd unixa, koji je dijelom nastao iz at&t unixa, pa je netbsd nastao dijelom iz freebsd-a, dijelom iz bsd unixa, pa je openbsd nastao iz njega...sve je to jedan veliki lanac. mi nebi trebali raditi jos jednu distribuciju linuxa sa modificiranim kernelom, ni jos jednu verziju iz familije BSD-a. jednostavno zaobici mukotrpan posao kodiranja osnovnih komponenti u assembleru, i pokusat implementirat glavne stvari OS-a, kroz visi programski jezik, ilivam ga C.
na svu srecu. mozemo koristiti OSKit.
http://www.cs.utah.edu/flux/oskit/ . OSKit omogucava programerima OSova upravo ono o cemu ja pricam. njegove biblioteke omogucavaju facilitije za pristup hardveru, POSIX standard, ELF/a.out kompatibilnost, kompatibilnost sa postojecim filesystemima...sta je najbolje, kompletan OSKit je modularan, komponente komuniciraju kroz COM. ako nama nesto ne odgovara, mi bez problema mozemo napraviti nasu komponentu i koristit je zajedno s ostalim OSKit komponentama. kernel koji izbaci OSkit se moze podignuti sa GRUB-om, BSD bootloaderima, i ostalima...eto samo posjetite gornju stranicu, da ja ne pricam sve skupa kad sve pise gore.
prije jedno 4 godine sam dobio tadasnji OSKit, i instalirao ga na Red Hat. procitao sam prvih 30-40 stranica dokumentacije, i napravio nesto sta bi se moglo nazvat kernel. kernel je pri bootanju ispisao na ekran "upisite vase ime :". korisnik bi upisao ime, a kernel bi provjerio jeli ime musko ili zensko i vratio pripadnu poruku (samo provjeri jeli zadnje slovo 'a'. glupo i jednostavno, i ne radi za sve slucajeve). c source kod od tog "kernela", tj programa, je bio velik nekih 25 linija koda. iskompajliran sa linkanjem na OSKit, i prevaljen preko dodatnog utilitia da se moze podignut sa LILOm. eto. sad zamislite koliko bi trebalo linija asm koda da se neka ovakva glupost napravi. puno vise od 25...
i veceras kad sam vidio ovu temu, sjetim se OSKit-a, i vidi srece ono u ports stablu na mom FreeBSD-u 5.4 :). upravo sam ga iskompajlirao, skinio dokumentaciju, pa cemo malo cepkrat iducih dana. dakle, sad imamo bazu - ostaje nam da isprojektiramo kako bi komponente kernela trebale izgledat, i koji bi tip kernela uopce bio, a OSKit ce nam skinut 50% posla u pocetku, tako da mozemo uzivat u C programiranju :)
p.s. a ime OSa? sta kazete na EOS. ESOS ili ES-OS je nekako glupo. bas bi mocno izgledalo kad bootloader prikaze "booting hd0a:/eos-core" :)
Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.
A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.