• úvod
  • témata
  • události
  • tržiště
  • Přišli jste skrz odkaz na příspěvek, který již neexistuje.

  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    XCHAOS
    XCHAOS --- ---
    ANT_39: preemptivní multitasking v DOS boxech začínal jakž-takž fungovat pod Windows 95... ale pořád byly problémy (nebo složitosti) s grafikou a komunikačními drivery pro modemy... paradoxně nejčastějším zadáním multitaskingu tehdy ale bylo "chci stahovat něco přes modem a u toho gamesit svojí oblíbenou DOSovskou hru" :-) (mluvím o roce 1995)
    ANT_39
    ANT_39 --- ---
    JACHYMKO: Zajimavy, mel jsem o tom podobny predstavy jako XCHAOS... v te dobe jsem programoval v basicu na atari, takze jsem o tom dohromady nic nevedel, ale vzdy jsem mel za to (hlavne na zaklade toho, co jsem slysel), ze tam preempce nefungovala.
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: ehm, no tak kdo tehdy zkoušel trochu víc to multitaskování ve Windows 3.x, tak právě radši rychle přešel na to Desqview, nebo tak něco :-)

    jsem myslel, že 32bitový byly až Windows 95 ... nevím, nejsem windowsolog, pouze si pamatuju, že to bylo třeskutě nepoužitelný, a pro skutečně produkční účely se na běžně dostupných konfguracích (typu 4 MB RAM, apod.) používal MS-DOS ještě hluboko v polovině 90tých let.
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: tak Windows 3.x samozřejmě byly DOS, že jo. a tím bych tuhle offtopic debatu fakt ukončil.
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: co je "původní PC" ?

    krátce jsem měl přístup k více či méně obskurním 286kám, ale moje první vlastní PC byla 386ka. v té době jsem Linux neznal - ale faktem je, že na stejné architektuře (486ky, Pentia) šlo s pomocí vyzrálejšího Linuxu s jádrem 2.x postavit vcelku stabilní, na dálku administrovaný internetový server.

    to bych nenazval jako "bastl určenej primárně na hraní" - ve skutečnosti, na konci 90tých let v době dot com boomu vydělal ten "spíchnutej" bastl nainstalovanej na secondhand PC připojený do netu leckomu miliony, šťastlivcům jako Google pak rovnou miliardy.

    a naproti tomu - hlavním argumentem pro nasazení MS-DOSu a později Windows byla dostupnost kvalitních her :-) s vyděláváním peněz to bylo složitější (ano - šlo je vydělat tím, že si prodal spoustu PC s MS-DOSem a později Windowsy nějaké rozsáhlé kancelářsky-orientované firmě: ale vydělat peníze koupí této platformy - to už byla jiná kapitola...)

    takže při posuzování toho, co přesně v 90tých letech naplňovalo kategorii "bastl na hraní" bych byl opatrný. ano - na desktopu možná, a v 90tých letech málokoho napadlo použít PC jinde než na desktopu. Ale někteří z těch, které to napadlo, jsou dnes multimilionáři. I díky Linuxu.
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: jo, a nezapomínej taky na nutnost držet kompatibilitu s psacím strojem. té se i v 90tých letech přikládal velký význam, a co teprve v 80tých... :-)
    XCHAOS
    XCHAOS --- ---
    BLAMI: co to je "počítačový panic" ? dnes se malé děti učí zacházet s poměrně složitými mobily dříve, než vůbec jdou třeba do školy, nebo tak... předvést dětem příkazovou řádku bude něco jako mě ukázat ten telefon rozmontovaný (konkrétně starý, klasický mechanický telefon - jo, v tom jsem uměl "spravit" mechanicky zaseklé zavěšovací vidlice a možná seřídit zvonění :-)

    opravdu jednoduchý systém pro začátečníky byl 8bit CP/M, když jsme u toho. oproti MS-DOSu neměly diskety ani adresáře, a hodně logické bylo i zavádění programů do paměti (vše tam stačilo staticky zlinkovat a spouštět od adresy FFH :-)

    každá další éra byla více jednodušší pro toho, kdo chtěl počítače jen používat jako uživatel - případně používat pro vývoj (jednoduchých) aplikací nějaké hotové (složité) vývojové prostředí. ale jiná věc je pochopit, jak věci fungují: a tady skutečně pochopit sekačku na trávu může být jednodušší, než pochopit motor ze stíhačky.

    problém je, že MS-DOS používal motor ze sekačky na trávu pro pohon seriózně se tvářícího sportovního letadla. zatímco Linux by spočátku jen ten motor ze stíhačky -ale bez té stíhačky okolo, dalo se s ním max. jezdi dokola po runwayi na kolečkách od sekačky na trávu :-)
    XCHAOS
    XCHAOS --- ---
    JACHYMKO: to jsem taky zkoušel - a měl jsem aspoň 6 virtuálních konzolí, které se nekousaly :-)

    jasně, nebyly pro to tehdy aplikace... tak jsem v 90tých letech nějaký čas používal kombinaci MS-DOS + Desqview (takový pseudo-multitasking). na svou dobu - resp. proti všemu, co bylo k dispozici jako alternativa - to nebylo špatné - ale prostě už tehdy bylo patrné, že Linux je opravdový operační systém, a tamto jen narychlo spíchnutý bastl.
    BLAMI
    BLAMI --- ---
    XCHAOS: ja teda nevim ale jsem za DOS dost vdecnej. V dobe kdyz jsem byl malej a vicemene uzivatel, byl natolik jednoduchej ze jsem ovladani pocitace rychle ovladl a mohl se vrhnout na slozitejsi ukony. Predstava ze bych jako pocitacovy panic usedl za Linux me trochu desi. A pak i z ty edukativni stranky jsem za nej rad. Kdyz jsem se ucil chapat co takovej operacni system a potazmo celej pocitac jak dela, DOS byl zase natolik jednoduchej, ze jsem pomerne rychle ziskal naivni predstavu :)
    XCHAOS
    XCHAOS --- ---
    MS-DOS byl stupidní systém, že jo... prostě co se hudby týče, měl jsem se asi narodit tak o 20 let dříve... ale co se osobních počítačů týče, tak o 20 let později.
    XCHAOS
    XCHAOS --- ---
    offtopic, ale stejně určitě pro leckoho zajímavé:

    MS-DOS is 30 years old today | ExtremeTech
    http://www.extremetech.com/computing/91202-ms-dos-is-30-years-old-today

    jo... kdybych býval měl v -nácti přístup k Linuxu, a nemusel se potýkat s MS-DOSem ... :-)
    XCHAOS
    XCHAOS --- ---
    Sacred language - Wikipedia, the free encyclopedia
    http://en.wikipedia.org/wiki/Liturgical_language
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Shell tim neco (nevyjimkovyho) handluje, napriklad. Ale co ja vim, ja sem windowsak :-)
    XCHAOS
    XCHAOS --- ---
    heleďte jedu na dovolenou, asi ode mě budete mít chvíli klid. čau.
    XCHAOS
    XCHAOS --- ---
    ISTEVE: tedy, to moje try { } je implementované právě pomocí setjmp/longjmp - takže těžko říct. na co se to používá jiného kromě odchytávání chyb hlouběji ve funkcích, to fakt nevím.
    ISTEVE
    ISTEVE --- ---
    XCHAOS: Dovol mi vypichnot jeden bod: "goto a setjmp/longjmp is right out. | Místo toho je k dispozici struktur try { fail() } except() { } vzdáleně podobná C++, Javě nebo Pythonu, která jejich funkčnost plně nahrazuje,"

    Opravdu si myslis, ze v C plne nahradis setjmp/longjmp pomoci try/fail/except ala exception handling v C++?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Hele, koukals na ten link na pure C implementaci toho auto-release poolu? Podle mne to resi vesmes vsechno co se snazis vyresit ty, akorat to neni tak leaky abstraction.
    REDGUY
    REDGUY --- ---
    XCHAOS: napíšeš kód, který to vůbec neřeší - a když pak potřebuješ ten kód z nějakého důvodu zasmyčkovat (např. z CGI skriptu uděláš FastCGI skript, u webové aplikace) - tak tu smyčku celou dáš do jednoho velkého forget - Normalni clovek by si v takovehle situaci (kdyz uz by to chtel resit hnusnym hackem a ne spravne) napsal jednoduchej wrapper nad malloc, kterej by kazdej alokovanej blok pridal do nejakyho spojovyho seznamu a funkci, ktera by pak na konci te smycky vsechno v tom seznamu uvolnila. Jak to resi XChaos? Napise necitelny makra(*), ktery zmrzacej C a prinutej ho ridit se spoustou omezeni a vyjimek. Takhle vypada ta "inovace" ktere se tolik branim? 8)))

    (*) samozrejme, ne "napise", ale "vysni si", protoze skutecna implementace neexistuje a dlouho existovat nebude. Kolik dalsich problemu se objevi az/pokud to napise, to je uplne jina kapitola. Ostatne, je to legracni kolik problemu jsem ti nasel v kodu, ktery jeste neexistuje 8))

    XCHAOS
    XCHAOS --- ---
    REDGUY: éééééé... ty jo, asi takhle: napíšeš kód, který to vůbec neřeší - a když pak potřebuješ ten kód z nějakého důvodu zasmyčkovat (např. z CGI skriptu uděláš FastCGI skript, u webové aplikace) - tak tu smyčku celou dáš do jednoho velkého forget { } (a předtím inicializace proměnných té aplikace bude pochopitelně před tím forget { } ).

    víceméně kdybys viděl desing-patterns pro které je to určené, tak by ti vše bylo jasnější (doufám). a neříkám, že nemáš svůj díl pravdy ! (představ si typicky načítání ze souboru - potřebuješ typicky většinu věcí zahodit, ale to co hledáš, ponechat v paměti, a neztrácet čas kopírováním.. já uvažuju o nějakém recycle(), které by dokázalo uvolnit paměť z kontextu ... jako že plošná dealokace by byla rychlá, ale existovala by možnost vyhodit i dílčí flák paměti, byť ne vždy by to bylo efektivní...)
    Kliknutím sem můžete změnit nastavení reklam