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
Vývoj zvukových karet Sound Blaster

Radoslav Kišš aura:100
21. 5. 2009 0:31 Nový

sb16

celé vlákno
clovece, keby rozoberem moj stary pentium 90, tak tam urcite najdem nejaky ten soundblaster!
atarist
atarist (neregistrovaný)
21. 5. 2009 12:14 Nový

Re: sb16

celé vlákno
Original SB16 nebo nejakou Vibru? :-)
Radoslav Kišš aura:100
21. 5. 2009 12:36 Nový

Re: sb16

celé vlákno
vies co, dojdem domov a rozoberem, a dam presne udaje sem. :-D
Zuzzan
21. 5. 2009 12:21 Nový

Re: sb16

celé vlákno
jj, jsem také šťastým majitelem SB16 a SB AWE 64 Gold (v roce 97 jsem za něj dal 10t - stále krásně hraje).
uživatel si přál zůstat v anonymitě
24. 5. 2009 16:52 Nový

Re: sb16

celé vlákno
Taky mám SB16, jakousi PnP verzi.
Na xubuntu Jaunty Jackalope mi do dalo kupu práce, ale nakonec to hraje.
Z nějakého hloupého důvodu ho modul snd-sb16 nedetekuje a nezkonfiguruje, takže musím používat workaround - ISAPnPTools pro "najumperování" karty na správné porty a přerušení a pak ty hodnoty tomu modulu vnutím.. (alsaconf to všechno vždycky jen pokazil a zvukovku nenašel)

btw: Win98SE kartu detekují jako SB AWE 32 a pak to nehraje, teprv po přepnutí na SB 32 jo.

Myslíte, že to je klon když to tak zlobí?
Miloss
Miloss (neregistrovaný)
25. 5. 2009 17:50 Nový

ten post je můj

celé vlákno
přál si zůstat v anonymitě? asi jsem se připojil z jiného PC a nevyplnil nick.. takže se hlásím k tomuto příspěvku dodatečně
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
21. 5. 2009 8:02 Nový

DMA buffer

celé vlákno
Doplnění

DMA se programovalo tak, že se naprogramoval celý buffer (který mohl mít max 64kB). Zvuková karta pak přehrávala tento buffer dokola, a přerušení posílala vždy v prostřed a na konci. Program pak postupně plnil levou nebo pravou půlku bufferu. Na zvukové kartě SB16 pak přibyla povinnost naplnění buffer potvrzovat kartě, jinak se nepotvrzená půlka nepřehrála a přehrávání se zastavilo, dokud se buffer nepotvrdil. Zabraňovalo to typickému koktání vyplývající právě ze situace, kdy se program zastavil na delší čas, než byla rychlost přehrávání.

Jinak přerušení bylo dalším celkem dobrým zdrojem cyklicky spouštěných přerušení (časovač), akorát pokud neměla hrát hudba,musel se buffer vynulovat.

Obecně si myslím, že v architektuře PC bylo velice málo časovačů k volnému použití, systémové byly obsazené a člověku zbýval jen ten na Adlibu, nebo na SB, připadně na externí kartě s čipem 8253.
bubak
bubak (neregistrovaný)
21. 5. 2009 9:59 Nový

Re: DMA buffer

celé vlákno
A co 18.5 hz? Nepamatuju si cislo.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
21. 5. 2009 18:38 Nový

Re: DMA buffer

celé vlákno
Jo jasně Int 8. Ale ten byl právě obsazený. Jeho přeprogamování bylo taky dost zásadný zásah do systému, například se zrychlily hodiny. Celý plánovač DOSu najednou více zatěžoval systém. Proto, pro vyšší frekvence se buď úplně odstavil, nebo se původní obsluha volala tak, aby bylo dosaženo původní frekvenci (a povoloval jsem při tom přerušení, aby zpracování int 8 mohlo přerušit vše co bylo zavěšené v původní obsluze, musel jsem akorát zajistit, že mi to tam nevleze víckrát :-)

V Branách Skeldalu byl Int 8 přeprogramován na 50Hz. Používal se na všelicos, hlavně od toho bylo odvozeno časování hry. Ve Windows Patchi se to už nepoužívá, odvozuje se to jinak.
Biktop
Biktop (neregistrovaný)
24. 5. 2009 13:13 Nový

Re: DMA buffer

celé vlákno
"Plánovač DOSu?" Čto takóje? :-)
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
24. 5. 2009 21:40 Nový

Re: DMA buffer

celé vlákno
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
21. 5. 2009 10:11 Nový

Re: DMA buffer

celé vlákno
Diky za doplneni. Jeste se dal pouzit "casovac", presneji tedy pravidelne vyvolavane preruseni od VGA karty pri vertical blanku (navratu paprsku), napojit na to nejaky citac nebyl problem - implementace double bufferingu apod. (bez vertical blanku sel delat jen tripple buffering, a na to v nekterych grafickych modech (muj oblibeny 320x400) jiz nezbyla volna kapacita VRAM (ale pro klasicky mod-x bylo mozne pouzit tri buffery).

V pozdejsich PC byl jeste volny kanal pouzivany drive pro refresh pameti, ale nevim, jestli ho nekdo skutecne vyuzival (to uz bylo v dobach 32bitovych OS, kdy se primo na hardware uz moc nesahalo :-)
vtech
vtech (neregistrovaný)
21. 5. 2009 11:20 Nový

Re: DMA buffer

celé vlákno
Offtopic: Muj oblibeny mod byl 360x480. To bylo nejvyssi rozliseni, ktere slo z VGA karty dostat v 256ti barvach. Ale moc prakticke/rychle to nebylo.
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
21. 5. 2009 12:11 Nový

Re: DMA buffer

celé vlákno
Me u tech modu s 240 nebo 480 radky vadilo, ze jely jen v 60 Hz a pri svetlem pozadi to dost blikalo (treba mam dojem, ze Vyhen nejaky podobny mod pouzivala, tam to pri cteni dost vadilo). Mody s 200 a 400 radky jely v 70 Hz. Taky sly trosku menit i setnactibarevne rezimy, az nekam k 800 pixelum na radek, ale to muj monitor vetsinou uz nedal a pridaval si k tomu dalsi graficke efekty a pisteni :-)
BLEK.
BLEK. (neregistrovaný)
21. 5. 2009 14:22 Nový

Re: DMA buffer

celé vlákno
Já jsem VGA viděl v režimu 800x600x4. Ale VGA má dva fixní zdroje časování a nejde tam zvětšit pixelclock, takže ve výsledku ten mód 800x600 jel na asi na 35Hz. Z toho blikání by člověk leda dostal nějakou psychickou poruchu.
Zdenek
Zdenek (neregistrovaný)
21. 5. 2009 14:23 Nový

Re: DMA buffer

celé vlákno
A byla ti indikovana pred tim nez si videl tento mod nebo az potom? ;-)
BLEK.
BLEK. (neregistrovaný)
22. 5. 2009 15:27 Nový

Re: DMA buffer

celé vlákno
Ten videomód jsem viděl až po diagnóze poruchy, takže videomódem ta porucha být způsobena nemůže :)
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
21. 5. 2009 15:17 Nový

Re: DMA buffer

celé vlákno
No prave, VGAcko melo pro pixelclock max. 28MHz krystal (druhy mel 25MHz), to znamena, ze zvyseni rozliseni se resilo zmensovanim borderu, tj. snizovaly se casy mezi horizontalnim navratem paprsku a vykreslovanim a naopak horizontalnim i vertikalnim roztahovanim screenu. Do urcite miry to monitory zvladaly (musely si vlastne porad synchronizovat casovou zakladnu, napriklad muj MAG u toho pekne cvakal :-), ale nektere mely na vyssich rozlisenich jiz problem se synchronizaci, jak snimkovou, tak i radkovou. Tech 800x600 je asi opravdu maximum, co se dalo rozume vytahnout.

U nekterych dem se slo ale zase niz, takze se pouzivaly treba rezimy s "kulatym" horizontalnim rozlisenim 256x200 ci 256x240 apod.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
21. 5. 2009 18:47 Nový

Re: DMA buffer

celé vlákno
Emulátor ZX Spectrum při mé prezentaci na VŠ uměl 256x192 i s plnohodnotným Border. Byl to skutečný border VGA karty roztažený do větších pásů. Časování bylo upraveno tak, aby tenhle režím byl spíš obdélníkem (aby CIRCLE 100,100,50 udělala opravdu kruh).

