Názory k článku
Píšeme operační systém: boot
.
celé vláknoRe: .
celé vláknoPíšeme OS... :o)
celé vláknoRe: Píšeme OS... :o)
celé vláknoRe: Píšeme OS... :o)
celé vláknoRe: Píšeme OS... :o)
celé vláknoRe: Píšeme OS... :o)
celé vláknoMně jde hlavně o naučení se RISCovému assembleru, o Chuckův minimalistický optimalizující kompilátor no a samozřejmě v první řadě o tu pedagogickou hodnotu. :-D
Re: Píšeme OS... :o)
celé vláknoqemu
celé vláknoDa sa to vobec ?
Re: qemu
celé vláknoRe: qemu
celé vláknoqemu -fda image.bin -boot a
vypisuje mi to:
Boot from Floppy 0 failed
Fatal: Not a bootable disk
Asi qemu este nieco chyba na to, aby mi qemu ten image zhltlo.
Re: qemu
celé vláknoRe: qemu
celé vláknoAz budem mat cas, tak pogooglim nejaky navod pre debilov, ako spravit boot sektor, aby ho qemu spapal :)
Re: qemu
celé vláknoRe: qemu
celé vláknoRe: qemu
celé vláknoje tam napisane ako bootnut img.
Re: qemu
celé vláknoqemu -L . -m 128 -hda image.bin -localtime
akurat ze mnou vytvoreny image.bin nechce bootnut asi som ho zle
prelozil cez nasm
ale ak tam dam linux.img (distrib. v qemu ako example) tak to ide.
Nostalgie
celé vláknoTaková zajímavost - procesor 286, který měl chráněný režim, vznikl v roce 1982, procesor 386 s pokročilejším chráněným režimem se dostal do prodeje v roce 1986 a teprve první operační systém Microsoftu, který ho uměl skutečně využít, vznikl až v roce ... (hádejte, ale malinko jim to trvalo ;)
Re: Nostalgie
celé vláknoRe: Nostalgie
celé vláknoRe: Nostalgie
celé vláknoCož v plné míře platí i pro první verze MS DOS
Re: Nostalgie
celé vláknoRe: Nostalgie
celé vláknoSpousta dnešních mladých čtenářů nemá o historii MS DOSu ani páru, a kdyby si její nezaujatý výklad přečetli, nejspíš by jen nevěřícně kroutili hlavou až do úplného vykroucení. Holt kuchařka, jak se děla Microsoft, vyžaduje silný žaludek.
Re: Nostalgie
celé vláknoRe: Nostalgie
celé vláknoRe: Nostalgie
celé vláknoHluboce nesouhlasim s blaboly, ze neni problem neco dobreho vymyslet, ale ze je nejdulezitejsi to prodat. Vymyslet dobrou vec je velky problem ! Musite mit lidi, kteri znaji spoustu veci, maji nadprumerny talent, musite mit dobre vedouci projektu a tak dale.... K prodeji potrebujete hlavne okecavace, drzost a nekdy i silny zaludek. Ano - uznavam - bez toho prodeje to nejde. Ale povazuji jej za spise spinavou praci - i tu samozrejme musi nekdo delat, to nepopiram.
Re: Nostalgie
celé vláknoKde to az dojde
celé vláknoTaky mam svuj OS ;) a jen tak pro zajimavost by me zajimalo, az kam tenhle serial hodla zajit :) jestli az po multitasking, ovladac disketovky, hdd, cdrom, VESA :) Proste by me zajimalo, co vysledny OS bude umet :)
Dik za odpoved
Jan Kaluza
Re: Kde to az dojde
celé vláknoRe: Kde to az dojde
celé vláknoZde je starsi verze... Ted uz se tomu moc nevenuju, ale novejsi commity mam doma na svk ;)
Re: Kde to az dojde
celé vláknoJsem v chranenem modu, pouzivam strankovani i segmentaci, funkcni preemptivni multitasking, je to cele v assembleru - napul nasm, napul tasm, mam pouzitelny ovladac klavesnice (tj. preklada vsechny scancodes) a obrazovky (mod 80x50), mam pripraveny ovladac disku (BM-DMA cteni a zapis) a read-only FAT, ale nedokoncil jsem integraci do OS, vlastni spustitelny format zustal nedodelany (trochu jsem ho prespecifikoval) ale funkcni, ovsem bez integrace filesystemu k nicemu. Dost jsem si vyhral s prostredim pro ovladace - TSS, segmenty a jejich alokace - a pote pri studovani linuxu dospel k nazoru, ze to nebyl zrovna uzitecny smer vyzkumu, stejne jako specifikace vlastniho spustitelneho formatu. Nicmene celkove jsem spokojen - bavilo me to a IMHO jsem se i neco naucil.
Jsem zvedavy, jestli se OS v tomhle serialu dostane alespon tak daleko jako ja tehdy.
A. Tanenbaum: Operating Systems Design and Implementation
celé vláknoNemate nekdo tuhle knihu:
http://cwx.prenhall.com/bookbind/pubbooks/tanenbaum/
Budto papirovou, nebo elektronickou.
Za zapujceni jsem ochoten neco zaplatit, jsem v Praze.
Dik, fikus@cyberspace.org
Re: A. Tanenbaum: Operating Systems Design and Implementation
celé vláknoRe: A. Tanenbaum: Operating Systems Design and Implementation
celé vláknohttp://www.cs.vu.nl/~ast/books/book_software.html
Re: A. Tanenbaum: Operating Systems Design and Implementation
celé vláknoZačínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknokdo říka, že ten systém programuje pro peníze? Třeba ho zajíma jak OS fungujou, a nejlepší způsob jak to zjistit je nějakej si napsat, nemyslíš?
Re: Začínat operační systém...
celé vláknoctu zdrojaky kernelu a je to citelne
i pro userland programera :-)
Re: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknododal informace, ktere se pri cteni kernelu hodi :-)
a za druhe, ze prave jadro plan9 ma pekne zdrojaky.
Re: Zacínat operacní systém...
celé vláknooperacni system pisu, v tom mi porucha nebrani.
Re: Zacínat operacní systém...
celé vláknoRe: Zacínat operacní systém...
celé vláknoRe: Zacínat operacní systém...
celé vláknoOvsem to caste psani o poruse na internetu neni jejim projevem.
To pisu proto, ze se poruchou trapim.
Re: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoMyslim, ze uzitecnost programu v assembleru je dana vlastnostmi CPU a pozadavky na program: cim rychlejsi a "standardnejsi" CPU a vetsi pozadavky na program, tim mene assembleru je rozumne pouzit. Cim pomalejsi CPU, horsi prekladac C v dusledku neobvyklosti platformy a cim vetsi cast pozadavku na program je ve stylu "nacpat to i na tento pocitac", tim vice assembleru.
Re: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vlákno- temer kdykoli na internetu nalezenete nejake stranky o tvorbe OS, tak zacinaji, jak rikate, "naprenositelnym skorobootloaderem". Myslim, ze je to takova tradice - neco jako "Hello World"....
> Začínat operační systém (nemáte-li nějaký naprosto revoluční nápad přinášející nové OS paradigma) v době BeOS, HURD, QNX, Plan9 či školního NachOS mi připadá podobně nahlavičkované.
1. operacni system si spousta lidi skousi napsat jen tak pro zabavu
2. i v dnestni dobe widlowz xp existuji situace (napr. ruzne rt sytemy), kde je nejlepsi reseni si sednout a napsat si vlastni os specialne pro danou aplikaci... ale o tom vetsina lam nema ani poneti ;)
> navíc - koho, kromě překladače, dneska zajímá assembler?
kazdeho, kdo chce vedet jak pocitace funguji?
Re: Začínat operační systém...
celé vláknoExistuju ale ich pocet za zmensuje
vid
http://linuxdevices.com/files/article055/embedded-OS-trends.jpg
z
http://www.linuxdevices.com/articles/AT4036830962.html
Al kezde robimv RT Linux-e
ASEN 4519 LAB 9
Assignment Overview
In this lab you will write two simple programs to investigate the effects of the different Linux and RTLinux scheduling policies upon timing accuracies. The first process will run under the standard Linux O/S in user space while the second process will run under RTLinux as a kernel module in kernel space.
Note: Read the RTLinux overview (RTLinux Manifesto) for an overview of the the conceptual implementation of RTLinux
Objectives:
1. Investigate the effects of the different Linux scheduling policies upon process latency time
2. Learn how to write a simple real-time task as a Linux module in RTLinux
3. Investigate the process latency time when implementing the process as a Real-time Linux (RTLinux) module
4. Become familiar with the UNIX/Linux syslog facility
5. Check the man pages for the following commands
Serial sa mi velmi hodi
http://rintintin.colorado.edu/~gifford/lab9.html
Re: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoK tomu nadšení z počátku 90. let se samozřejmě hlásím.
Překlep
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoJá se právě vrhám na assembler, resp. na univerzální jazyk s podporou assembleru. A pár lidí kolem mě ho taky znovu našlo, myslím, že to nebude tak strašné... ;-)
Re: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknoMozna to nekdo pamatujete..ja ne:-)
Re: Začínat operační systém...
celé vlákno//nepral, ale stalo se..jose
Re: Karel
celé vláknoRe: Začínat operační systém...
celé vláknoRe: Začínat operační systém...
celé vláknodrive, ci pozdeji..........
Re: Začínat operační systém...
celé vláknoKdybych dneska začínal s OS, tak začnu s nějakým přítulným emulátorem jednoduchého procesoru (který už někno napsal), překladačem C (který už někdo napsal) a nejspíš i s kernelem nějakého existujícího OS (který už někdo napsal). A úplně nejspíš s tužkou a papírem, abych si rozmyslel, jak to má vlastně vypadat, a jestli ta práce s hnusnými detaily okolo zmršené x86&co má jiný smysl než píchnout značku "tudy ne, přátelé".
ale každému co jeho jest. a jestli jsem někoho urazil, tak se omlouvám.
Re: Začínat operační systém...
celé vláknoPekne!
celé vláknoRe: Pekne!
celé vláknoisto by mohol mat Open Source, casom sa urcite zapoji
viac ludi.
bravo len tak dalej
Re: Pekne!
celé vláknopreklep?
celé vláknodriver = asi drive (disk)
Pro Johanku
celé vláknoRe: Pro Johanku
celé vláknoRe: Pro Johanku
celé vláknoPředpokládám, že na oné "podivuhodné" větě Vám vadilo, že je pouhým časovým určením a nenavazuje na jiný údaj. To není gramaticky špatně, pokud větu vnímáte v kontextu vět, které ji obklopují. Rozumím nicméně tomu, že ne každému takový styl lahodí, a opravím.
Re: Pro Johanku
celé vláknoRe: Pro Johanku
celé vláknoRe: Pro Johanku
celé vláknoRe: Pro Johanku
celé vláknoRe: Pro Johanku
celé vláknoRe: Pro Johanku
celé vláknoRe: Pro Osameleho Linuxaka
celé vláknoRe: Pro Osameleho Linuxaka
celé vláknoOS byl i drive
celé vláknoRe: OS byl i drive
celé vláknouryvek z textu 'Real Programmers Don't Use Pascal':
Jaky typ nastroju pouziva Opravdovy Programator? Teoreticky plati, ze programator muze pocitaci zadavat svuj program klavesami na prednim panelu pocitace. V davne minulosti, kdy pocitace mely predni panel se to tak skutecne delalo. Vas typicky Opravdovy Programator znal zavadec v hexadecimalnim vyjadreni zpameti a namackal ho kdykoliv jej vas program porusil (pripomenme si - pamet byla pamet, pri vypnuti jste nic nazapomeli. Dnes pamet budto zapomene veci, ktere jste zapomenout nechteli, nebo si pametuje veci dlouho pote, kdyby bylo lepe na ne zapomenout). Legenda vypravuje, ze Seymour Cray - tvurce superpocitacu Cray I a II a vetsiny pocitacu firmy Control Data - skutecne namackal prvni OS do pocitace CDC7600 pri jeho prvnim spusteni pres jeho celni panel a to zpameti. Nutno rict, ze Seymour byl Opravdovy Programator.
:-D
Re: OS byl i drive
celé vláknoPZ.
Re: OS byl i drive
celé vláknoRe: OS byl i drive
celé vláknoach jaj
celé vláknoPreco preboha vytahujete haluze ako 16bitove registre, protected mod, BIOS atd?
Chodte s tym do... 20teho storocia som chcel povedat.
R.
Re: ach jaj
celé vláknoLebo sa to stale pouziva a ma to absolutna vacsina pocitacov na svete?
Re: ach jaj
celé vláknoRe: ach jaj
celé vláknoRe: ach jaj
celé vláknoRe: ach jaj
celé vláknoObsluha disku bez BIOSu by se mozna vesla, pokud pouzijes PIO, ale v BOOT sektoru potrebujes kazdy byte na vylepseni hledani image kernelu (nebo dalsi faze bootloaderu), takze si opravdu nemuzes vyskakovat s prepinanim do chraneneho modu ... nemluve o tom, ze pred prepnutim potrebujes z BIOSu vytahat spoustu informaci a ulozit si je.
Re: ach jaj
celé vláknoRe: ach jaj
celé vláknoRe: ach jaj
celé vláknoRe: ach jaj
celé vláknoChybicka se vloudila
celé vláknoqemu
celé vláknonasm -o jadro.bin -f bin jadro.asm
nasm -o image.bin -f bin image.asm
qemu -L . -hda image.bin
qemu : No bootable disk
boot_sector.bin ma 641 bajtov - nieje to vela?
Re: qemu
celé vlákno---
> times 392-($-$) db 90h ;sector musi byt dlouhy 512B
s tímhle číslem mi to dává výsledek dlouhý 512B a v qemu to bootuje!
Nevíte někdo tohle:
- nemůžu najít význam toho ($-$) - pozice ve výslednén souboru po překladu až po aktuální řádku?
- proč 510?
- proč mi to chodí zrovna pro 392?
:)
Re: qemu
celé vlákno
times 510-($-$$) db 90h ;sector musi byt dlouhy 512B
Re: qemu
celé vláknoděrný štítky
celé vláknoPoděkování
celé vláknoBootsector
celé vlákno1. Bylo by možné napsat bootsector v C ?
2. Když mám bootsector v ASM, jak mám zkompilovat program v C, který by ležel na dalším sektoru?
Re: Bootsector
celé vláknoRe: Bootsector
celé vláknodd if=bootsect.bin of=/dev/sda
(alebo cokolvek ine, kde svoj flashdisk mas)
Kod v bootsect.bin neni potreba nijako modifikovat.
Re: Bootsector
celé vlákno2) Zkompilovat jako obvykle. Problem je v linkovani. Mas na vyber bud napsat i druhe casti programu assemblersky zavadec (v podstate neco jako "jmp main", pokud nepotrebujes nejakou specifickou hlavicku tak nic vic nepotrebujes) a slinkovat to s C zdrojakem tak, aby byl ten zavadec prvni (na to obvykle staci aby byl prvni na prikazove radce, alespon pokud je ve spravne sekci), nebo pouzit pokrocilejsi hacky ktere prinejmensim GNU linker umi - napr. nechat si od nej napsat na zacatek programu adresu funkce main.
Pripominam, ze pravdepodobne budes potrebovat nejak vysvetlit linkeru, ze program nezacina na obvykle adrese, nebo ho v boot sektoru na tuto adresu nahrat. Jak to udelas a jaka adresa to je, zalezi na prekladaci - mimochodem GNU C je pro tento ukol nevhodne, protoze preklada pro 32bitovy FLAT model a takto prelozene programy v realnem modu nepobezi, predpokladam ze mas k dispozici jiny prekladac.
Každý názor musí mít titulek.
celé vláknojen bych upřesnil - segment buď posunu o 4 bity vlevo a nebo násobím 16 (jsou to ekvivalentní operace), ne však obojí zároveň - tím bych dostal posun o 8 bitů a už bych měl jinou výslednou adresu...
Re: Každý názor musí mít titulek.
celé vláknoPosunutého o 4 bity (což je totéž jako vynásobit 16-ti).
Snad pro přesnost - posunem v tomto případě s míní posun vlevo.
ach - ta čeština
celé vlákno"posunutého o 4 bity (a vynásobeného 16)"
Podle mne to v češtině znamená, že kromně posunutí o 4 bity je navíc vynásoben 16.
Přičemž to vynásobení je nedůležitá informace, protože ji dal autor do závorek.
Samozřejmě faktům odpovídá váš výklad. Já jen souhlasím s kolegou, který tvrdí, že
originál byl napsán špatně.
Logické fce
celé vláknoUčili jste se někdy něco jako logické funkce
AND, OR atd?AND - česky a - znamená, že situace je pravdivá pouze tehdy, když jsou pravdivé oba prvky - z toho vyplývá, že bychom museli jak přičíst registr posunutý o 4, tak vynásobit 16.Správně má být: "(nebo vynásobeného 16)"
Pro fci logického součtu
OR totiž platí, že situace je pravdivá právě tehdy, když je pravdivá alespoň jedna z nich ;-)
Zajímavý článek
celé vláknoDakujem
celé vláknoDrzim palce a tesim sa na dalsie diely.
bootloader & multiboot
celé vláknoRe: bootloader & multiboot
celé vláknoBootsector
celé vlákno1. Neprováděl jsem reset řadiče, takže občas docházelo k chybě BOISu v přístupu na disketu - reset to vyřešil.
2.Jelikož jsem kódoval jen FAT tabulku, první sektor (512B) bylo originálních. Další obsah byl takřka náhodný =o)
Zapsani obrazu pod Win32
celé vláknoAssembler
celé vlákno512
celé vláknoRe: 512
celé vláknoJinak dle toho článku mi v linuxu správně nekompiluje výslednou délku bináru na 512B, ale jinou. Úprava:
začátek programu upravit takto:
org 0x7c00 ;nastaveni segmentu
go:
jmp main
.
.
.
.
a na konci takto:
times 510-($-go) db 90h ;sector musi byt dlouhy 512B
dw 0xaa55 ;oznaceni boot sectoru
Mně to nejede !
celé vláknoAhoj.
Mam takovej problem nefunguj mi to.
1. Nejdou mi tisknout ty řetězce.(nezobrazují se)
2. Upravil jsem tedy Times na TIMES 510 – ($ – $$) db 0
ale i tak mi to nejede.
3. Upravil jsem i ty ´´Make file´´, ale i tak mi to nejede.
Prosím o pomoc !
Díky.

