Sistemi Operativi: Componenti e Caratteristiche
41 Questions
3 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è uno degli scopi principali del sistema operativo?

  • Ridurre la virtualizzazione per aumentare le risorse fisiche
  • Limitare l'accesso alle risorse da parte dei software applicativi
  • Gestire tutte le risorse direttamente dai software applicativi
  • Virtualizzare risorse per rendere facilmente disponibili ai software applicativi (correct)
  • 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?

    Segmenti diversi

    Perché la standardizzazione è fondamentale nei sistemi operativi? Consente l'_ _ _ _ _ _ _ _ _ _ _ tra dispositivi e software di diversi produttori.

    <p>interoperabilità</p> 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?

    <p>Virtualizzare tutto per le applicazioni</p> 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.

    <p>False</p> Signup and view all the answers

    Cosa gestiscono i buffer generici usati per smistare i dati in attesa di ricezione?

    <p>I dati in attesa di smistamento.</p> Signup and view all the answers

    Il demultiplexing dei dati ricevuti è effettuato dal ________.

    <p>sistema operativo</p> Signup and view all the answers

    Quale funzione serve a mandare in esecuzione un file eseguibile?

    <p>execve</p> Signup and view all the answers

    Il PID identifica un processo in maniera univoca nel sistema operativo.

    <p>True</p> Signup and view all the answers

    Cosa significa il termine 'zombie' nel contesto dei processi?

    <p>Un processo che ha invocato la exit e aspetta di essere terminato.</p> Signup and view all the answers

    Un nuovo processo generato dalla fork è in stato _____ fino a quando i suoi segmenti di memoria saranno inizializzati.

    <p>init</p> Signup and view all the answers

    Abbinare le seguenti segnalazioni con i relativi significati:

    <p>term = Invoca la exit 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)</p> Signup and view all the answers

    Quale è la funzione principale del kernel di un sistema operativo?

    <p>Virtualizzare le risorse hardware</p> Signup and view all the answers

    I kernel moderni sono di tipo modulare.

    <p>True</p> Signup and view all the answers

    Cos'è una system call?

    <p>Una chiamata di sistema che permette a un'applicazione di richiedere funzionalità al sistema.</p> Signup and view all the answers

    Nei file di ____ vengono registrati tutti gli eventi che accadono sulla macchina.

    <p>log</p> Signup and view all the answers

    Abbina le seguenti componenti alle loro descrizioni:

    <p>Log = Registra gli eventi sulla macchina Applicazioni di gestione = Permettono all'utente di gestire il sistema operativo Applicazioni per lo sviluppo = Include compilatori, debugger, IDE</p> Signup and view all the answers

    Qual è il problema principale di una comunicazione inefficiente tra due macchine remote?

    <p>Perdita di dati</p> Signup and view all the answers

    Quali sono le due parti fondamentali memorizzate su un disco dopo il boot sector?

    <p>Superblock e file system descriptor</p> Signup and view all the answers

    Un link simbolico è un tipo speciale di file che fa riferimento direttamente all'inode del file puntato.

    <p>False</p> Signup and view all the answers

    Cosa succede quando si elimina un file?

    <p>Viene eliminato solo il link specifico, non l'inode e i dati associati.</p> 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 ____.

    <p>inode</p> Signup and view all the answers

    Qual è la principale vulnerabilità dei sistemi UNIX derivante dalla presenza dell'utente root?

    <p>Violazione del principio di minimo privilegio</p> Signup and view all the answers

    Cosa indica la presenza del bit 's' associato ad un file eseguibile in UNIX?

    <p>Il file verrà eseguito con i permessi del proprietario del file.</p> Signup and view all the answers

    Nei sistemi UNIX, l'utente root ha un UID di __.

    <p>0</p> Signup and view all the answers

    Il file /etc/passwd in UNIX contiene le password degli utenti in chiaro.

    <p>False</p> Signup and view all the answers

    Abbinare le caratteristiche di un file regolare con quelle di un file speciale in UNIX:

    <p>File regolare = Contiene dati di qualunque tipo File speciale = Usato per accedere a dispositivi</p> 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?

    <p>HTAccess</p> Signup and view all the answers

    I cookies sono considerati sicuri per l'autenticazione degli utenti.

    <p>False</p> Signup and view all the answers

    Qual è il limite massimo di cookies che possono essere memorizzati per dominio in un browser?

    <p>20</p> 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.

    <p>TCP</p> Signup and view all the answers

    Quando creo un processo in un sistema POSIX quante thread vengono create all'interno?

    <p>1</p> Signup and view all the answers

    Le comunicazioni tra thread avvengono attraverso aree di memoria comuni.

    <p>True</p> Signup and view all the answers

    Cosa fa la funzione pthread_join?

    <p>blocca il thread che la chiama finché l'esecuzione di un altro thread specificato non termina</p> Signup and view all the answers

    Le primitive chiamate ____ fanno in modo che due thread non possano essere eseguiti contemporaneamente.

    <p>mutex</p> Signup and view all the answers

    Abbinare i tipi di sincronizzazione alla loro descrizione:

    <p>pthread_create = Crea un nuovo thread che esegue una funzione specificata. pthread_join = Blocca il thread finché non termina un altro thread specificato. mutex = Previene l'esecuzione simultanea di due thread. pthread_mutex_lock/unlock = Consente l'esecuzione di un thread alla volta. i = n</p> Signup and view all the answers

    Cosa fa un ipervisore di tipo 1 una volta terminato l'avvio di una macchina virtuale?

    <p>Gestisce le trap delle macchine virtuali</p> Signup and view all the answers

    Un rootkit è un software che viene utilizzato solo per attaccare un sistema.

    <p>False</p> Signup and view all the answers

    Cosa è un rootkit difensivo?

    <p>Un hypervisor che controlla il comportamento del sistema operativo.</p> Signup and view all the answers

    Chi controlla la suddivisione delle risorse all'interno dell'ambiente per i thread?

    <p>thread stessi</p> 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 (int signum, sighandler_t handler) consente di stabilire corrispondenze tra la segnalazione signum e la funzione handler 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 la exit 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 parametro g.

    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 di sudo.
    • 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.

    Quiz Team

    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.

    More Like This

    Firmware and Software Subsystems
    10 questions
    Operating System Components
    38 questions

    Operating System Components

    PrivilegedMoscovium avatar
    PrivilegedMoscovium
    Inleiding tot Besturingssystemen
    12 questions
    Operating System Fundamentals
    5 questions
    Use Quizgecko on...
    Browser
    Browser