Tag Archives: Rivoluzione digitale

il kernel

10 Giu

Il kernel, termine inglese per nucleo, è la base del sistema operativo. Il suo compito è  quello di gestire i tempi di accesso dei diversi programmi all’hardware e di controllare che il tutto avvenga in sicurezza. Ovviamente  la sua assenza non determina il mancato funzionamento di un computer, ma è certamente importante nell’ottimizzazione dello svolgimento dei vari processi. A seconda del grado di astrazione della parte hardware, resa necessaria per la sua complessità, i kernel si dividono in kernel monolitici, microkernel, kernel ibridi ed esokernel.

schema funzionamento

Il kernel coordina: la memoria, i processi, l’accesso all’hardware del sistema, il file system, l’accesso alle risorse da parte dei processi. Inoltre suddivide la memoria in parti più piccole e “maneggevoli” dette pagine, che vengono scaricate sulla memoria di massa (hardisk) quando non servono più e ricaricate da quest’ultima in memoria centrale quando se ne presenta la necessità (tecnica dello swap) ; si arriva così a creare una memoria virtuale teoricamente illimitata da far vedere alle applicazioni mentre il SO utilizza una contenuta quantità di memoria.

Processi e memoria devono essere coordinati tra loro in modo che le pagine di programma che sono attualmente in esecuzione o che contengono dati attualmente utilizzati, possano risiedere in memoria centrale.  Il processo viene sospeso e passa in stato di attesa se una pagina necessaria ad un processo in esecuzione non si trova in memoria centrale; il processo torna ad essere pronto per l’esecuzione dopo l’operazione di input da memoria di massa della pagina necessaria.

Il kernel può essere considerato la naturale evoluzione dei programmi debugger, cioè di quei software, utilizzati sui primi elaboratori e caricati su una memoria ROM, in grado di resettare il sistema alla fine dell’esecuzione di un programma e di prepararlo ad uno successivo. Il kernel ha il vantaggio di riuscire a gestire in modo efficiente il multitasking,  rendendo possibile la virtualizzazione dei processi: in pratica l’utente percepisce come contemporanee le esecuzioni di due o più programmi, che nella realtà avvengono in modo alternato.

Il concetto di time-sharing è alla base del multitasking e permette la condivisione della CPU tra più processi concorrenti; il tempo di esecuzione del processore è condiviso tra più processi/utenti e ogni processo in esecuzione  ha a disposizione dei quanti di tempo della CPU. Se viene chiesto al sistema di eseguire contemporaneamente due processi A e B, la CPU attuerà un meccanismo di time-sharing, cioè eseguirà per qualche istante (quanto di tempo) il processo A, poi per qualche istante il processo B,poi ritornerà ad eseguire il processo A e così via … Il passaggio dal processo A al processo B e viceversa viene definito cambio di contesto (contest switch).

Le decisioni riguardanti l’esecuzione di un cambio di contesto tra due programmi vengono intraprese da un componente del sistema operativo (software) detto scheduler. Questo programma   stabilisce un ordinamento temporale per l’esecuzione di un insieme di richieste di accesso ad una risposta.

Viene definito scheduling la ripartizione del tempo di CPU tra tutti processi concorrenti . Lo scheduling è un operazione molto importante per il corretto ed efficiente funzionamento del calcolatore consentendo di migliorare l’utilizzo del processore massimizzandone l’utilizzo e la produttività e minimizzando il tempo di attesa e quello di risposta.

Il Kernel è un passaggio fondamentale nell’evoluzione dei sistemi operativi, perché nella sua struttura e funzione ne costituisce l’idea basilare. Come molte altre  invenzioni, il kernel nasce dall’esigenza di agevolare il lavoro dell’uomo: in questo caso migliorare l’operatività dei programmi, lasciando il compito di gestirli ad un altro software. Chiunque può usare il computer adoperando vari programmi contemporaneamente  non preoccupandosi di come il processore debba analizzare le informazioni. Questo rende il pc alla portata di tutti.

Il multitasking, reso fattibile dal kernel, è un fattore determinate nello sviluppo della società perché modifica il nostro accesso all’informazione e quindi la nostra capacità critica. Se possiamo accedere a più notizie contemporaneamente siamo in grado di fare collegamenti tra fatti diversi e avere visione più ampia del mondo. Inoltre il multitasking rende possibile lo svolgimento di più compiti contemporaneamente migliorando l’efficienza.

Ariel Belga Fedeli

Fonti: www.diit.unict.it, http://vandali.org/DanieleMasini/MyLinux/MyLinuxsu93.php, http://it.m.wikipedia.org/wiki/Kernel

RTOS: real time operative system