Grafický režim byl 256 barev organizovaných tak, že dolní půlka (4 bity) byly Ink a horních půlka Paper. U pozadí to bylo obráceně. cca 4x za sekundu se převrátila paleta, tak aby barva Ink se stala barvou Paper. Tím se emulovalo celoobrazovkové blikání :-D

Jó to byly časy!!!!
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
21. 5. 2009 18:43 Nový

Re: DMA buffer

celé vlákno
800x600 jsem simuloval rozlišením 800x300 s emulovaným interlaced. Fungovalo to tak
1) na kartě se nastavil nějaký režím 640x350
2) karta se načasovala tak, aby udělala 800 bodů na šířku a 300 bodů na výšku
3) délka scanline se zvětšila 2x (tedy 1600 bodů na řádek), karta kreslila každou druhou řádku
4) při přerušení na V-blank se posunul offset o 800 bodů tam nebo zpět.

Bylo to 800x600, ale prokládaných.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
21. 5. 2009 18:40 Nový

Re: DMA buffer

celé vlákno
V Branách Skeldalu šlo v DOSu zapnout 320x480x256 jako fallback pro karty, které neuměly 640x480x32768. Přepočet barev byl sofistikovaný, výsledek byl šílený. Dalším fallbackem byl 640x480x16(gray). I tam si člověk vyblbnul z Latch Registry.

Chtělo by to zase nějaký článek o HW o grafice :-D
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
21. 5. 2009 22:44 Nový

Re: DMA buffer

celé vlákno
Clanek o grafice tady pred nejakou dobou bezel, ale je fakt, ze jsem se v nem do nejakych vice hardcore veci nepoustel. Urcite v tomto serialu neco o grafikach bude, od prehistorie az po ty moderni zrouty energie :) Jestli mas (mate) nejake napady k obsahu, urcite je uvitam.

Co mas vlastne spolecnyho s BS? Co si pamatuju, tak to delal nejakej Jindra Rohlik, nebo vas bylo vic? (jinak klasickej ctvereckovej dungeon, to je ma druha nejoblibenejsi kategorie her, hned po Dune II-like hrach)

Btw, prepocet barev z 2^24 nebo 2^16(15) do 256 umi dobre napriklad knihovna Allegro, akorat si na prevodni tabulku vezme dost pameti (presneji dnes je to jedno, v dobach DOSu to bolelo).
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
22. 5. 2009 8:10 Nový

Re: DMA buffer

celé vlákno
Jsem autor kódu pro Dos i patche pro Windows.

http://skeldal.vyletnici.net
http://sourceforge.net/projects/skeldal/

Jindra to produkoval, já to programoval, Karel (Matějka) to víceméně kreslil, podle návrhů Martina Zhoufa. Bylo to v letech 1996 - 1998, původní kód vznikl ve Watcom C, jako extender byl použit Dos4GW. Dneska se to dá (po větších úpravách) přeložit ve Visual Studio 2008. Na SF to leží ve stavu "stáhní, přelož projekt a spusť", měl by to zvládnout každý.

No ta moje převodní tabulka měla z 2^16 na 2^8 64KB, vlastně to bylo jednoduchý, kouklo se do tabulky a jelo. Hra původně běžela v 32tis barev a v tabulce byly pro každou barvu dve alternativy, které se periodicky střídaly (jednoduchý dithering)
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
22. 5. 2009 12:42 Nový

Re: DMA buffer

celé vlákno
Diky za objasneni a gratuluji k velmi pekne hre (i kdyz se priznam, ze jsem nemel cas ji nikdy dohrat :-), urcite to byla v dobach DOSu a prvnich SVGA karet zabava (VESA API bylo takove vselijake, asi sis pri nastavovani toho hi-color rezimu uzil, co?)
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
22. 5. 2009 15:04 Nový

Re: DMA buffer

celé vlákno
Jojo, původně se to psalo jen na VESA 2 (s frame bufferem). Nakonec se dodělala podpora na VESA 1 s bankami (ve finále to zvládalo obojí, FB byl rychlejší). Několik výkonově náročných (tehdy náročných) funkcí bylo psáno asi 6x, pro každý grafický režim jinak. Po problémech s 15bit hloubkou se do patche dodělala podpora 16bit hloubky (také tabulkou). Celkově bylo k dispozici několik režimů. 640x480x16, 640x480x15, 640x480x8 (s pevnou paletou a ditteringem), 320x480x8 a 640x480x4 (odstíny šedi). Na Vesa bežely pouze první tři, čtvrtý byl xmode a pátý byla obyčejná VGA 16 barev. Níž už to nešlo (zkoušel jsem ještě EGA, ale to jsem vzdal).

Pokud se vrátím k tématu, Brány Skeldalu uměly SB16+, SBPro (stereo), SB2, SB1, Gravis Ultrasound (ale mixování bylo SW, protože rutinka už byla napsaná a přepisovat celý systém mixování jen kvůli GUSu se mi nechtělo) a ještě Windows Sound System (zvláštní karta, té době v naších zeměpisných šířkách ale častá). Dále to samozřejmě hrálo přes Covox (ale jen mono) a přes PC Speakera (ten samplovaný režim). Ve všech režimech chodily všechny zvukové efekty i muzika, jenom u PCSpeakera se každé natažení muziky projevilo cvaknutím, takže se většinou muzika v tomhle případě vypínala :-)
pho
pho (neregistrovaný)
21. 5. 2009 9:18 Nový

gravis

celé vlákno
Krasny clanek. Bude clanek i o Gravid Ultrasound?
uživatel si přál zůstat v anonymitě
21. 5. 2009 9:38 Nový

Re: gravis

celé vlákno
Gravidní Ultrasound, to je pecka :-). Byl to Gravis a taky jsem ho měl.
SAL
SAL (neregistrovaný)
21. 5. 2009 9:45 Nový

Re: gravis

celé vlákno
Ja ho doma este stale mam, aj ked uz patri do srotu, pretoze ISA slot uz doma nemam. :-)
Matlas
Matlas (neregistrovaný)
21. 5. 2009 10:07 Nový

Re: gravis

celé vlákno
Taky doma jednu gravisku mam. Byla to paradni karta. Mam pocit ze v ni mam i nastrkane nejake simmy.
Matlas
Matlas (neregistrovaný)
21. 5. 2009 10:09 Nový

Re: gravis

celé vlákno
GUS PnP to byla
lt
lt (neregistrovaný)
21. 5. 2009 12:27 Nový

Re: gravis

celé vlákno
lt
lt (neregistrovaný)
21. 5. 2009 12:23 Nový

Re: gravis

celé vlákno
Gravis UltraSound MAX (jeste ji mam a je funkcni).. moje prvni zvukovka ... krabici jsem mel jeste donedavna .. chjo ... a PnP, o te jsem snil :)
Nejsilnejsi vzpominky byli z rozjizdeni tehle karty na gamesach ... milion emulatoru, a pak opojny pocit z hudby a zvuku, kdyz se rozjelo .. nebo depka, kdyz to neslo :DD
Takovej Doom,Heretic,Hexen na gravis karte .. to bylo neco. Pak az mnoho let pozdeji jsem v bazaru koupil SB AWE a jednou jsem zkusil, jestli to fakt byl rozdil, jak se psavalo. No ... byl. A poradnej :)
Zdenek
Zdenek (neregistrovaný)
21. 5. 2009 13:40 Nový

Re: gravis

celé vlákno
No ... byl. A poradnej :)
Pak nechapu proc sis tu AWE neporidil driv ;-)
lt
lt (neregistrovaný)
22. 5. 2009 8:33 Nový

Re: gravis

celé vlákno
Potvoraku (wait) ... GUS byl lepsi :D
Peetey
Peetey (neregistrovaný)
21. 5. 2009 20:44 Nový

Re: gravis

celé vlákno
Ja este stale vlastnim Gravis Ultrasound ACE rozsireny na 1 MB, akurat je zbaleny v original krabici, kedze uz ho nie je kam zastrcit... :o)
V tej dobe som fical na demach, ktore boli na prilozenom CD, kamosi s SB sa nechytali... :o)
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
21. 5. 2009 9:54 Nový

Re: gravis

celé vlákno
Bude, uz priste - GUS, PAS a nektere dalsi lepsi karty.
prophet
prophet (neregistrovaný)
21. 5. 2009 11:05 Nový

Re: gravis

