di  -  venerdì 3 dicembre 2010

Post Precedente: Da Interface Manager a Windows 8, Windows al Bivio: OS/2 e le “furbizie” contro Digital Research

Continuiamo il nostro viaggio attraverso la storia di Windows con il terzo post relativo ai 25 anni dell’ambiente di Microsoft.

NT e l’approccio “document centric” di Chicago

Parallelamente a Windows 2.x/3.x, Microsoft è impegnata nella realizzazione di un nuovo sistema operativo, che basa la propria ragion d’essere su due elementi primari: le nuove CPU basate su architettura RISC, profondamente diverse da quelle x86 di Intel, e l’avanzata dei sistemi UNIX like negli ambiti professionali e di rete.

Gates assolda, nel 1988, David Cutler e da vita al progetto OS/2 NT, pensato per creare un nuovo kernel “portable” e utilizzare le API di OS/2. Comincia così lo sviluppo di un sistema minimale, basato su kernel ibrido, identificato con la sigla “NT”. La sigla deriva, con ogni probabilità, da “N-Ten”, l’emulatore della CPU Intel i860 sul quale era iniziato lo sviluppo del progetto, così come sostenuto anche da Mark Lucovsky, stretto collaboratore di Cutler (ne abbiamo parlato qui).

Il progetto prosegue indipendentemente da Windows, anche se il successo senza precedenti della versione 3.0 convince il big di Redmond a sostituire le API di OS/2 con un’API a 32bit derivate da quelle di Windows 3.x e denominate Win32 API. Il tutto, ovviamente, per offrire all’utente finale un ambiente familiare e ai programmatori un set di strumenti che si basa sul know-how precedente. NT viene inoltre re-ingegnerizzato in modo da poter eseguire molte delle applicazioni Win16 e Dos, affiancando il già pianificato supporto a quelle basate sulle API POSIX.

Nasce così  Windows NT, con NT” che assume il significato odierno di New Technology, principalmente per motivi di marketing.

NT Origin

Ma Microsoft non si accontenta e nonostante NT non sia ancora stato rilasciato, pensa già a come estenderlo, creando, tra il 1991 ed il 1992, un team, alle dipendenze di Jim Allchin, per un nuovo progetto: CAIRO. Uno degli aspetti centrali di CAIRO è la realizzazione di un sistema operativo che sia in grado di organizzare i file non solo attraverso il loro nome, ma soprattutto attraverso il loro contenuto. L’obiettivo globale, però, è ancora più ambizioso: abbattere definitivamente il concetto di “localizzazione”, rendendo trasparente all’utente finale il fatto che i file siano sul PC locale o in rete. Questa tecnologia prende il nome di Object File Store (OFS), e negli anni a venire sarà conosciuta come WinFS.

Windows NT viene ufficialmente rilasciato nel Maggio del 1993 nella versione RTM (Release to Manufactoring) e raggiunge gli utenti consumer (ad Agosto), nelle versioni NT 3.1 e NT 3.1 Advanced Server. La versione di partenza è la 3.1 in modo da creare il parallelo con la famiglia dos-based, da cui, come detto, NT eredita l’interfaccia utente. Le piattaforme supportate sono l’x86, DEC Alpha e MIPS (processori R3000 e R4000).

Windows NT 3.1 Logo

NT è basato su una struttura a kernel ibrido, supporta 2 CPU (SMP) ed è in grado di gestire fino a 64Mb di Ram. Per quanto riguarda la gestione del disco e dei file, fa la sua comparsa i nuovo file system NTFS, derivato direttamente dall’HPFS di OS/2. Il supporto al file system FAT è comunque garantito. Altre importanti caratteristiche sono: uno scheduler preemptive, gestione e creazione di reti integrate, sottosistemi per OS/2 e POSIX.

L’architettura completamente a 32bit consente alle applicazioni native di sfruttare fino a 2GB di memoria in modalità Protected, ovvero ogni applicazione ha un’area di memoria riservata a cui le altre non possono accedere. Ciò consente di garantire un’alta stabilità funzionale e di non compromettere il funzionamento dell’intero sistema nel caso in cui una delle applicazioni vada in crash.

Come ogni prima release, NT 3.1 soffre di alcuni problemi funzionali e di affidabilità, uniti alla scarsità di software e dei driver specifici; inoltre le risorse hardware richieste sono superiori a quello che è lo standard tecnologico del periodo. Tutto ciò relega NT 3.1 ad una stretta nicchia di professionisti, restando praticamente sconosciuto alla maggioranza dell’utenza business e consumer.

Nel frattempo CAIRO, la cui data di rilascio è prevista per l’anno seguente (1994), comincia ad essere interessato dai primi rinvii ufficiali e in Microsoft si delinea sempre una nuova strategia: più che un nuovo OS, CAIRO sarà incubatore di una serie di tecnologie per i futuri NT e il nascente CHICAGO (alias Windows 95).

Con queste premesse i team di Cairo ed NT vengono fusi e Allchin viene posto alla guida del progetto NT “Extended”, scalzando Cutler.  Nel 1994 viene rilasciato il nuovo NT 3.5, nelle edizioni Workstation e Server.

Windows NT 3.5 Logo

Si tratta, fondamentalmente, di una ottimizzazione della versione precedente, che migliora le prestazioni e garantisce una maggiore stabilità operativa. Anche le risorse minime diminuiscono: ora sono sufficienti 12 Mb di Ram. La nuova versione porta in dote l’ultima release di Object Linking and Embedding (OLE) che migliora l’efficienza delle operazioni di scambio tra le applicazioni, il supporto a VFAT e quello alle librerie per il 3D OpenGL.

