Tag Archives: OS

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

Annunci

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

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

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.