celé vlákno
Ach jaj, prva verzia Gravis Ultrasoundu vyzerala, ze ju spajkovali na kolene v garazi... a podla toho mala aj taku spolahlivost (hlavne pamatove svaby).
Dobre spomienky na nekonecny flamewar GUS vs AWE na Fidonete..
lt
lt (neregistrovaný)
21. 5. 2009 12:25 Nový

Re: gravis

celé vlákno
FIDONet .. tohle slovo jsem uz hoodne dlouho neslysel ... to uz je let ... na ty flame se pamatuju ... horsi nez AMD vs. Intel, nebo NVidia vs. ATI :D
mm
mm (neregistrovaný)
21. 5. 2009 13:35 Nový

Re: gravis

celé vlákno
Jojo, Fidonet...
Namátkou si vzpomínám na skvělý flame na téma: Je či není DOS operační systém? Já osobně se stále kloním k názoru, že to OS nesporně je - jednoúlohový, jednouživatelský a definici OS víceméně splňuje. Konkurenční názor, že je to pouze loader aplikací vypadá sice efektně, ale jde právě o ten efekt radikalismu :-)))
Doufám, že tady nebudeme skoro po víc jak 15 letech pokračovat. Já tedy ne :)
Také konference, založená Františkem Fukou pod názvem HNUS.42 bývala výživná... Někde to mám tuším vše archivované. Pamatujete na GoldED, FroDo, RA, ... atd ?
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
21. 5. 2009 18:50 Nový

Re: gravis

celé vlákno
DOS samozřejmě OS je, stejně jako byl CP/M nebo ZX Spectrum Basic. Jejich možnosti odpovídali době a zařízení na kterém běžely.
Biktop
Biktop (neregistrovaný)
24. 5. 2009 13:42 Nový

Re: gravis

celé vlákno
Na ten flame si taky vzpomínám, taky jsem se ho účastnil (rok 1995?). Takže tu znovu zopakuji svůj tehdejší příspěvek - operační systém je správcem zdrojů počítače. A MS-DOS v podstatě žádné zdroje nespravuje, tudíž z pohledu této definice se nejedná o operační systém, ale o pouhý glorifikovaný zavaděč programů.
CP/M bych za operační systém naopak považoval, neboť jeho součástí je i vrstva ("protokernel") BIOS, která zajišťuje abstrakci HW - a narozdíl od MS-DOSu byl ten HW neporovnatelně různorodější. BIOS u PC je součástí ROM, takže DOSu už toho moc na práci nezbývá. Dohromady u CP/M - BIOS+BDOS - tak tvoří jádro, které abstrahuje velmi různorodý HW z úrovně V/V portů na úroveň API, od vrstvy BIOS stejného všude. Podle mého názoru jde o jeden z nejpřenositelnějších systémů v historii výpočetní techniky - k přenosu stačilo pro konkrétní HW napsat BIOS, BDOS už bylo možné použít odjinud. Pokud si uvědomíme, že prakticky jediné, co muselo být ke spokojenosti CP/M stejné, byl procesor (8080 kompatibilní), že za těchto podmínek dokázal zaručit přenositelnost a kompatibilitu na _binární_ (!) úrovni, pak je to skoro neuvěřitelné. A to byl také účel CP/M - poskytnout jednotné API na různorodém HW při co nejnižších nárocích. Tento účel byl bezezbytku splněn. MS-DOS naprosti tomu běžel jen na jednom typu HW - PC, tudíž, jak se říká, když dva dělají totéž, není to totéž. Pokud by hnidopich poznamenal, že CP/M nesplňuje definici taktéž, tak ale upozorňuji, že CP/M sám o sobě netvrdí, že je to OS, ale pouhý "Control Program for Microcomputers" ;-) .

S názorem, že jejich možnosti odpovídaly době a zařízení zásadně nesouhlasím. Možnosti zařízení převyšovaly schopnosti MS-DOSu o několik řádů, stejně tak vývoj už byl trochu jinde (viz např. AmigaOS, GEM, ale i osmibitový (!) GEOS). MS-DOS mohl být od počátku multitaskový, kdyby k tomu bývala byla vůle vývojářů (názor, že je k tomu nezbytný chráněný režim, je absolutně mylný), mohl poskytovat lepší uživatelské rozhraní, jeho služby mohly být našlápnutější - vždyť běžel na šestnáctibitových mašinách se stovkami KB RAM, diketovou mechanikou (resp. jednotkou, vzhledem k přítomnosti BIOSu) a obvykle i "diskem typu winchester", jak se tomu u říkávalo u nás :-) .

Ne, je tomu přesně naopak - možnosti a schopnosti MS-DOSu za možnostmi zařízení i za dobou kulhaly asi tak o generaci a 10 let.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
24. 5. 2009 21:57 Nový

Flame od DOSu

celé vlákno
Tohle je všechno krásný, ale pokud použiji vaše definice, tak DOS odjakživa spravoval přidělování paměti. Pro získání kusu paměti se volala obsluha DOSu.

DOS také spravoval disky a diskety, dokonce obsahoval souborový systém. Obsahoval správce jednotek, a pokud člověk připojoval jednotku, musel přes DOS. S tím souvisí IO managment. Například správa bufferů (oblíbené příkazy BUFFERS a FILES v CONFIG.SYS).

Dos také spravoval periferie. Přiděloval tiskárnu a porty COM

Dos také spravoval čas procesoru. Totiž ona správa procesoru nemusí být jen multitasking. Prostě pouze spravoval čas v době, kdy neběžel žádný proces nebo v případě, že aplikace čekala na stisk klávesy (a použila k tomu čekání DOSu).

Určitě existovaly v té době lepší OS. Ale jak už to tak bývá, na PC tehdy existoval pouze jeden nejrozšířenější, a ten se také použival. A jeho možnosti byly poplatné době a platformě, na které tehdy běžel. První soft, který se to pokusil změnit a na trhu uspěl byly Windows 3.0 (přestože byly kvalitnější OS, třeba OS/2)

Možná že DOS kulhal asi 10let za dobou, situace dneška je však taková, že jiný operační systém stejné firmy udává trendy v budoucím vývoji.

Howg.

PS: Ještě ke chráněnému režimu. Ten běhal od 286. Byl to ale jen takový pokus o vtip od Intela, něco jako chráněný režim alfa verze. Třeba například nebylo možné jej ukončit jinak, než resetem. Pište v takovém systému OS? Ale Windows 3.0 běhaly na 286 a prakticky plynule přešly na 386, kde můžeme hovořit o plnohodnotném chráněném režimu. Windows 3.1 použivaly 32-bitový režim přístupu k souborům. Nezapomínejme také, že největší brzdou vývoje byla vždy kompatibilita, tedy než se ujal nový OS, musely nejprve staré programy morálně zastarat. Proto nadále budu trvat na tvrzení "poplatné době".
Biktop
Biktop (neregistrovaný)
25. 5. 2009 0:16 Nový

Re: Flame od DOSu

celé vlákno
To už je otázka, co si člověk představí pod pojmem "správa". Ač zapřísáhlý minimalista, asi jsem přeci jen poněkud striktnější - nebo se spíš pokouším nazývat věci pravými jmény. ;-)

Jestli něco MS-DOS opravdu, ale opravdu nespravoval, tak to je právě čas. :-) Prázdná smyčka a správa času jsou opravdu trochu odlišné věci, ale v době, kdy se i uklízečka oficiálně může nazývat "sanitary manager" si tomu pro mě, za mě říkejte třeba správa času. :-D Ostatně v MS-DOSu se nemůže stát, že neběží žádný proces - jednoduše proto, že v něm žádné procesy neexistují: MS-DOS nenabízí žádné služby k vytváření a správě procesů.

"A jeho možnosti byly poplatné době a platformě, na které tehdy běžel." - jestli si myslíte, že se s 256 KB RAM a procesorem 8088 nedá vykouzlit víc, než co předváděl MS-DOS, tak se hluboce mýlíte.

"Pište v takovém systému OS?" - s naprostým přehledem a lehkostí. Kde vidíte problém? 1) on si výrobce 286 položil celkem logickou otázku, nač by mohlo být komu dobré chráněný režim vůbec ukončovat, když už do něj jednou vstoupím (jediným praktickým důvodem je možnost volat BIOS, ale to je věc návrháře PC a ne procesoru), 2) v praxi to žádný problém nebyl, prostě se vyresetoval procesor, naprostá prkotina. A jak znovu opakuji, i bez tzv. chráněného režimu se dá stvořit nesrovnatelně lepší věc, než je MS-DOS - viz např. počítače PSION a jejich
operační systém EPOC.

