Sistemi Operativi - 02: Strutture dei Sistemi Operativi
43 Questions
1 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

Quale delle seguenti affermazioni descrive meglio il ruolo del sistema operativo nella gestione dei file?

  • Il SO non è responsabile della gestione dei file.
  • Il SO gestisce la creazione, cancellazione e memorizzazione efficiente dei file. (correct)
  • Il SO può solo creare file.
  • Il SO deve solo trovare file quando necessario.
  • Il sistema operativo deve permettere a un processo di accedere liberamente ai dati di un altro processo.

    False

    Qual è la funzione principale della memoria secondaria nel sistema operativo?

    Memorizzare i file permanentemente.

    Il sistema operativo deve trovare velocemente spazio libero quando un file viene ______.

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

    Abbina le seguenti funzioni del sistema operativo con le loro descrizioni:

    <p>Creazione di file = Consente di creare nuovi file nel file system Cancellazione di file = Permette di eliminare file non più necessari Gestione della memoria = Ottimizza l'uso della memoria in un sistema Protezione dei processi = Impedisce accessi non autorizzati tra processi</p> Signup and view all the answers

    Quale dei seguenti servizi è considerato completamente invisibile agli utenti?

    <p>Gestione dei processi</p> Signup and view all the answers

    L'interprete dei comandi fa parte del kernel del sistema operativo.

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

    Cosa fa un interprete dei comandi quando l'utente scrive un comando?

    <p>Cerca e lancia il file eseguibile associato al comando.</p> Signup and view all the answers

    In un sistema operativo Unix-like, il comando per rimuovere un file è ___.

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

    Abbina i seguenti interpreti dei comandi ai loro nomi:

    <p>Shell = Bourne-again-shell C-shell = Korn-shell Bourne-shell = Bourne-shell Bash-shell = Shell</p> Signup and view all the answers

    Quale affermazione è vera riguardo le interfacce dei sistemi operativi?

    <p>Possono combinare interfacce grafiche e interpreti di comandi.</p> Signup and view all the answers

    Le chiamate di sistema sono sempre visibili agli utenti.

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

    Elenca due esempi di interpreti dei comandi.

    <p>Shell dell'Ms-Dos e shell Unix.</p> Signup and view all the answers

    Chi ha inventato le interfacce grafiche nel 1973?

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

    Windows è stato lanciato nel 1995 come un sistema operativo indipendente.

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

    Quali sono due esempi di interfacce grafiche per Unix?

    <p>KDE e GNOME</p> Signup and view all the answers

    Gli ________ sono programmi di sistema utilizzati per comunicare via email e navigare in rete.

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

    Abbina i seguenti tipi di programmi ai loro scopi:

    <p>Editor = Modificare i file Compilatori = Programmare Task Manager = Monitorare lo stato del sistema Browser = Navigare in rete</p> Signup and view all the answers

    Quale di queste affermazioni sui programmi di sistema è vera?

    <p>Possono essere facilmente aggiunti a un'installazione di un SO.</p> Signup and view all the answers

    I processi sono programmi in esecuzione.

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

    Qual è uno dei compiti del task manager di Windows?

    <p>Monitorare lo stato del sistema</p> Signup and view all the answers

    Il sistema operativo Macintosh è stato lanciato nel ______.

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

    Quale di queste opzioni non è un tipo di programma di sistema menzionato?

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

    Quale di queste affermazioni descrive meglio una Chiamata di Sistema?

    <p>Un'interazione diretta tra processi utente e Sistema Operativo.</p> Signup and view all the answers

    Le API sono una via diretta per effettuare chiamate di sistema.

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

    Cosa fa una Chiamata di Sistema 'open' in un programma C?

    <p>Apre un file in modalità di scrittura.</p> Signup and view all the answers

    Le ______ sono utilizzate per facilitare l'interazione con il Sistema Operativo.

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

    Abbina le seguenti funzioni alle loro descrizioni:

    <p>open = Apre un file write = Scrive dati in un file close = Chiude un file read = Legge dati da un file</p> Signup and view all the answers

    Quanti processi possono attivare chiamate di sistema in un sistema multi-utente?

    <p>Fino a centinaia o migliaia ogni secondo</p> Signup and view all the answers

    Le API sono specifiche per ogni linguaggio di programmazione.

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

    Qual è la funzione principale delle API nel contesto delle chiamate di sistema?

    <p>Fornire un'interfaccia semplificata per l'uso delle system call.</p> Signup and view all the answers

    Le API per i sistemi Windows sono chiamate ______.

    <p>API Windows</p> Signup and view all the answers

    Quale dei seguenti linguaggi permette di utilizzare direttamente le system call in Unix?

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

    Quale delle seguenti operazioni è svolta dalla chiamata di sistema 'fopen'?

    <p>Aprire un file</p> Signup and view all the answers

    Un sistema operativo gestisce solo uno alla volta i processi in esecuzione.

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

    Qual è la responsabilità principale del sistema operativo nella gestione dei processi?

    <p>Fornire risorse ai processi senza danneggiarsi a vicenda.</p> Signup and view all the answers

    La chiamata di sistema 'fclose' serve a ______ un file aperto.

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

    Abbina le seguenti operazioni ai loro relativi tipi di gestione.

    <p>Creazione di processi = Gestione dei processi Caricamento in RAM = Gestione della memoria primaria Comunicazione tra processi = Gestione dei processi Distribuzione della RAM = Gestione della memoria primaria</p> Signup and view all the answers

    Quale tra le seguenti non è un tipo di operazione nella gestione dei processi?

    <p>Eliminazione dei file</p> Signup and view all the answers

    Il sistema operativo deve gestire l'accesso simultaneo alla memoria RAM da parte di più processi.

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

    Cos'è un processo concorrente?

    <p>Un processo che compete con altri per utilizzare le risorse hardware.</p> Signup and view all the answers

    La funzione 'fprintf' è utilizzata per ______ dati su un file.

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

    Quale sistema operativo utilizza principalmente le chiamate di sistema descritte?

    <p>tutti i precedenti</p> Signup and view all the answers

    Study Notes

    Strutture dei Sistemi Operativi

    • Un sistema operativo fornisce molti servizi agli utenti e ai loro programmi (Figura 2.1).
    • Questi servizi includono l'esecuzione di programmi, operazioni di input/output (I/O), gestione dei file, comunicazioni, allocazione delle risorse, gestione degli errori e altro ancora.
    • Alcune parti dei servizi sono completamente invisibili all'utente, altre sono parzialmente visibili, mentre altre vengono usate direttamente dall'utente. Il livello di visibilità dipende dal tipo di utente.
    • Ad esempio, l'interfaccia utente con il sistema operativo (GUI, touch-screen, riga di comando) è visibile, mentre le chiamate di sistema, la gestione di processi e memoria sono quasi sempre invisibili. La protezione e la sicurezza sono parzialmente visibili.

    Interfaccia col Sistema Operativo

    • L'interfaccia è lo strumento che gli utenti usano per interagire con il sistema operativo (SO) e utilizzare i suoi servizi.
    • Può essere un interprete di comandi o un'interfaccia grafica (GUI) con finestre e menu, o una combinazione di entrambi.

    Interprete dei comandi

    • Generalmente non fa parte del kernel del SO, ma è un programma separato.
    • Esempi includono la shell di MS-DOS e le shell Unix.
    • La shell si aspetta istruzioni dall'utente, legge la riga di comando, esegue l'istruzione e passa eventuali argomenti del programma all'eseguibile appropriato.
    • I comandi vengono solitamente interpretati e poi lanciati come file eseguibili.

    Interfaccia grafica

    • I moderni SO offrono interfacce grafiche per gli utenti.
    • Sono generalmente più facili da usare rispetto a un'interfaccia di testo.
    • I primi successi commerciali delle GUI risalgono a Macintosh (1984).
    • Windows ha poi adottato questo paradigma e lo ha integrato in futuro.
    • Sistemi operativi come Unix offrono varie interfacce grafiche proprietarie e open source (ad esempio KDE e GNOME).

    Programmi/Servizi di Sistema

    • Non fanno parte del kernel del SO, ma vengono forniti con esso.
    • Facilitano l'utilizzo del sistema.
    • Esempi includono gli editor di testo, compilatori, debugger, interpreti, ambienti di sviluppo, programmi di posta elettronica e browser web, e il task manager.

    Chiamate di sistema (System Call)

    • Rappresentano l'interfaccia tra i processi degli utenti e il SO.
    • Consentono ai processi degli utenti di richiedere servizi al SO.
    • In Unix, le system call sono procedure che possono essere inserite direttamente nei programmi scritti in linguaggi ad alto livello come C o C++.
    • Sembrano subroutine ma trasferiscono il controllo al SO per l'esecuzione della system call.

    Chiamate di sistema (System Call): le API

    • I programmatori possono utilizzare le API, interfacce per la programmazione di applicazioni, invece delle system call.
    • Le API sono uno strato intermedio tra le applicazioni e le system call.
    • Questo rende più facile l'utilizzo e migliora la portabilità delle applicazioni perché possono essere utilizzate in più ambienti.
    • Esistono API specifiche per vari sistemi operativi, come le API Windows e le API POSIX per varie versioni di Unix, Linux e macOS.

    Categorie di system call

    • Ogni operazione ha un tipo di system call.
    • Ecco alcuni esempi per Windows e Unix (Figura 2.8a).

    Gestione dei processi

    • In un determinato momento, possono essere attivi più processi anche se solo uno è in esecuzione.
    • I processi competono per le risorse hardware come la CPU, memoria primaria e secondaria, e dispositivi di input/output.
    • Il SO regola e gestisce l'accesso ai processi per evitare conflitti.

    Gestione della memoria primaria

    • I programmi devono essere caricati in memoria primaria per essere eseguiti.
    • Un sistema time sharing ha più processi contemporaneamente attivi e i relativi codici e dati vengono caricati in memoria.
    • Il SO deve tenere traccia di quali parti della RAM sono utilizzate da quali processi.
    • Il sistema gestisce la RAM in base alle necessità e all'evoluzione del lavoro dei diversi processi.

    Gestione dei file e del file system

    • Quasi tutte le informazioni in un sistema sono in file.
    • I file sono organizzati gerarchicamente in un file system utilizzando cartelle o directory.
    • Il SO gestisce la creazione, la cancellazione, e la manutenzione di file e directory.
    • In particolare, il sistema deve gestire la memorizzazione efficiente del file system in memoria secondaria.

    Gestione della memoria secondaria

    • I file sono memorizzati permanentemente in memoria secondaria (disco rigido).
    • Il SO deve decidere dove e come memorizzare i file, e trovarli velocemente quando necessari.
    • Il sistema deve gestire lo spazio libero ed accessi concorrenti per efficienza.

    Gestione di un sistema di protezione

    • Il SO deve proteggere ogni processo dalle attività degli altri processi.
    • Ad esempio, evitare che un processo usurpi risorse o acceda a dati protetti di altri processi

    Macchine virtuali

    • Il SO trasforma la macchina reale in una sorta di macchina virtuale.
    • Questo permette agli utenti di utilizzare la MV indipendentemente dall'hardware sottostante.
    • L'utente ha a disposizione risorse virtuali, come CPU, file system, etc. condivise con altri utenti e con il SO.
    • Aumenta la portabilità delle applicazioni tra diversi sistemi operativi.

    Approfondimenti

    • Sezione 2.6: spiega il rapporto tra applicazione e sistema operativo.
    • Sezione 2.8: dettaglio sulla struttura del sistema operativo.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Questo quiz esplora il ruolo del sistema operativo nella gestione dei file, incluse le funzioni della memoria secondaria e l'interprete dei comandi. Testa le tue conoscenze su come i sistemi operativi interagiscono con i dati e i processi. Scopri se sei in grado di associare correttamente le funzioni e le descrizioni del sistema operativo.

    More Like This

    Command Line Navigation Quiz
    3 questions
    Comandos de gestión de ficheros
    30 questions
    Esercizi Comandi di Linea di Comando
    16 questions
    Use Quizgecko on...
    Browser
    Browser