9 Giu

 Gli RTOS, i sistemi operativi real-time, sono SO  in grado di fornire delle risposte in un tempo determinato. Hanno particolare rilevanza in ambito industriale e hanno la peculiarità di essere deterministici e prevedibili. Si dividono principalmente in due categorie, gli hard e i soft,  in base alla fattibilità di schedulazione di diverse tipologie di task, cioè a seconda della loro capacità di ottimizzare dei processi che qualora non rispettassero dei tempi precisi di esecuzione potrebbero provocare dei danni al sistema.

                                                           

Vxworks e Windows CE due RTOS

I  RTOS sono particolarmente importanti nello sviluppo dei sistemi embedded, cioè apparecchiature elettroniche sviluppate specificatamente per un determinato scopo; ad esempio il computer che gestisce il risciacquo dei piatti in una lavastoviglie o la copia e la stampa su una fotocopiatrice.  Un sistema real time garantisce infatti la realizzazione di sistemi complessi altrimenti irrealizzabili tramite la sola parte hardware. Nel corso del tempo le aziende hanno quindi gradualmente concentrato  quasi la totalità degli sforzi per sviluppare degli RTOS specifici per problemi come il multicolore adottato da varie piattaforme di computing.

Vi sono sistemi operativi real-time  sia open source che closed source e l’uso di uno o dell’altro comporta diverse conseguenze: i primi garantiscono, sopprimi garantisconorattutto per un’azienda , dei vantaggi economici  di spesa contenuta; i secondi, invece, un costante supporto dell’azienda proprietaria dello RTOS alla risoluzione dei problemi . la scelta open source crea sicuramente un’indipendenza da parte dell’azienda verso la produttrice dell’OS e quindi una maggiore libertà di sviluppo; la scelta closed source una sinergia tra due fabbriche che determina una maggiore efficienza del prodotto.

Dal punto di vista economico lo sviluppo di un RTOS può essere costoso; invece da quello pratico un sistema operativo real time  richiede da parte del processore un numero notevole di cicli e causa un sovraccarico del processore. Un thread può sicuramente occupare della memoria aggiuntiva e, se non provvisto di un sistema di priorizzazione, il RTOS può far aspettare un insieme di istruzioni alta priorità svolgendone uno meno importante.

Il  RTOS è un esempio di come un sistema operativo sia determinante non solo per l’utilizzo di software ma anche per il miglioramento dell’hardware e dell’elettronica in generale. Bisognerebbe tuttavia considerane il limite: l’efficienza in tempi precisi e un sistema deterministico richiedono notevoli finanziamenti; inoltre i problemi di sovraccarico del processore possono determinare non solo il danneggiamento di un computer ma comprometterne tutto il contenuto, causando ulteriori e più gravi problemi.

Ariel Belga Fedeli

Fonti:http://robotics.fau.edu/wp-content/uploads/2010/10/Tom-Presentation.pdf , http://it.wikipedia.org/w/index.php?search=&button=&title=Speciale%3ARicerca , http://www.elettronicanews.it/articoli/0,1254,40_ART_4329,00.html

Open source vs closed source

29 Mag

Nel campo dei sistemi operativi, e dei software in generale, si sono venute a creare nel corso del tempo due diverse linee di pensiero:  i sostenitori del open source e quelli del closed. La differenza è nel codice sorgente, cioè l’algoritmo, scritto in linguaggio di programmazione, alla base del software, che può essere o meno  visibile e quindi modificabile da parte dell’utente. Questo ha diverse implicazioni sia etiche  sia pratiche.


open source e closed source

Da una parte i pro-open-source sostengono che il sorgente aperto favorisca lo scambio di idee e la cultura. Come afferma Stallman, il codice sorgente è come una ricetta, che passata da una casalinga all’amica, questa vi aggiunge degli ingredienti secondo i propri gusti e la arricchisce, così il codice sorgente può migliorare nelle mani di un abile programmatore ed adattarsi alle varie esigenze.

Dall’altra i pro-closed-source pensano soprattutto alla comodità: se, ad esempio, un sistema operativo non funziona, l’utente non deve cercare di risolvere decifrando un lunghissimo codice, basta che aspetti che la casa produttrice lo corregga.Non bisogna essere dei programmatori o diventarlo per adattare tutto alle nostre esigenze basta aspettare che qualcuno lo faccia per noi.

L’open source favorisce lo sviluppo di una comunità e di un relativo prestigio associato a ciascuno: se ad esempio riusciamo a risolvere un problema in cui nessuno era riuscito a districarsi, sicuramente saremmo presi in considerazione maggiormente di una persona meno esperta e quindi più ascoltato. Tutto ciò può essere positivo per il miglioramento di un sistema operativo, ma siamo sicuri che sia eticamente giusto?

