CAPITOLO III SISTEMI OPERATIVI

Slides:



Advertisements
Presentazioni simili
VIA GIULIO RATTI, CREMONA – Tel. 0372/27524
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Interazione Uomo - Macchina
STRUTTURA DEL PERSONAL COMPUTER
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Da Unix a Linux Alessio Coraci V Dp.
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2000/2001.
I COMPONENTI DEL Computer
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Struttura dei sistemi operativi (panoramica)
Linguaggi di programmazione
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Introduzione Cosa è un Sistema Operativo ?
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2001/2002.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Informatica per medici
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
CAPITOLO III SISTEMI OPERATIVI
MODULO 01 Unità didattica 04
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
MODULO 01 Il computer.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
Il computer: struttura fisica e struttura logica
Concetti di base sul Software dei PC Unitre Anno
Il Sistema Operativo (1)
AA 2005/6 Informatica Introduzione 1 Informatica e Laboratorio di Informatica Primi passi in V10 cumenti/biotecnologie.htm.
Con il computer si impara meglio!
Software Insieme dei programmi residenti nella memoria del computer o nei supporti di memorizzazione Modulo 1.
I sistemi operativi1 CONCETTI FONDAMENTALI l HARDWARE: il componente “materiale” di un sistema informatico l SOFTWARE: il componente “immateriale” di un.
STRUTTURA DI UN COMPUTER
Sistema Operativo (Software di base)
Capitolo 0 : Introduzione al corso CdL in Ingegneria Elettronica e delle Telecomunicazioni: Fondamenti dei S.O. (6CFU) Capitolo 0 : Introduzione al corso.
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Autori:  Gazzola Alex  Cassol Simone  Kawkab Wassim Data: 14/04/2014 Classe: 3° INF.
LA LIM IPPSA NINO BERGESE.
I processi.
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
INFORMATICA TECNOLOGIE INFORMATICHE INFORmazione autoMATICA
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Star Office è una suite di software di produttività personale commercializzata da Sun Microsystems. StarOffice nasce come software commerciale sviluppato.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Tecnologie dell'informazione e della comunicazione - Stacey S. Sawyer, Brian K. Williams Copyright © The McGraw-Hill Companies srl Introduzione.
Concetti di base Computer, HW e SW
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Sintesi da pag. 8 a pag. 21. L’ Informatica è la scienza che studia il trattamento automatico dell’informazione. Deriva dal francese «Informatique»
I Sistemi Operativi. Che cosa sono? Il sistema operativo è un software di base che fa funzionare il computer. I Sistemi operativi più importanti sono:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Le basi di dati.
Test di preparazione all’esame E.C.D.L. CONCETTI DI BASE DEL PC.
Il computer RAM: Unità di misura MByte e GByte MHz Processore: Unità di misura Singolo o multiprocessore 32/64 bit velocità GHz Mouse tastiera video stampante.
COMPONENTI DI UN SISTEMA INFORMATICO HardwareSoftware Parte fisicaComponenti logiche Componenti fisiche (elettroniche e meccaniche) di un computer Istruzioni.
Un sistema operativo è un componente del software di base di un computer la cui funzione è quella di gestire le sue risorse hardware e software,fornendo.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Struttura del Computer
Introduzione all'Open Source “La Sapienza” Linux User Group.
Transcript della presentazione:

CAPITOLO III SISTEMI OPERATIVI Cos’è un sistema operativo? A cosa serve? Come svolge il suo lavoro? Fonte principale: J.Glenn Brookshear, (2012) Computer Science An Overview, 11th Edition , Addison Wesley Corso di Didactics of Computer Science Università degli Studi di Trento Elisabetta Trentin matricola155940

Indice della presentazione Definizione di sistema operativo e qualche esempio di sistema operativo Breve storia dell’evoluzione dei sistemi operativi dagli anni ‘50 ad oggi Curiosità: chi è Linus Torvalds? L’architettura dei sistemi operativi: dal software al kernel Il coordinamento delle attività della macchina: boot strapping, scheduler e dispatcher La sicurezza del computer: attacchi esterni e interni. Curiosità: Che cos’è l’hacking?

