... tím, že napíšu nepřenositelný skorobootloader se mi zdá poněkud nahlavičkované, zvlášť v době Open Firmware. 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é. navíc - koho, kromě překladače, dneska zajímá assembler?
koho, kromě překladače, dneska zajímá assembler?
Např crackery :)
Já sice os psát nebudu, ale jako výcuc nějakých těch nízkoúrovňových záležitostí typu "jak to vlastně může fungovat" je to dobrý článek.
Milý Dominiku,
kdo ří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íš?
ja jsem tim chtel jenom rict, ze tenhle clanek mi
dodal informace, ktere se pri cteni kernelu hodi :-)
a za druhe, ze prave jadro plan9 ma pekne zdrojaky.
O OS se nebudu vyjadrovat, ale k tomu assembleru: vzhledem k tomu, ze mezi assemblerem a vyssimi programovacimi jazyky (vcetne cecka) je dost velka semanticka mezera, tak je nekdy pouziti assembleru nevyhnutelne. Samozrejme to neznamena psat cele aplikace v assembleru (pokud to neni pro zabavu), ale nektere kriticke casti ano. A to nemluvim o jinych platformach, treba dneska popularnich PICech, rade 8051, 68HC11 atd. K nim sice existuji i ceckovske nebo skoroceckovske prekladace, ale pri vetsim poctu vyrabenych zarizeni se stejne sahne po assembleru, protoze se usetri na zdrojich.
Programuju AVR od Atmelu v assembleru a zjistil jsem, že nejvíc na něho nadávají ti, co v něm nikdy nepsali. IMHO Psát aplikaci pro win v assemberu je blbost, ale tam, kde člověk chce přesně zadat, co má program dělat, je volba jasná.
Psat aplikaci pro win v assembleru neni blbost. Blbost je pouze tvrdit, ze je to dobra metoda psani aplikaci pro win - psat aplikaci pro win v assembleru proto, aby jsi se neco naucil nebo dokazal ze to jde je naprosto normalni (BTW, delal jsem to a ano, vysledne aplikace nemohou slouzit k nicemu jinemu nez jako dukaz ze to jde a ucebni pomucka).
Myslim, 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.
Já si myslím ze programátor nemusí psát celé aplikace v assembleru jen proto ze se nudí. Pro x86 jsou instrukce stejné a funkce biosu se taky moc nemění. Pro mě je assembler přehlednější než třeba jazyk C, a to obzvlášť při programování pro systém GNU Linux. V překladači GCC který je opensource dělal každou knihovnu jiný programátor. Potom jsou při využívání knihoven potíže s tím že každá funkce z knihovny má jinou syntaxi a člověk už jen zírá na manuál.
> Začínat operační systém tím, že napíšu nepřenositelný skorobootloader se mi zdá poněkud nahlavičkované, zvlášť v době Open Firmware.
- 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?
>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 ;)
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
Jeste bych dodal, ze v ASM se bezne pisi kriticke casti ovladacu, CODECu... Pokud vim, tak instrukce MMX dnes jinak nez z assembleru pouzit nejde, neb optimalizace prekladacu na MMX je prachmizerna a ani me nenapada, jak ji udelat.
Kdyz se ti to nelibi, kup si Score a di si zaparit nakou gamesu, nemusis cist roota. Po hrozne dlouhe dobe konecne vidim clanek, ktery je zajimavy. Je videt, ze nemas potuchy, jak tezko se shaneji takovehle informace, protoze svet je plny chytrolinu premyslejicich podobne jako ty. Druha (a dost znacna) cast populace se sklada z kokotu, kteri vydavaji casopisy jako Chip a tvrdi o tom, ze to je "odborna pocitacova literatura", pritom se s tim neda poradne utrit ani zadek. Jak zapsat do pameti grafiky, precist CMOSku, nebo pristupovat ke zbernici se tam nedozvis. Tyto informace prestaly byt v ceskem jazyce dostupne od okamziku, kdy prestal vychazet casopis Bajt a vsichni lidi z BBSek zestarli. Ja sem fakt rad, ze si muzu takovyto serial precist a urcite si i leccos vyzkousim. Rozodne autorovi fandim a drzim palce, aby se nenechal znechutit takovyma kyselyma prdelema jako si ty...
Naprosty souhlas, asi nejsem tak star(nic ve zlem),ale jeste si celkem zive vybavuji, kdyz jsem nasel u znameho otce zaarchivovany bajt v krabici,opravdu vzrusujici cteni, k tomu uzasna vec jako byl/je SYSMAN :-), prvni experimenty s 286 a ASM, vypis na obrazovku, veci kolem int 21h, TSR, vzpominky na uzasnych 320x200,prace s paletou, COVOX :-) ... atp., jo to byly uzasna casy. Je pochopitelne,ze lidi jez znaji asm ubyva, mladi se celkem implicitni vrhaji na RAD(Delphi, Builder, Java[Eclipse]...), podstata veci unika, natahat si okyna na formular jeste neni programovani.Clanek podporuji, muj prvni pokus os OS jiz hnive nekde v kremikovem pekle. Ale kdo vi, treba se diky tomuto clanku neco rozjede, dalsi vlna, Linux zacal vznikat "obdobne", ale nedelam si iluze. I tak moc dekuji.
A lidé, JIŽ znají správně češtinu ubývá, zatímco lidé, kteří s oblibou a obvykle nesprávně používají slova jako JENŽ a JEŽ, asi rostou na stromech. Viz http://www.ujc.cas.cz/poradna/odpo.html#jenz
K tomu nadšení z počátku 90. let se samozřejmě hlásím.
Ten Bajt mě docela zajímá, nešel by půjčit nebo oskenovat? :-)
Já 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é... ;-)
Osobne jsem se ucil assembler hlavne z prirucek o procesoru od vyrobce (tehdy AMD K5) a funkce DOSu a BIOSu ze SYSMANa. Ze zacatku jsem sice mel nejaky tisteny manual k Tasm, ale manual k Nasm je IMHO lepsi (anglicky jsou oba).
To ja po otci nasel na pude, krome nejakych jeho asm zdrojaku, svazarmovske materialy a knihy o asm na ZX apod. A taky knihu o programovacim jazyku Karel..ze svazarmu samozrejme;-)
Jo, Karla znam od jeho zacatku a sam jsem si naprogramoval jeho interpret na BBC Micro (protoze na nej nebyl - a musim se pochvalit, mel jsem ho lepsi, nez ty okolo, co jsem videl)
Vzdyt kazdy OS jednou musel zacit. Kdyby si kazdy kdo ma nejaky napad rekl ze to nema cenu myslis ze by dnes existoval Linux? Asin ne ze. Kazda revoluce vznika od zakladu. Co ty vis, treba za 10 let nebudou zadne Windowsi, Linux, Solaris, BSD nebo Mac Os, bude treba neco jineho ale to neco jineho musi jednou zacit. Pokud by sme jen zdokonalovali stare, narazime jen na hranice ktere uz nebude mozne prekonat, viz vyroba procesoru, zvysovani frekvence je uz temer u stropu svych moznosti a tak vyrobci hledaji jinou cestu. Proc tedy nenajit jinou cestu i zde? Co ty vis, treba autor tohoto clanku muze jednou patrit mezi nekolik nejbohatsich lidi sveta diky nejake genialni myslence. Neobjeveneho je stale spousta a ja verim ze Linux je pouze zacatek neceho velkeho. Zkuste si predstavit kdyby se spojili veskere distribuce do jedne, extrakt jen nejlepsich veci, revoluce jednou pride
drive, ci pozdeji..........
No, tak jsem si to tu pěkně slíznul. možná kdybych použil "nešťastné" místo onoho neologismu, dopadlo by to jinak.
Kdybych 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.