Který operační systém firmy Microsoft udává dnes trendy ve vývoji? Nebo někdy v historii? Aniž bych byl nějaký odpůrce Microsoftu, je třeba si objektivně přiznat, že tato firma nikdy nepřišla s ničím novým ve výpočetní technice, vždy jen převzala něco, co dávno existovalo (a obvykle ne zrovna nejšťastnějším způsobem). Na tom nevidím nic špatného, ale za "udávání trendu" bych to nepovažoval - spíš jen za nutnost, aby Microsoft ani přes své dominantní postavení neztratil trh vinou zoufalé zastaralosti svého softwaru, kterážto koule, jak je vidět, se s ním táhne už od jeho začátků. Vinu bych spatřoval v tom, že Microsoft ke svému úspěchu přišel tak trochu jak slepý k houslím, nikoli koordinací vývoje a marketingu, ale pouze marketingem. Ta firma prostě nemá inovační tradici, na jejím začátku nebyl nikdo, kdo by přišel s nějakou inovativní myšlenkou, jako tomu bylo třeba u Apple, Commodore, XEROXu či IBM, kdo by si kolem sebe vybudoval tým a ten držel nějakou tradici a školu svého zakladatele a nějak se dál z jejích základů vyvíjel. Na Microsoft se jednoho dne jen usmálo štěstí, ale za jeho úspěchem nestojí žádná inovativní práce.

Kompatibilitu chápu, jenže MS-DOS byl anachronismem už v okamžiku, kdy byl uvolněn na trh. To je jako byste dneska uvolnil něco jako Windows 3.1, ty se řízením osudu prosadily a pak někdo v budoucnu napsal, že to byl systém poplatný své době a platformě. Je to ale krásná ukázka, že k obchodnímu úspěchu není třeba být nejlepší (a dokonce ani dobrý :-) ). MS-DOS byl tak trochu zbytečnou záležitostí - systém v osmibitovém střihu (v první verzi pouze klon CP/M) nasazený na šestnáctibitový počítač. Příliš se nespletu, pokud řeknu, že to byl pravděpodobně nejhorší systém, jaký se na šestnáctibitových počítačích (bez bližšího rozlišení) kdy používal.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
25. 5. 2009 11:05 Nový

Re: Flame od DOSu

celé vlákno
Nevím, aniž bych se chtěl pouštět do dalšího flame, řekl bych, že to máte nějaké popletené. Buď jste mladý a dobu si nepamatujete, nebo jste tehdy pracoval s jinými prostředky, než valná část uživatelů tehdejších počítačů.

Za sebe bych řekl, že operační systém je rozhraním mezi HW a SW. MS-DOS tuto definici v určitém rozsahu splňuje. Opravdu zajišťuje některé HW služby prostřednictvím svého API, nebo případně pomocí API třetích stran. Jako příklad uvedu myš. Byť sám MS-DOS nenabízí API pro myš, umožňuje natažení ovladače, který toto API implementuje. A to přesně vystihuje to že MS-DOS je OS (i Wikipedie jej považuje za OS.

Pro zajímavost, procesory 8086 byly vydány v roce 1978. V roce 1982 byla prodána první 286ka. Operační systém EPOC na PSIONY začíná v 1980. Na platformy x86 (EPOC16) se dostává až v roce 1989! Linus svůj OS napsal také kolem roku 1989! a to na počítače s procesorem 386. WIndows 1.0 byl vydán v roce 1985 a v roce 1988 Windoiws 2.0. MS-DOS měl tedy vládnout pouze cca 3-4 roky (1981-1985).

Pro další zajímavost, sestavy s procesorem 8086 neměli žádné nástroje na plánování, tento handicap panoval ještě do doby dávno minulé, kdy se na desky začal dávat APIC. Předtím se plánovalo jen s pomoci PIC (čip 8253, channel 0). Jenže 8086 přepínat úlohy neuměla (hacky ve stylu přehazování zásobníky nepočítám, to se samozřejmě dalo dělat i na ZX Spectrum, ale mělo to své problémy). Přepínat úlohy umí až 286ka a stránkování (a tedy plnohodnotnou správu paměti) umí až 386ka.

Microsoft samozřejmě věděl, že MS-DOS není konečná, vyvíjel své Windows velice záhy. Ale bohužel, trh byl někde jinde, spoustu výrobců se zorientovalo na MS-DOS a ten jim vystačoval. Mimochodem, možná, že Gates nebyl úplně dobrý programátor, ale určitě byl skvělý manager i obchodník. Kopírování nápadů možná není morální, ale rozhodně to byla (nepopíratelně) úspěšná obchodní strategie!

A ještě k Vašim omylům. Přepínat zpět do reálného režimu bylo potřeba, a Intel si svou hrubku velice záhy uvědomil. Ten krásný sen, že nahodíme chráněný režim a zbavíme se reálného totiž velice brzo narazil na realitu. Valná většina HW byla totiž dodávána s RomBiosem, který byl komplet napsán v realném režimu (to snad ještě platí dnes!). Pokud jste přešel do chráněného režimu, přešel jste o vše!. O disky, o obrazovku o klávesnici, o přerušení! Příchod přerušení bez podpory v chráněném režimu znamenal okamžitý konec programu a jeho odchod do věčných lovišť. Abyste mohl ovládat HW a zachovat veškerou funkcionalitu nejen DOSu, ale některých služeb (tehdy dodávaného) BIOSu, musel jste chtě nechtě přecházet do reálného režimu. A to i v přerušení. Vím to z vlastní zkušenosti, právě při vývoji hry Brány Skeldalu pod extenderem Dos4GW býval často problém se službamy HW a DOSu. Prerušení například mohlo přijít na dvě různá místa, podle toho, jestli například nepřišlo v době, kdy se četlo z disku. V době příchodu 286 existovala toho HW už spousta a tak nakonec vyhrává kompatibilita namísto pokroku. Tenhle problém řeší až Windows 95. jenž zavádí první náznaky HAL rozšiřovatelného pomocí ovladačů. Donutit výrobce psát ke svému HW ovladače prostě bylo nutné a až v roce 95 se podařilo výrobce přesvědčit, že Windows stojí za povšimnutí a kdo nemá ovladač pro Windows, tak na trhu s HW velice rychle končí.

A ješte vyvrátím další Váš omyl. MS-DOS měl samozřejmě i správu procesů. Každý proces v MS-DOSu měl PCB, měl proměnné prostředí. Mohl jste mít v paměti několik procesů naráz. Služby MS-DOSu obsahovaly dva zásadní příkazy, jednak Exec, a jedna Terminate, což bych řekl, že jasně vystihuje správu procesů. Přitom příkazem Terminate bylo možné ukončit kterýkoliv proces v paměti. I PID byste tam našel, bylo to číslo segmentu PCB. Mezi příkazy pro správu procesu tam existoval i příkaz Terminate and Stay Resident. Příkaz prostě vrátíl řízení MS-DOSu. Jediný, co si process musel zajistit tak to přidělení času procesoru ve vhodný okamžik. A k tomu mohl využit mnoho nástrojů. Například plánovač DOSu (Int 28), PIC (Int 8), klávesové zkratky (Int 9), nebo reakci na zařízení připojení k COM1/2 (třeba myš).

MS-DOS dokonce nabízel obdobu příkazu ps (z linuxu). Zkuste v MS-DOS použít příkaz mem (myslím že s nějakým parametrem /s nebo /p ?). Výpis ukazoval nejen mapu paměti, ale seznam spuštěných procesů.

Nevím, já bych být vámi tohle vzdal. Nemáte dostatek informací na to, abyste mohl argumentovat. MS-DOS jste viděl z rychlíku a myslíte si, že o tom víte vše. Podle toho taky hodnotíte.

(Mimochodem, Windows 1.0 v roce 1985 nabídl na tehdejší dobu solidní správu obrazovky, to nejdůležitější, co uživatel na OS potřebuje. Linux nespravuje obrazovku dodnes, zkuste v Bashi pustit dvě aplikace, které malují po obrazovce paralelně!. Jediný co vám zbyde je použít screen, nebo X11, čili aplikace třetích stran ... byť dodávaných s distribucí).

PS: Microsoft Vám určitě leží v žaludku a tlačí a tlačí. Jenže nic s tím neuděláte. Možná byly lepší OS, ale Microsoft je bez problémů převálcoval. Prostě to uměl prodat, kvalitou, marketingem i cenou. A přesně tak se určují trendy. Výběr správně technologie, kterou nabídneme masám a se kterou uspějeme (kvalitou nebo marketingem nebo cenou).
Biktop
Biktop (neregistrovaný)
25. 5. 2009 15:54 Nový

Re: Flame od DOSu

celé vlákno
Víte, nad čím se vždycky upřímně bavím? Když se mne někdo pokouší poučovat o něčem, čím se zabývám 20 let. :-) Takže popořadě:

Už tu po několikáté říkám, že je to otázka definice OS. Pokud nazvete operačním systémem cokoli, co umožňuje zavést ovladač... Tož takový operační systém vám napíšu během pěti minut. :-) To je jako nazývat monitory a BASICy osmibiťáků operačními systémy. A to asi fakt ne. ;-) K té Wikipedii - on Pluto se taky oficiálně léta považoval za planetu, přesto že je to pouze planetka.

Jestli vám to uniklo, tak až do Windows 95 nebyly Windows operačním systémem, ale pouhou nadstavbou MS-DOSu, přičemž ještě ke všemu první použitelná verze byla až 2.0. Takže srovnáváte hrušky a jabka.

Očividně vám naprosto uniká, co to je proces, jeho kontext a jak se přepíná. Přepnutí zásobníků není žádný hack, je to základní princip a myšlenka multiprocesových systémů. Všelijaké TSS a podobné věci byly vytvořeny pouze k ulehčení procesu přepínání a provázání se systémy ochrany procesoru (pokud jsou implementovány). Stránkování nemá s přepínáním procesů vůbec nic společného. Ostatně na 8086 běžel i MINIX. Ano, multitasking skutečně můžete implementovat třeba na Z80, nebo 8051, chcete/potřebujete-li a také se to tak dělá. Nebo-li v tomto bodě jste naprosto mimo a pro příště, než se pouštět na tenký led, raději si doplňte potřebné informace.

Já jsem ale psal, že přepínat zpět bylo na PC nutné - Vy jste četl nějak nepozorně.

No ta zmínka o PCB je opravdu komická. Věřte, že s TSR programy jsem si užil dost a dost a jestli tomuhle říkáte "správa procesů", tak to už opravdu neříkám nic. Když si vzpomenu na ten porod, který bylo třeba podstoupit, pokud člověk v TSR chtěl provést přístup k disku...! Prostě proto, že jediná podpora MS-DOSu spočívala v tom, že programu při jeho ukončení ponechal paměť a o vše ostatní se starej sám - i o nereentrantnost MS-DOSu - _včetně_bezpečného_ukončení_ (narážím na Vaši zmínku o voláni Terminate). Vzhledem k tomu, jak se bez jakékoli regulace TSR navěšovaly na IRQ _nebylo_možné_ je ukončit, pokud tak neučinily dobrovolně. Leda deaktivovat a s nimi i všechny ostatní, kdo visely na stejném IRQ, včetně služeb MS-DOSu. No zkrátka toto opravdu ne! :-) Správa procesů představuje něco jiného, ale to souvisí s předešlým - něco si o tom přečtěte.

Můžu Vás ujistit, že MS-DOS znám skrz naskrz, od počátku 90. let. Nehledě k tomu, že i dnes s ním přicházím do styku při údržbě softwaru. A hodnotím tak jak hodnotím právě proto, že jsem si s ním tolik užil. To, co bylo v jiných OS té doby standardem, MS-DOS nijak neřešil. Porovnávat jsem skutečně mohl, doma jsem měl Amigu 500, živil jsem se na PC.

Prosím Vás, po Windows 1.0 neštěkl pes, byl to totální propadák, navíc těžce zabuggovaný. V té době platilo, že cokoli jiného než Windows = zaručeně lepší než Windows. Atari, Amiga, Commodore, Apple... tam všude v té době existovalo GUI a narozdíl od Windows 1.0 prakticky použitelné a také používané. Další důkaz technologického zaostávání Microsoftu za ostatními.

Mně je Microsoft ukradený, nevím, proč by mě měl kvůli něčemu někde tlačit. Jeho úspěch mu neberu a nezpochybňuji, že kopíroval od jiných mu narozdíl od jiných nezazlívám (proč platit vývoj, když si můžu počkat, až s něčím přijde někdo jiný a pokud se bude zdát, že je to dobrý nápad, tak to prostě koupit nebo obšlehnout?). Ale kvalita a inovace za jeho úspěchem rozhodně nestojí.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
25. 5. 2009 16:44 Nový

Re: Flame od DOSu

celé vlákno
Moc se hrabete v detailech a to je ten problém. Vyžadujete, aby OS implementoval to nebo ono, zapomínáte na embed OS, na operační systémy, které vznikají na míru určitému software (třeba kdysi dávno jsem měl na disketách jakýsi český soft Control Panel zaměřený zejména na měřící a řídící systémy). Já všechny vámi popisované problémy znám. Dokonce bych si troufnul říct, že podobné problémy má dnes linux a přesto je nazýván OS. Vzpomínané problémy se akorát z userspace přesunuly do kernelu.

... ale to bych se pouštěl do jiného flame. Takže bych to ukončil slovy, že MS-DOS byl operační systém, tečka.

PS: Nemáte pravdu minimálně v tom, že Windows 95 je nadstavba nad DOSem. Platí to tedy hlavne kvůli kompatibilitě se starým HW. Nicméně přístup zejména na disk a do souborového systému jel plně v protected mode, čili bez DOSu se to obešlo. Jediný, co ve Windows 95 zůstalo byl DOSový zavaděč, a DOSový (po většinu času neaktivní) framework, který většinou zabíral 1MB paměti a byl přítomen jen kvůli dosovým ovladačům. Ale samotný Win95 DOS nepotřeboval.

Druhá tečka.
Biktop
Biktop (neregistrovaný)
25. 5. 2009 19:32 Nový

Re: Flame od DOSu

celé vlákno
Pokud jde o mne, tak nevyžaduji nic. :-) Ale jestliže se nějaké pojmy ustálily, tak bych se pokud možno držel jejich obsahu. Na embedded systémy bych rozhodně nezapomínal, protože právě tato oblast výpočetní techniky mne už hezkou řádku let živí. Ale i tady je pravidlem, že o OS se hovoří až tehdy, pokud poskytuje nějaké univerzální a standardizované API a provádí základní abstrakci a správu železa, na kterém běží. Tak např. WxWorks je OS, ale pokud zbastlím základní (jednoúčelový) firmware, tak se o OS nejedná. Podobně obsah ROM osmibiťáků se nepovažují za OS, protože zajišťují pouze zpřístupnění HW, jejich cílem není abstrakce a jeho správa. To, co zbylo po odříznutí BASICu se odjakživa nazývalo "monitor".

Zkrátka pokud přijmout, že MS-DOS je OS, pak nutno dodat, že s odřenýma ušima a zavřenýma očima - a to i z hlediska své doby a hardwaru.

P.S.: Tady jsem se špatně vyjádřil, chtěl jsem tím říct, že W95 byl ten zlomový okamžik, kdy z Windows udělali samostatný OS, i když takovým způsobem... No, raději toho nechme.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
25. 5. 2009 23:27 Nový

Re: Flame od DOSu

celé vlákno
Třeba například linux natahovaný v Ovísovi, co mi běží na střeše bych za OS podle této definice nepovažoval. Jelikož je ohnuty na to, aby pracoval právě jen a pouze s příslušným chipem a hw, a poskytoval standardní síťové a jednoúčelové webové rozhraní. Přesto se linux za OS považuje. Takže opatrně s těmi definicema :-)
BLEK.
BLEK. (neregistrovaný) ---.strcechy.adsl-llu.static.bluetone.cz
26. 5. 2009 19:35 Nový

W 95

celé vlákno

Windows 95 není nic víc než MS-DOS 6 + Window 3.1 s předělaným GUI a schopností pouštět 32-bitové programy. Nevidím důvod, v čem by se W95 mělo chovat „víc“ jako operační systém než W3.1. Do W3.1 šly taky nahrávat „VXD“ ovladače, stejně jako do W95. Jak W95, tak W3.1 funguje i s těmi MS-DOSovými ovladači a používá nějaký šílený algoritmus na rozhovování, které stránky v té MS-DOSové paměti jednotlivá DOS-okna sdílejí (t.j. rezidentní programy natažené před startem Windows) a které ne (programy či rezitení programy puštěné v tom daném okně).