Definizione di SO Un sistema operativo (SO) è un insieme di programmi (software) che interagiscono da intermediari tra l’utente e le risorse hardware di un calcolatore. Quattro sono le caratteristiche principali: controlla l’insieme delle operazioni su un computer fornisce i mezzi con cui un utente può memorizzare e recuperare i file fornisce un’interfaccia con cui l’utente può eseguire i programmi fornisce l’ambiente necessario a eseguire i programmi richiesti

Un paragone.. Hardware: struttura di una casa (i muri, il pavimento, le pareti) SO: i servizi di base che rendono la casa abitabile (luce, acqua, gas) Programmi applicativi: arredamento. Per uno scrittore una scrivania (programmi di videoscrittura), per chi ama la musica un impianto stereo (programmi per ascoltare musica), per un bambino la stanza dei giochi (programmi per giocare) e così via http://www.google.it/imgres?um=1&hl=it&client=firefox-a&rls=org.mozilla:it:official&biw=1366&bih=665&tbm=isch&tbnid=sao6wMINMPh4nM:&imgrefurl=http://www.deluxeblog.it/post/8814/villa-di-lusso-ai-caraibi&docid=8ERPFnn8hc9CYM&imgurl=http://static.blogo.it/deluxeblog/villa-caicos/villa_caicos_00.JPG&w=432&h=324&ei=meCbT_DHH4fP4QS7i9mpDg&zoom=1&iact=hc&vpx=554&vpy=194&dur=610&hovh=188&hovw=251&tx=137&ty=46&sig=110065059641407461516&page=1&tbnh=135&tbnw=179&start=0&ndsp=18&ved=1t:429,r:2,s:0,i:134 Fonte:http://pasticcietpasticcini.blogspot.it/2009/11/una-casa-meta.html http://www.google.it/imgres?um=1&hl=it&client=firefox-

Alcuni esempi dei SO per computer più usati Windows (Microsoft) Mac (Apple) Ubuntu (GNU/Linux ) Quali sono i criteri di scelta? Per i principianti essenzialmente la cosmetica. Per i più esperti invece, la ricchezza dei pacchetti offerti, la filosofia di progettazione, la sicurezza del sistema e la stabilità Ad esempio, perché usare Linux? http://www.nearfieldcommunication.it/notizie/apple-nfc/ http://www.google.it/imgres?um=1&hl=it&biw=1366&bih=665&tbm=isch&tbnid=1sZmg6EWcKdg9M:&imgrefurl=http://www.internetutile.org/home/windows-che-funziona/&docid=c8KGqmvFleUKSM&imgurl=http://www.internetutile.org/home/wp-content/uploads/2011/05/windows_xp_logo11.jpg&w=550&h=516&ei=JyadT8vQJ67S4QSzramqDg&zoom=1&iact=hc&vpx=368&vpy=174&dur=836&hovh=217&hovw=232&tx=140&ty=98&sig=110065059641407461516&page=1&tbnh=134&tbnw=145&start=0&ndsp=18&ved=1t:429,r:1,s:0,i:132

Evoluzione dei SO Evoluzione dell’ hardware http://www.windoweb.it/edpstory_new/eh1960.htm 1950 – 1960 - Invenzione del transistor, dispositivi semiconduttori usati nell’elettronica digitale per amplificare il segnale in entrata o svolgere il ruolo di interruttori - elaboratori, o mainframe, costruiti e venduti in serie - unici acquirenti: centri di calcolo, università, banche - calcolatori inaffidabili dato che le valvole si rompevano spesso - il concetto di SO non esisteva ancora - un programma veniva inserito ad ogni esecuzione in codice binario attraverso dei lettori di schede perforate e il risultato inviato ad una stampante dopo alcune ore Fonte:http://chibi.forumcommunity.net/?t=49999206

Evoluzione dei SO Per eseguire dei programmi o job un programmatore doveva: Scrivere il programma su carta Trasferirlo su schede Caricarlo nel computer Attendere il termine dell'esecuzione e la stampa del risultato Tale sequenza era dispendiosa in termini di tempo e, poiché mancava la Direct Memory Access, in breve DMA, la macchina non era sfruttabile durante le fasi di caricamento di dati e programmi. Fonte: Computer Science An Overview, 11th Edition , Addison Wesley

Fonte: http://www.windoweb.it/desktop_foto/foto_vecchi_computer.htm

