Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Píšeme operační systém: přerušení

INT
INT (neregistrovaný)
20. 2. 2006 2:42 Nový

To je sranda

celé vlákno
Nedá mi, abych nereagoval na tento díl seriálu :)
Těší mě, že existují lidé, kteří ještě mají tu potřebu seznamovat ostatní lidi s procesorem 8086. Nicméňe doba je trošku dál a já bych dával přednost 80386 a PM módu.... Ale jinak jsem rád, že někdo píše alespoň takové články, poněvadž je zde naděje, že nejmenovaní lidé nebudou říkat, že OS je jednoduchá záležitost i když zde jsem žádný kód, který by jen zdánlivě připomínal kód OS neviděl.
Culibrk
Culibrk (neregistrovaný)
20. 2. 2006 8:46 Nový

Re: To je sranda

celé vlákno
Myslim, ze bez zakladu na 8086 si nikdo s PM neporadi. Jsem rad i za takovy clanek, i kdyz bych PM uvital. Mozna casem, vzdyd jsme teprve na zacatku. Me se to nahodou velice libi, pripadam si, jako bych cetl staricky Bajt.
glx
glx (neregistrovaný)
20. 2. 2006 9:23 Nový

Re: To je sranda

celé vlákno
Take si pripadam, jakobych cetl Bajt :-) Ale myslim to jako poctu. Odkazy na procesor 8086 nejsou vubec zbytecne - tu architekturu si v sobe vlastne nesou i nejnovejsi Pentia a pro pochopeni to pomuze urcite mnoha zajemcum, kteri stoji o to, aby pronikli trochu hloubeji.
mh
mh (neregistrovaný)
20. 2. 2006 10:26 Nový

Re: To je sranda

celé vlákno
problem je, ze timhle tempem se dostanem k pentiu az kdyz bude procesor biogenni nadrzka kterou budeme krmit sypanim pro rybicky :-)
glx
glx (neregistrovaný)
20. 2. 2006 16:42 Nový

Re: To je sranda

celé vlákno
Nikoliv.
Diky tomu, ze neznaly pochopi, co to je vektor preruseni na procesoru 8086, nebude mu cinit potize to pochopit na Pentiich v protect modu - on totiz princip zustava stejny, jen detaily jsou trochu slozitejsi.
Marv
Marv (neregistrovaný)
26. 2. 2006 16:55 Nový

Re: To je sranda

celé vlákno
No právě krmení vyvolá přerušení typu svačina (maskovatelné) nebo oběd (nemaskovatelné). :-)
ondra
ondra (neregistrovaný)
20. 2. 2006 10:55 Nový

Re: To je sranda

celé vlákno
OS se ve skolach dost casto uci na nejake variante Riscu (dost casto Mips). Porovnam-li instrukcni sadu ia32 s ostatnimi, tak je mi naprosto jasne, proc to delaji. Vykladat OS na ia32 je humus.
bufly
bufly (neregistrovaný)
20. 2. 2006 16:06 Nový

Re: To je sranda

celé vlákno
Tak s tym celkom suhlasim ..
PaJaSoft
PaJaSoft (neregistrovaný)
26. 2. 2006 21:42 Nový

Re: To je sranda

celé vlákno
No my odchovanci 8-mi bity vime, ze cokoli co se neda jednoduse odmaskovat na kodovem segmentu je pakarna...:-)
František Ryšánek aura:75
20. 2. 2006 15:02 Nový

Re: To je sranda

celé vlákno
Nahození PM by se zřejmě dalo nastudovat ze zdrojáků jádra :-)
BLEK.
BLEK. (neregistrovaný)
20. 2. 2006 3:54 Nový

Obsluhu preruseni jsem programoval