Hint: zkus si pustit v MS-DOS okně W95 debug a vymazat tu tabulku přerušení na začátku paměti. Vytuhne ti celý systém.

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.lam.cz
26. 5. 2009 20:22 Nový

Re: W 95

celé vlákno

Bezva, ale o to přece nešlo. W95 nebyly zabezpečené tak jako NTčka, to nikdo nepopírá. Stačilo přepsat něco v oblasti, kam byla mapovaná DLL, a šlo to do kytek stejně.

Rozhodně si ale nemyslím, že by vymazání oblastí pro interrupty a následné zatuhnutí mělo znamenat, že W95 běželo v DOSu. V chráněném režimu MUSÍ být tabulka interruptů přemístěna jinam, na jiné místo v paměti (a chip co řídí přerušení přeprogramován, protože Int 8, kam se mapuje IRQ8 v chráněném režimu patří výjimce procesoru). Spíš tuhle oblast W95 používají pro zachování kompatibility a příslušné handlery volají z chráněného režimu, aby dali šanci i rezidentním DOSovým programům… a ten systém vytuhne proto, že celý W95 beží v kernel mode, včetně aplikací a DOSového rozhraní.

Rozdíl mezi W3.1 a W95 je ten, že zatímco služby OS ve W3.1 jsou emulovány DOSem, DOS pod W95 je emulován windowsovským ovladačem v 32-bitovém režimu.

BLEK.
BLEK. (neregistrovaný) ---.strcechy.adsl-llu.static.bluetone.cz
26. 5. 2009 21:48 Nový

Re: Re: W 95

celé vlákno

W 95 mají io.sys, msdos.sys a command.com stejně jako DOS. Dokonce, pokud při startu zavedeš pouze tyto programy a nikoli GUI (po zmáčknutí F5 či F8), tak z toho DOS máš a pak můžeš napsat „win“ a máš z toho Windows a pak zase kliknout na „restartovat v režimu MS-DOS“ a máš z toho zase DOS.

Kvůli DOSovým rezidentním programům to pořád volá všechny služby přes INT x, stejně jako Win 3.1. Pokud vezmeš DOSový program na omezení přístupu k souborům (jakási primitivní security počítající s tím, že uživatel není dostatečně znalý, aby si to v paměti patchnul) a zavedeš ho ve Win95, tak ti bude fungovat a omezovat přístup k souborům úplně stejně jako v DOSu. Čili ten filesystém stejně jde přes INT 0×21 a reálný mód. Možná ve W95 existují nějaké bypassy, že když na daný interrupt není připojen žádný rezidentní program, tak se provede přímo bez reálného módu; to nevím.

Další ukázka použití BIOSu ve Win95 je přístup na disketu. Žádný program ti neběží po dobu, co se vykonává nějaká operace s disketou. Kurzor po obrazovce jezdí (ten je řešen interruptem), ale jinak nic udělat nejde a všechno reaguje se sekundovým zpožděním. Patrně na tu disketu používají BIOS, kdyby měli skutečný ovladač diskety v chráněném režimu, tak by všechny procesy takhle neblokoval a používal interrupt.

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
27. 5. 2009 11:57 Nový

Re: W95

celé vlákno

Odhadovat podle zavaděče jak běží W95 je krásný úlet. I Linux lze zavést z DOSu. Dokonce i tak, že shutdown toho Linuxu vrátí řízení DOSu (pokud Linux bude striktně používat jen HMA).

W95 neměly ovladač diskety v chráněném režimu. Jen ovladač diskety byl implementován tak, že přepnul do reálného režimu a operaci provedl v reálném režimu přes BIOS, což je legitimní. I dnes jste v kernel mode schopen napsat ovladač, který významným způsobem zastaví počítač, protože vyžaduje nějakou těsnější komunikaci s HW.

Máte pravdu, W95 měl bypassy. A pokud zjistil, že rezidentní program změnil tabulku interruptů, dal mu šanci v běhu právě tak, že jeho obsluha se zavolala nejdřív. Ale první obsluha byla v chráněném režimu, teprve pak se řešila kompatibilita.

INT 21 je i chráněném režimu. Vůbec ta informace INT 21 neznamená, že je tam reálný mod. Ano, přepnout do reálu se muselo, pokud tam nějaký rezident seděl. V chráněném režimu by totiž nefungoval.

Datel
Datel (neregistrovaný) 85.90.127.---
26. 5. 2009 6:32 Nový

Re: Flame od DOSu

celé vlákno
No, příteli - houby s voctem
Jedině Hery Kildál by Vám řekl - co v Mrkvo DOSu vrátí to a nebo to přerušení.
Víte vo tom houno a tož tu netlápejte.

Jste jako aktivní blbec, což je horší než-li třídní nepřítel.

p.s.
a nemanipulujte s textem odpovědí, není to košér. Stejně jako vod teho mrkvokradosoftu

:-))))))))))))))))))))))))))))))))))))))))
BLEK.
BLEK. (neregistrovaný) ---.strcechy.adsl-llu.static.bluetone.cz
26. 5. 2009 21:35 Nový

Re: Re: Flame od DOSu

celé vlákno

„Jenže 8086 přepínat úlohy neuměla (hacky ve stylu přehazování zásobníky nepočítám, to se samozřejmě dalo dělat i na ZX Spectrum, ale mělo to své problémy). Přepínat úlohy umí až 286ka a stránkování (a tedy plnohodnotnou správu paměti) umí až 386ka.“

Linux na přepínání úloh používá ten „hack ve stylu přehazování zásobníku“. Ano, opravdu to přepne zásobník, nahraje registry a případně přepne tabulku stránek.

To hardwarové přepínání procesů Linux nepoužívá; je zbytečné. Je děláno mikrokódem v procesoru a ten mikrokód je pomalejší než když se přímo napíšou instrukce na přepnutí zásobníku a nahrátí registrů. Ten mikrokód musí kontrolovat spoustu drobností definovaných v architektuře (všechny možné bity v GDT, TSS…), zatímco přímo napsaný kód na přepnutí zásobníku to nedělá.

"Přepínat zpět do reálného režimu bylo potřeba, a Intel si svou hrubku velice záhy uvědomil.

… a čemu to vadilo, že 286 neuměla přepnout do reálného módu? Prostě se zresetovala a BIOS zkontroloval jednu hodnotu v paměti, a pokud seděla, skočil na nějakou adresu.

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
27. 5. 2009 12:02 Nový

Re: Re: Re: Flame od DOSu

celé vlákno

Buď si děláte srandu, nebo hrůza děs. Pokud Linux takhle přepíná procesy…

Co třeba stránkování, tabulky deskriptorů, ty se taky musí přepnout! Buď tomu tedy nerozumíte, nebo začínám chápat, proč je ten linux tak zprasený. Pryč od něj!

Teh hack s BIOSem je fakt dobrej :-) Miluju za programovací styl „tady to hacknem!“. Pak to podle toho vypadá jak vypadá!!!!

I/O
I/O (neregistrovaný) 147.32.68.---
27. 5. 2009 14:48 Nový

Re: Re: Re: Re: Flame od DOSu

celé vlákno

Co to furt meleš? Ty sis prostě vymyslel svoji představu o tom, jak má co fungovat, ovšem skutečná teorie i praxe je jiná. Už ti tu dva lidi nezávisle na sobě řekli, jak se to má s tím přepínáním zásobníků a vypínáním PM u 286.

ad přepínání kontextu – naprostý souhlas s Biktopem i BLEKem. Stejně musí nakonec nějakým způsobem _VŽDYCKY_ dojít k přepnutí zásobníků, protože to je prostě základní princip jakéhokoli multitaskingu: KONTEXT PROCESU je definován ZÁSOBNÍKEM; principiálně je úplně lhostejné, jestli si registry procesoru uložíš do nějaké systémové struktury procesoru, do nějaké svojí tabulky nebo na zásobník, který vzápětí přepneš. Chápeš to? To, co píše BLEK, je chronický problém inteláckých procesorů odjakživa – přepínání procesů pomocí TSS s využitím call bran nebo nested interruptů je zoufale poooomaaaaléééé, protože se přitom dělá spousta věcí, které se vůbec dělat nemusejí, jenže procesor o tom neví, ví to jádro systému – proč modifikovat hromadu systémových registrů, které trvá proklatě dlouho, když to konkrétní implementace vůbec nevyžaduje, např. díky flat modelu apod.? Chce to trochu myslet a ne jen slepě spoléhat na to, co doporučuje výrobce. Zvlášť když svůj výrobek vybavil hromadou redundantních věcí, jež se při přepínání kontextu všechny musejí na úrovni procesoru zohlednit, ale v praxi je najednou nikdo nikdy nepoužije, protože je to naprosto zbytečné.