La versione Workstation è ottimizzata per l’accesso alle applicazioni, mentre la versione Server ha un nuovo sottosistema di I/O e funzionalità di interconnessione tra le reti, in particolare con Novell Netware. Molti i protocolli supportati: RAS (Remote Access Services), SLIP (Serial Line Internet Protocol), PPP (Point-to-Point Protocol),  DNS (domain name servers).

NT 3.5 supporta, inoltre, le piattaforme RISC-based: Alpha AXP, R4x00 MIPS. Per il supporto a PowerPc e a SPARC bisogna attendere Maggio del 1995 con NT 3.51 che, inoltre, migliora sensibilmente le performance di NTFS.

Nella visione di Gates tutto questo, però, ancora non è sufficiente.

Anche se è innegabile che Windows 3.1x, Windows NT 3.1/3.5x, ed i vari progetti paralleli, hanno proiettato la casa di Redmond verso un dominio senza antagonisti nel mondo dell’informatica mondiale, è anche vero che la modalità di approccio è rimasta sostanzialmente invariata.

L’uso del computer è infatti ancora “application centric”, quindi l’interazione dipende fortemente dall’applicazione che si utilizza. Proprio qui si inserisce CHICAGO, nome in codice di quello che il 24 agosto del 1995, con una campagna marketing senza precedete, viene presentato al mondo con il nome di Windows 95.

Windows 95 Logo

Il nuovo Windows è diverso nella “filosofia”, tant’è che il progetto è nelle mani di Brad Silverberg, e non in uno dei precedenti Team Lead o Vice President.

Al di là delle innovazioni tecnologiche, del supporto ai nuovi standard (leggasi plug&play) e alla favoletta dell’indipendenza dal DOS, la vera rivoluzione del nuovo Windows è che il modus operandi degli utenti si sposta verso il paradigma “document-centric”. Per la prima volta gli utenti utilizzano un ambiente in cui possono focalizzandosi sulle proprie attività e non sulle applicazioni da usare.

Tutto è pensato per questo: la nuova interfaccia 3D like con il pulsante Start, un vero “desktop” su cui riporre qualsiasi tipo di oggetto, un file system che supporta nomi lunghi e così via. Anche i vecchi Program Manager, File Manager e Print Manager di Windows 3.xx scompaiono e lasciano il posto ad Explorer, una shell evoluta che ne accorpa le funzionalità e ne semplifica l’utilizzo.

document centric

L’aspetto più innovativo è che ogni elemento (icona, documento, file, ecc.) è un “oggetto” con delle proprietà ben definite, ed è in grado di modificare l’interfaccia guest in modo da visualizzare ed abilitare le relative funzioni.

In realtà Microsoft non dice tutta la verità sul nuovo OS, così come evidenziato da Andrew Schulman in Unauthorized Windows 95. In particolare Win95 non è un vero OS integrato, essendo composto da Windows 4.0 ed MS-DOS 7.0, nascosto abilmente agli occhi dell’utilizzatore. Ciò influisce sulla “purezza” del kernel, che non è interamente a 32bit ma è un ibrido 16/32 bit, e sulla difficoltà di isolare completamente le applicazioni al fine di evitare crash del sistema nel caso una sola applicazione smetta di funzionare, come invece avviene in NT.

Windows 95 diviene il prodotto di maggior successo nella storia del software e il concetto “document centric” viene ripreso ad un anno di distanza (1996) con Windows NT 4 che, comunque, mantiene le peculiari caratteristiche di stabilità grazie alla differente architettura in cui le librerie grafiche (GDI) sono interamente a  32 bit e, insieme ai driver relativi, vengono gestite direttamente dal Kernel (Kernel Mode), garantendo stabilità ed efficienza. Nel caso di Windows 95, invece, le funzionalità di gestione della GUI girano in User Mode e soffrono di evidenti problemi di stabilità.

Ovviamente, essendo pensato per il mondo professional, NT 4 offre un importante supporto agli ambienti di rete e alla gestione degli utenti. Nonostante il mancato supporto all’USB, e quindi la limitata compatibilità con il nuovo hardware,  questa release di “New Technology” proietta Microsoft nel mondo dei sistemi operativi server, prima ad esclusivo appannaggio di Unix e soci, ponendo una seria ipoteca sul futuro.

NT 4 Server

Nel frattempo l’avanza di Internet è diventata ormai realtà e Microsoft, che inizialmente aveva snobbato la rete creando solo in un secondo momento il proprio browser, è al lavoro su Nashville, una versione intermedia tra Windows 95 e Memphis (alias Windows 97, prima, e 98, dopo) che ingloba anche componenti comuni con Windows NT 4. Nashville rafforza proprio l’integrazione con Internet Explorer che ora è in grado di visualizzare documenti di Office, mentre il desktop si trasforma in Active Desktop, capace di visualizzare direttamente pagine web.

Proprio questa sua identità di sistema-aggiornamento, porta spesso a riferirsi ad esso come Windows 96. Il progetto, comunque, viene cancellato poiché le relative innovazioni trovano posto nei vari service pack per Windows 95, da OSR2 alla OSR2.5c, che introducono anche: la fat32, il supporto all’USB ed ovviamente Internet Explorer di “serie”. Anche NT 4 beneficia di aggiornamenti derivati direttamente da Nashville nei vari Service Pack.

Nel 1998 arriva Windows 98, curato dalle prime fasi di design fino al rilascio da Moshe Dunie, Vice presidente della Windows Division di Microsoft. Si tratta in sostanza di un raffinamento del suo predecessore, tant’è che siamo di fronte alla versione 4.1 del sistema operativo e non ad una 5.0. Anche il DOS persiste nella sua condizione “nascosta” e viene aggiornato alla versione 7.1.

