Sistema Operativo Cose che non si possono non sapere! Pablo Genova I. I. S. “Angelo Omodeo” Mortara A. S. 2015 – 2016 Software di sistema e software applicativo Il software di sistema o sistema operativo o software di base è il software indispensabile affinché il calcolatore funzioni. Il sistema operativo in particolare: ● gestisce le risorse hardware ● gestisce l'interfaccia tra l'hardware e l'utente Il software applicativo invece non è necessario per far funzionare il sistema, ma gestisce specifici compiti richiesti dall'utente es. word, excel, paint Al momento del BOOT, BIOS! Quando si avvia un computer c'è una fase iniziale detta BOOT, o bootstrap, durante la quale il BIOS Basic Input Output Sistem esegue dei test diagnostici, carica delle informazioni dalla ROM e avvia il SISTEMA OPERATIVO Schermata iniziale Scarpa con bootstrap Il termine bootstrap deriva dall'espressione: to pull oneself up by one's bootstraps che è un po' come dire chi fa da sé fa per tre, fai da solo quello che devi fare, il computer si avvia da solo... SISTEMI OPERATIVI PIU' COMUNI Per i computers ricordiamo almeno: WINDOWS MICROSOFT DOS (“padre” di Windows) LINUX UNIX (“padre” di Linux) MACINTOSH OS abbreviato in Mac OS e tanti altri. Di ciascun S. O. ci sono tante versioni Sugli smartphones, tablets (etc etc) troviamo anche: ANDROID, cugino di Linux WINDOWS PHONE, analogo a Windows iOS, per gli iPhone della Apple, cugino dei Mac e tanti altri... La versione di un programma o di un S. O. si chiama release N. B. Tanti dispositivi hanno un loro sistema operativo ad es. il navigatore dell'auto (Tom Tom), molti strumenti di misura (anche dal meccanico! o in laboratorio... li possiamo trovare quasi dappertutto!) STRUTTURA DI UN SISTEMA OPERATIVO LA STRUTTURA DI UN SISTEMA OPERATIVO TIPICAMENTE E' A LIVELLI (O A CIPOLLA) VEDREMO SOLO BREVI CENNI SUI LIVELLI PRINCIPALI CIASCUN LIVELLO L'hardware è dunque “ricoperto” da tanti livelli software. Ciascun livello: - usa le funzionalità del livello sottostante - fornisce servizi ai livello che segue nella gerarchia - gestisce delle risorse mediante operazioni invisibili ai livelli superiori delle NELLE SLIDES SUCCESSIVE DESCRIVIAMO BREVEMENTE I LIVELLI PIU' IMPORTANTI GESTIONE CPU Il livello più basso (vicino all'hardware) è quello del kernel (nucleo) Questa parte del sistema operativo si occupa della gestione dei programmi Un programma in esecuzione è detto processo Il kernel distribuisce le risorse di calcolo tra i vari processi attivi MULTITASKING TIPICAMENTE I SISTEMI OPERATIVI ODIERNI SONO MULTITASKING: RIESCONO A GESTIRE TANTI PROCESSI CONTEMPORANEAMENTE TASK = PROCESS = PROCESSO DA ESEGUIRE MULTITASKING = FARE MOLTE COSE CONTEMPORANEAMENTE Task Manager o Gestione Attività: programma di Windows, attivabile anche premendo CTRL + ALT + CANC, che permette di visualizzare tutti i processi (tasks) in corso ed eventualmente uccidere (kill) quelli che non si vogliono far proseguire, si sono bloccati, utilizzano troppa memoria etc etc GESTIONE MEMORIA La memoria è una risorsa essenziale e limitata Essenziale: ogni programma in esecuzione ovvero ogni processo deve essere caricato in memoria Limitata: le risorse sono comunque finite e tanti processi funzionano contemporaneamente Pertanto il sistema operativo deve trovare spazio per i vari processi, allocare opportunamente lo spazio, ridurre la frammentazione della memoria Tutto ciò avviene nel livello della gestione della memoria GESTIONE I/O (INPUT OUTPUT) L'accesso alle periferiche di I/O viene gestito in un opportuno livello del sistema operativo. In questo livello sono presenti i drivers di periferica: specifici programmi che permettono il funzionamento del dispositivo collegato al PC (scanner, stampante, disco esterno etc etc) Come è noto, senza aver installato il driver, il dispositivo non funziona. Di solito il driver è fornito dal costruttore e si può installare scaricandolo dalla rete (tipicamente in modo automatico o semi automatico, ma NON sempre). Errori di I/O: sono errori legati al funzionamento delle periferiche di I/O, ad es. carta mancante, non è possibile scrivere su disco, toner esaurito, disco danneggiato, non formattato etc etc GESTIONE FILES, FILE SYSTEM Un file è un insieme di informazioni memorizzate su disco fisso, identificate da un nome assegnato in fase di salvataggio e da un'estensione (vedi anche slide 13). Il sistema operativo memorizza in modo organizzato i dati in files (e cartelle), salvandoli in modo permanente sulle memorie di massa (determinati bit e bytes del disco fisso sono logicamente collegati e costituiscono il files, i bit non sono neccessariamente contigui sul disco fisso, tecnicamente sono frammentati) La struttura e le regole utilizzate per gestire i dati in files si chiama file system (o filesystem) e dipende dal tipo di sistema operativo. In particolare il file system permette di: - creare, copiare o cancellare files (copy, save, delete) - leggere, scrivere, esegure file (read, write, execute) - gestire più utenti (se è multiutente), controllare gli accessi degli utenti DIRECTORIES (= CARTELLE) E FILES I files sono contenuti in cartelle o directories (in inglese cartella si dice directory, plurale directories) A sua volta una cartella può contenere altre sottocartelle etc etc La struttura dei files è gerarchica: a partire da una directory “madre” detta radice o root del file system, entro di essa si annidano le varie directory, fino ai files del singolo utente. Il percorso assoluto di un file (absolute path) identifica la posizione del file nel filesystem. Esempio in Windows C:\Users\pablo\Documents\Omodeo\presentazioni\mio_file.pdf La prima è una lettera che rappresenta l'unità di memoria di massa utilizzata A: (B:) sono floppy C: disco fisso principale D: E: etc altri dischi fissi (chiavette usb etc) le cartelle sono separate da “\” Si vede la struttura gerarchica (ad albero) delle directory IMPORTANTE: Il percorso corrente è indicato nella barra dell'indirizzo (o degli indirizzi) della finestra Windows ESTENSIONE DI UN FILE Un file è univocamente identificato da un nome e da un'estensione separati da un . nome.estensione: Esercizio.docx Il nome non può contentere i caratteri ? / \ * “” : > < | Attenzione agli spazi che possono dare problemi: meglio Esercizio_1.docx di Esercizio 1.docx (spazio consentito, ma può dare problemi talvolta) L'estensione è la parte del nome completo del file che segue il punto ed identifica il tipo di programma che crea il file, tipicamente è costituita da un certo numero di lettere. CAUTELA NEL CAMBIARE L'ESTENSIONE DI UN FILE! ESTENSIONI E TIPI DI FILE DA SAPERE Un po' di files che potete incontrare è che è bene sapere riconoscere .doc o .docx Microsoft Word .xls o xlsx Microsoft Excel .ppt o .pptx Microsoft Power Point .mdb o .accdb Microsoft Access (Data Base) .exe Eseguibile Microsoft .zip o .rar File o cartella compressa .gif, .jpeg, .jpg, .bmp, .tif, .svg File di tipo grafico .mpg .avi .mpeg File di tipo video .mp3, .wav, .midi File di tipo audio .txt o .dat File di testo/dati .pdf File Acrobat Reader/Writer Portable Document Format OPERAZIONI SUI FILES E CARATTERI JOLLY PER LE OPERAZIONI SU FILES VEDI LIBRO (VOLUME 1) PAGINE 63 E SEGUENTI Vi spiega come copiare, selezionare, incollare, ordinare files e directory... PROVA... A pagina 69 trovate l'uso dei comodi caratteri jolly nelle ricerche: Il carattere * vuol dire qualsiasi tipo di carattere in numero illimitato Il carattere ? vuol dire un solo carattere qualsiasi *.xls → cerca qualsiasi file che termina per xls (excel) (pippo.xls pablo.xls ciao.xls omodeo.xls etc etc) ci?o.xls → cerca un file tipo ciao.xls o cito.xls ciX.xls una sola lettera ci*o.xls → cerca ciao.xls, ma anche ciaooooo.xls …. capito? Prova, prova, prova! LA GUI GRAPHYCS USER INTERFACE La GUI è l'interfaccia grafica del Sistema Operativo Le famose finestre (windows) di Windows sono appunto le finestre grafiche che si aprono e permettono di guardare i files e le applicazioni L'utente medio utilizza la GUI per interagire con il sistema operativo, d'altra parte è bene ricordare che non tutto può essere fatto con la GUI e la GUI stessa per funzionare richiede risorse di memoria. Se ho poca memoria disponibile → minimizzare l'uso della grafica!! Esempio di GUI di Windows 7 BARRE NELLA GUI DI WINDOWS Esercizio: apri una GUI di Windows ad esempio la cartella Documenti oppure Gestione Risorse ed individua le varie barre presenti nella GUI. Ad esempio: la barra superiore o del titolo, la barra dell'indirizzo (o degli indirizzi), eventuali barre di scorrimento laterali, la barra dei comandi. Talune di queste barre possono non essere visibili a seconda di come è configurato il sistema. E' bene sapere la loro funzione (scoprila sperimentalmente, il nome stesso lo suggerisce). VEDI PAGINA 49 del Libro (Volume 1) STAMPA DI FILES, GESTIONE STAMPE Su questo importante processo di I/O INPUT/OUTPUT (o meglio di OUTPUT) diciamo almeno che è gestito dal print spooler o spooler di stampa L'utente manda molte stampe e più utenti possono mandare tante contemporaneamente, bisogna che ci sia un programma, il print spooler, che gestisca le code di stampa ovvero decida un ordine ai processi (il processo di stampa richiede tempo, molto di più del clic per lanciare la stampa stessa, potrebbe essere necessario interromperlo, potrebbe finire il toner o la carta etc etc). Esercizio: apri, a partire dal pannello di controllo, il print spooler vedendo se ci sono code di stampa e quali opzioni sono previste per i processi in stampa (sospendi, riprendi, riavvia, annulla) GESTIONE ATTIVITA' IN WINDOWS Gestione attività è un programma importante che permette di vedere i processi e le attività in corso sul vostro computer. Prova ad aprirlo, a seconda della versione di Windows è diverso. Si può attivare anche digitando CTRL ALT CANC contemporaneamente LICENZE vedi pag 31 del libro (vol 1) Il software commerciale comunemente utilizzato è accompagnato da una LICENZA D'USO La licenza d'uso è un contratto che stabilisce l'uso che è consentito fare del programma in questione. Attenzione che violare la licenza d'uso è illegale e comporta sanzioni. Spesso i programmi commerciali hanno un costo, per poterli utilizzare bisogna COMPRARE una licenza, viene fornita una chiave d'accesso Product Key e un codice di identificazione mediante il quale l'utente può utilizzare legalmente il programma EULA: End-User License Agreement “contratto con l'utente finale” è il contratto che l'utente firma quando installa il programma. Prevede diritti, ma prescrive obblighi E se non posso pagarmi la licenza? Posso utilizzare il SOFTWARE LIBERO! Software creato da programmatori che NON richiedono il pagamento di licenze o altro, si può usare liberamente e gratuitamente, that's freeware (“merce libera”) Freeware: software gratuito (un po' l'equivalente del copyleft per i libri) Software libero open source = software a SORGENTE APERTO: non solo è gratuito, ma si può vedere e modificare liberamente la parte interna, il codice sorgente, ovvero l'insieme delle istruzioni, scritte in linguaggio di programmazione, che fanno funzionare il programma. Esempio di software libero open source: LibreOffice (con cui ho creato tutte queste slides) CONCETTO DI SHELL (CENNI) Prova ad aprire il PROMPT dei comandi DOS, ti comparirà una finestra così: Questa è al shell dei comandi DOS. Si può interagire col sistema operativo con opportuni comandi di shell che permettono fare tutte le cose che siamo abituati a fare con la GUI ad esempio copiare file, aprire un programma etc etc Il programmatore esperto USA LA SHELL per fare quello che deve fare col sistema operativo (è più efficiente in molti casi) sappiate almeno che esiste!! MONDO LINUX Tux Per concludere questo nostro studio sui sistemi operativi, diciamo almeno due parole sul sistema operativo LINUX. Il sistema operativo della MICROSOFT è commerciale, protetto da licenza d'uso (che va pagata alla Microsoft) e il sorgente NON è visibile. Certe modifiche l'utente NON potrà MAI farle. Il suo punto di forza è la diffusione e la semplicità di utilizzo. Tuttavia esiste anche un'altra filosofia di vita (informatica), legata ai sistemi di software prima UNIX e poi LINUX. Il sistema operativo Linux è open source, gratuito, permette un maggiore controllo dei processi e del sistema. Il “prezzo” da pagare è una maggiore complessità di utilizzo per l'utente alle prime armi. Tuttavia ci sono delle versioni di Linux come UBUNTU linux che sono facili da installare ed utilizzare. Filosofia dell'ubuntu: Umuntu ngumuntu ngabantu: "io sono ciò che sono in virtù di ciò che noi tutti siamo"