ad přepnutí reálného režimu 286 – jaký hack zase? Víš vůbec, o čem mluvíš? Přepnutí 286 do reálného režimu v praxi vypadalo tak, že jsi zrušil tabulku vektorů přerušení a záměrně vygeneroval výjimku „neplatný operační kód“. To při neexistenci oné tabulky způsobilo trojitou výjimku a přechod CPU do stavu shutdown, který detekoval externí HW a zresetoval ho. Tabulku přerušení stejně musíš modifikovat pro reálný režim, takže to žádná operace navíc není a jako ten neplatný kód se obvykle (po uvedení 386) dávalo MOV CR0,EAX (který je na 286 samozřejmě nedefinovaný), neboli přepnutí do reálného režimu vypadalo z hlediska programátora skoro stejně na 286 i 386. Klidně tomu říkej hack, ale v porovnání s „oficiální“ metodou (přes klávesnici) to bylo nesrovnatelně elegantnější a mnohem rychlejší.

Fakt si o tom všem nejdřív něco zjisti, než o tom začneš plácat nesmysly na diskusích, kam choděj lidi, kteří tomu narozdíl od tebe rozuměj. Jak si vůbec troufáš posuzovat, jestli je nějaký operační systém po programátorské stránce zprasený, když problematice teorií a technik operačních systémů vůbec nerozumíš, jak je vidět? To ses hochu měl dát na politiku nebo k zelenejm, tam každej kecá o věcech, o nichž nic neví a nikomu to nevadí, ale tady s takovou budeš akorát za trotla.

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
27. 5. 2009 17:25 Nový

Re: Re: Re: Re: Re: Flame od DOSu

celé vlákno

Stačilo napsat jedno slovo HACK. Programování ve stylu ala HACK opravdu nehovím (ačkoliv pravda je, že mne k tomu občas okolnosti nutí, takže právě proto jsem proti němu!). Pokud zde máme technické prostředky jak něco řešit čistě, měly by se využít a ne to ohackovat.

Přepínání do reálného režimu 286 považuji za hack, tečka.

Přehazování zásobníku místo použití brány považuju za hack, tečka.

Pokud mají inteláci přepínání pomalé, pak je to jejich problém, nikoliv můj. Ale nevěřím tomu, už proto, že konkurence tu je velká (např. AMD). Mimochodem jak přepínáte stránkové registry? LTD tabulky. Nevyjde to v konečném důsledku stejně náročné, jako to dělat ručně?

PS: Flat režim je metla lidstva. Díky tomu se rozmohly viry typu stack overflow a podobně. Při použití segmentového přístupu je ochrana o 100% vyšší. Škoda, že to nikdo nevyužívá (tedy … po pravdě, microsoft využívá registr FS, kde je segment namapovaný na TLS aktuálního vlákna… mimochoděm, taky se musí při přepnutí naplnit správnou hodnotou.)

PSS:Linux je plný hacků, tečka.

I/O
I/O (neregistrovaný) 147.32.68.---
27. 5. 2009 18:16 Nový

Re: Re: Re: Re: Re: Re: Flame od DOSu

celé vlákno

Největší problém, který máš, je ten, že o tom víš opravdu kulový. Doporučuji studium nějaké odborné literatury, třeba Madnick, Donovan: Operating Systems, Tanenbaum: Modern Operating Systems nebo aspoň pro ty nejnutnější základy v češtině třeba Čada: Operační systémy. Fakt nemá smysl to s tebou řešit, to je jako bavit se o strategiích při hraní durcha s člověkem, který vůbec nezná pravidla mariáše.

(pozn.: „POST-POST SCRIPTVM“ = „PPS“)

lt
lt (neregistrovaný)
22. 5. 2009 8:38 Nový

Re: gravis

celé vlákno
Ano .. jednoulohovy, jednouzivatesky OS.
No, popravde si nepamatuju .. myslim, ze snad ani tuhle konferu jsem netahal .. ja uz nevim ... je to uz , myslim asi 15 let .. BBS a modem .. no, to je uz uuuplne zapadle prachem v pameti. Akorat si pamatuju, jak jsem se vztekal na nektere BBS s modemy min. nez 14.4k :DDD
2:421/79
2:421/79 (neregistrovaný)
22. 5. 2009 16:10 Nový

Re: fido

celé vlákno
A což teprve Mesáni a jeho služka Ines, která měla příliš těsný kalhotky... :-)))
atarist
atarist (neregistrovaný)
22. 5. 2009 0:21 Nový

Re: gravis

celé vlákno
Myslis tuto kartu? http://mail.lipsia.de/~enigma/neu/pics/gus.jpg

Vypada docela dobre, rekl bych. To nejake noname wanna be SB zvukovky na tom byly mnohem hur, o 50 Hz na vystupu ani nemluve.
lt
lt (neregistrovaný)
22. 5. 2009 8:34 Nový

Re: gravis

celé vlákno
Ano, tuhle myslim mam .. ale plosak akorat je cervenej.
prophet
prophet (neregistrovaný)
22. 5. 2009 10:33 Nový

Re: gravis

celé vlákno
To je uz neskorsia verzia (uz vychytana), prve verzie s cervenym PCB boli plne studenych spojov (hlavne v oblasti RAM)..
Pavel Kysilka
Pavel Kysilka (neregistrovaný)
21. 5. 2009 9:45 Nový

skvely clanek

celé vlákno
zdravim,

jeden z nejlesich serialu za posledni dobu. Mam jich doma asi 15 kusu ve sbirce.

gf
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
21. 5. 2009 12:12 Nový

Re: skvely clanek

celé vlákno
Diky, jsem rad, ze se libi :-)
kolcon
kolcon (neregistrovaný)
21. 5. 2009 9:49 Nový

sb live?

celé vlákno
SB Live podle prehledu neexistuje?
caracho
caracho (neregistrovaný)
21. 5. 2009 9:51 Nový

Re: sb live?

celé vlákno
ten je preci az na PCI sbernici
atarist
atarist (neregistrovaný)
21. 5. 2009 10:17 Nový

Re: sb live?

celé vlákno
Petr Krčmář aura:99
21. 5. 2009 10:25 Nový

Re: sb live?

celé vlákno
Je to tak, mám tu jednu ve stolním PC (teď náhradní stroj). Vynikající karta a hlavně se špičkovou podporou v jádře.
hexx
hexx (neregistrovaný)
21. 5. 2009 11:07 Nový

GUS byl nedostizny sen

celé vlákno
Mel jsem vzdy jen SB, ale zavidel jsem vsem, co meli GUS :-)
vtech
vtech (neregistrovaný)
21. 5. 2009 11:13 Nový

Re: GUS byl nedostizny sen

celé vlákno
Pres 8000 tehdejsich korun jsem za Gravise Classic dal. Maxe jsem kupoval pozdeji asi za 5000.
ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný)
21. 5. 2009 19:00 Nový

Re: GUS byl nedostizny sen

celé vlákno
Programátorský model GUSe byla ale zajímavější. GUS byl dobrý na hraní muziky jako třeba MODy a tak. Ale třeba na streamové audio... to bylo horší. V zásadě jsem na GUSovi implementoval podobný buffer, jako na SB, akorát v paměti GUSe. Byly tam dva kanály, vždy když jeden dohrál, spouštěl jsem druhý a DMAčkem jsem plnil ten první. Jinak nevím, jak se to mělo dělat.

Také bylo v GUSovi dobrý, jak zápis do registrů se musel dělat dvakrát, protože je nešlo zamykat. Oni se totiž měnily stylem přečti, inkrementuj, zapiš. A pokud se člověk zrovna trefil do fáze inkrementuj, tak mu následně GUS tu hodnotu změnil na původní. Musel tedy provést zápis podruhé, aby se ta hodnota tam opravdu dostala.

Z mého pohledu GUS nebyl žádný zázrak, měl nějaké dobré věci, ale měl i některé velice nepěkné problémy.
Datel
Datel (neregistrovaný) 85.90.127.---
26. 5. 2009 6:35 Nový