Evoluzione del SO Sistema batch (lotti) L’idea di base è dividere il job, insieme di istruzioni codificate secondo il Job Control Language (JCL) in 3 fasi : caricamento dei dati secondo la coda FIFO o LIFO esecuzione stampa Nessuna possibilità di modifica delle operazioni in corso: accettabile per attività stabilite in anticipo (ad esempio, elaborazione delle buste paga) ma non per sistemi di prenotazione o computer games che devono operare real time Fonte: Computer Science An Overview, 11th Edition , Addison Wesley

Evoluzione dei SO 1960: Si riscontra la necessità di un dialogo continuo e veloce. Sviluppo dei Processi interattivi: è la macchina che si adegua ai tempi dell’utente e non il contrario Processi Real Time: il computer è obbligato a eseguire gli ordini entro un tempo di scadenza Time-sharing (tecnica della multiprogrammazione) Dati i costi ingenti si vuole soddisfare più utenti allo stesso tempo. Vedi la figura Fonte: Computer Science An Overview, 11th Edition , Addison Wesley

Evoluzione dei SO Programmi salvati nella memoria di massa eliminando le schede perforate con la conseguente riduzione degli spazi occupati dall’hardware Nasce il ruolo dell’ amministratore del sistema: controlla le attività dei vari account e delle nuove componenti hardware installate, imposta i limiti della memoria Per accelerare i tempi, assegnano compiti diversi a processori diversi: nascono i multiprocessori. Si fronteggiano problemi di load balancing (assegnazione delle attività ai processori in maniera efficiente) e scaling (suddivisione delle mansioni in numero compatibile col numero di processori disponibili) È possibile connettere computer anche distanti geograficamente grazie alle reti di computer che gestiscono risorse su più macchine

Evoluzione del SO 1969 : Fu progettato UNIX da alcuni ricercatori dei Bell Laboratories in New Jersey, tra cui Ken Thompson, Dennis Ritchie e Douglas Mcllroy. Si ispirò a Multics, e divenne un sistema interattivo, affidabile e ricco di funzionalità, tanto che tuttora domina il mercato delle workstation (computer non destinati a compiti specifici) Furono sviluppate diverse varianti di UNIX: BSD (Berkley Software Distribution), Minix (usato in ambito didattico) e successivamente Linux

Evoluzione dei SO Anni '80: la tecnologia LSI (Large Scale Integration) porta alla costruzione di chip integrati e all'abbattimento dei prezzi dell'hardware, iniziando l'era del Personal Computer (PC) 1984: Apple prende “in prestito” questa idea e lancia Mac OS, primo SO per PC Xerox lancia il primo SO con interfaccia grafica 1985: Microsoft commercializza Windows Apple era uno dei pochi che credeva nell'idea del PC: un computer ad uso generico le cui dimensioni, prestazioni e prezzo di acquisto lo rendevano adatto alle esigenze del singolo individuo. All'epoca era difficile immaginare cosa le persone potessero farsene di un computer per casa, figuriamoci di un computer per quasi ogni componente della famiglia

Curiosità: Chi ha inventato Linux. 1991: "Hello everybody out there [ Curiosità: Chi ha inventato Linux? 1991: "Hello everybody out there [...] i'm doing a (free) operating system, just a hobby, won't be big and professional [...]". Linus Torvalds, studente finlandese dell’Università di Helsinki, sviluppatore del kernel Linux. Il sistema operativo GNU/Linux, é entrato nella storia come alternativa ai SO commerciali a licenza chiusa (come Microsoft Windows, Mac OS X). A differenza di questi ultimi, Linux è un software libero rilasciato sotto licenza GPL ,General Public License , ossia chiunque può accedere al codice sorgente del SO, modificarlo, usare l'eseguibile per ogni scopo e copiare legalmente tale software) La popolarità di Torvalds ebbe inizio a seguito di una disputa di carattere tecnico con il Professor Andrew Tanenbaum che aveva realizzato per scopi didattici Minix, un SO simile a Unix che veniva distribuito con il codice sorgente ma vietava di apportare modifiche al codice senza l'autorizzazione dell'autore. L'idea di Tux, il pinguino mascotte di Linux, è attribuita alla moglie. Fonte: http://giardinodelmago.blogspot.it/2008/10/ ogni-lunga-marcia-inizia-con-un-piccolo.html

