SISTEMI OPERATIVI MULTI-UTENTE: UNIX

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMI OPERATIVI MULTI-UTENTE: UNIX"

Transcript

1 SISTEMI OPERATIVI MULTI-UTENTE: UNIX Scopo del corso Definire un sistema operativo multi utente Analizzare i benefici di un S.O. Multi-Utente Requisiti per un sistema Multi-Utente Panoramica di UNIX Gestione Utenti di Unix File System di Unix Gestione processi di Unix

2 SISTEMI OPERATIVI Definizione di sistema operativo Multi-Utente

3 SISTEMA OPERATIVO Programma responsabile del controllo e della gestione dei componenti hardware che costituiscono un computer e dei programmi che su di esso girano. Il sistema operativo mette anche a disposizione dei programmi una interfaccia software per accedere alle risorse hardware (dischi, memoria, I/O in generale) del sistema. Il compito principale del sistema operativo è quello di permettere all'uomo di interagire direttamente con la macchina. Sistemi multi-utente: Unix 3

4 STRUTTURA Un generico sistema operativo moderno si compone di: Il kernel Il gestore di networking, periferiche e file system Il gestore di memoria virtuale Uno scheduler Uno spooler Una interfaccia utente (shell o GUI) A seconda dei casi, un particolare sistema operativo può avere tutti questi componenti o solo alcuni. Sistemi multi-utente: Unix 4

5 Elementi di un S.O. Il kernel: un gruppo di funzioni fondamentali, strettamente interconnesse fra loro e con l'hardware, che vengono eseguite con il privilegio massimo disponibile sulla macchina; il kernel fornisce le funzionalità di base per tutte le altre componenti del sistema operativo, che assolvono le loro funzioni servendosi di esso. A seconda del tipo di sistema operativo il kernel può inglobare altre parti (kernel classico, monolitico o modulare) o fornire solo funzioni base delegando più funzioni possibile a oggetti/gestori esterni (microkernel). Sistemi multi-utente: Unix 5

6 Il Kernel Linux Sistemi multi-utente: Unix 6

7 Elementi di un S.O. (II) Il gestore di networking, periferiche e file system: si occupa di esaudire le richieste di accesso alle memorie di massa, alla rete e alle periferiche del computer. Viene utilizzato ogni volta che si accede a un file su disco,ad un interfaccia di rete o ad altre periferiche e oltre a fornire i dati richiesti tiene traccia, ad esempio, dei file aperti, dei permessi di accesso ai file. Un gestore di memoria virtuale, che alloca la memoria richiesta dai programmi e dal sistema operativo stesso, salva sulla memoria di massa le zone di memoria temporaneamente non usate dai programmi e garantisce che le pagine swappate vengano riportate in memoria se richieste. Sistemi multi-utente: Unix 7

8 Elementi di un S.O. (III) Uno scheduler che scandisce il tempo di esecuzione dei vari processi e assicura che ciascuno di essi venga eseguito per il tempo richiesto. Normalmente lo scheduler gestisce anche lo stato dei processi e può sospenderne l'esecuzione nel caso questi siano in idle (esempio: richiesta di dati da disco). Uno spooler che riceve dai programmi i dati da stampare e li stampa in successione, permettendo ai programmi di proseguire senza dover attendere la fine del processo di stampa. Una interfaccia utente (shell o GUI) che permette agli esseri umani di interagire con la macchina. Sistemi multi-utente: Unix 8

9 User Interface Sistemi multi-utente: Unix 9

10 SISTEMA MULTITASKING I programmi non hanno sempre realmente bisogno della CPU: a volte, invece di eseguire istruzioni stanno aspettando che arrivino dei dati da un file, o che l'utente prema un tasto alla tastiera. Quindi si può, usare questi tempi "morti" per far girare un altro programma. Questa idea, sorta fin dai primi anni cinquanta, si concretizzò nei sistemi operativi multitasking, cioè dotati di uno scheduler che manda in esecuzione più processi (programmi), assegnando a turno la CPU ad ognuno e sospendendo l'esecuzione dei programmi in attesa di un evento esterno (lettura/scrittura sulle memorie di massa, input utente ecc.) finché questo non si verifica. Sistemi multi-utente: Unix 10

11 SISTEMA MULTITASKING-REQUISITI Maggiore quantità di memoria: si hanno più programmi attivi nello stesso tempo. Questo tipo di sistemi operativi è quasi sempre dotato di un gestore di memoria virtuale. Controllo sulle risorse hardware: Avendo più programmi simultaneamente attivi, il controllo delle risorse hardware diventa una necessità. Due modi di implementare il multitasking: cooperative e preemptive multitasking. Sistemi multi-utente: Unix 11