Re: GUS byl nedostizny sen

celé vlákno
Jů, helééééééé. Pane, vy jste tak negativně nasertivní.
A co ještě pokritizujete.

Pane, nebuďte tak vážně nasranej na život. A pojďte si hrát.

Dneska je hezky - :-))))))))))))))))))))))))))))))))))))))))
P_V
P_V (neregistrovaný)
21. 5. 2009 11:19 Nový

48 kHz

celé vlákno
Je škoda, že se Creative nepokusili u této řady zvukovek zvýšit vzorkovací frekvenci až k 48 kHz. Přitom v době slávy SB 16 už na dveře klepalo DVD, DVB...
atarist
atarist (neregistrovaný)
21. 5. 2009 13:58 Nový

Re: 48 kHz

celé vlákno
Podle me si chteli nechat zadni vratka pro dalsi vylepseni. Alespon z cele te rady zvukovek, ktere byly v clanku popsany, mam ten pocit: kazda dalsi verze je o trosicku lepsi nez predchozi, ale zadny extra velky skok se nekona. Je tam videt prechod 8 bitu/22 kHz mono -> 8 bitu/44 kHz mono -> 8 bitu stereo -> 16 bitu stereo -> polyfonie (ale hodne programova, nic moc automatizovaneho).

Potom ty cipy Vibra byl IMHO krok zpatky, no ale co se da delat, kdyz ta karta s hrdym nazvem Sound Blaster nakonec stala par stovek.
Kvakor
Kvakor (neregistrovaný)
21. 5. 2009 16:18 Nový

Re: 48 kHz

celé vlákno
Pokud si dobře pamatuju, Vibra neměla 16bit DMA a i při přehávání 16bit zvuku musela cpát data přes 8bit DMA. A byla Plug'n'Play (minimálně pozdější verze), narozdíl od klasického SB 16, který měl jumpery.
atarist
atarist (neregistrovaný)
21. 5. 2009 16:51 Nový

Re: 48 kHz

celé vlákno
No prave, byl to krok zpet. Ono to PnP na ISA kartach bylo dost osemetne, vetsinou jsem to napriklad u sitovek vypinal (treba HP sitovky bud jely jako PnP nebo klasicky nastavovane) a u SB se zase toho tolik nenastavovalo - bazova adresa (tu snad kazdy mel na 220H), IRQ - vetsinou 5, DMA - no tady to bylo osemetne, prave kvuli 8/16 bitum :-)

Ale SB 16 (ASP) byla snad nejkompatibilnejsi karta na tehdejsim trhu, snad nikdy s ni nebyl zadny problem, postacilo nastavit promennou BLASTER, a to zvladla i takova lama, jako tehdy ja :-)
Jan Heřman aura:100
21. 5. 2009 11:53 Nový

Roland

celé vlákno
Pekný clanek. Ja tehdy mel v ISA sbernici Rolanda LAPC-1 a kamaradi u mne vzdy zustali s otevrenou pusou jak to krasne hraje, protoze oni meli 8bitove soundblastery. MIDI skladby hraly lepe nez z nejakeho CD a dodnes se jejimu zvuku podle me nic nevyrovna, co se tyce podani MIDI skladeb. Skoro mi prijde, te ty skladby museli tenkrat profici taky delat na Rolandu :) jakoby pro to byli stvorene. Zanedlouho pak prisel na svet prvni DOOM a uz ta hudba dokazala zvednout z kresla, parada...
prophet
prophet (neregistrovaný)
21. 5. 2009 13:46 Nový

Re: Roland

celé vlákno
Hm... alias MT-32 na karte spolu s MPU-401 MIDI rozhranim, stara dobra LA synteza - to boli casy, ked este nebol paskvil General MIDI, prave MT-32 bol prvy pokus o standardizaciu zvukov.
Zeby som oprasil D50 a jej klasicke kultovne zvuky (aj ked obcas preefektovane a zasumene)?
atarist
atarist (neregistrovaný)
21. 5. 2009 13:52 Nový

Re: Roland

celé vlákno
jj, Roland v ceně staršího automobilu, to byla na svou dobu bomba. Ono upřímě řečeno - ty nové zvukovky/synťáky mnohdy nedosahují mnohdy až řemeslné zručnosti starších kousků, takže určitě D50u opraš :-)
Art
Art (neregistrovaný)
21. 5. 2009 14:26 Nový

Gravis Ultrasound

celé vlákno
Ja jsem mel spolecny pocitac s bratrem, ktery v nem pouzival Gravis Ultrasound, a ja Sound Blaster, a i kdyz to bude znit divne, nikdy jsem nemel chut na tu jeho kartu, protoze mi tam chybel cip OPL3. To, co lezlo z Ultrasoundu, sice znelo bezchybne, ale pro me velmi nudne. Jak se psalo v minulem clanku, je velka skoda, ze skoro nikdo nedokazal poradne vyuzit moznosti OPL3, protoze jsou opravdu vyrazne lepsi nez OPL2 (AdLib) a pro me je to dodnes jeden z nejzajimavejsich cipu v PC (stale ho pouzivam pro ctyroperatorovou syntezu).
vtech
vtech (neregistrovaný)
21. 5. 2009 16:01 Nový

Re: Gravis Ultrasound

celé vlákno
Spravne reseni bylo samozrejme SB16 + GUS MAX. To je preci pochopitelne :-)
Petr Menšík aura:23
21. 5. 2009 22:37 Nový

Co čipy ESS

celé vlákno
Děkuji za velmi pěkný článek. Člověk se po desetiletích dozví, co to tam měl vlastně za karty a co to vlastně uměly.

Jenom se chci zeptat, nevíte jakého stáří byly ESS čipy? Měl jsem kartu ESS Audiodrive, jinak přesněji snad ESS 1686, byl to klon SB Pro (2.0?). Měl jsem ty ESS čipy jenom já, že u alternativců nejsou? Pravda nebyly asi ničím zvláštní, kromě úžadně uplácané virtuální hifi věže pro Win 3.11 a uměly PnP, které jak už tu někdo poznamenal většinou spíš nefungovalo :)
Hyena
Hyena (neregistrovaný)
22. 5. 2009 10:20 Nový

Duna

celé vlákno
Autor je příliš velký optimista, častější sekvence hlášek byla "Enemy unit detected", "Your base is under attack", "Building Lost" a závěrem "Insufficient power".
uživatel si přál zůstat v anonymitě
22. 5. 2009 11:22 Nový

Re: Duna

celé vlákno
:-D
Pavel Tisnovsky
Pavel Tisnovsky (neregistrovaný)
22. 5. 2009 12:49 Nový

Re: Duna

celé vlákno
Nj, taky se obcas stalo. Hlavne po hlasce "Missile aproaching" jsem se jenom dival, jak na radaru postupne mizi spusta budov :-)
Jirka
Jirka (neregistrovaný) ---.elisa-laajakaista.fi
28. 5. 2009 10:33 Nový

SB AWE 32

celé vlákno

Mel jsem SB AWE32. Zadna jina karta od te doby nedelala tak suprovy zvuk. Pozdeji jsem mel SB Live!, kvuli prechodu na PCI, ale oproti AWE32 to byla po analogove strance hruza. Ten rozdil bohuzel slysel i totalni hudebni neznalec a hluchon jako ja.

Yogi
Yogi (neregistrovaný) 88.146.177.---
24. 6. 2009 10:53 Nový

kX drivers

celé vlákno

Pro Sound Blastery a určitý typy E-mu karet existují i alternativní ovladače s názvem kX, které jsou otevřené a tudíž poskytují možnost vývoje vlastních zvukových efektů využívajících HW karty i drobných zvukových​/hu­debních aplikací. Mají ambice fungovat i v alternativních operačních systémech. Obecně jsou koncipované pro muzikanty ​(nízkolatenční standard ASIO​), ale díky podpoře DirectX poskytují komfort i hráčům nebo běžným uživatelům PC. Víc info v češtině a stažení na webu drivers.kx.cz – brzy přibudou i tutoriály k instalaci a práci s těmito ovladači v češtině (GNU/Linux nevyjímaje :).

pepa
pepa (neregistrovaný) ---.net.upc.cz
28. 6. 2009 19:17 Nový

pomoc s prilsenim

celé vlákno

ahoj vsichni chtel jsem se optat jestli by mi nekdo neporadil jak mam prihlasit zvukovku je integrovana na zakladni desce

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