Evoluzione dei SO “Forse un giorno riusciremo ad avere dei computer Oggi è disponibile una grande varietà di sistemi operativi, dalle più disparate dimensioni e performance a costi contenuti. Sono stati inseriti persino nei telefoni cellulari, dando il via all’era degli smartphone o “cellulare intelligente”: un dispositivo portatile che abbina le funzionalità di telefono cellulare a quelle di gestione di dati personali. Esempi di SO per cellulari: Android, Apple iOS, BlackBerry , Symbian OS “Forse un giorno riusciremo ad avere dei computer pesanti solo 1 tonnellata e grandi qualche metro quadrato.” (Dipendente IBM verso gli anni ‘50)

Architettura del software e ruolo di un SO Fornisce le infrastrutture richieste dall’application software per regolarne le attività Programmi utili per l’utente: -Fogli di calcolo -Database -Editoria -Giochi Programmi non inclusi ma che l’utente sceglie in base ai propri gusti: -compressione dati -multimedialità -chat -creazione cd Fonte: Computer Science An Overview, 11th Edition , Addison Wesley

Interfaccia Permette la comunicazione tra le azioni richieste dall’utente e il computer Quelle più datate (shell) comunicavano tramite comandi inseriti con la tastiera Quelle più moderne, le GUI (Graphical User Interface), permettono la manipolazione degli oggetti rappresentati da icone tramite il mouse, dispositivi touch o puntatori grafici Una componente importante è il Windows Manager (WM) che riserva porzioni dello schermo (finestre) per visualizzare le applicazioni in uso. È il WM che reagisce nel punto corretto e con l’applicazione selezionata quando clicchiamo il mouse.

Kernel Contiene le informazioni per svolgere le funzioni di base al momento dell’installazione del SO. Componenti del kernel (nucleo): File manager: contiene l’annotazione di tutti i file salvati nella memoria, dove sono e quali utenti possono accedervi. Per convenienza permette un organizzazione gerarchica delle cartelle espressa dal percorso Driver delle periferiche: unità software che comunicano con stampanti, monitor, etc Memory manager: coordina l’uso della memoria quando i programmi vengono eseguiti. Quando lo spazio di memoria richiesta eccede lo spazio libero, crea dello spazio di memoria addizionale: Paging E’ possibile caricare i blocchi di memoria solo quando necessario tramite una memoria virtuale. I programmi infatti raramente utilizzano tutte le parti del loro codice contemporanemante Scheduler: fa avanzare più processi parallelamente interrompendoli quando opportuno ed eseguendo un cambio di contesto (switch) Dispatcher: controlla il tempo per le diverse attività Fonte: J.Glenn Brookshear, (2012) Computer Science An Overview, 11th Edition , Addison Wesley

Cosa succede all’accensione della macchina? Procedura Boot strapping (booting): il SO viene trasferito dalla memoria di massa, dove è memorizzato permanentemente, alla memoria principale. Dopo il booting è il SO che controlla l’attività della macchina Problema: la memoria principale essendo volatile perde tutti i dati ad ogni arresto. Soluzione: si inserisce un programma chiamato Boot Loader che fa eseguire alla CPU le istruzioni iniziali nella ROM (Read Only Memory) porzione di memoria principale non alterabile Fonte:Computer Science An Overview, 11th Edition , Addison Wesley

Cosa succede all’accensione del computer? Perché non caricare tutto il SO sulla memoria principale ed evitare il booting? Non sarebbe una scelta efficiente in termini di occupazione dello spazio e di memoria. Inoltre non sarebbero possibili gli aggiornamenti di cui un SO necessita ai fini della sicurezza. Due componenti importanti: Firmware Update: aggiorna il SO Firmware System: svolge le attività fondamentali di I/O prima che il SO diventi funzionante. Include la BIOS (Basic Input Output System)