12 COOPERATIVE MULTITASKING Nel cooperative multitasking sono i programmi che, spontaneamente, cedono il controllo al sistema non appena hanno terminato la singola operazione in corso; assorbe meno risorse di calcolo e non ha (quasi) ritardo di commutazione per il cambio di task, e inoltre non richiede nessuna struttura hardware dedicata, il che rende possibile implementarlo su qualunque calcolatore; per contro è molto vulnerabile a errori nei programmi (in genere il crash di un programma fa cadere l'intero sistema) e l'isolamento fra processi è molto debole. Sistemi multi-utente: Unix 12

13 PREEMPTIVE MULTITASKING Nel preemptive multitasking è lo scheduler che ferma i programmi allo scadere del quanto di tempo assegnato e trasferisce il controllo dall'uno all'altro. Sono necessarie CPU che implementino in hardware sia dei livelli di privilegio per l'esecuzione del codice, sia una logica specifica per il context switch. Dato che i programmi sono interrompibili al context switch il sistema deve fotografare la situazione del programma e salvarla, e ricaricare quella salvata dal task che subentra, perdendo tempo. Offre una sicurezza del sistema molto maggiore e una (virtuale) immunità ai crash di sistema causati da errori nei programmi. Sistemi multi-utente: Unix 13

14 SISTEMA MULTIUTENTE Se un computer può far girare più programmi contemporaneamente, allora può anche accettare comandi da più utenti contemporaneamente. Quindi un sistema Multi-Utente è una naturale estensione di un sistema Multi-Tasking Come un sistema multi-task pone problematiche diverse dal mono-task un sistema multi utente pone problematiche particolari dovute alla presenza di più utenti Sistemi multi-utente: Unix 14

15 PROBLEMI TIPICI MULTIUTENZA Un sistema multiutente deve affrontare alcuni problemi distinguere i vari utenti tra loro; garantire che i dati di un singolo utente siano privati; Permettere a degli utenti di condividere i dati, se lo vogliono; Permettere la condivisione solo a certi gruppi di utenti; Non permettere a nessun utente (con un unica eccezione) di causare danni agli altri o alla macchina che sta usando; Gestire l'accesso alle risorse della macchina, in modo che nessun utente possa limitarne l'accesso agli altri. Sistemi multi-utente: Unix 15

16 Soluzione Assegnare un account univoco per ogni utente Assegnare un proprietario ai file ed ai programmi Gestire un sistema di permessi per l'accesso ai file ed ai programmi Gestire una gerarchia di utenti. Isolare le risorse hardware dall'accesso diretto dei programmi utenti. Sistemi multi-utente: Unix 16

17 UTENTI DI UN SISTEMA OPERATIVO Gli utenti di un sistema operativo multi-utente non devono per forza essere persone fisiche, anzi... Possono essere basicamente di tre tipi Account amministratore: è l'account che consente l'amministrazione del sistema. Esso deve poter avere accesso ad ogni risorsa presente sulla macchina. Account di servizio : sono account a cui non corrisponde un utente del mondo reale, ma sono associati ad un particolare servizio (o programma) che si intende far girare sulla macchina Account utenti: sono account rilasciati ad utenti reali Sistemi multi-utente: Unix 17

18 Benefici di un sistema multi-utente I benefici si possono più facilmente riscontrare su di un sistema operativo server: Ogni servizio può essere isolato dagli altri assegnandolo ad un utente differente Si possono stabilire limiti per ogni servizio, limitando l'utente Si migliora la sicurezza utilizzando utenti non privilegiati Su di una macchina desktop i vantaggi riguardano la sicurezza: è più difficile fare danni non accedendo ad una macchina come root o Administrator Sistemi multi-utente: Unix 18

19 PERCHÈ UNIX? Perchè tra i sistemi operativi multi-utente disponibili si parla di UNIX? Unix è uno tra i più vecchi sistemi operativi multi-utente Il modello di multi-utenza di unix si può considerare un modello di riferimento Unix è a tutt'oggi molto usato come sistema operativo server Il modello Unix ha generato una vasta famiglia di sistemi operativi moderni. Sistemi multi-utente: Unix 19

20 La famiglia UNIX Sistemi multi-utente: Unix 20

21 Cos'è UNIX? Il sistema operativo Unix può essere riassunto in base alle seguenti caratteristiche: Multiutente: Ogni utente è individuato univocamente da un nome logico (lo username). Gli utenti sono suddivisi in gruppi, ciascuno individuabile univocamente mediante il suo nome (il groupname) In ogni sistema è definito l'utente root, che rappresenta l'amministratore di sistema. MultiTasking. Sistemi multi-utente: Unix 21

22 Cos'è UNIX? (II) Gestione della memoria virtuale: il sistema di gestione della memoria in Unix si basa su paginazione e segmentazione. Queste caratteristiche consentono ad ogni processo di indirizzare un'area di memoria di dimensioni eventualmente superiori a quelle della memoria centrale effettivamente disponibile. Portabile: è oggi disponibile su una vastissima gamma di architetture diverse. Aperto: soprattutto nelle versioni più recenti le caratteristiche di Unix si sono via via uniformate allo standard POSIX. Inoltre, Unix realizza alcuni dei più diffusi servizi e protocolli di comunicazione della rete Internet, rendendo possibile una facile integrazione di sistemi Unix all'interno di una rete. Sistemi multi-utente: Unix 22

23 Quale UNIX? UNIX è un marchio registrato ed indica un sistema operativo certificato da The Open Group, consorzio di aziende tra cui IBM, HP e Sun Microsystems. Per essere certificato, il sistema deve essere conforme a specifiche determinate da The Open Group stessa. Alcuni esempi sono Digital UNIX, Hewlett Packard HP-UX, IBM AIX, SCO UnixWare, SGI IRIX, Sun Solaris Tutti questi S.O. hanno un insieme di caratteristiche comuni Sistemi multi-utente: Unix 23

24 LINUX GNU/Linux è un sistema operativo libero unix-like, distribuito con licenza GNU GPL, costituito dall'integrazione del kernel Linux all'interno del sistema GNU. Non è uno Unix ufficiale sancito dall' The Open Group ma ne viene riconosciuta l'aderenza agli standard. Dal sito The Open Group : Developed by Linus Torvalds, Linux is a product that mimics the form and function of a UNIX system, but is not derived from licensed source code. Rather, it was developed independently; by a group of developers in an informal alliance on the net.... Linux is a registered trademark of Linus Torvalds. Recent versions of Glibc include much functionality from the Single UNIX Specification, Version 2 (for UNIX 98) and later. Sistemi multi-utente: Unix 24

25 Perchè Linux? La scelta di usare Linux in questo corso è stata fatta per le seguenti ragioni: Il modello degli utenti è compatibile con quello di UNIX. Linux è molto usato in Ateneo, in generale Linux è uno degli Unix maggiormente usati. è liberamente disponibile nel caso qualcuno sia incuriosito dall'argomento e voglia provare. Sistemi multi-utente: Unix 25

26 Sistema Operativo Linux Gestione Utenti Sistemi multi-utente: Unix 26

27 LINUX Gli Utenti Gli utenti che possono accedere al sistema sono generalmente memorizzati nel sistema stesso. Ogni utente è identificato univocamente da un valore numerico, lo UID (User IDentifier) ed a questo sono associati uno username (il nome dell utente) ed una password (parola d ordine). Al momento dell accesso, il sistema richiede all utente di inserire il proprio username e richiede anche la relativa password. Se l utente viene riconosciuto, in base allo username ed alla password inseriti, questi viene fatto accedere all interfaccia utente del sistema. Sistemi multi-utente: Unix 27

28 LINUX Gli Utenti I sistemi Unix-like fanno una distinzione tra utenti standard e l amministratore del sistema il cui UID è 0 e che generalmente ha uno username uguale a root. Mentre per gli utenti standard il sistema attua un meccanismo di controllo di accesso alle varie risorse ciò non avviene nei confronti del superuser. È pertanto opportuno ridurre al minimo gli accessi al sistema in qualità di superuser, per evitare di modificare inavvertitamente parti del sistema che potrebbero comprometterne il funzionamento. Sistemi multi-utente: Unix 28

29 /etc/passwd In realtà un utente linux è definito da una riga nel file /etc/passwd. Tale riga è nel formato utente:password:uid:gid:dati_personali:directory_home:shell Utente: È il nome utilizzato per identificare l'utente logico che accede al sistema. password: la password cifrata. Se questa manca, l'utente può accedere senza password. Se è un asterisco (*) l'utente non può accedere al sistema. E' così possibile impedire temporaneamente l'accesso, ad un utente. Sistemi multi-utente: Unix 29

30 /etc/passwd (II) uid: È il numero identificativo dell'utente (User ID). gid: È il numero identificativo del gruppo a cui appartiene l'utente (Group ID). dati_personali: Di solito, questo campo contiene solo l'indicazione del nominativo completo dell'utente (nome e cognome), ma può contenere anche altre informazioni. directory_home: La directory assegnata all'utente. shell: La shell assegnata all'utente. Sistemi multi-utente: Unix 30

31 Tipi di utenti Come si possono mappare i tre tipi di utenti prima definiti su di un sistema linux? Utente Amministratore : root. L'utente amministratore del sistema. Esso possiede tutti i diritti su tutta la macchina. Account di servizio :Utenti di sistema. Sono utenti che non possono solitamente accedere alla macchina, non hanno una directory ne una shell. Servono per isolare alcuni processi Account utenti:utenti Reali. Sono utenti che hanno la possibilità di accedere alla macchina, che possiedono una shell ed una directory home. Sono gli utenti del mondo Reale Sistemi multi-utente: Unix 31

32 Gruppi Un gruppo rappresenta un insieme di utenti. Un utente appartiene sempre ad almeno un gruppo. L appartenenza ad un gruppo concede diritti su file e directory. Ogni gruppo è identificato da un valore detto GID (Group IDentifier). A esso è associato un alias: il groupname. Ad ogni gruppo sono associati gli utenti che vi appartengono. L insieme composto dal GID, il groupname, l eventuale password e l elenco degli utenti che vi appartengono, costituisce il group account del gruppo presso il sistema. Il gruppo primario di un utente è quello indicato nel file /etc/passwd nel campo GID Sistemi multi-utente: Unix 32

33 /etc/group I group account sono memorizzati nel file /etc/group con la seguente sintassi: groupname:password:gid:member_list groupname è il nome del gruppo; password è la password del gruppo in forma cifrata (se è nulla soltanto gli utenti elencati possono accedere al gruppo); GID è l identificativo del gruppo (Group IDentifier); member_list è l elenco degli utenti appartenenti al gruppo (membri). Sistemi multi-utente: Unix 33

34 Comandi per gestire Utenti e Gruppi Uno user account può essere creato con il comando useradd useradd [option] username Per modificare uno user account si può usare usermod usermod [option] username Ogni utente può modificare la propria password tramite passwd passwd [username [password]] La cancellazione di uno user account puo' essere effettuata per mezzo del comando userdel userdel [option] username Sistemi multi-utente: Unix 34

35 Comandi per gestire Utenti e Gruppi Un group account puo' essere creato con il comando groupadd groupadd [option] groupname Per modificare uno group account si può usare groupmod groupmod [option] groupname L eliminazione di un group account puo' essere effettuata con il comando groupdel groupdel groupname Un utente puo' visualizzare l elenco dei gruppi di cui fa parte con il comando groups groups [option] [username] Sistemi multi-utente: Unix 35

36 Comandi per gestire Utenti e Gruppi Dato che un utente può appartenere a più gruppi e' evidente che il GID di riferimento di un utente è un valore che può cambiare. Al momento dell accesso al sistema all utente viene assegnato il GID di default, quello contenuto nello user account, ma l utente puo' cambiarlo, cambiando il gruppo corrente di riferimento con il comando newgrp newgrp [groupname] Sistemi multi-utente: Unix 36

37 Impersonare altri utenti Serve la possibilità di cambiare identità: un utente deve poter impersonarne un altro, ad esempio un utente di sistema. Comando: su SINTASSI : su [option] [username [argument]] Il comando lancia una shell con i privilegi di un determinato utente B. Per poter diventare l utente B, l utente A deve conoscere la password dell utente B Comando: sudo SINTASSI : sudo [option] command permette di impartire una singola riga di comando al sistema come se si fosse un altro utente. Sistemi multi-utente: Unix 37

38 Sistema Operativo Linux Gestione File-System Sistemi multi-utente: Unix 38

39 File System E' il sistema di gestione delle informazioni memorizzate sulla memoria di massa Vi sono molti tipi diversi di file-system (ext2,ext3,reiserfs..). Caratteristica fondamentale dei sistemi Unix-like è : Everything is a file (ogni cosa `e rappresentata da un file) Tutti gli oggetti del filesystem sono file (anche le directory). Inoltre tutte le operazioni, anche quelle sui dispositivi, avvengono attraverso l ausilio di file: ad esempio la tastiera è associata ad un file che rappresenta il buffer di input dei caratteri inviati dalla tastiera al sistema, il monitor è rappresentato da un altro file che costituisce il buffer di output dei caratteri inviati dal sistema sullo schermo... Sistemi multi-utente: Unix 39

40 Dispositivi di memoria di massa Tutti i dispositivi di memoria di massa sono visti in modo identico (eccezione parziale: la scrittura su dischi ottici). I dispositivi di memoria di massa sono visti dal sistema, come dei file, detti file di dispositivo (device file) e contenuti generalmente nella directory /dev (/dev/hda, /dev/sda,...). Sono opportuni programmi, i driver, che effettuano l associazione tra i dispositivi ed i relativi file di dispositivo: il driver ATA associa i dispositivi collegati a tale bus ai file di dispositivo /dev/hd*, mentre quello relativo al bus SCSI associa i dispositivi di quel tipo ai file /dev/sd*. Sistemi multi-utente: Unix 40

41 File di dispositivo In un sistema GNU/Linux ad ogni disco e ad ogni partizione è associato un file di dispositivo. Tale file è ha la seguente sintassi: /dev/tdx[n] dove (t è il tipo una lettera indicante il tipo di disco; x è una lettera: a rappresenta il primo disco, b il secondo e così via, mentre n è un numero). /dev/hdx[n] Disco ATA x o n-esima partizione del disco. /dev/sdx[n] Disco SCSI x o n-esima partizione di questo. /dev/fdn Floppy disk n. L elenco delle partizioni riconosciute dal sistema è contenuto nel file /proc/partitions (cat /proc/partitions). Sistemi multi-utente: Unix 41

42 Esempio di partizioni Sistemi multi-utente: Unix 42

43 File di dispositivo I file di dispositivo sono di due categorie dispositivi a blocchi file relativi a dispositivi il cui flusso di dati (input/output) avviene a gruppi di byte (blocchi). A questa categoria appartengono generalmente i sistemi di memorizzazione di massa. dispositivi a caratteri file relativi a dispositivi il cui flusso di dati (input/output) avviene a singoli byte (caratteri). I dispositivi come i terminali o le stampanti appartengono a questa categoria. Sistemi multi-utente: Unix 43

44 File e Directory I sistemi Unix-like utilizzano i concetti di file e directory. Un file è un insieme di informazioni che possono rappresentare dei dati (un testo, un immagine,...) o anche le istruzioni di un programma. Una directory è una sorta di contenitore che può contenere sia file che altre directory. Poichè le directory possono contenere sia file che altre directory, si viene a delineare una struttura gerarchica ad albero dell organizzazione dei file e delle directory, detto directory tree o albero delle directory Sistemi multi-utente: Unix 44

45 La struttura logica del filesystem Sistemi multi-utente: Unix 45

46 Link e Symbolic link I link sono le associazioni tra un nome ed un file (fisico) Hard link: sono le associazioni a livello fisico. Ad ogni file (non directory) possono essere associati più link, ossia un file può essere raggiunto tramite path diversi. Symbolic link: sono file particolari che puntano ad un altro file (o directory). l'effetto è lo stesso di un hard link. I link vengono creati per mezzo del comando ln SINTASSI: ln [option] target [link_name] Sistemi multi-utente: Unix 46

47 Utenti e file Ogni oggetto del filesystem appartiene sempre ad un utente, l utente proprietario, ed ad un gruppo, il gruppo proprietario. Queste informazioni delineano tre categorie di utenti Utente proprietario (owner user) è l utente proprietario dell oggetto; Gruppo proprietario (owner group) è il gruppo proprietario dell oggetto (del quale fa parte l utente proprietario); Altri (others) sono tutti gli altri utenti; Per ogni categoria di utenti, è possibile specificare una serie di permessi (mode) che regolano l accesso all oggetto in questione. Sistemi multi-utente: Unix 47

48 Permessi sui file Quando un oggetto del filesystem viene creato, il suo creatore risulta esserne il proprietario (ed il gruppo a cui esso appartiene è il gruppo proprietario) e come tale può specificarne i seguenti permessi di accesso: lettura (read) questo permesso dà la possibilità alla categoria di untenti considerata di poter accedere in lettura al contenuto dell oggetto; scrittura (write) questo permesso dà la possibilità alla categoria di utenti considerata di poter modificare il contenuto dell oggetto; esecuzione (execute) questo permesso dà la possibilità alla categoria di utenti considerata di poter lanciare in esecuzione l oggetto considerato; Sistemi multi-utente: Unix 48

49 Gestione dei permessi Il proprietario di un oggetto del filesystem può impostarne i relativi permessi di accesso con il comando chmod (change mode). SINTASSI chmod [option] mode file Il superuser può cambiare il proprietario di un oggetto del filesystem per mezzo del comando chown (change owner). SINTASSI chown [option] [[user][:[group]]] file Il gruppo proprietario di un oggetto del filesystem può essere impostato anche tramite il comando chgrp (change group). SINTASSI chgrp [option] [group] file Sistemi multi-utente: Unix 49

50 Umask Alla creazione di un oggetto del filesystem i relativi permessi di accesso sono impostati secondo quanto specificato dal valore di umask (user mask), o maschera dei permessi, specifico per l utente considerato. Questo valore, espresso generalmente in notazione ottale, indica quali sono i permessi che non devono essere abilitati alla creazione di un oggetto del filesystem. Il valore della maschera dei permessi può essere visualizzato con il comando interno di Bash umask. umask [option] [mode] Sistemi multi-utente: Unix 50

51 Quota Il sistema GNU/Linux permette di specificare dei limiti all utilizzo della memoria di massa: il numero di inode che un utente (o gruppo) può possedere (esserne propietario), ed il numero di blocchi disponibili per un utente (o gruppo). In questo modo si può limitare agli utenti l utilizzo di parte di un filesytem. Questo può essere gestito con il meccanismo del quota. Per attivare la gestione del quota su un filesystem, è necessario montare il filesystem in questione con l opzione usrquota o grpquota (o anche entrambi) che indicano rispettivamente di abilitare il quota per utente o per gruppo. Sistemi multi-utente: Unix 51

52 Navigazione del file system l'utente può muoversi all'interno del file system (compatibilmente con i diritti a lui assegnati). working directory: la directory in cui attualmente si trova l'utente. E' visualizzabile tramite il comando pwd Al login l'utente solitamente si trova nella propria home directory. l'utente può cambiare directory tramite il comando cd per visualizzare l'elenco dei file in una directory si usa il comando ls Sistemi multi-utente: Unix 52

53 Utilizzo del file system (II) Creazione di una directory vuota comando mkdir SINTASSI: mkdir [option] [dirname] Le directory possono anche essere create con altri comandi che effettuano ad esempio la copia di directory (v. sez. 5.3); copiare i file e le directory comando cp SINTASSI: cp [option] source dest Sistemi multi-utente: Unix 53

54 Utilizzo del file system (III) Un oggetto del filesystem può essere spostato o rinominato per mezzo del comando mv. Lo spostamento di un file o una directory consiste nel modificare la directory in modo che il suo contenuto non sia più raggiungibile con il path attuale, ma con un nuovo path. La rinominazione consiste nel cambiamento del nome associato al file o alla directory: anche questa operazione fa sì che il contenuto del file o directory sia raggiungibile attraverso un nuovo path. Comando: mv SINTASSI: mv [option] source dest Sistemi multi-utente: Unix 54

55 Utilizzo del file system (IV) Un file può essere cancellato, cioè rimosso dal filesystem, con il comando rm. Comando: rm SINTASSI: rm [option] file Sistemi multi-utente: Unix 55

56 Visualizzazione del contenuto di un file Il contenuto di un file di testo può essere visualizzato sia con il comando cat che per mezzo di appositi programmi, i text viewer (visualizzatori di testo), i quali suppongono che il file sia in formato testo, ovvero che non abbia alcun tipo di formattazione. Esempi di visualizzatori less more head tail Sistemi multi-utente: Unix 56

57 Modifica del contenuto di un file Esistono programmi, i text editor (editor di testo), che oltre a visualizzare il contenuto di un file generico, permettono di modificarlo. I text editor più utilizzati sono vi o vim (vi improved - che è la sua evoluzione) e emacs. Esempi di editor vi /vim emacs pico / nano joe Sistemi multi-utente: Unix 57

58 Ricerca di file o nel contenuto di file Spesso capita di non sapere se esiste un file all interno di un filesystem o di non ricordare dove è stato creato. Per ricercare un file all interno del filesystem può essere utilizzato il comando find. Il comando which invece permette di ricercare un file nelle varie directory elencate nella variabile di ambiente PATH. Un altro comando utile di GNU/Linux è grep. Si tratta di un comando molto complesso che permette di effettuare ricerche di sequenze di byte all interno di un file. Sistemi multi-utente: Unix 58

59 Sistema Operativo Linux I Processi Sistemi multi-utente: Unix 59

60 Processi Un processo (o task) è l istanza dell esecuzione di un determinato programma: quando si lancia un file eseguibile viene creato un processo in memoria che esegue le istruzioni indicate dal programma. In genere l esecuzione di un programma genera un processo, ma programmi più complessi (per esempio quelli che gestiscono comunicazioni client-server) possono generare più processi. Sistemi multi-utente: Unix 60

61 Process Identifier Quando viene lanciato in esecuzione un programma, il kernel crea un processo in memoria assegnandogli un numero intero che lo identifica univocamente all interno della macchina: il PID (Process Identifier). In genere il PID è sequenziale, ovvero ad ogni processo viene assegnato il PID del processo precedente incrementato di 1 ed al primo processo lanciato dal sistema (init) viene assegnato il PID uguale ad 1. Infatti, quando viene avviato il sistema, il kernel crea il processo init lanciando in esecuzione il comando /sbin/init e questo è l unico processo creato dal kernel. Sistemi multi-utente: Unix 61

62 Process tree Qualunque altro processo viene sempre creato a partire da una richiesta effettuata da un processo già esistente. In questo modo si viene a creare una gerarchia di processi (process tree o albero dei processi) alla cui radice c è init. Un processo A che crea un processo B è detto processo genitore (o processo padre) del processo B ed il processo B è detto processo figlio del processo A. Poiché ogni processo è identificato dal PID, è una convenzione diffusa riferirsi al PID del processo genitore con il termine PPID (Parent PID). Il process tree viene mostrato con il comando pstree Sistemi multi-utente: Unix 62

63 Il process tree Sistemi multi-utente: Unix 63

64 Proprietà dei processi Ogni processo è caratterizzato quindi da alcune proprietà ed in particolare gli vengono assegnati determinati privilegi sul sistema, in funzione (generalmente) dell utente che lo ha lanciato. Tra le proprietà di un processo ci sono le seguenti: l identificatore del processo: PID (pid); l identificatore del process group: PGID (pgid); lo stato del processo (state); la priorità di esecuzione del processo (priority); il time-slice assegnato al processo per l utilizzo della CPU; il nome del file eseguibile lanciato; eventuali argomenti passati all eseguibile al momento dell avvio attraverso la riga di comando; l identificatore del processo genitore: PPID; Sistemi multi-utente: Unix 64

65 Proprietà dei processi (II) Proprietà dei processi (continua) il nome del dispositivo di comunicazione tramite il quale è stato lanciato il processo (se controllato da un terminale); il real UID (uid), ovvero l UID dell utente che ha lanciato il processo; il real GID (gid), ovvero il GID dell utente che ha lanciato il processo; l effective UID (euid), ovvero l UID dell utente impersonato dal processo; l effective GID (egid), ovvero il GID dell utente impersonato dal processo; il saved UID (suid), ovvero la copia del valore dell effective UID al momento dell avvio del processo; Sistemi multi-utente: Unix 65

66 Proprietà dei processi (III) Proprietà dei processi (continua) Il filesystem UID (fsuid), ovvero l UID dell utente impersonato dal processo per l accesso al filesystem (una modifica all effective UID si riflette automaticamente su questa proprietà); il filesystem GID (fsgid), ovvero l GID dell utente impersonato dal processo per l accesso al filesystem (una modifica all effective GID si riflette automaticamente su questa proprietà); il saved GID (sgid), ovvero la copia del valore dell effective GID al momento dell avvio del processo; Generalmente il PGID di un processo coincide con il suo PID, tranne nel caso in cui il processo venga lanciato in esecuzione come parte di un comando più complesso, che ne lancia altri in cascata Sistemi multi-utente: Unix 66

67 Multitasking e multithreading Ogni percorso di esecuzione di un processo è detto thread. Un processo è costituito da almeno un thread che coincide con il processo stesso. Come per i processi, un thread ne può creare un altro. Per ogni thread relativo ad un processo non vengono create tutte le strutture dati necessarie alla creazione di un processo, per cui un thread risulta molto più leggero (nel senso che occupa meno memoria) di un processo, poiché tutti i thread relativi ad un processo utilizzano le stesse strutture dati che caratterizzano il processo di cui essi fanno parte. Sistemi multi-utente: Unix 67

68 Problemi del multithreading Per il fatto che il sistema sia multitasking e multithreading nasce l esigenza della sincronizzazione delle operazioni effettuate dai vari task e thread, per evitare problemi insidiosi come i deadlock e le race condition. A tale scopo l accesso dei thread o processi alle risorse è regolato da meccanismi di mutua esclusione (semafori, mutex,...). Inoltre, poiché l esecuzione di un thread può essere interrotta in qualunque momento (ad esempio perché termina il suo time slice di utilizzo della CPU), si introduce il concetto di operazione atomica, ovvero un insieme di operazioni che un thread può eseguire con la garanzia da parte del sistema che non sarà interrotto durante l esecuzione (tutto il gruppo di operazioni viene eseguito nello stesso time slice). Dal punto di vista di programmazione il controllo di più thread è più complesso rispetto al controllo di più processi. Sistemi multi-utente: Unix 68

69 I diritti di un processo Un processo ha i diritti dell utente che lo ha lanciato, o meglio, dell utente che il processo stesso impersona, cioè del suo effective UID (e effective GID). All avvio il kernel impersona il superuser e quindi ha qualunque diritto sul sitema. Esso avvia il primo processo (init) che avrà quindi i permessi del superuser (poiché lanciato da un processo che impersona il superuser). A sua volta il processo di avvio del sistema, gestito da init, provvederà a lanciare altri processi necessari al funzionamento del sistema stesso. Così facendo però i processi avrebbero tutti i permessi del superuser, ovvero potrebbero eseguire qualunque operazione sul sistema. Questo viene evitato per mezzo del meccanismo di impersonamento degli utenti. Sistemi multi-utente: Unix 69

70 Diritti dei processi utente Allo stesso modo, il processo getty (o derivato) che permette l accesso al sistema da parte degli utenti, viene eseguito con i diritti del superuser. Questo attende che venga inserito lo username dell utente che desidera effettuare l accesso e quindi lancia in esecuzione login che provvede a richiedere la password ed a stabilire se l utente può avere accesso al sistema. In caso positivo, login stesso impersona l utente che vuole accedere al sistema e quindi lancia una shell con i diritti dell utente. Così ogni utente ha sul sistema i diritti per lui previsti. Sistemi multi-utente: Unix 70

71 Creazione di un processo Ad ogni processo, vengono assegnati automaticamente dal sistema un canale (file) per l input, ovvero il canale attraverso il quale il processo potrà ricevere gli eventuali dati da elaborare, uno per l output, cioè il canale attraverso il quale il processo potrà fornire gli eventuali risultati, ed uno per l error, che, come indica il nome, sarà utilizzato dal processo per fornire eventuali messaggi relativi ad errori riscontrati durante l esecuzione. Sistemi multi-utente: Unix 71

72 Ambiente di un processo Ad ogni processo viene assegnato anche un ambiente (environment), ovvero un apposito spazio di memoria che contiene le impostazioni di variabili, dette appunto variabili di ambiente, alle quali il processo può fare riferimento. Tali variabili non sono passate in input ai processi, ma sono gestite dalla shell. Le variabili di ambiente più comuni sono riportate sotto. USER Username LOGNAME Username con cui `e stato effettuato il login LANG Localizzazione HOME Home directory dell utente corrente PATH directory, separate da :, contenenti gli eseguibili PWD Working directory Sistemi multi-utente: Unix 72

73 Ambiente di un processo (II) SHELL Tipo di shell TERM Tipo di terminale PAGER Text viewer preferito EDITOR Text editor preferito BROWSER Browser preferito TMPDIR Directory contenente i file temporanei Molte delle variabili di ambiente sono utilizzate dalla maggior parte dei programmi ed in genere per queste si usa la convenzione di esprimerle in caratteri maiuscoli. Costituiscono un modo valido per definire comportamenti dei programmi a livello generale senza dover passare loro in input un elenco di argomenti troppo complesso.la shell, ad esempio, ne utilizza molte per il suo funzionamento. Sistemi multi-utente: Unix 73

74 Memoria dei processi Un sistema Unix-like, utilizza il meccanismo della memoria virtuale che consiste nell assegnare ad ogni processo uno spazio di indirizzi di memoria (indirizzi che vanno da 0 ad un valore massimo - in genere 4 GiB). Tale spazio di indirizzi è virtuale, nel senso che tali indirizzi non corrispondono agli indirizzi fisici delle celle di memoria centrale. Si parla pertanto di memoria virtuale e questa è quella che vede un processo. Sistemi multi-utente: Unix 74

75 Terminazione di un processo generalmente un processo termina quando ha eseguito la sua ultima istruzione e chiede al sistema operativo di essere cancellato usando la chiamata exit() Generalmente un processo termina quando ha eseguito la sua ultima istruzione, e ritorna al padre un valore di uscita, detto exit status. Questo in genere viene utilizzato per stabilire se il suo compito è stato svolto correttamente o meno e si utilizza la convenzione: terminato con successo (successful) un exit status uguale a 0 terminato con un errore un exit status diverso da 0. Il padre può ignorare o meno, ma comunque dovrebbe attendere, l'exit status, tramite la chiamata alla funzione di libreria wait(). Se il padre non attende l'exit il figlio diviene uno zombie Sistemi multi-utente: Unix 75

76 La gestione dei processi Ogni processo è dotato di una proprietà caratteristica che lo identifica univocamente, il PID, che può essere ottenuto per mezzo del comando pidof SINTASSI; pidof [option] process [...] Un processo viene sempre lanciato in esecuzione da un altro processo, tranne il primo processo all avvio del sistema che viene lanciato direttamente dal kernel. Si viene così a delineare una gerarchia di processi o albero dei processi, che può essere visualizzato per mezzo del comando pstree. SINTASSI : pstree [option] Sistemi multi-utente: Unix 76

77 La gestione dei processi L elenco dei processi esistenti sul sistema si può ottenere anche per mezzo del comando ps o con il comando top. Comando: ps SINTASSI: ps [option] A differenza di ps che visualizza la situazione attuale dei processi, top visualizza ciclicamente lo stato dei processi ogni 5 secondi e mette a disposizione dei comandi interattivi per la gestione dei processi stessi. Comando: top SINTASSI: top [option] Sistemi multi-utente: Unix 77

78 La comunicazione tra processi I processi possono comunicare tra loro e con il kernel per coordinare le loro attività. Questo avviene per mezzo di opportuni meccanismi che vanno sotto la sigla IPC (Inter- Process Communication), che in GNU/Linux sono costituiti essenzialmente dai segnali, pipe e socket, sebbene siano supportati anche i meccanismi di comunicazione propri di System V. I metodi standard I segnali Le pipe Le FIFO I socket I meccanismi di IPC di System V Sistemi multi-utente: Unix 78

79 Segnali Sono interruzioni software comunicano al processo il verificarsi di una certo evento possono essere inviati solo antenati, discendenti (gruppo) generalmente possono essere ignorati, catturati o possono terminare il processo (default per molti segnali) per i segnali catturabili si può specificare un signal handler che viene mandato in esecuzione appena il segnale viene rilevato Ogni segnale corrisponde a un certo tipo di evento Lo standard POSIX stabilisce un insieme di segnali riconosciuti in tutti i sistemi conformi SIGFPE : si è verificata una eccezione floating point (n/0) SIGKILL : il processo viene terinato (non può essere intercettata) SIGALRM : è passato il tempo richiesto Sistemi multi-utente: Unix 79

80 Segnali I segnali possono essere inviati da un processo all altro dall utente con particolari combinazioni di tasti (al processo in foregroud) Control-C corrisponde a SIGINT Control-Z corresponde a SIGSTOP dal SO per a comunicare al processo il verificarsi di particolari eventi (es. SIGFPE, errore floating-point) Sistemi multi-utente: Unix 80

81 Segnali Per ogni segnale è associata dal kernel un azione predefinita da intraprendere, ma i processi possono specificarne delle proprie. Per ogni segnale, un processo può : accettare l azione predefinita (dal kernel) per la gestione del segnale; ignorare il segnale; gestire autonomamente la notifica del segnale; dipende da com è scritto il programma relativo. In particolare, i segnali SIGSTOP e SIGKILL non possono essere né ignorati né gestiti autonomamente da un processo, ma la loro gestione è effettuata direttamente dal kernel: in corrispondenza della consegna di un segnale SIGSTOP, il processo destinatario viene sospeso, con il segnale SIGTERM il processo destinatario viene immediatamente terminato. Sistemi multi-utente: Unix 81

82 Come si invia un segnale s = kill(pid,sig) invia un segnale di tipo sig al processo pid (se ammesso) setta a 1 il corrispondente bit della signal bitmap Sistemi multi-utente: Unix 82

83 Pipe Pipe : file speciali utilizzati per connettere due processi con un canale unidirezionale di comunicazione A p i p e B Se B cerca di leggere da una pipe vuota si blocca Quando la pipe è piena A viene automaticamente sospeso L ampiezza della pipe dipende dal sistema Sistemi multi-utente: Unix 83

84 Riferimenti Sistemi multi-utente: Unix 84

85 Sistemi multi-utente: Unix SISTEMI OPERATIVI MULTI-UTENTE: UNIX Scopo del corso Definire un sistema operativo multi utente Analizzare i benefici di un S.O. Multi-Utente Requisiti per un sistema Multi-Utente Panoramica di UNIX Gestione Utenti di Unix File System di Unix Gestione processi di Unix Sistemi multi-utente: Unix 1

86 Sistemi multi-utente: Unix SISTEMI OPERATIVI Definizione di sistema operativo Multi-Utente Sistemi multi-utente: Unix 2

87 Sistemi multi-utente: Unix SISTEMA OPERATIVO Programma responsabile del controllo e della gestione dei componenti hardware che costituiscono un computer e dei programmi che su di esso girano. Il sistema operativo mette anche a disposizione dei programmi una interfaccia software per accedere alle risorse hardware (dischi, memoria, I/O in generale) del sistema. Il compito principale del sistema operativo è quello di permettere all'uomo di interagire direttamente con la macchina. Sistemi multi-utente: Unix 3

88 Sistemi multi-utente: Unix STRUTTURA Un generico sistema operativo moderno si compone di: Il kernel Il gestore di networking, periferiche e file system Il gestore di memoria virtuale Uno scheduler Uno spooler Una interfaccia utente (shell o GUI) A seconda dei casi, un particolare sistema operativo può avere tutti questi componenti o solo alcuni. Sistemi multi-utente: Unix 4 Una ulteriore differenza fra i sistemi operativi è data dal tipo di comunicazione fra le varie componenti: i sistemi operativi classici sono basati su chiamate dirette di funzioni, mentre molti sistemi operativi moderni, soprattutto quelli che adottano microkernel, si basano sul message passing, sullo scambio di messaggi fra le loro varie parti e fra il sistema operativo e i programmi che fa girare.

89 Sistemi multi-utente: Unix Elementi di un S.O. Il kernel: un gruppo di funzioni fondamentali, strettamente interconnesse fra loro e con l'hardware, che vengono eseguite con il privilegio massimo disponibile sulla macchina; il kernel fornisce le funzionalità di base per tutte le altre componenti del sistema operativo, che assolvono le loro funzioni servendosi di esso. A seconda del tipo di sistema operativo il kernel può inglobare altre parti (kernel classico, monolitico o modulare) o fornire solo funzioni base delegando più funzioni possibile a oggetti/gestori esterni (microkernel). Sistemi multi-utente: Unix 5

90 Sistemi multi-utente: Unix Il Kernel Linux Sistemi multi-utente: Unix 6

91 Sistemi multi-utente: Unix Elementi di un S.O. (II) Il gestore di networking, periferiche e file system: si occupa di esaudire le richieste di accesso alle memorie di massa, alla rete e alle periferiche del computer. Viene utilizzato ogni volta che si accede a un file su disco,ad un interfaccia di rete o ad altre periferiche e oltre a fornire i dati richiesti tiene traccia, ad esempio, dei file aperti, dei permessi di accesso ai file. Un gestore di memoria virtuale, che alloca la memoria richiesta dai programmi e dal sistema operativo stesso, salva sulla memoria di massa le zone di memoria temporaneamente non usate dai programmi e garantisce che le pagine swappate vengano riportate in memoria se richieste. Sistemi multi-utente: Unix 7

92 Sistemi multi-utente: Unix Elementi di un S.O. (III) Uno scheduler che scandisce il tempo di esecuzione dei vari processi e assicura che ciascuno di essi venga eseguito per il tempo richiesto. Normalmente lo scheduler gestisce anche lo stato dei processi e può sospenderne l'esecuzione nel caso questi siano in idle (esempio: richiesta di dati da disco). Uno spooler che riceve dai programmi i dati da stampare e li stampa in successione, permettendo ai programmi di proseguire senza dover attendere la fine del processo di stampa. Una interfaccia utente (shell o GUI) che permette agli esseri umani di interagire con la macchina. Sistemi multi-utente: Unix 8

93 Sistemi multi-utente: Unix User Interface Sistemi multi-utente: Unix 9

94 Sistemi multi-utente: Unix SISTEMA MULTITASKING I programmi non hanno sempre realmente bisogno della CPU: a volte, invece di eseguire istruzioni stanno aspettando che arrivino dei dati da un file, o che l'utente prema un tasto alla tastiera. Quindi si può, usare questi tempi "morti" per far girare un altro programma. Questa idea, sorta fin dai primi anni cinquanta, si concretizzò nei sistemi operativi multitasking, cioè dotati di uno scheduler che manda in esecuzione più processi (programmi), assegnando a turno la CPU ad ognuno e sospendendo l'esecuzione dei programmi in attesa di un evento esterno (lettura/scrittura sulle memorie di massa, input utente ecc.) finché questo non si verifica. Sistemi multi-utente: Unix 10

95 Sistemi multi-utente: Unix SISTEMA MULTITASKING-REQUISITI Maggiore quantità di memoria: si hanno più programmi attivi nello stesso tempo. Questo tipo di sistemi operativi è quasi sempre dotato di un gestore di memoria virtuale. Controllo sulle risorse hardware: Avendo più programmi simultaneamente attivi, il controllo delle risorse hardware diventa una necessità. Due modi di implementare il multitasking: cooperative e preemptive multitasking. Sistemi multi-utente: Unix 11

96 Sistemi multi-utente: Unix COOPERATIVE MULTITASKING Nel cooperative multitasking sono i programmi che, spontaneamente, cedono il controllo al sistema non appena hanno terminato la singola operazione in corso; assorbe meno risorse di calcolo e non ha (quasi) ritardo di commutazione per il cambio di task, e inoltre non richiede nessuna struttura hardware dedicata, il che rende possibile implementarlo su qualunque calcolatore; per contro è molto vulnerabile a errori nei programmi (in genere il crash di un programma fa cadere l'intero sistema) e l'isolamento fra processi è molto debole. Sistemi multi-utente: Unix 12

97 Sistemi multi-utente: Unix PREEMPTIVE MULTITASKING Nel preemptive multitasking è lo scheduler che ferma i programmi allo scadere del quanto di tempo assegnato e trasferisce il controllo dall'uno all'altro. Sono necessarie CPU che implementino in hardware sia dei livelli di privilegio per l'esecuzione del codice, sia una logica specifica per il context switch. Dato che i programmi sono interrompibili al context switch il sistema deve fotografare la situazione del programma e salvarla, e ricaricare quella salvata dal task che subentra, perdendo tempo. Offre una sicurezza del sistema molto maggiore e una (virtuale) immunità ai crash di sistema causati da errori nei programmi. Sistemi multi-utente: Unix 13 context switch: il cambio di task eseguito dallo scheduler Poichè l'interruzione dei programmi è arbitraria, al cambio di task il sistema operativo è costretto a salvare tutti o quasi i registri della CPU e ricaricarli con quelli salvati dal task che subentra, perdendo molto tempo.

98 Sistemi multi-utente: Unix SISTEMA MULTIUTENTE Se un computer può far girare più programmi contemporaneamente, allora può anche accettare comandi da più utenti contemporaneamente. Quindi un sistema Multi-Utente è una naturale estensione di un sistema Multi-Tasking Come un sistema multi-task pone problematiche diverse dal mono-task un sistema multi utente pone problematiche particolari dovute alla presenza di più utenti Sistemi multi-utente: Unix 14

99 Sistemi multi-utente: Unix PROBLEMI TIPICI MULTIUTENZA Un sistema multiutente deve affrontare alcuni problemi distinguere i vari utenti tra loro; garantire che i dati di un singolo utente siano privati; Permettere a degli utenti di condividere i dati, se lo vogliono; Permettere la condivisione solo a certi gruppi di utenti; Non permettere a nessun utente (con un unica eccezione) di causare danni agli altri o alla macchina che sta usando; Gestire l'accesso alle risorse della macchina, in modo che nessun utente possa limitarne l'accesso agli altri. Sistemi multi-utente: Unix 15

100 Sistemi multi-utente: Unix Soluzione Assegnare un account univoco per ogni utente Assegnare un proprietario ai file ed ai programmi Gestire un sistema di permessi per l'accesso ai file ed ai programmi Gestire una gerarchia di utenti. Isolare le risorse hardware dall'accesso diretto dei programmi utenti. Sistemi multi-utente: Unix 16 Questi problemi si risolvono assegnando un account univoco per ogni utente, assegnando un proprietario ai file ed ai programmi e gestendo un sistema di permessi per l'accesso ad essi, e prevedendo una gerarchia di utenti (cioè di account) per cui il sistema rifiuterà tutti i comandi potenzialmente "pericolosi" e li accetterà soltanto se impartiti da un utente in cima alla gerarchia, che è l'amministratore del sistema (generalmente l'account root nei sistemi Unix, Administrator nei sistemi Windows).

101 Sistemi multi-utente: Unix UTENTI DI UN SISTEMA OPERATIVO Gli utenti di un sistema operativo multi-utente non devono per forza essere persone fisiche, anzi... Possono essere basicamente di tre tipi Account amministratore: è l'account che consente l'amministrazione del sistema. Esso deve poter avere accesso ad ogni risorsa presente sulla macchina. Account di servizio : sono account a cui non corrisponde un utente del mondo reale, ma sono associati ad un particolare servizio (o programma) che si intende far girare sulla macchina Account utenti: sono account rilasciati ad utenti reali Sistemi multi-utente: Unix 17

102 Sistemi multi-utente: Unix Benefici di un sistema multi-utente I benefici si possono più facilmente riscontrare su di un sistema operativo server: Ogni servizio può essere isolato dagli altri assegnandolo ad un utente differente Si possono stabilire limiti per ogni servizio, limitando l'utente Si migliora la sicurezza utilizzando utenti non privilegiati Su di una macchina desktop i vantaggi riguardano la sicurezza: è più difficile fare danni non accedendo ad una macchina come root o Administrator Sistemi multi-utente: Unix 18

103 Sistemi multi-utente: Unix PERCHÈ UNIX? Perchè tra i sistemi operativi multi-utente disponibili si parla di UNIX? Unix è uno tra i più vecchi sistemi operativi multi-utente Il modello di multi-utenza di unix si può considerare un modello di riferimento Unix è a tutt'oggi molto usato come sistema operativo server Il modello Unix ha generato una vasta famiglia di sistemi operativi moderni. Sistemi multi-utente: Unix 19

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

Dettagli

Informatica: il sistema operativo

Informatica: il sistema operativo pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 6 ottobre 2006 Il software Il software è l insieme dei programmi che operano sul calcolatore Software

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell

Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell Daniele Pighin pighin@fbk.eu FBK Via Sommarive, 18 I-38050 Trento, Italy March 5, 2008 Outline 1 Sistema operativo e

Dettagli

Utenti e gruppi. Ogni utilizzatore di UNIX ha associato: Nomeutente nome alfanumerici UID identità numerica

Utenti e gruppi. Ogni utilizzatore di UNIX ha associato: Nomeutente nome alfanumerici UID identità numerica Utenti e gruppi Utenti e gruppi Ogni utilizzatore di UNIX ha associato: Un identità univoca Nomeutente nome alfanumerici UID identità numerica Uno o più gruppi Nomegruppo nome alfanumerico GID identità

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione Federico Spizzo Dipartimento di Fisica / Edificio C Stanza 006 Tel: 0532 974231 E-mail: federico.spizzo@unife.it Gianluigi Cibinetto Dipartimento di Fisica / Edificio C Stanza

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera CPU Memoria principale Il Sistema Operativo Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010 ALU Unità di controllo Registri A indirizzi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo L2 1.1-Introduzione 1 Prerequisiti Concetto intuitivo di applicazione per computer Uso pratico elementare di un sistema operativo 2 1 Introduzione Uno dei compiti di un sistema

Dettagli

Organizzazione di Sistemi Operativi e Reti

Organizzazione di Sistemi Operativi e Reti Organizzazione di Sistemi Operativi e Reti Corso di Laurea Triennale in Ingegneria Informatica Sara Lioba Volpi (sara.volpi@iet.unipi.it) Quarta esercitazione Sommario Virtual file system (VFS) concetto

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Introduzione alla. Alessandra Giordani agiordani@disi.unitn.it Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1

Introduzione alla. Alessandra Giordani agiordani@disi.unitn.it Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1 Introduzione alla Shell di UNIX Alessandra Giordani agiordani@disi.unitn.it Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1 Composizione di un sistema informativo: Hardware (CPU, periferiche,

Dettagli

NOZIONI BASE PER ESERCITAZIONI

NOZIONI BASE PER ESERCITAZIONI NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

Benvenuti/e. www.dueville.linux.it 2vilug@gmail.com

Benvenuti/e. www.dueville.linux.it 2vilug@gmail.com Benvenuti/e www.dueville.linux.it 2vilug@gmail.com Piccolo glossario SOFTWARE: Tutto ciò che è immateriale. HARDWARE: Tutto ciò che si può prendere a calci. Sistema operativo Il sistema operativo è l'insieme

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

PARTE 4 La Macchina Software

PARTE 4 La Macchina Software PARTE 4 La Macchina Software 94 Macchina Hardware e Macchina Software applicativi sistema operativo macchina hardware Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina,

Dettagli

Terza lezione: Directory e File system di Linux

Terza lezione: Directory e File system di Linux Terza lezione: Directory e File system di Linux DIRECTORY E FILE SYSTEM Il file system di Linux e Unix è organizzato in una struttura ad albero gerarchica. Il livello più alto del file system è / o directory

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

T E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E

T E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E Threading T E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E Caratteristiche principali dei thread Consentono di eseguire elaborazioni simultanee in un programma scritto in C#. Possono essere

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

PORTALE CLIENTI Manuale utente

PORTALE CLIENTI Manuale utente PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo

Dettagli

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Sistemi operativi e reti A.A. 2013-14. Lezione 2

Sistemi operativi e reti A.A. 2013-14. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 2 Giovedì 10-10-2013 1 Sistemi a partizione di tempo (time-sharing) I

Dettagli

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

I.S. Sobrero. Dipartimento di Informatica. Utilizzo. install.linux@home. 16/02/2007 install.linux@home Marco Marchisotti

I.S. Sobrero. Dipartimento di Informatica. Utilizzo. install.linux@home. 16/02/2007 install.linux@home Marco Marchisotti I.S. Sobrero Dipartimento di Informatica Utilizzo install.linux@home 1 La shell La shell di Linux è a linea di comando. Appare obsoleta e difficile da usare, ma in realtà è molto più potente e versatile

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows Esercitazione su Windows Introduzione al calcolatore Introduzione a Windows Sistemi Operativi Moderni Multi-Utente Multi-Processo Strutturati a Cipolla Dispongono di Interfaccia Grafica (GUI) oltre che

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

Software di base. Corso di Fondamenti di Informatica

Software di base. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi Operativi Il Sistema Operativo Windows (parte 3) Sistemi Operativi Il Sistema Operativo Windows (parte 3) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Architettura di NTFS 1 NTFS file system adottato

Dettagli

Corso ForTIC C2 LEZIONE n. 3

Corso ForTIC C2 LEZIONE n. 3 Corso ForTIC C2 LEZIONE n. 3 I due Desktop più diffusi KDE e GNOME Azioni concesse ad un utente NON privilegiato Sintassi generale dei comandi Muoversi all'interno del file system utilizzando i comandi

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

TITOLARE DEL TRATTAMENTO Il "titolare" del trattamento di eventuali dati personali rilevati a seguito della consultazione del sito è SEVAL S.r.l.

TITOLARE DEL TRATTAMENTO Il titolare del trattamento di eventuali dati personali rilevati a seguito della consultazione del sito è SEVAL S.r.l. PRIVACY POLICY SCOPO Il presente documento è rivolto a coloro che interagiscono con i servizi web del sito accessibili via internet a partire dall indirizzo www.seval.it. In tale informativa, resa ai sensi

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Permessi, utenti e gruppi

Permessi, utenti e gruppi Permessi, utenti e gruppi Daniele Venzano 9 novembre 2003 Indice 1 Introduzione 1 2 Concetti generali 2 2.1 Esempio..................................... 2 3 File importanti 2 3.1 /etc/group...................................

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Sequenza di avvio di Linux:

Sequenza di avvio di Linux: Sequenza di avvio di Linux: Il BIOS esegue una serie di test ed inizializzazione di tutti i dispositivi del computer; quindi, carica in memoria il BOOT loader del sistema operativo e gli cede il controllo.

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

GateManager. 1 Indice. tecnico@gate-manager.it

GateManager. 1 Indice. tecnico@gate-manager.it 1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare

Dettagli

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS SISTEMA OPERATIVO SISTEMA OPERATIVO Per comunicare con l utente il computer deve essere dotato di un Sistema Operativo interfaccia

Dettagli

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione

Dettagli

1.2.1.1 DEFINIZIONE DI SOFTWARE

1.2.1.1 DEFINIZIONE DI SOFTWARE Software 1.2 1.2.1.1 DEFINIZIONE DI SOFTWARE Il computer non è in grado di svolgere alcun compito autonomamente Esso può eseguire svariati compiti soltanto se viene opportunamente istruito Ciò avviene

Dettagli

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity.

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. UBIQUITY 5 Introduzione Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 20/01/2015 Disclaimer Le informazioni

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44 filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44 Sommario Introduzione... 4 Caratteristiche del filrbox... 5 La barra principale del filrbox... 7 Elenco degli utenti... 8 Il profilo... 9 Le novità...

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

Il computer: primi elementi

Il computer: primi elementi Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni

Dettagli

L API socket ed i daemon

L API socket ed i daemon L API socket ed i daemon Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy http://www.iac.cnr.it/

Dettagli

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi 1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti

Dettagli

Informatica e Bioinformatica: Sistemi Operativi

Informatica e Bioinformatica: Sistemi Operativi Informatica e Bioinformatica: Sistemi Operativi 11 marzo 2013 Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle

Dettagli

Sistema di protezione (2) Protezione (1)

Sistema di protezione (2) Protezione (1) Sistema di protezione (1) Sistema di protezione (2) Sistema di protezione (3) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione:

Dettagli

Primi passi con Linux

Primi passi con Linux Linuxday 2005 Fondazione Casolo - Somma Lombardo (VA) Primi passi con Linux a cura di Marco Bevacqua (Möbius) La gestione degli utenti La schermata di login grafico (Kdm) di Mandriva Linux La gestione

Dettagli

Sistema di protezione (1)

Sistema di protezione (1) Sistema di protezione (1) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione: politiche (cosa) e meccanismi (come) per controllare

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Ca ra tteristiche dei sistem i GN U/L inux. Struttura di un sistema GNU/Linux Il filesystem La shell

Ca ra tteristiche dei sistem i GN U/L inux. Struttura di un sistema GNU/Linux Il filesystem La shell Struttura di un sistema GNU/Linux Il filesystem La shell 1 GNU/Linux è un sistema operativo, cioè un insieme di programmi che collaborano fra di loro rendendo utilizzabile un calcolatore, infatti senza

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

Organizzazione Monolitica

Organizzazione Monolitica Principali componenti di un sistema Applicazioni utente Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore / Scheduler(s) Gestore della memoria Gestore delle periferiche/

Dettagli

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare. Il software Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di

Dettagli