Tutti hanno il diritto di essere ascoltati, non per quello che dicono, ma perché, essendo tutti gli uomini uguali, ogni cosa è di per sé  indifferentemente importante ad un’altra; sta a noi, poi, valutarla per noi stessi . Certamente l’esperto di programmazione saprà molte più cose  riguardo come migliorare un software, ma un dilettante non può prendere comunque parte ad una discussione? Se quest’ultima è intesa più pienamente come raggiungimento della conoscenza la risposta è implicita.

Il closed source è  comodo, ma fino a che punto? Non dobbiamo metterci davanti a infinite righe di codice , spulciandole una a una, e dannarci per trovare una soluzione, ma generalmente dobbiamo aspettare molto prima che qualcuno si accorga del problema e lo risolva. Inoltre il sorgente chiuso non favorisce la diffusione della conoscenza. Questa è, tra le altre accezioni, comodità:  il sapere qualcosa ci torna utile.

Ariel Belga Fedeli

Fonti:http://bit.ly/Y9UdIM,  http://www.boccaperta.com/gnu-linux-scelta-etica/

Il progresso S.O.ciale

5 Mag

Al contrario di quello che accadeva un tempo, quando si acquistava un calcolatore decidendo innanzitutto il marchio (IBM, Honeywell, Digital, HP ecc.), ormai si acquista il computer badando soprattutto all’ambiente software offerto (Windows, Mac, Unix, Linux ecc.) e la scelta dell’hardware è a questo subordinata”(“Capire l’informatica”, Marco Mezzalama, Elio Piccolo).Questo perché è l’architettura  dei nostri sistemi operativi che ci da la possibilità di sfruttare al massimo la caratteristica del pc di macchina general purpose.

La nostra possibilità di creare e di divertirci e di comunicare è determinata  , limitata e molto spesso ampliata  da quello che il nostro computer ci permette di scaricare o istallare.

Microsoft%20Life%20Without%20Walls

(immagine di slogan Windows;   è molto esplicito il concetto di  “ampliamento”  )

Quanto più siamo liberi di usare determinati programmi di lavoro o  giochi, tanto più siamo liberi in quanto persone perché abbiamo molte più scelte. Il nostro sistema operativo rispecchia il nostro modo di pensare e la limitatezza della nostra mente: una sua evoluzione ci permette di maturare intellettualmente scoprendo un altro punto di vista.

D’altra parte il S.O.  ci limita perché ci costringe ad usare determinate applicazioni sia per motivi di “incapacità tecnologica” sia per motivi economici: potrebbe non essere possibile creare il programma o il produttore di Windows, Mac Os, Android..ecc..ecc.. potrebbe aver scelto di non farlo girare perché non redditizio finanziariamente.

 HT5290-MacAppStore-001-en

(Messaggio mandato all’utente di Mac Os in caso di apertura di app non appartente ad app store, esempio di “motivo economico” )

Tutto questo ci permette di riflettere su quanto incosciamente siamo influenzati e di come spesso banalmente accada che quando non siamo in grado di fare qualcosa, pensiamo non sia effettivamente possibile realizzarla. Se comprendiamo tutto cio’, possiamo capire quanto pure battaglie di mercato nell’ambito dei sistemi operativi  determinino il nostro modo di pensare e agire.

L’evoluzione del pensiero e della società , le possibilità del singolo di auto-affermarsi  ed essere ascoltato dagli altri dipendono dalla libertà dell’individuo di agire e autodeterminarsi ; quindi le scelte economiche di un’azienda produttrice di  S.O.  o le innovazioni apportate su questi ultimi sconvolgono la considerazione che ha il singolo di se stesso e di quelli che lo circondano cambiando in modo molto forte la società. Per questo motivo il progresso della comunità di individui può a tutti gli effetti essere definita “S.O.ciale”.

Ariel Belga Fedeli

Il sistema autocosciente

16 Apr

MS DOS, l’antenato di Windows, ha influenzato e posto le basi per il concetto moderno di sistema operativo;  meno intuitivo ed ergonomico dei  sistemi moderni , aveva la caratteristica di non presentare ancora l’interfaccia grafica, una delle più grandi invenzioni nel campo dell’informatica.

(computer con SO MS DOS)

MS DOS richiedeva, per il suo funzionamento, notevoli conoscenze da parte dell’utente nel campo della programmazione e  della sintassi logico-informatica in generale.

La sua evoluzione  ha portato ad un radicale cambiamento del concetto di calcolatore in cui i processi diventano virtuali e viene creato un ambiente digitale confortevole, il desktop,  una scrivania in cui vengono “appoggiati” dei servizi per l’utente.Tra questi , Windows ripropose una versione di  MS DOS sottoforma di applicazione.

images

(desktop windows 1.0)

 Il linguaggio macchina si trasforma in un programma  da usare sul sistema e non è più soltanto la condizione essenziale di funzionamento, ma un client che si appoggia a sua volta ad un altro programma server secondo un modello a strati.  Questa si può realmente chiamare rivoluzione in quanto è il sistema operativo che si estranea da se stesso e crea un punto di vista molto più vicino all’utente.