Come il SO coordina le attività della macchina? Il SO ha un ruolo analogo a quello di un suonatore che esegue uno spartito. Possiamo immaginare che lo spartito sia il programma e che il suonatore sia il SO che esegue tale programma Processo: attività che consiste nell’esecuzione di un programma sotto il controllo della CPU Stato di un processo: stato corrente dell’attività eseguita, è identificato dai valori del registro della CPU e dalle relative celle assegnate La gestione dei processi è affidata a due componenti del SO: - Scheduler: sa quali processi sono presenti nel computer, introduce quelli da eseguire e cancella quelli eseguiti. Per tenere traccia di tutte le informazioni usa una tavola dei processi. Ogni volta che è richiesta l’esecuzione di un programma crea una nuova voce per il processo assegnando una priorità. Vi sono due tipi di priorità che distinguono i processi in processi pronti o in attesa - Dispatcher: controlla l’esecuzione e i tempi dei processi; indispensabile per la tecnica della multiprogrammazione

Multiprogrammazione tra due processi Azionato da un circuito a tempo, interrompe il lavoro della CPU che salva la posizione corrente Es: click, tasto power Fonte: Computer Science An Overview, 11th Edition , Addison Wesley Fondamentale la capacità si poter riprendere l’attività e ricreare l’ambiente Dell’ordine di microsecondi: 10−6 s

Sicurezza dei sistemi informatici Vogliamo un SO ben progettato, affidabile, protetto e sicuro (per evitare, ad esempio il danneggiamento dei file o la perdita di dati a causa di crash del sistema). Di questo si occupa l’Ingegneria del software Per evitare attacchi esterni conviene: - servirsi di account con username e password (procedura di Login), - creare il ruolo dell’amministratore: un account che detiene privilegi speciali come, ad esempio, poter monitorare il comportamento degli altri utenti e modificare i pacchetti del software - installare Auditing software: programmi che segnalano comportamenti insoliti rispetto alle abitudini o vari tentativi errati di inserimento password - porre attenzione agli Sniffing software: memorizzano le attività svolte dall’utente e le riportano a un intruso Tuttavia, il rischio principale resta la noncuranza degli utenti che usano password troppo facili come nomi o date, non le cambiano mai e le passano tra amici Suggerimento: un sito web per creare password robuste http://www.marbaro.it/creare_password_complesse.htm

Sicurezza dei sistemi informatici Con l’accesso come amministratore si possono esplorare tutte le informazioni contenute in un sistema informatico e inserire software distruttivi. Ad esempio, si può indurre il Memory Manager a permettere accessi fuori dall’area assegnata occupando spazi di altri programmi; se un processo può alterare gli intervalli di tempo che regolano la multiprogrammazione è in grado di dominare il computer, etc Protezione da attacchi interni: le CPU sono dotate di meccanismi per sventare tali attacchi, ma è necessario continuare a lavorare in questo settore. La CPU ha una modalità privilegiata (istruzioni limitate) e una non privilegiata. All’accensione è in modalità privilegiata, dopo il booting e all’inizio di ogni time slice è in modalità non privilegiata così da permettere gli arresti. Il tentativo di svolgere un’istruzione privilegiata quando la CPU è in modalità non privilegiata causa un arresto

Curiosità: che cos’è l’hacking? Risponde questo video: http://www.youtube.com/watch?v=hzC6BONJgsQ Hacker: un esperto informatico, che si impegna nell'affrontare sfide intellettuali per aggirare o superare creativamente le limitazioni che gli vengono imposte, non limitatamente ai suoi ambiti d'interesse (che di solito comprendono l'informatica o l'ingegneria elettronica), ma in tutti gli aspetti della sua vita. Molti hacker tentano di convincere l'opinione pubblica che, gli intrusi che entrano all'interno dei sistemi informatici senza autorizzazione e con l'unico scopo di causare danni, dovrebbero essere chiamati cracker (criminali informatici) piuttosto che hacker, ma l'uso errato permane nel vocabolario comune della gente. Si differenziano in white hat e black hat , ricalcando l’analogia proposta nei film western dove i “buoni” portavano un cappello bianco e i “cattivi” un cappello nero. Il White hat crede che la rete internet sia un grande mezzo per permettere la comunicazione di notizie in tutto il mondo da parte di tutti e s'impegna nella difesa d'integrità di questo strumento. Ad esso contrapposto, il Black hat o cracker

Bibliografia J.Glenn Brookshear, (2012) Computer Science An Overview, 11th Edition , Addison Wesley U. Erra, (2009) Dispensa sui sistemi operativi, Corso di laurea in Informatica, Università degli Studi della Basilicata