celé vlákno
... jsem totiz psychopat ...
Jakub Hegenbart aura:85
20. 2. 2006 4:03 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Chtěl jsem k tomu původně něco říct, ale...už na tohle definitivně rezignuju. :-D
mtd
mtd (neregistrovaný)
20. 2. 2006 9:05 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
kazdej, kdo programoval obsluhu preruseni, je psychopat? :-)
uživatel si přál zůstat v anonymitě
20. 2. 2006 13:39 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
kazdej, kdo programoval obsluhu preruseni v real modu, je psychopat v duchodu ;-)
BLEK.
BLEK. (neregistrovaný)
20. 2. 2006 14:48 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
To ne, ale schizoidni psychopatie zpusobuje, ze clovek vic
sedi u pocitace a min komunikuje s lidmi, takze pokud je
clovek psychopat, tak je zvysena pravdepodobnost, ze obsluhu
preruseni bude programovat.
bufly
bufly (neregistrovaný)
20. 2. 2006 16:13 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
To ze vsetci vidia len SW firmy ktore kodia v Jave, C# a podobnych hi-level jazykoch je pochopitelne, lebo Java aj C# je COOL! Ale preboha, uz sa preberte zo sna ze procesor vykonava priamo konstrukcie if,while,....! Nie, skutocne je tam aj vrstva napisana v assembleri.
A by ste sa ohromne cudovali, ale existuju aj tzv. priemyselne procesory, ktore sa ovladaju pomocou assembleru.
Takze taky kydy akoze kto dnes programuje prerusenia je schyzofrenny mozu vypustit len totalne neznali jedinci, ktori sa tu chcu predviest.
Jakub Hegenbart aura:85
20. 2. 2006 16:57 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
...nebo autoři skvělých článků o Linuxu a FreeBSD, kteří se předvádět nemusejí, ale musejí v sobě něco srovnat. :-D
Jakub Hegenbart aura:85
20. 2. 2006 16:52 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Takže 3D grafici a spisovatelé jsou taky psychopati...? ;-)
Kid
Kid (neregistrovaný)
20. 2. 2006 18:45 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Taky sedim u pocitace porad (15+ hodin). Jsem psychopat?
BLEK.
BLEK. (neregistrovaný)
21. 2. 2006 0:32 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Zalezi, zda mas problemy v mezilidskych vztazich.
faha
faha (neregistrovaný)
20. 2. 2006 16:31 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Nemyslim si totez, celkem zive si pamatuji, kdyz jsem psali na 386-kach vlastni obsluhi povesene na interepty jako napr. 8 a 9, ci od UARTu nebylo na tom zase nic tak zvlastniho, trochu vetsi problemek uz bylo obslouzeni 21h(sluzby DOSu), kdyz clovek chtel mi chranene nektere adresare na heslo apod., kazdy kdo nekdy psal TSR se s timto musel potykat, ovsem to byl REAL :-(.
Ondra
Ondra (neregistrovaný)
20. 2. 2006 18:38 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Muzu se zeptat na diagnozu?
BLEK.
BLEK. (neregistrovaný)
20. 2. 2006 19:45 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Schizoidni porucha osobnosti.
Jakub Hegenbart aura:85
20. 2. 2006 20:19 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Tak tu má kamarád a neremcá kvůli tomu takhle. :-) A já k němu nemám daleko. A není to zas taková krize. ;-)
Zden
Zden (neregistrovaný)
20. 2. 2006 20:20 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Sakra,clovece,prestan uz se v tom porad utapet.
BLEK.
BLEK. (neregistrovaný)
21. 2. 2006 0:30 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
To nejde, porucha osobnosti je nevylecitelna. Holt budu cely
zivot sam :-/
Ondra
Ondra (neregistrovaný)
20. 2. 2006 18:38 Nový

Re: Obsluhu preruseni jsem programoval

celé vlákno
Muzu se zeptat , jakou mate diagnozu
Pavel Tišnovský aura:98
20. 2. 2006 8:49 Nový

Jeste jedna instrukce generujici int

celé vlákno
Jeste existuje jedna instrukce, ktera pri splneni podminky generuje i realmodu preruseni. Jedna se o BOUND - kontrolu mezi jednoho integeru, tj. v podstate test:

