Podcast
Questions and Answers
Quale delle seguenti affermazioni descrive meglio il ruolo del sistema operativo nella gestione dei file?
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.
Il sistema operativo deve permettere a un processo di accedere liberamente ai dati di un altro processo.
False (B)
Qual è la funzione principale della memoria secondaria nel sistema operativo?
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 ______.
Il sistema operativo deve trovare velocemente spazio libero quando un file viene ______.
Abbina le seguenti funzioni del sistema operativo con le loro descrizioni:
Abbina le seguenti funzioni del sistema operativo con le loro descrizioni:
Quale dei seguenti servizi è considerato completamente invisibile agli utenti?
Quale dei seguenti servizi è considerato completamente invisibile agli utenti?
L'interprete dei comandi fa parte del kernel del sistema operativo.
L'interprete dei comandi fa parte del kernel del sistema operativo.
Cosa fa un interprete dei comandi quando l'utente scrive un comando?
Cosa fa un interprete dei comandi quando l'utente scrive un comando?
In un sistema operativo Unix-like, il comando per rimuovere un file è ___.
In un sistema operativo Unix-like, il comando per rimuovere un file è ___.
Abbina i seguenti interpreti dei comandi ai loro nomi:
Abbina i seguenti interpreti dei comandi ai loro nomi:
Quale affermazione è vera riguardo le interfacce dei sistemi operativi?
Quale affermazione è vera riguardo le interfacce dei sistemi operativi?
Le chiamate di sistema sono sempre visibili agli utenti.
Le chiamate di sistema sono sempre visibili agli utenti.
Elenca due esempi di interpreti dei comandi.
Elenca due esempi di interpreti dei comandi.
Chi ha inventato le interfacce grafiche nel 1973?
Chi ha inventato le interfacce grafiche nel 1973?
Windows è stato lanciato nel 1995 come un sistema operativo indipendente.
Windows è stato lanciato nel 1995 come un sistema operativo indipendente.
Quali sono due esempi di interfacce grafiche per Unix?
Quali sono due esempi di interfacce grafiche per Unix?
Gli ________ sono programmi di sistema utilizzati per comunicare via email e navigare in rete.
Gli ________ sono programmi di sistema utilizzati per comunicare via email e navigare in rete.
Abbina i seguenti tipi di programmi ai loro scopi:
Abbina i seguenti tipi di programmi ai loro scopi:
Quale di queste affermazioni sui programmi di sistema è vera?
Quale di queste affermazioni sui programmi di sistema è vera?
I processi sono programmi in esecuzione.
I processi sono programmi in esecuzione.
Qual è uno dei compiti del task manager di Windows?
Qual è uno dei compiti del task manager di Windows?
Il sistema operativo Macintosh è stato lanciato nel ______.
Il sistema operativo Macintosh è stato lanciato nel ______.
Quale di queste opzioni non è un tipo di programma di sistema menzionato?
Quale di queste opzioni non è un tipo di programma di sistema menzionato?
Quale di queste affermazioni descrive meglio una Chiamata di Sistema?
Quale di queste affermazioni descrive meglio una Chiamata di Sistema?
Le API sono una via diretta per effettuare chiamate di sistema.
Le API sono una via diretta per effettuare chiamate di sistema.
Cosa fa una Chiamata di Sistema 'open' in un programma C?
Cosa fa una Chiamata di Sistema 'open' in un programma C?
Le ______ sono utilizzate per facilitare l'interazione con il Sistema Operativo.
Le ______ sono utilizzate per facilitare l'interazione con il Sistema Operativo.
Abbina le seguenti funzioni alle loro descrizioni:
Abbina le seguenti funzioni alle loro descrizioni:
Quanti processi possono attivare chiamate di sistema in un sistema multi-utente?
Quanti processi possono attivare chiamate di sistema in un sistema multi-utente?
Le API sono specifiche per ogni linguaggio di programmazione.
Le API sono specifiche per ogni linguaggio di programmazione.
Qual è la funzione principale delle API nel contesto delle chiamate di sistema?
Qual è la funzione principale delle API nel contesto delle chiamate di sistema?
Le API per i sistemi Windows sono chiamate ______.
Le API per i sistemi Windows sono chiamate ______.
Quale dei seguenti linguaggi permette di utilizzare direttamente le system call in Unix?
Quale dei seguenti linguaggi permette di utilizzare direttamente le system call in Unix?
Quale delle seguenti operazioni è svolta dalla chiamata di sistema 'fopen'?
Quale delle seguenti operazioni è svolta dalla chiamata di sistema 'fopen'?
Un sistema operativo gestisce solo uno alla volta i processi in esecuzione.
Un sistema operativo gestisce solo uno alla volta i processi in esecuzione.
Qual è la responsabilità principale del sistema operativo nella gestione dei processi?
Qual è la responsabilità principale del sistema operativo nella gestione dei processi?
La chiamata di sistema 'fclose' serve a ______ un file aperto.
La chiamata di sistema 'fclose' serve a ______ un file aperto.
Abbina le seguenti operazioni ai loro relativi tipi di gestione.
Abbina le seguenti operazioni ai loro relativi tipi di gestione.
Quale tra le seguenti non è un tipo di operazione nella gestione dei processi?
Quale tra le seguenti non è un tipo di operazione nella gestione dei processi?
Il sistema operativo deve gestire l'accesso simultaneo alla memoria RAM da parte di più processi.
Il sistema operativo deve gestire l'accesso simultaneo alla memoria RAM da parte di più processi.
Cos'è un processo concorrente?
Cos'è un processo concorrente?
La funzione 'fprintf' è utilizzata per ______ dati su un file.
La funzione 'fprintf' è utilizzata per ______ dati su un file.
Quale sistema operativo utilizza principalmente le chiamate di sistema descritte?
Quale sistema operativo utilizza principalmente le chiamate di sistema descritte?
Flashcards
Sistema Operativo
Sistema Operativo
Un insieme di programmi che gestiscono le risorse di un computer e forniscono un'interfaccia agli utenti.
Interfacce del Sistema Operativo
Interfacce del Sistema Operativo
Modi in cui gli utenti interagiscono con un sistema operativo, come l'interpretazione di comandi o le interfacce grafiche.
Interpreta di Comandi
Interpreta di Comandi
Un programma che interpreta comandi testuali digitati dall'utente.
Eseguibile
Eseguibile
Signup and view all the flashcards
Shell
Shell
Signup and view all the flashcards
Interfaccia Grafica Utente (GUI)
Interfaccia Grafica Utente (GUI)
Signup and view all the flashcards
Kernel
Kernel
Signup and view all the flashcards
Chiamate di Sistema
Chiamate di Sistema
Signup and view all the flashcards
File
File
Signup and view all the flashcards
File System
File System
Signup and view all the flashcards
Memoria Secondaria
Memoria Secondaria
Signup and view all the flashcards
Sistema di protezione
Sistema di protezione
Signup and view all the flashcards
Gestione dei file
Gestione dei file
Signup and view all the flashcards
Cosa è una GUI?
Cosa è una GUI?
Signup and view all the flashcards
Chi ha introdotto la prima GUI di successo?
Chi ha introdotto la prima GUI di successo?
Signup and view all the flashcards
Come è nato Windows?
Come è nato Windows?
Signup and view all the flashcards
Differenza tra kernel e programmi di sistema?
Differenza tra kernel e programmi di sistema?
Signup and view all the flashcards
Qual è lo scopo dei programmi di sistema?
Qual è lo scopo dei programmi di sistema?
Signup and view all the flashcards
Quali sono alcuni esempi di programmi di sistema per programmare?
Quali sono alcuni esempi di programmi di sistema per programmare?
Signup and view all the flashcards
Cosa sono le chiamate di sistema?
Cosa sono le chiamate di sistema?
Signup and view all the flashcards
Cosa è un processo?
Cosa è un processo?
Signup and view all the flashcards
Quali sono alcuni esempi di programmi di sistema per la comunicazione?
Quali sono alcuni esempi di programmi di sistema per la comunicazione?
Signup and view all the flashcards
Chiamata di sistema (System Call)
Chiamata di sistema (System Call)
Signup and view all the flashcards
System Call: Interfaccia tra processi utente e SO
System Call: Interfaccia tra processi utente e SO
Signup and view all the flashcards
System Call in Unix
System Call in Unix
Signup and view all the flashcards
Esecuzione della System Call
Esecuzione della System Call
Signup and view all the flashcards
Esempio: scrivere su un file in Unix
Esempio: scrivere su un file in Unix
Signup and view all the flashcards
API: Interfaccia di programmazione per applicazioni
API: Interfaccia di programmazione per applicazioni
Signup and view all the flashcards
API per diversi sistemi operativi
API per diversi sistemi operativi
Signup and view all the flashcards
Funzioni API e System Call
Funzioni API e System Call
Signup and view all the flashcards
API: Esempio della libreria C in Unix
API: Esempio della libreria C in Unix
Signup and view all the flashcards
Importanza delle System call
Importanza delle System call
Signup and view all the flashcards
Processo
Processo
Signup and view all the flashcards
Processo concorrente
Processo concorrente
Signup and view all the flashcards
Gestione dei processi
Gestione dei processi
Signup and view all the flashcards
Cosa gestisce la Gestione dei processi?
Cosa gestisce la Gestione dei processi?
Signup and view all the flashcards
Memoria primaria
Memoria primaria
Signup and view all the flashcards
Cosa gestisce la Gestione della memoria primaria?
Cosa gestisce la Gestione della memoria primaria?
Signup and view all the flashcards
Time-sharing
Time-sharing
Signup and view all the flashcards
Gestione dei dispositivi
Gestione dei dispositivi
Signup and view all the flashcards
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.