Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marincervinschi/operatingsystem
https://github.com/marincervinschi/operatingsystem
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/marincervinschi/operatingsystem
- Owner: MarinCervinschi
- Created: 2024-03-07T08:17:07.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-10T14:53:34.000Z (3 months ago)
- Last Synced: 2024-10-31T15:22:38.090Z (about 2 months ago)
- Language: C
- Size: 1.79 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sistemi Operativi
## Obiettivi Formativi
L'obiettivo formativo del corso è fornire la conoscenza di base dei Sistemi Operativi, nonché la capacità di comprensione degli aspetti della programmazione di sistema in ambiente UNIX. Ciò include sia l'uso della Shell di UNIX per la gestione del sistema e la scrittura di script, sia la programmazione in linguaggio C per la creazione, sincronizzazione e comunicazione dei processi.
**Parole chiave:** Comandi UNIX, Shell di UNIX, Linguaggio C, Programmazione di sistema.
**Propedeuticità fortemente consigliate:** Fondamenti di Informatica, Strutture Dati e Algoritmi.
**Propedeuticità consigliate:** Inglese.
## Programma
Gli argomenti trattati nel corso includono:
1. **Classificazione dei Sistemi Operativi:**
- Sistemi multi-utente e multiprocessing.2. **Il Sistema Operativo come insieme di gestori delle risorse:**
- Il Nucleo/Kernel:
- Concetto di processo/thread, scheduling, deadlock.
- Memory manager:
- Memoria virtuale.
- File System:
- Organizzazione logica e allocazione fisica.3. **Programmazione di sistema con la Shell di UNIX:**
- Utilizzo dei comandi di linea.
- Scrittura di script utilizzando la sintassi della Shell, inclusa la ricorsione.4. **Programmazione di sistema con il linguaggio C per UNIX/LINUX:**
- Primitive di basso livello per l'accesso ai file.
- Primitive per la creazione, sincronizzazione e comunicazione dei processi.5. **Laboratorio di Sistemi Operativi:**
- Esercitazioni pratiche in laboratorio utilizzando il sistema operativo LINUX.
- Svolgimento di progetti pratici che combinano l'uso della Shell e del linguaggio C per sistemi operativi UNIX.Il corso prevede un'approfondita componente pratica, finalizzata a garantire la padronanza dei concetti teorici attraverso l'implementazione pratica degli stessi.