min<value<max

Tato instrukce generuje tusim int 5, ale uz 10 let jsem ji nepouzil :-), tak se mozna v tom cisle pletu.
mtd
mtd (neregistrovaný)
20. 2. 2006 10:04 Nový

Re: Jeste jedna instrukce generujici int

celé vlákno
na 80286 a vyssich jde v realmodu vyvolat exception na poruseni ochrany pameti. (tusim int13h) :-)
Lukáš Zapletal
20. 2. 2006 11:04 Nový

Perex

celé vlákno
Do perexu bych napsal, že se jedná o platformu x86. U laika by to mohlo evokovat funkčnost pod všemi platformami.
bufly
bufly (neregistrovaný)
20. 2. 2006 16:17 Nový

Re: Perex

celé vlákno
Laik nepozna ine platformy
Frn
Frn (neregistrovaný)
20. 2. 2006 11:10 Nový

Změna vektoru přerušení

celé vlákno
Vektory přerušení jsou uloženy na začátku RAMky. Ovšem měnit je _tímhle_ způsobem je s prominutím prasárna, protože zápis obou částí adresy (báze, offset) není atomická.

V tomto příkladu je to samozřejmě celkem jedno, ale stálo by aspoň za zmínku, jak se to dělá "čistě".
laloch
laloch (neregistrovaný)
20. 2. 2006 13:51 Nový

doufam, ze to dobre dopadne

celé vlákno
Vetsina hobbyist OS programatoru vyhori uz na prepnuti do PM a inicializaci GDT a IDT. Doufam, ze to nebude i nas pripad :-)
Drzim palec.
BLEK.
BLEK. (neregistrovaný)
20. 2. 2006 14:46 Nový

Re: doufam, ze to dobre dopadne

celé vlákno
A co prepnuti do long modu? I kdyz jsem psychopat, tak jsem
to jeste neprogramoval...
laloch
laloch (neregistrovaný)
20. 2. 2006 16:01 Nový

Re: doufam, ze to dobre dopadne

celé vlákno
hehe, ja taky ne. Zelezo tady na to sice mam, ale nez se k tomu dostanu, tak to bude stejne aktualni jako 8086 :))
PaJaSoft
PaJaSoft (neregistrovaný)
26. 2. 2006 21:45 Nový

Re: doufam, ze to dobre dopadne

celé vlákno
Pokud longem myslite plochy - flat - tak si akorat srovnejte vsechny baze a ofsety a zbytek je uplne stejny, jen nesmite zapomenout nastavit spravna pristupova prava na stranky... jinak se z tech preruseni vyvolanych porusenim ochrany pameti po...:-)
ondra
ondra (neregistrovaný)
28. 2. 2006 15:21 Nový

Re: doufam, ze to dobre dopadne

celé vlákno
Ne, long mod je ET64-bit mod. Trvalo mi asi tak den, nez jsem vsechny ty GDT a tech par instrukci dostal vsechny do spravnyho poradi :-/
yossarian
yossarian (neregistrovaný)
20. 2. 2006 14:57 Nový

V/V?

celé vlákno
a bych uvital misto zkratky V/V pouzit zazitou I/O, V/V me zprvu zmatlo, a vubec sem nechapal ktera packa
deda.jabko
deda.jabko (neregistrovaný)
20. 2. 2006 16:29 Nový

Re: V/V?

celé vlákno
prece vyvoleni! ;]
xxx
xxx (neregistrovaný)
20. 2. 2006 18:05 Nový

Re: V/V?

celé vlákno
spravne vyvoleni, protoze kazdy vyvoleny do vily vstopil (input) a z vily vystoupil (output).
Jakub Hegenbart aura:85
20. 2. 2006 19:20 Nový

Re: V/V?

celé vlákno
A co s Vámi dělá třeba taková „jednotka výpočtů v plovoucí řádové čárce“, „systém sdílení času“, „proces ve stavu mátoha“, „paměť RWM o velikosti 512 kiloslabik“ a „sestavovací program“? :-D
yossarian
yossarian (neregistrovaný)
20. 2. 2006 21:29 Nový