Il termine computer, cioè calcolatore, assume un significato proprio, distanziandosi da quello di macchina ed avvicinandosi, nell’accezione più comune ed in parte superficiale, a quello di essere intelligente e responsabile.  Il fatto stesso di creare un’illusione di processo introspettivo, tramite l’estraniazione da un linguaggio logico -circuitale  proprio del  computer, è molto simile al gesto umano di guardare dentro se stessi in terza persona  tramite il pensiero.

(l’immagine rende l’idea del computer che diventa “umano”)

L’applicazione di MS DOS è uno dei numerosi  esempi di come un fattore essenziale nell’evoluzione dei sistemi operativi, sia stato il creare qualcosa che mascherasse l’architettura software e hardware del computer  al fine di favorirne una diffusione di massa.

Ariel Belga Fedeli

Interfaccia Metro: successo o flop?

15 Apr

Immagine

Windows 8, l’ultimo sistema operativo di casa Redmond pubblicato lo scorso ottobre, colpisce subito per un’interfaccia grafica davvero molto colorata e del tutto differente da Windows 7. Subito si resta un po’ sconcertati e disorientati senza il Desktop iniziale e soprattutto senza l’ormai storico tasto Start, elementi con cui la maggior parte degli utenti si è formata.

Metro è davvero innovativo? Ci si può chiedere perché Microsoft abbia voluto stravolgere in questo modo la nuova interfaccia, allontanandosi dalle precedenti versioni. In realtà sembra abbia gettato uno sguardo indietro nel tempo, rifacendosi (così come scherzosamente gira voce sul Web) alla pagina di AOL del 1996 dedicata ai bambini, con grandi icone, chiare e colorate, e ricordando anche in parte i temi dell’apprezzato Windows XP.  

Immagine

L’avvicinamento ai dispositivi touch è chiaramente il motivo di questa modifica così profonda, siano essi tablet, smartphone o smart pc.  Sebbene Microsoft detenga la fetta di mercato più grande per quanto riguarda OS su computer, nel mondo mobile non riesce a contrastare la Apple col suo iOS, ma soprattutto Google. Android ha infatti in questo campo quasi un monopolio capillare e ben sfruttato. Su questo argomento è interessante un articolo su android.hdblog a questo link: http://bit.ly/ZeaNXH. Windows 8 vuole chiaramente avvicinare gli utenti agli smartphone e tablet che montano software Microsoft, sfruttando i computer per acquisire sempre più clientela mobile, che in realtà è abituata già da molto tempo ad utilizzare altri sistemi operativi.

Immagine

Saranno disposti gli utenti a cambiare completamente il proprio modo di usare il computer? Nonostante molti giovani trovino Metro intuitivo, chi usa il computer in ambito lavorativo non sembra aver apprezzato troppo. Infatti su internet sono spuntati subito software per rendere Windows 8 simile alla precedente versione (ad esempio Vistart o StartMenu7, scaricabili gratuitamente da vistart.softonic.it e startmenu7.com); in realtà bastano solo alcune impostazioni per far partire il desktop all’avvio (così come spiegato su Achablog a questo indirizzo http://bit.ly/158zKrf ). Il caro e vecchio desktop infatti non è stato eliminato, ma solo classificato come applicazione, che non viene eseguita automaticamente quando accendiamo il computer.

Immagine

(Snapshot di Vistart)

Immagine

(Snapshot di StartMenu7)

I possessori di Windows 8 possono quindi apprezzare solo i lati positivi, magari dosando gradualmente o eliminando completamente le novità secondo le proprie preferenze! Fateci sapere se siete pro o contro Metro, e anche se avete apportato modifiche all’interfaccia originale!

Federico Fallace

AGGIORNAMENTO: Pubblicata una video recensione di Windows 8 nella sezione video.

Post Introduttivo

15 Apr

Salve amanti della tecnologia, 

questo blog nasce per il corso Rivoluzione Digitale tenuto dai professori Juan Carlos De Martin e Simone Basso presso il Politecnico di Torino.

I temi trattati al suo interno saranno inerenti ai sistemi operativi, siano essi per computer o per dispositivi mobile; non si tratteranno solo le versioni più recenti, ma anche quelle storiche, con annessi confronti e riflessioni. Da qui il nome del blog: EVoluzione degli Operative Systems.

Per tutti coloro che vogliono conoscere cosa c’è alla base dei dispositivi che usiamo tutti i giorni, siamo sicuri che sarà una lettura interessante! Magari riusciremo anche a trasmettervi qualche informazione a voi sconosciuta su questo affascinante mondo.

Restate connessi!

Lo staff di EVOS.