první verze se prodávaly za cenu cca 10000 dolarů (naproti tomu pozdější Macintoshe stály pouhých 2500 dolarů, přičemž Steve Jobs plánoval, že by jejich cena neměla přesáhnout částku 500 dolarů)
Zas takový lidumil Jobs není, aby rozdával Macintoshe po 250 dolarech. Něco ostatně vypovídá i o hromadné likvidaci Apple Lisa, dovedl bych si (možná naivně a romanticky) představit darování těchto počítačů například školám či nemocnicím.
(některými charakterovými vlastnostmi je prý Jobs dokonce horší než Bill Gates, možná buďme rádi, že je Apple spíše v ústraní a také se tak podle toho musí chovat :-)))
Proč šestnáctibitový, 68000 je plně třicetidvoubytová, eventuelní šířka externí sběrnice přeci není rozhodukící. A nemáte tušení jakým mechanismem byla na tomto procesoru řešena virtualizace paměti o níž se zmiňujete ?
Ano, procesor 68000 je samozřejmě třiceti dvoubitový, ale počítač jako celek je šestnáctibitový, tj. šířka datové sběrnice, pamětí, řadiče externích zařízení, grafický subsystém je pouze šestnáctibitový. Je ovšem pravda, že například z tohoto hlediska by bylo první IBM PC pouze osmibitové :-)
Vzhledem k tomu, že Motorola 68000 nepodporoval virtuální paměť (tj. reakci výpadky stránek), musela být virtuální paměť řešena buď programově nebo pomocí přídavného hardware. V levných unixových systémech se například Motorola 68000 používala ve dvojicích, kdy jeden procesor sloužil jako řadič paměti.
Jak tomu je v Lise, přesně nevím, ale předpokládám, že se jedná o čistě programovou virtuální paměť, kdy je využito faktu, že multitasking je kooperativní, takže je možné přesuny do operační paměti provádět při přepínání programů.
Jakýkoliv stroj s 68000 dokáže adresovat 4GB paměti. Fyzicky k němu ale nepřipojíte víc než 16MB. Hledisko bylo čistě ekonomické. Tehdy byl 1MB RAM jako dneska 1GB a hranice 16MB rozhodně nikoho netrápila. Procesor s "více nohama" by akorát prodražoval výrobu svojí i příslušného hardware.
Proc by sestnactibitovy procesor nemohl adresovat 4MB pameti, sirka adresove sbernice nemusi odpovidat sirce datove sbernice a ta zase nemusi odpovidat sirce operandu vstupujicich do ALU (jo, svet je komplikovany). Osmibitaky take (vetsinou :-) zvladaly vic nez 2^8=256 bytu pameti.
Podobne jako v PalmOS ktery si z MacOS tohle vzal. Alokace pameti nevraci pointer ale tzv. handle (neco jako pointer na pointer). Pri praci s pameti si musim jeste handle zamknout a dostanu teprve pointer ktery je platny. Az ho odemknu, zase se mi blok v pameti muze pohnout nebo zmizet. Pokud je pamet fragmentovana nebo pokud neni misto, OS bloky ktere jsou naalokovane ale nezamcene muze volne presouvat v pameti nebo na disk. Vysledek je vlastne takove softwarove MMU - normalni pointer je ekvivalent fyzicke adresy, virtualni adresa je handle.
Shrnuti - misto s pointery se pracuje s handly. A handle se musi zamykat abych dostal pointer. Desna pakarna.
Na druhou stranu se takto da pekne udelat defragmentace pameti, aniz by si toho aplikace nejak povsimnuly - handle se nijak nezmeni, ukazatel, na ktery struktura handle ukazuje se zmenit samozrejme muze.
Je jasne, ze 68000 ma s virtualni pameti problemy, zejmena chybi ochrana pameti, na kterou je vetsinou pres event handler navazana prave jeji virtualizace. Takze jak GEM, tak i Amiga OS bylo mozne krasne obchazet zasahem do jejich datovych struktur ci primo volanim internich funkci jadra :-)