La nuova versione sfoggia un look migliorato, una nuova architettura per lo sviluppo dei driver, WDM (Windows Driver Model),  ed una più profonda integrazione con Internet Explorer (4.0). Proprio questa scelta, unitamente ad alcuni problemi ancora non risolti nel supporto per l’USB, rende la prima release soggetta a frequenti crash e costringe Microsoft a correre ai ripari con Windows 98SE (Second Edition, maggio 1999), ritenuta ancora oggi la versione più stabile mai realizzata del filone 9x.

Come  di consueto vi salutiamo con un interessante video in attesa del quarto post della serie.

Bill Gates and Brad Silverberg Windows 95 Launch

 

35 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    Antonio
     scrive: 

    Dovevate linkare anche il momento in cui, durante la presentazione di win98, il SO crash miseramente :D

    http://www.youtube.com/watch?v=TrAD25V7ll8

  • # 2
    findus
     scrive: 

    Articolo interessante. Complimenti…

  • # 3
    Flare
     scrive: 

    @Antonio: quello è stato memorabile! :D
    Win98 aveva introdotto anche i noiosissimi (per me) effettini e animazioni, che erano la prima cosa che disattivavo dopo l’installazione, occupava più spazio su disco (dai 50 mb di Win95 ai 400 del 98SE, se non ricordo male) e ho il ricordo che fosse anche un poco meno scattante nell’uso (caricamento del SO, navigazione con Explorer, … ma sono ricordi molto lontani ormai), sebbene più “stabile”, nonostante la presentazione esilarante di cui sopra.
    La serie 9x in particolare ha lasciato in eredità a Windows una fama di un SO prone ai crash, anche se con il ramo NT, Win 2000 e XP, in particolare da XP SP2 in poi, i BSoD li ho contati sulle dita di una mano.

    Con Windows 95 OSR2 inoltre arriva DirectX, al posto delle Windows High Performance Graphics Library (WinG, usate ad esempio in Civilization 2) e i videogiochi per Windows iniziano a prendere sempre più piede.

  • # 4
    the solutor
     scrive: 

    @antonio

    A distanza di anni c’è ancora chi cita sta cosa fatta apposta come vera.

    Il giorno che vedrò anch’io una schermata blu, e quindi con la scheda video switchata a caratteri, con ancora la barra delle applicazioni visibile, ci crederò

  • # 5
    j
     scrive: 

    ma poi il blue screen che entra da destra con effetto tendina – che anche un bambino capirebbe essere un fake… :D

    un articolista serio fa solo bene a non linkarlo o citarlo (se non proprio come nota di colore)…

  • # 6
    Emanuele Rampichini
     scrive: 

    @j
    Ehehe… magari era una build speciale con un compositing window manager. :D

    A parte gli scherzi si è trattata di una mossa di marketing veramente geniale. Prendere la schermata più odiosa che un utilizzatore possa trovarsi avanti e farla diventare un cult.

  • # 7
    Emanuele Rampichini
     scrive: 

    trattato

  • # 8
    Tom
     scrive: 

    Ragazzi, se volevano mostrare un blue screen of death potevano farlo perfettamente. Non è di sicuro per quello che dite voi che è un fake. Tenete conto che è il 1998 e che non state vedendo direttamente lo schermo di quel computer ma una proiezione indiretta. Guardatelo bene il video. C’è un cambio di frequenza e la visualizzazione sballa, con l’output che ora è di una risoluzione diversa, anche se viene visualizzata sempre la stessa, così appare schiacciata mentre la parte sotto, non aggiornata, sfarfalla.

  • # 9
    djfix
     scrive: 

    volevo porre una nota interessate che nell’articolo non viene menzionata:
    si parla di nashville come un windows 95 OSR2 (ovvero con service pack) tuttavia poi la versione commercializzata di nashville con OSR2 aveva preso il nome di Windows 95 B (supporto usb) e con la OSR2.5c, una versione Rarissima a dire il vero con soli 2 mesi di vendita prima dell’uscita di windows 98, di windows 95 C.

    ….sarà poi curioso sentire il prossimo articolo dove compariranno nomi famosi come windows ME e windows 2000 per il filone NT

  • # 10
    Alex
     scrive: 

    fino a win95 i SO desktop di MS son stati penosi.
    Win95 aveva le sue pecche ma cominciava a far vedere
    qualcosa di piu interessante.
    Io personalmente Win3.1 di cui erano tanto orgogliosi
    lo vedevo come poco piu che una calcolatrice programmabile.
    Sara che venendo da amigaos mi ero abituato a qualcosa
    anni luce migliore.

  • # 11
    Felice Pescatore (autore del post) (Autore del post)
     scrive: 

    @djfix
    In realtà non è proprio quello che volevo dire. Le tecnologie di Nashville sono congluite nei fari service pack e non in uno specifico.
    Tnk

  • # 12
    crick
     scrive: 

    Io a quel tempo già usavo OS/2 3.0 Warp (poi aggiornato a Merlin) ed era ANNI luce avanti…vero desktop ad oggetti completamente configurabile, con 8MB andava alla grande e con 16 VOLAVA letteralmente, un filesystem eccellente HPFS e vero protected mode a 32 bit. Inoltre c’era già WebExplorer che non era malaccio…un peccato!
    Windows95 era una schifezza a confronto… io se fossi stato al posto della MS avrei rifatto TUTTO DACCAPO, chi volevo la roba vecchia…dual boot. Dopo 4-5 anni alla fine è sparito tutto il vecchiume delle app dos/win31 ma a quest’ora avremmo sicuramente un’architettura nuova di zecca ed efficiente. Mi spiace dirlo ma per me anche 7 è la solita solfa ritrita. Un SO che consuma centiania di megabyte per farmi vedere uno sfondo è allucinante se pensate che MenuetOS ce la fa con un floppy da 1.44 e 1/100 della ram. Il kernel di Windows è oramai pesante e vecchio (alla fine è lo stesso di NT 4, solo aggiornato) e con 4GB di ram swappa come un disperato (politica che non ho mai capito di windows). Col mio sistema Linux prima di fare 5 e dico CINQUE megabyte di swap devo arrivare a utilizzare quasi 3GB di RAM.
    Sarebbe ora che Windows 8 (o come lo chiamano) tagliassero col passato e facessero un Kernel light, leggerissimo e veloce. Per il resto c’è la virtualizzazione. La compatibilità è una scusa.

    Questa è una mia modestissima opinione…

  • # 13
    phabio76
     scrive: 

    Ma quanto era brutto il logo di Windows NT 3.5?
    È proprio sbagliato graficamente! Sembra che abbiano applicato a caso un effetto ombra qualsiasi… per renderlo più aggressivo… come il nome di “Pucci il cane” dei Simpsons… Pucci sta bene a tutti?…OK!
    Scusate la divagazione, ho infranto in un istante la mia fama di persona seria.

  • # 14
    giovanni
     scrive: 

    Buonasera,
    buon articolo Felice, mi associo ai complimenti degli altri. Secondo me è ben documentato, senza prese di posizione avventate che possono provocare fastidiose correzioni e conseguenti altrettanto fastidiose polemiche. Bene.

    Commenti personali: purtroppo, nonostante molte belle novità, ricordo W95 come il più instabile e problematico dei Windows (e che ha procurato la terribile fama delle schermate blu e dei messaggi d’errore assurdi). Per fortuna la serie 9x si è rifatta con il ben più maturo e stabile 98SE. Bisogna considerare che questi sistemi operativi erano rivolti ad una fascia entry-level, non necessariamente professionale, che disponevano di una grandissima quantità di software e soprattutto che riuscivano a funzionare su decine di migliaia di configurazioni hardware diverse… purtroppo questo particolare non dovrebbe essere trascurabile. Pertanto, per essere pari, il confronto non può essere rivolto a OS di altra categoria (OS/2) o “sostanzialmente” proprietari (MacOS). E poi, nel 1995 Linux, per fare un esempio, aveva la stessa utilità dell’attuale AROS.

    @crick
    Proprio per quanto ho detto prima, mi pare impari il confronto tra OS/2 Warp e Windows95. A parte al fatto che fino alla v3 OS/2 era un “mangia-risorse” assoluto e non disponeva di alcun software dignitoso (a meno che uno non si accontentasse della raccolta del “bonus pack”). Nel frattempo WinNT era un sistema estremamente stabile, disponeva di ottimo software e soprattutto era proponibile per applicazioni di rete e stava avvenendo il porting dei più importanti software professionali prima disponibili solo su workstation.
    Poiché stiamo parlando del 1995, estendere indistintamente la critica di 15 anni mi sembra piuttosto OT e anche molto azzardato, almeno per temi di informatica. Inoltre non condivido le critiche che rivolgi a W7 che mi sembrano molto qualunquiste. Se fosse una “solfa ritrita” di XP non sarebbe malissimo, ma personalmente mi pare sicuramente migliore! Per esempio funziona anche su hardware non all’ultimo grido (mi riferisco a macchine da un paio di centinaia di euro o anche riassemblate), non l’ho sentito “swappare” tanto come dici tu nemmeno su 2Gb e anche quando lo fa non ha fastidiose perdite di prestazioni (che poi è questo quello che conta: la memoria può gestirsela come meglio crede!). In compenso è stabile, funziona velocissimo in 64bit, ci sono driver per qualsiasi periferica e c’é sovrabbondanza di software: cos’altro ti serve per lavorare? Il discorso degli sfondi o delle trasparenze dell’interfaccia grafica non li giudico termini di paragone sostanziali per un opsys.

    Notte

    PS: intervento a tarda ora perché oggi è stata giornata dedicata al “purcittar” e ho finito da poco… in ogni caso ricordo sempre la possibilità di un RC riflessivo e variegato con http://www.jurassicnews.com

  • # 15
    giovanni
     scrive: 

    @phabio76
    “piccolo aiutante di Babbo Natale” è il nome del cane dei Simpson

  • # 16
    phabio76
     scrive: 

    @giovanni
    Ma guarda dove siamo andati a parare…
    http://www.youtube.com/watch?v=B9h35GRXewU&feature=related

    Anche a casa l’ultima parola è sempre la mia ed è: “Hai ragione tesoro!”

  • # 17
    Felice Pescatore (Autore del post)
     scrive: 

    Salve a tutti,
    vi invito a dare un’occhiata al nuovo layout (e contenuti) di storiainformatica.it.
    Tnk

  • # 18
    crick
     scrive: 

    @giovanni

    Il mio commento era di base rivolto all’interfaccia che in OS/2 3.0 era un vero desktop ad oggetti (come ho scritto) – ogni cartella personalizzabile, document-centric, molto pratica. Il fatto che poi mi sia allargato ad un confronto è per far notare come in 15 anni ben poco, alla fine, si è mosso. La logica del massimo profitto al minimo sforzo ci ha portato ad avere sistemi operativi, secondo me, non al passo coi tempi.
    Windows Vista ne è stato il miglior rappresentate e 7 la miglior fregatura per noi utenti. Diamine 6 anni di sviluppo per avere qualcosa che rivoluzionario non è stato e altri 2 anni per avere ciò che avremmo (paroloni, comunque) dovuto avere. Oddio!
    Voglio farti notare che io ho 4GB di RAM con 7 x64 e non ricordo di aver visto la spia dell’HDD spenta per più di 5 secondi. Monitorizzi le metriche e ti accorgi che senza alcun programma aperto ti ritrovi un page fault delta che oscilla tra i 300 e i 700. Diamine hai 2GB di ram liberi (su 4 e senza far nulla) e swappi pure?!? Linux da questo punto di vista è più parsimonioso!
    Accetto il tuo punto di vista ma rimango della mia opinione sulle critiche su Windows 7 (che uso e apprezzo, rispetto a Vista) ma siamo nel 2011 con processori forse un migliaio di volte + veloce di 15 anni fa e con 1000 volte la RAM eppure sembrano non bastare mai per avere una alla fine un desktop con qualche icona. Cosa fa di tanto eclatante Windows 7 rispetto a NT4 per consumare 50 volte le risorse? Questo è il punto su cui vorrei fosse focalizzato il ragionamento. Il MenuetOS è estremo ma fa capire che di margini di miglioramento ce ne sono ECCOME. Non c’è solo la volontà perchè ottimizzare Windows oggi costerebbe il doppio che rifarlo…ma poi per quale motivo? Domani esce il Core i200 da 64 core e 2TB di ram…
    L’architettura NON puoi dirmi che non è vecchia. Condividono la stessa idea e le stesse caratteristiche del progenitore NT4…qualcosa in più, la sicurezza ma se stringi non sono poi così diversi: ancora quella ciofeca di Registry, ancora disinstalli un programma e ti lascia un miliardo di file in giro, 15GB per Paint, la calcolatrice e Wordpad…e ancora tante piccole e grandi cose con cui sarebbe ora di tagliare.
    Snellire il sistema, riniziare DACCAPO (ciò che avrebbero dovuto fare con Vista) ottimizzare seriamente l’uso delle attuali e ingenti risorse hardware…per tutto il resto, c’è la virtualizzazione.
    La mia critica non è qualunquista è la critica di un utente e programmatore (per passione e professione) da vent’anni che ha iniziato col DOS 3.10 e che dopo 15 anni dal primo “START” non vede ancora la svolta. Tutto qui.

  • # 19
    Giovanni
     scrive: 

    @crick
    Sicuramente abbiamo opinioni diverse, comunque io non la penso come te a proposito di Win7 (nonostante l’argomento originale fosse ben più RC). Pur non essendo un invasato sostenitore di Windows (per quanto possa esistere una categoria di invasati di questo tipo) mi viene sempre voglia di prendere posizione quando lo ritengo sottoposto ad ingiusti attacchi. Con questo non voglio dire che si tratti dello stato dell’arte degli OpSys, e che non abbia delle discutibilissime pecche: ma non sono così disgustato perciò cerco di sforzarmi per capirne le ragioni e penso che siamo di fronte ad ottime soluzioni di compromesso.
    Prima bisogna capire cosa vorresti da un OS per pc, poi cosa vorresti in particolare da un OS per pc destinato ad un uso di massa ma anche in grado si sostenere applicazioni professionali di alto e altissimo livello. Se poi ci aggiungi che deve funzionare sulle configurazioni hardware più disparate riuscendo, magari con un po’ di “manina”, a esprimerne le prestazioni più spinte. Beh… pare che qualche compromesso bisogna essere disposti ad accettarlo senza sputare indiscriminatamente sulla qualità del prodotto. Considera che Microsoft ha praticamente unificato le linee di prodotto da quasi dieci anni.
    Sono sicuramente disposto a riconoscere che non si tratta di una architettura rivoluzionaria, ma credo che nessuno richiedesse nulla di tutto ciò. Il problema principale è la capacità di evolvere garantendo la massima compatibilità, stabilità e sicurezza (dal punto di vista industriale e di mercato, in realtà si tratta principalmente di mantenere il successo acquisito). In questo abito NT ha dimostrato di possedere delle doti di scalabilità straordinarie e incontestabili (fra un po’ avrà 20 anni!!!). Se hai provato i drammatici ostacoli a cui MSDOS ha costretto gli utenti per quasi otto anni, e ricorda che si lavorava su “fior fiore” di hardware, puoi fare un paragone e noterai che, seppure con qualche ritardo e magari qualche passo falso, questo sistema ti rende disponibili le risorse hardware più evolute in brevissimo tempo dalla loro disponibilità di mercato. Certo, si tratta anche qui di un notevole compromesso tra tecnologia e marketing, ma pur “tappandoti il naso” la realtà sostanziale la dovresti riconoscere pure tu.

    Le schermate grafiche e le “iconcine” non sono le uniche novità, queste servono per il marketing: essendo un prodotto anche con destinazione commerciale, cioè rivolto al supermercato. Inoltre mi pare che in quanto a sciocchezze anche Linux non scherza… ahimé, ma a volte pare che molti degli “sviluppatori” abbiano proprio la mera apparenza come modello di sviluppo!

    Infine continuo a non rilevare lo swapping di cui parli… chissà, magari affinché parli bene di Win7 mi hanno “rifilato” una versione ottimizzata direttamente da Bill Gates! Ho pure tolto 6G dal PC per controllare se per caso mi fossi sbagliato: magari dipende dalla MB?

  • # 20
    lakar
     scrive: 

    Secondo me Windows 95 fu un netto passo avanti come funzionalità, comodità d’uso etc. che finalmente rendevano windows un os moderno ma un anche un netto passo indietro come stabilità e prestazioni. Le schermate blu erano parecchie e l’aumento di richieste hardware rispetto a win 3.1 fu notevole.

    Perché il kernel di win95 non fu fatto interamente a 32bit ma in un ibrido 16/32 bit? Per questioni di retrocompatibilità? Ma nell’articolo c’è scritto che anche NT poteva eseguire molte applicazioni win16 e dos. Forse win95 aveva una migliore retrocompatibilità? Non ho mai usato NT 3.1-3.5 ma solo win3.1-win95.
    Inoltre questo kernel ibrido influiva anche sulle prestazioni e richieste hardware? Per esempio mi ricordo di aver letto che il multitasking di win95 non funzionava in modalità preemptive se si eseguivano assieme applicazioni a 16 bit.

  • # 21
    lakar
     scrive: 

    @crick
    Windows 7 non gira con 10 MB di ram ma se guardi a Kubuntu o MacOS non siamo distanti da Win7. Purtroppo è la tendenza di tutti gli os attuali.
    Inoltre mi sembra molto strano che Win7 ti faccia swap con ben 4 GB di ram. O utilizzi programmi molto pesanti oppure c’è qualcos’altro che non va nel tuo pc. Io ho Win7-64 con 2 GB di ram e non swappa mai, infatti la spia dell’hd si accende solo per lanciare un programma e poi è sempre spenta.

  • # 22
    Cesare Di Mauro
     scrive: 

    Idem. 7 è un eccellente s.o.: il miglior prodotto di casa Microsoft. Certe critiche sono del tutto immotivate.

    Quanto a ’95, il kernel era 32 bit. Il s.o., comunque, integrava parti a 16 bit e parte della memoria (bassa) era condivisa da tutte le applicazioni a motivo della famigerata retrocompatibilità.

    Sì, migliore anche di quella di NT, perché era garantito anche l’accesso diretto all’hardware, mentre quest’ultimo offriva “soltanto” :D delle virtual machine isolate (e con l’accesso all’hardware totalmente virtualizzato, appunto).

    Infine, il multitasking era preempitive per le applicazioni a 32 bit, e cooperative per quelle a 16 bit.

  • # 23
    Giovanni
     scrive: 

    Ah… che consolazione! Per fortuna qualcuno che conferma le mie opinioni su Win, Win7 e sullo swap (e pure qualcuno con una certa reputazione e voce in capitolo in merito alle questioni :)

    Penso che i problemi dell’attività hd di @crick siano dovuti ad altro e non alla gestione della memoria (configurazione, MB, qualche processo???).

    Nel mio ultimo post inoltre ho sottolineato appunto i problemi di retrocompatibilità che hanno sempre ampiamente condizionato funzionalità e prestazioni di questo sistema operativo in quanto essenziali soprattutto per mantenere una supremazia di mercato (ma anche a vantaggio degli utenti). In questo modo sono state in parte evitate le problematiche a cui ha fatto assistere proprio MacOS-X che è pure un eccellente OpSys.
    Bisogna considerare che proprio i problemi dello standard e la “comunicabilità” sono stati alla base delle Unix-Wars e il problema principale degli OS proprietari per mini e mainframe di venti anni fa (quando il RISC era ricercato strenuamente per aumentare le potenze di calcolo e poter consentire delle emulazioni veramente efficienti… poi integrate nella stessa architettura delle CPU).
    Windows ha risolto in maniera valida il problema della retrocompatibilità senza “farsi troppo male!”

    @Iakar
    Sono d’accordo con te riguardo a Win95 che è stato premiato per l’innovazione ma è risultato, nella pratica, il meno affidabile di tutti i Windows.
    Anche grazie al lavoro che facevo, in quegli anni ho potuto utilizzare praticamente tutti gli OS disponibili per PC e workstation, compresi diversi tipi di Unix (ben prima che Linux diventasse un OS proponibile).
    Confermo quanto dice Di Mauro, la retrocompatibilità di W85 era migliore, quella di NT era garantita solo per un numero limitato di applicazioni e, a volte, era solo sulla carta. In compenso era ottimo e stabilissimo in rete e per applicazioni appositamente sviluppate anche molto molto esigenti. In pratica non poteva essere proposto come OS “general porpouse”.
    Ciò invece, è potuto avvenire solo dalla versione Win2000, quando l’hardware aveva raggiunto potenzialità per rendere efficiente la “virtualizzazione” ed anche il parco software si era evoluto. Solo XP però, ha integrato le funzionalità multimediali e tutta quella parte di software necessario a rendere utilizzabile da chiunque un OS anche per farci girare dei bellissimi giochi con animazioni 3D sfruttando a fondo le ultime innovazioni di GPU e librerie grafiche!!! Su questo punto sto ancora aspettando Linux!

    Ciao

  • # 24
    lakar
     scrive: 

    Grazie delle risposte. Allora era come pensavo.
    Mi sono spesso fatto anche un’altra domanda. Come si spiegano le notevoli richieste hardware di win95 rispetto a quelle di win 3.1 o di altri OS? Il kernel ibrido e la grande retrocompatibilità giustificavano anche gli 8-16 MB di ram, gli 80 MB di HD e un processore 486 o meglio Pentium? O forse win95 non era molto ottimizzato? Mi ricordo che al tempo gli utenti Amiga ridevano se gli dicevi che il tuo pc aveva 16 MB di ram etc.

  • # 25
    Cesare Di Mauro
     scrive: 

    Purtroppo la retrocompatibilità è un prezzo da pagare molto salato in termini di spazio e di memoria.

    Nello specifico Windows ’95 doveva:
    – integrare il DOS e condividere parte della memoria (e perfino la interrupt table);
    – integrare le API Win16 delle versioni di Windows più vecchie;
    – integrare le API Win32 in buona parte utilizzate nelle versioni più avanzate di Windows 3.x;
    – aggiungere nuove funzionalità.

    Inoltre Windows già allora doveva sobbarcarsi l’onere di riconoscere una montagna di periferiche e avere appositi driver per utilizzarle, mentre la concorrenza non era monotematica a livello di hardware (perché schede di espansione et similia ne avevano anche loro), ma certamente il parco era di gran lunga inferiore.

    Aggiungo che nessun altro s.o. concorrente offriva memoria virtuale e protetta (anche se non al 100%, come con NT, ma certamente il sistema non andava in bomba o in guru meditation così facilmente; tutt’altro), e soltanto Amiga il multitasking preemptive.

    Poi ci può anche stare la scarsa ottimizzazione, per carità, ma non avendone disassemblato il codice mi fermo qui e non vado oltre.

    @Giovanni: perché quando è troppo è troppo. Vedere affermare addirittura che Vista e 7 non hanno portato miglioramenti, per bene che vada si classifica come miopia e al peggio si passa al cieco fanatismo.

    Ridicolo poi tacciare Windows di avere un’architettura vecchia, quando il citato Linux se ne porta dietro una di ben 40 anni (e vai di fork ancora oggi: alè!).

    Il fondo, infine, si tocca quando vedo tirare in ballo MenuetOS, che è scritto in assembly e si programma con lo stesso linguaggio o, al più, in C ma giusto per gentile concessione degli autori (che magari schifano pure chi lo utilizzerà al posto dell’assembly).
    Non c’è che dire: è un s.o. che avrà un elevato tasso di sviluppo, anche a livello applicativo.

    Certa gente deve vivere in qualche universo parallelo. Non trovo altra spiegazione sensata…

  • # 26
    Giovanni
     scrive: 

    @Di Mauro
    Per evitare fraintendimenti… credo che stiamo dalla stessa parte.

    Per quanto possa apparire paradossale ai detrattori di quella che insistono a indicare come M$, oggi è proprio Windows che ci permette la massima libertà d’azione in ambito informatico.
    Per esempio, spendendo solo qualche centinaio di euro posso “imbastire” un discreto pc con tutte le tecnologie più moderne e con il quale riuscire ad utilizzare senza intoppi applicazioni di altissimo livello (e senza dannarmi l’esistenza).
    Per non parlare della varietà e dell’efficienza dei sistemi di sviluppo… c’é di tutto, dall’open source all’estremamente proprietario e dedicato.

    Ciao

  • # 27
    Cesare Di Mauro
     scrive: 

    Senza dubbio Giovanni. Abbiamo molte affinità di pensiero e, in parte, di esperienze.

    Per cui mi è facile concordare anche col tuo ultimo commento. ;)

  • # 28
    lakar
     scrive: 

    @ Cesare Di Mauro
    Se non erro anche Amiga OS aveva una buona retrocompatibilità (escludendo ovviamente i programmi che usavano sporchi trucchetti sui chipset ma considerando solo quelli che seguivano le linee guida). Però immagino che fosse meno esoso in termini di richieste hardware garantire la retrocompatibilità tra le poche versioni di Amiga OS che erano abbastanza simili e non così differenti tra loro come lo erano invece MS-Dos, Win16 e Win32. Dico bene?
    Mi chiedevo anche un’altra cosa. Un’architettura processore + chipset come nell’Amiga influiva sulle richieste hardware come ram e spazio sull’hd rispetto a una architettura singolo processore come sui pc?

  • # 29
    Cesare Di Mauro
     scrive: 

    Non credo che influisse, se non per alcuni vincoli (ad esempio che il chipset poteva lavorare soltanto sulla sua chip ram).

    Riguardo ad AmigaOS, sì, era molto efficiente. Anche perché le prime versioni erano scritte quasi interamente in assembly.

    Poi anche l’hardware dava una mano in tal senso: la grafica occupava esattamente lo spazio richiesto (ad esempio uno schermo a 32 colori non utilizzava un intero byte per memorizzare il colore, ma soltanto 5 bit).

    Per il discorso retrocompatibilità, penso che il principio valga per qualunque s.o.: soddisfatte le linee guida per lo sviluppo dettate dalla casa madre, il software dovrebbe girare bene anche sulle versioni successive.

  • # 30
    lakar
     scrive: 

    Capisco ma allora perché non utilizzare più assembly anche per le successive versioni di Amiga OS e per Win95? Solo perché troppo costoso?

    Prima mi interessava capire: la retrocompatibilità era meno onerosa (come richieste hardware ram, hd etc.) su Amiga per il fatto che le versioni precedenti dei suoi os non erano così differenti come invece lo erano invece ms-dos, win16 e win32?

  • # 31
    Giovanni
     scrive: 

    @Iakar
    Anche i PC hanno architettura processore + chipset, solo che nell’Amiga il chipset ha subito evoluzioni controllate e, soprattutto, era uguale su tutte le macchine della stessa categoria. In questo senso, si: non essendoci tante varianti ed evolvendo in modo controllato era possibile mantenere ordine e non serviva una sovrabbondanza di drivers. Pertanto un OS poteva occupare meno spazio e poteva essere incorporato in gran parte su ROM aumentando di gran lunga l’efficienza.

    Questo è il vantaggio delle architetture proprietarie che permettono un buon sfruttamento dell’hardware e una più facile retrocompatibilità. Nello stesso tempo comporta moltissime difficoltà legate, per esempio, al rinnovamento dell’hardware (come l’impossibilità di cambiare repentinamente strategie), lo sviluppo (che deve essere condotto autonomamente) e l’implementazione di nuove tecnologie. Apple aveva scelto la stessa strada e negli anni Novanta ne pagò seriamente le conseguenze rischiando anch’essa il fallimento!
    Anche Atari ha fatto una brutta fine e sinceramente, a me l’ST è sempre piaciuto (anche per le sue aspirazioni professionali con il DTP e la musica), nonostante fosse decisamente molto inferiore ai mitici Amiga.
    Aldilà delle tante accuse ad una gestione sicuramente disdicevole, specie negli ultimi anni, bisogna essere onesti ed ammettere che il ruolo a cui era stata chiamata ad assolvere Commodore era decisamente troppo difficile. Un grave problema è stato quello di non aver individuato in modo deciso una nicchia di mercato per delle macchine che erano pari a delle workstation di qualche anno prima. Ma le stesse workstation che provenivano dal mercato professionale volgevano ormai al declino, e queste invece, che provenivano dal “consumer”, non avevano abbastanza spazio. Mi riferisco sia ad ST per musica e DTP, che ad Amiga per la grafica e il multimedia.

    Le politiche del basso costo che avevano garantito l’affermazione qualche anno prima erano diventate causa del dissanguamento proprio perché impedivano di sostenere lo sviluppo di un’architettura proprietaria. In breve tempo i PC si sostituirono consentendo prestazioni superiori a prezzi più bassi e larga disponibilità di qualsiasi tipo di software. Per capirci: era il tempo delle SoundBlaster, S3 e maxtor Millenium!

    Comunque erano altri tempi: con Amiga (e anche con ST) potevi usare software e tecniche altrimenti inarrivabili per un adolescente (CAD, modellatori, rendering, titolazione video, sequencer audio…) e che ti esaltavano la fantasia. Se poi avevi (come nel mio caso, e di moltissimi altri) un retroterra di “smanettamenti” con il C64 in particolare, o di qualche altra macchinetta… allora la libertà ti sembrava senza limiti, potevi inventarti tecniche prima solo sognate nella fantasia, ti sentivi padrone dell’hardware!

    Forse ho chiacchierato a vanvera dilungandomi in discorsi troppo OT! Ma questo penso che sarà veramente l’ultimo e “mai letto” intervento di questo post.

    @Di Mauro
    Non conoscevo MenuetOS… così ho dato un’occhiata al sito: sono rimasto allibito! Se si parla di puri “esercizi di stile” credo che questo sia al top della categoria.
    Per quanto mi riguarda, l’assembler credo di averlo riposto nel cassetto con il 386; poiché non sono appassionato di enigmistica lo uso come passatempo per giocherellare con C64, Amiga o con un vecchio PC con Z80 (il mio preferito) invece di fare un cruciverba, ma con le stesse finalità!

    Tra l’altro ero convinto che non fosse possibile programmare in modo efficiente dei processori di classe Pentium e superiori senza disporre di un moderno compilatore “con le palle” e di una buona iniezione di librerie ben fatte. La cosa è talmente strana che sono curioso di capire cosa hanno combinato e come possano aver deciso di usare nel XXI secolo il linguaggio meno portabile in assoluto… contrari ad ogni logica evolutiva. Ricordo che un tempo “linkavo” il codice del 6510 a mano con un foglio di carta a quadretti e disponendolo su due colonne. Ad un certo punto sapevo a memoria quasi tutti gli opcode… potrei suggerirlo agli sviluppatori di Menuet, magari si esaltano!

    In veste di appassionato d’arte ti dico che li considero come dei virtuosi specialisti del ritratto: bravissimi, ma destinati a lavorare sul marciapiede ed aspettare l’elemosina dei turisti!

    Notte!

  • # 32
    Giovanni
     scrive: 

    Matrox, non maxtor che sono gli hard disc. …rigorosamente senza accelerazione 3D!!!

  • # 33
    Cesare Di Mauro
     scrive: 

    @Giovanni: ancora una volta concordo (tra l’altro anch’io assemblavo a manina il mio codice per 6510, consultando un foglio con la opcode table quando non ricordavo qualcosa).

    Programmare un s.o. in assembly è puro esercizio di stile (basti aprire il manuale delle ottimizzazioni di Intel per rendersene conto), e non è immaginabile lavorare così per s.o. “mainstream”. Il costo sarebbe spropositato, specialmente dovendo tener conto delle evoluzioni delle architetture delle CPU (anche soltanto l’implementazione della stessa ISA).

    Aggiungo che proprio di driver con l’Amiga era difficile parlare, perché esistevano sostanzialmente 3 soli chipset: OCS, ECS, AGA; di cui i primi due estremamente simili. Per cui AmigaOS si regolava di conseguenza (abilitando certe caratteristiche oppure no a seconda dell’identificativo che trovava in un apposito registro hardware).

    C’è da dire che con la versione 3.0 Commodore ha cominciato a muoversi diversamente, in ottica RTG (Retargettable Graphic), e aggiungendo il concetto di monitor, ma AmigaOS rimaneva comunque legato ai chip custom dell’Amiga. Era in programma altro lavoro in questa direzione, ma poi sappiamo com’è andata a finire (è fallita).

    @lakar: Commodore a partire da AmigaOS 2.0 ha cominciato a riscriverlo in C, lasciando in assembly soltanto alcune parti critiche, proprio a causa degli enormi costi di mantenimento e sviluppo di un s.o. scritto (quasi) interamente in assembly.

    Riguardo alla retrocompatibilità, è stata molto più facile sia per l’hardware molto simile, come ha detto Giovanni, sia per il modello “a librerie” adottato per AmigaOS. Ne ho parlato già qui: http://www.appuntidigitali.it/13594/le-librerie-di-amigaos-fra-innovazione-e-cristallizzazione/

  • # 34
    techno
     scrive: 

    Per non parlare del BUG di Win95 quando, usando il menu F8 alla partenza e sceglievi “Versione precedente di MSDOS”, al riavvio veniva sputtanato tutto e non partiva piu niente :P

  • # 35
    lakar
     scrive: 

    Grazie. Ora capisco meglio perché Win95 aveva certe grosse richieste hardware. Allora non era tutta colpa dei programmatori MS come si diceva spesso a quel tempo.

    @Giovanni
    Hai citato la Matrox Millennium… La comprai con un pentium nel ’95. Il resto del computer l’ho venduto anni fa ma la mitica Millennium la possiedo ancora nel cassetto! Quanti ricordi! :-)

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.