Podcast
Questions and Answers
Qual è uno degli scopi principali del sistema operativo?
Qual è uno degli scopi principali del sistema operativo?
Il controllo degli accessi permette di sapere chi sta utilizzando la macchina e assegnare diversi privilegi a ciascun utente.
Il controllo degli accessi permette di sapere chi sta utilizzando la macchina e assegnare diversi privilegi a ciascun utente.
True
Dove risiedono il codice di sistema e il codice delle applicazioni in un sistema operativo UNIX?
Dove risiedono il codice di sistema e il codice delle applicazioni in un sistema operativo UNIX?
Segmenti diversi
Perché la standardizzazione è fondamentale nei sistemi operativi? Consente l'_ _ _ _ _ _ _ _ _ _ _ tra dispositivi e software di diversi produttori.
Perché la standardizzazione è fondamentale nei sistemi operativi? Consente l'_ _ _ _ _ _ _ _ _ _ _ tra dispositivi e software di diversi produttori.
Signup and view all the answers
Qual è il passo successivo dopo aver visto come funziona la trasmissione e la ricezione dei dati da una macchina all'altra?
Qual è il passo successivo dopo aver visto come funziona la trasmissione e la ricezione dei dati da una macchina all'altra?
Signup and view all the answers
Il demultiplexing in ricezione è più complicato perché si sa esattamente con quali criteri è stato fatto il multiplexing sul trasmittente.
Il demultiplexing in ricezione è più complicato perché si sa esattamente con quali criteri è stato fatto il multiplexing sul trasmittente.
Signup and view all the answers
Cosa gestiscono i buffer generici usati per smistare i dati in attesa di ricezione?
Cosa gestiscono i buffer generici usati per smistare i dati in attesa di ricezione?
Signup and view all the answers
Il demultiplexing dei dati ricevuti è effettuato dal ________.
Il demultiplexing dei dati ricevuti è effettuato dal ________.
Signup and view all the answers
Quale funzione serve a mandare in esecuzione un file eseguibile?
Quale funzione serve a mandare in esecuzione un file eseguibile?
Signup and view all the answers
Il PID identifica un processo in maniera univoca nel sistema operativo.
Il PID identifica un processo in maniera univoca nel sistema operativo.
Signup and view all the answers
Cosa significa il termine 'zombie' nel contesto dei processi?
Cosa significa il termine 'zombie' nel contesto dei processi?
Signup and view all the answers
Un nuovo processo generato dalla fork è in stato _____ fino a quando i suoi segmenti di memoria saranno inizializzati.
Un nuovo processo generato dalla fork è in stato _____ fino a quando i suoi segmenti di memoria saranno inizializzati.
Signup and view all the answers
Abbinare le seguenti segnalazioni con i relativi significati:
Abbinare le seguenti segnalazioni con i relativi significati:
Signup and view all the answers
Quale è la funzione principale del kernel di un sistema operativo?
Quale è la funzione principale del kernel di un sistema operativo?
Signup and view all the answers
I kernel moderni sono di tipo modulare.
I kernel moderni sono di tipo modulare.
Signup and view all the answers
Cos'è una system call?
Cos'è una system call?
Signup and view all the answers
Nei file di ____ vengono registrati tutti gli eventi che accadono sulla macchina.
Nei file di ____ vengono registrati tutti gli eventi che accadono sulla macchina.
Signup and view all the answers
Abbina le seguenti componenti alle loro descrizioni:
Abbina le seguenti componenti alle loro descrizioni:
Signup and view all the answers
Qual è il problema principale di una comunicazione inefficiente tra due macchine remote?
Qual è il problema principale di una comunicazione inefficiente tra due macchine remote?
Signup and view all the answers
Quali sono le due parti fondamentali memorizzate su un disco dopo il boot sector?
Quali sono le due parti fondamentali memorizzate su un disco dopo il boot sector?
Signup and view all the answers
Un link simbolico è un tipo speciale di file che fa riferimento direttamente all'inode del file puntato.
Un link simbolico è un tipo speciale di file che fa riferimento direttamente all'inode del file puntato.
Signup and view all the answers
Cosa succede quando si elimina un file?
Cosa succede quando si elimina un file?
Signup and view all the answers
Per accedere a un file, bisogna vedere nella directory che lo contiene l'associazione tra il suo nome e i suoi ____.
Per accedere a un file, bisogna vedere nella directory che lo contiene l'associazione tra il suo nome e i suoi ____.
Signup and view all the answers
Qual è la principale vulnerabilità dei sistemi UNIX derivante dalla presenza dell'utente root?
Qual è la principale vulnerabilità dei sistemi UNIX derivante dalla presenza dell'utente root?
Signup and view all the answers
Cosa indica la presenza del bit 's' associato ad un file eseguibile in UNIX?
Cosa indica la presenza del bit 's' associato ad un file eseguibile in UNIX?
Signup and view all the answers
Nei sistemi UNIX, l'utente root ha un UID di __.
Nei sistemi UNIX, l'utente root ha un UID di __.
Signup and view all the answers
Il file /etc/passwd in UNIX contiene le password degli utenti in chiaro.
Il file /etc/passwd in UNIX contiene le password degli utenti in chiaro.
Signup and view all the answers
Abbinare le caratteristiche di un file regolare con quelle di un file speciale in UNIX:
Abbinare le caratteristiche di un file regolare con quelle di un file speciale in UNIX:
Signup and view all the answers
Qual è il protocollo utilizzato per l'autenticazione che avviene direttamente a livello di protocollo e non richiede un login in una pagina web?
Qual è il protocollo utilizzato per l'autenticazione che avviene direttamente a livello di protocollo e non richiede un login in una pagina web?
Signup and view all the answers
I cookies sono considerati sicuri per l'autenticazione degli utenti.
I cookies sono considerati sicuri per l'autenticazione degli utenti.
Signup and view all the answers
Qual è il limite massimo di cookies che possono essere memorizzati per dominio in un browser?
Qual è il limite massimo di cookies che possono essere memorizzati per dominio in un browser?
Signup and view all the answers
Il protocollo SMTP utilizza il protocollo di trasporto ____. Utilizza la porta 25 per connessioni non protette e la porta 465 per connessioni protette.
Il protocollo SMTP utilizza il protocollo di trasporto ____. Utilizza la porta 25 per connessioni non protette e la porta 465 per connessioni protette.
Signup and view all the answers
Quando creo un processo in un sistema POSIX quante thread vengono create all'interno?
Quando creo un processo in un sistema POSIX quante thread vengono create all'interno?
Signup and view all the answers
Le comunicazioni tra thread avvengono attraverso aree di memoria comuni.
Le comunicazioni tra thread avvengono attraverso aree di memoria comuni.
Signup and view all the answers
Cosa fa la funzione pthread_join?
Cosa fa la funzione pthread_join?
Signup and view all the answers
Le primitive chiamate ____ fanno in modo che due thread non possano essere eseguiti contemporaneamente.
Le primitive chiamate ____ fanno in modo che due thread non possano essere eseguiti contemporaneamente.
Signup and view all the answers
Abbinare i tipi di sincronizzazione alla loro descrizione:
Abbinare i tipi di sincronizzazione alla loro descrizione:
Signup and view all the answers
Cosa fa un ipervisore di tipo 1 una volta terminato l'avvio di una macchina virtuale?
Cosa fa un ipervisore di tipo 1 una volta terminato l'avvio di una macchina virtuale?
Signup and view all the answers
Un rootkit è un software che viene utilizzato solo per attaccare un sistema.
Un rootkit è un software che viene utilizzato solo per attaccare un sistema.
Signup and view all the answers
Cosa è un rootkit difensivo?
Cosa è un rootkit difensivo?
Signup and view all the answers
Chi controlla la suddivisione delle risorse all'interno dell'ambiente per i thread?
Chi controlla la suddivisione delle risorse all'interno dell'ambiente per i thread?
Signup and view all the answers
Study Notes
Sistemi Operativi
- La virtualizzazione è un concetto chiave nei sistemi operativi: consente di rendere facilmente disponibili le risorse ai vari software applicativi senza conflitti in caso di più applicazioni eseguite contemporaneamente.
- La standardizzazione è fondamentale per l'interoperabilità: un sistema operativo dovrà far funzionare assieme svariati dispositivi e software di diversi produttori.
- La sicurezza di un sistema operativo comprende:
- Controllo degli accessi
- Integrità
- Disponibilità
- Affidabilità
- Segretezza
- L'efficienza di un sistema operativo è importante perché virtualizzare una grande quantità di risorse è più complicato di virtualizzarne poche.
Componenti di un Sistema Operativo
- Il kernel è lo strato di base che implementa la virtualizzazione e solitamente anche il controllo degli accessi.
- Il bootstrap è l'operazione che mi consente di caricare in memoria nuovo codice eseguibile.
- Il kernel può essere:
- Monolitico: un kernel che viene configurato prima della compilazione in modo da avere tutte le componenti necessarie per l'hardware sul quale dovrà essere installato.
- Modulare: un kernel al quale possono essere aggiunti e tolti moduli che danno il supporto a particolari dispositivi, anche durante l'esecuzione.
- Le librerie vanno ad aggiungere codice nel segmento applicativo dei processi e implementano le system call.
- Altre componenti di un sistema operativo comprendono:
- Log
- Applicazioni di gestione
- Applicazioni per lo sviluppo
Scambio di Dati via Rete
- Il DMA (Direct Memory Access) channel è un coprocessore in grado di eseguire un piccolo sottoinsieme dell'instruction set del processore, tipicamente istruzioni relative alla copia di dati.
- La trasmissione di dati via rete comprende:
- Scrittura dei dati nel buffer di trasmissione
- Copia dei dati dal buffer di trasmissione nel registro della NIC (Network Interface Card)
- Trasmissione dei dati attraverso un canale di comunicazione
- La ricezione di dati via rete comprende:
- Ricezione dei dati dalla rete nella NIC
- Copia dei dati dai registri della NIC nel buffer di ricezione
- Segnalazione dell'arrivo di dati attraverso un interrupt
- La sincronizzazione dell'attività del programma che trasmette e del programma che riceve è fondamentale per evitare perdite di dati.### Interfaccia di Rete e Trasmissione di Dati
- La comunicazione tra macchine remote è difficile a causa delle velocità diverse dei clock del processore del transmitter e del receiver.
- Il problema viene risolto attraverso algoritmi di flow control (controllo di flusso), che regolano la velocità di trasmissione e ricezione rispetto al canale di comunicazione.
Bufferizzazioni
- La bufferizzazione è una tecnica utilizzata per evitare tempi morti nella trasmissione e ricezione di dati.
- Un buffer è una porzione di memoria RAM utilizzata per memorizzare i dati in attesa di trasmissione o ricezione.
- La bufferizzazione può essere implementata utilizzando un registro nella NIC (Network Interface Card).
Virtualizzazione dell'Attività di Rete
- La virtualizzazione dell'attività di rete consente alle applicazioni di comunicare tra loro senza dover gestire i dettagli della comunicazione di rete.
- Ciò avviene attraverso l'utilizzo di API (Application Program Interface) standard, come ad esempio MPI (Message Passing Interface).
Socket
- Un socket è un'API di comunicazione utilizzata per stabilire una connessione di rete tra due processi.
- Un socket è caratterizzato da un indirizzo di rete e una porta.
- Le porte sono suddivise in well known e ephimeral, con le well known assegnate ai server e le ephimeral ai client.
File Descriptor
- Un file descriptor è un numero intero che rappresenta una risorsa messa a disposizione dal sistema per un processo.
- I file descriptor sono utilizzati per agire su diversi tipi di risorse, come ad esempio file, socket e dispositivi.
- Le primitive read() e write() sono bloccanti, ovvero bloccano il processo che le ha lanciate se non sono in condizione di portare a termine il compito per mancanza di risorse.
Processi
-
In UNIX, i processi possono essere duplicati utilizzando la system call fork().
-
La fork crea una copia identica del processo che l'ha chiamata, inclusi i segmenti dati e codice.
-
La fork ritorna un valore diverso per il padre e il figlio, che possono essere utilizzati per differenziare il funzionamento dei due processi.
-
Il sistema operativo crea il primo processo, init, che può avviarne altri tramite la fork.
-
I processi possono essere identificati tramite un PID (process identifier).### Gestione dei processi
-
La system call
signal
(intsignum
,sighandler_t
handler
) consente di stabilire corrispondenze tra la segnalazionesignum
e la funzionehandler
da eseguire in caso di segnalazione. -
La funzione
handler
non fa parte del normale flusso di esecuzione del programma. -
Per inviare una segnalazione si utilizza la system call
kill
. -
Gli handler di default del sistema sono:
-
term
: invoca laexit
terminando il processo -
ign
: handler vuoto, ignora la segnalazione -
core
: fa il core dump dello stato dell'applicazione -
stop
: mette il processo in attesa (passa in stato wait) -
cont
: riprende il processo che è attualmente in attesa (esce dallo stato wait)
-
-
La kill prende come parametro il PID del processo a cui inviare la segnalazione.
-
Occorrono controlli di sicurezza per evitare che un utente possa terminare i processi di un altro utente.
Controllo degli accessi
- Un sistema operativo deve intermediare le richieste di accesso degli utenti alle risorse.
- Esistono due approcci per l'assegnazione dei permessi: l'approccio mandatorio e l'approccio discrezionale.
- L'approccio mandatorio è più adatto a sistema chiusi, dove il progettista del sistema decide manualmente i permessi.
- L'approccio discrezionale delega all'amministratore di sistema la gestione dei permessi.
- I principi di Denning per la gestione della sicurezza sono:
- Anello debole: partire dal presupposto che chi attacca è più furbo di noi.
- Minimo privilegio: assegnare ai permessi possibili nell'accesso alle risorse.
- Cambio di contesto: assegnare permessi diversi in base al contesto attuale.
Permessi in UNIX
- Non tutti i file system supportano la gestione dei permessi.
- In UNIX esiste un utente root, con UID 0, che è proprietario di tutti i file.
- L'utente proprietario del file può modificare i permessi con il comando
chmod
. - Il comando
chmod
prende come parametro una lettera (u
,g
,o
) che indica l'utente o gruppo a cui attribuire i permessi. - I permessi di accesso ai file sono discrezionali, mentre il permesso di modificare i permessi è mandatorio.
- Il comando
chown
consente di cambiare il proprietario del file.
Controllo degli accessi role-based
- In UNIX ad ogni utente è assegnato un gruppo di appartenenza.
- Un utente può essere membro di più gruppi.
- Il file
/etc/passwd
contiene le informazioni degli utenti. - Il file
/etc/group
contiene le informazioni dei gruppi. - Il comando
chmod
può agire anche sui gruppi, col parametrog
.
sudo e accesso root
- Il comando
sudo
esegue un comando con permessi di root anche se lanciato da un altro utente. - Il file
/etc/sudoers
contiene le configurazioni disudo
. -
sudo
può essere configurato per richiedere una password.
File system
- Il file system
ext2
è il primo file system sviluppato appositamente per Linux. - Un file system deve memorizzare file di diversi tipi.
- Esistono 5 tipi di file: regolari, directory, link, speciali e pipe.
- I dati dei file sono suddivisi in blocchi, la cui dimensione varia da un file system all'altro.
- L'inode contiene i metadati del file e i puntatori ai blocchi di dati.
- L'indirizzamento diretto è inode->blocchi dati.
- L'indirizzamento indiretto è inode->blocchi di indirizzamento->blocchi dati.
- La dimensione degli indirizzi può essere 32 o 64 bit, a seconda dell'implementazione.
- La dimensione dei blocchi di dati è il risultato di un compromesso tra le esigenze di spazio e di efficienza.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Questo quiz verifica la tua comprensione dei componenti e delle caratteristiche dei sistemi operativi, tra cui la virtualizzazione, la standardizzazione, la sicurezza e l'efficienza.