Re: V/V?

celé vlákno
trha mi to ma uboha ouska. nicmene sem este nemel to stesti nekde neco takovyho videt :) to je lepsi nez treba 'LED dioda'
Jakub Hegenbart aura:85
21. 2. 2006 0:51 Nový

Re: V/V?

celé vlákno
Ale to jsou všechno úplně korektní termíny. :-D Ovšem pravda, korektní termín je "dioda LED", podle našich firemních stylistů. :-)
yossarian
yossarian (neregistrovaný)
21. 2. 2006 22:48 Nový

Re: V/V?

celé vlákno
Light-emmiting-diode dioda? no te pic. :)
imho nemusime pocestovat vsecko co vidime :)
Jakub Hegenbart aura:85
21. 2. 2006 23:06 Nový

Re: V/V?

celé vlákno
Ta dioda je u té zkratky kvůli flexi. (Aneb "tu LED, bez té LED" - jak to zní? ;-)). Mám pocit, že jsme tyhle věci kdysi dávno konzultovali s ÚJČ, abychom to měli košér.
Farin
Farin (neregistrovaný)
22. 2. 2006 0:12 Nový

Re: V/V?

celé vlákno
"proces ve stavu mátoha" me pobavil, tenhle cesky termin jsem neznal
Jakub Hegenbart aura:85
22. 2. 2006 1:12 Nový

Re: V/V?

celé vlákno
http://www.google.com/search?q=proces+m%C3%A1toha

Aneb ještě to nevyhynulo... ;-)
Viktor
Viktor (neregistrovaný)
23. 2. 2006 1:44 Nový

Smysl seriálu?

celé vlákno
Poněkud mi uniká smysl seriálu. Ale také některé zavádějící informace.

1) začínat seriál o programování OS zaváděcí rutinou je typickou začátečnickou chybou - na první pohled se to zdá logické, jako například zahájení autoškoly startováním. Ovšem pokud budete chtít automobil zkonstruovat, prvním problémem asi nebude startér a otázky startování.

2) text evokuje pocity, že neexistují jiné procesory než x86, že neexistují jiné počítače než PC a že na jiných platformách OS nepracují; přitom potřeba v dnešní době vyvíjet OS vlastními silami vyvstává především pro architektury non-x86 a non-PC.

3) informace o architektuře x86 jsou poněkud neúplné, až zavádějící. Například není pravda, že v reálném režimu máme k dispozici jen 16-bitové registry, není pravda, že procesor 8086 pracuje v reálném režimu (toto dělení se poprvé vyskytuje u 80286), popis přerušení je podán poněkud naivním způsobem (např. chybí jakákoli zmínka o řadiči přerušení)...

4) uniká mi smysl popisu reálného režimu x86. Kdosi tu psal, že je to nezbytné pro pochopení chráněného režimu, ale s tím nesouhlasím. Naopak to může spoustu věcí spíše zamlžit, protože 8086 byl z hlediska konstrukce procesorů naprostým krokem vedle a chráněný režim není nic jiného než pokus tento stav napravit. Segmentace je v chráněném režimu věc naprosto logická a snadno pochopitelná, ovšem ne v reálném režimu, kde se skutečnou segmentací nemá téměř nic společného - jde jen o velmi svébytný (a poměrně nevhodně navržený) způsob lineární adresace.

Samozřejmě je hezké že se někdo rozhodne napsat článek na tak zajímavé téma, je jen škoda, že k tomu došlo evidentně v zápalu začátečníckého nadšení.
Lama
Lama (neregistrovaný)
24. 2. 2006 11:47 Nový

Re: Smysl seriálu?

celé vlákno
Pěkná kritika... jsem zvědav co byste ale dokázal vy... zlepšovat je možné vždycky... tak zkuste napsat vlastni...
Viktor
Viktor (neregistrovaný)
24. 2. 2006 16:29 Nový

Re: Smysl seriálu?

celé vlákno
Děkuji. Sice nejsem žádný spisovatel, ale o podobném seriálu jsem před pár lety také uvažoval, ovšem je otázkou, komu by vlastně měl být určen - proto jsem se ptal po smyslu tohoto článku. Laici? Softwareáři? Hardwareáři?
Pro první skupinu takových článků existuje spousta a bylo by to nošení dříví do lesa, druhá skupina obsahuje poměrně vyhraněné lidi a pro systémáře by byl přínos takového seriálu diskutabilní - je jich pár a nad takovým seriálem by jen souhlasně pokyvovali nebo naopak šťourali do detailů. Hardwaráři by zase ocenili větší nezávislost na konkrétním HW při zachování důrazu na nízkoúrovňovou vrstvu a asi by to pasovalo na jiný portál.
Nechci předem odsuzovat, třeba se to ještě nějak příjemně vyvrbí, ale první dva díly se problematikou OS nezabývají ani okrajově. Odborník se nic nového nedověděl, pamětník si zavzpomínal a ti ostatní se dozvěděli jak PC nabootuje program a jak napsat rutinu obsluhy přerušení generovaného procesorem (v konkrétním příkladu dělení nulou tedy vlastně výjimky a nikoli přerušení) - obsluha skutečného vnějšího HW přerušení je na PC poněkud složitější, než jak by se z druhého dílu mohlo zdát.
Pokud by byl zájem, tak bych se vytvoření seriálu o základech návrhu OS nebránil, i když se domnívám, že jsou tu kvalifikovanější lidé k takovému počinu. Ovšem k zdejšímu seriálu bych jako podtitul přidal "...aneb podívejte, co se mi v uplynulém měsíci podařilo naprogramovat" - nic ve zlém, ale tak to na mne opravdu působí ;-) Takže v duchu této domněnky bych autorovi seriálu popřál mnoho programátorských úspěchů.
Programator
Programator (neregistrovaný)
17. 8. 2006 15:11 Nový

Bude pokracovani???

celé vlákno
Chtel bych se zeptat zda bude pokracovani
Tomáš Crhonek
Tomáš Crhonek (neregistrovaný)
3. 9. 2007 12:43 Nový

pisu OS...

celé vlákno
Priznam se, ze pisu OS v ANSI C + GNU Assembler... Je to docela sranda, kdyz uz mate vsechny zakladni funkce. Tohle je teprve zacatek. Ja pouzivam jako bootloader GRUB. Pak se nacte 32-bit ELF kernel, zavedou se ovladace, pripoji se ext2fs a nabehne konzole. Mam hotovy dokonce i preemptivni multitasking, spousteni ELF programku, uzivatelske knihovny. Ale zacatek je podle me vzdy nejtezsi, protoze na nem zavisi vsechny ostatni veci. Napr. pokud udelate chybu v harddiskovem driveru, tak vam prestane fungovat dalsich x veci, ktere jsou na nem zavisle. Takze je treba hodne si pri programovani uvedomovat to, co vlastne menite a co zmena muze zpusobit. Protoze, kdyz udelate chybu, tak ji hledate treba cely tyden, je to hrozna nuda a pak zjistite, ze jde o jeden radek, ktery jste zmenili pred tydnem. Takze good luck vsem OS programatorum.
Fobia
Fobia (neregistrovaný) 193.165.154.---
12. 11. 2009 21:56 Nový

Re: pisu OS...

celé vlákno

Taky si píšu vlastní OS. Sice 16bit real-mode, ale je zhruba na úrovni MS DOSu :-). Můžu poprosit o poskytnutí zdrojových kódů? :-) Celkem by mě to zajímalo. V ČR se jen tak někdo nenajde, kdo se zabývá programováním OS. Jinak souhlasím, začátek je vždy nejtěžší.

Zasílat nově přidané příspěvky e-mailem