SISTEMI OPERATIVI

Insegnamento
SISTEMI OPERATIVI
Insegnamento in inglese
OPERATING SYSTEMS
Settore disciplinare
ING-INF/05
Corso di studi di riferimento
INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio
Laurea
Crediti
6.0
Ripartizione oraria
Ore Attività Frontale: 54.0
Anno accademico
2022/2023
Anno di erogazione
2024/2025
Anno di corso
3
Lingua
ITALIANO
Percorso
CURRICULUM A
Sede
Lecce

Descrizione dell'insegnamento

Il programma dell'insegnamento è provvisorio e potrebbe subire delle modifiche

Familiarità con l'utilizzo di un qualunque computer, nozioni di file, directory. Familiarità con i principali programmi di rete.

Introdurre ai concetti fondamentali alla base di un sistema operativo sia mediante la presentazione di nozioni teoriche che attraverso un approccio pratico al sistema operativo UNIX®. Gli studenti vengono introdotti all'esplorazione e alla conoscenza del sistema operativo attraverso l'uso dei più importanti comandi offerti dalla CLI (Command Line Interface – Interfaccia a linea di comando). L'esplorazione del sistema viene approfondita e resa più completa attraverso l'apprendimento delle tecniche di scripting, ovvero attraverso la scrittura di programmi di complessità crescente che consentono di esplorare gli aspetti più significativi del funzionamento del sistema.

Al termine del corso lo studente dovrebbe essere in grado di

* Comprendere le principali caratteristiche e funzionalità del sistema operativo UNIX®.

* Padroneggiare la linea di comando UNIX® attraverso lo shell bash

* Conoscere le utility più importanti messe a disposizione del sistema.

* Scrivere degli script in linguaggio bash che realizzino un'ampia gamma di funzionalità.

l corso prevede che lo studente segua avendo la possibilità di provare immediatamente sul proprio computer quanto illustrato dal docente.

L'esame consiste di una prova svolta al computer (della durata variabile, a seconda della complessità, dai 90 ai 150 minuti) durante la quale si richiede di utilizzare in pratica mediante la realizzazione di uno script bash funzionante, i concetti e gli strumenti acquisiti durante il corso. Durante l'esame gli studenti sono liberi di consultare qualsiasi testo, cartaceo o digitale, e di fare ricerche su Internet.

Gli studenti che devono sostenere l'esame quest'anno sono pregati di richiedere un account sulla macchina server inserendo in questo foglio condiviso i loro dati (nome, cognome ed email istituzionale):
https://docs.google.com/spreadsheets/d/1WUUhtpCODnqU3VcsdDfaRzZJIHgyz-PqMrEc77CaP1o

Diario delle lezioni:
https://docs.google.com/spreadsheets/d/1zJQnVU-6EURK8fTWaN4dj4YiS8epNaDukc3CwwIyylY
Gli studenti che devono sostenere l'esame sono pregati di richiedere un account sulla macchina server inserendo in questo foglio condiviso i loro dati (nome, cognome ed email istituzionale):
https://docs.google.com/spreadsheets/d/1WUUhtpCODnqU3VcsdDfaRzZJIHgyz-PqMrEc77CaP1o

Il File System UNIX (la sua organizzazione interna e la disposizione dei file tipica di ciascuna variante)
Il sistema dei privilegi in UNIX (significato dei privilegi per files e directory) SUID bit, SGID bit, Sticky bit
I tipi di file
Le named pipe
I processi (creazione, identificazione, distruzione, relazioni, monitoraggio, gestione)
Lo spazio di memoria di un processo
Memoria virtuale (uso dello spazio virtuale da parte di un processo e strumenti di monitoraggio)
Affinità, interoperabilità e compatibilità tra Linux, MacOS X e FreeBSD
MacOS X come client per l'accesso a un server Linux
L'editor TextWrangler
L'applicazione Terminale
Il montaggio di volumi di rete ospitati da un server Linux sulla scrivania di MacOS X
Librerie statiche e dinamiche (significato, costruzione, istallazione, utilizzo, collocazione nello spazio di memoria del processo)
Il comando grep e le espressioni regolari
I comandi per la diagnostica e l'utilizzo delle reti
La rappresentazione dei caratteri: Unicode e UTF-8
Introduzione ai Segnali
Le distribuzioni Linux

Comandi utente presentati nel corso:

apropos, arp, base64, basename, bc, cal, cat, chmod, cmp, cp, curl, cut, date, dd, dig, dirname, du, dumpe2fs, edit, env, file, find, grep, head, hexdump, iconv, id, ifconfig, ip, jot, less, ln, locale, ls, lsof, lynx, man, md5, mkdir, mkfifo, mv, nice, open, openssl, otool, ping, printf, ps, pstree, rev, rm, rmdir, rs, say, scp, screencapture, script, sed, seq, sort, split, ssh, stat, strings, stty, sysctl, tac, tail, tar, tee, test, textutil, top, touch, tr, traceroute, tty, uniq, vmstat, vmmap, stat, wc, which, who, whois, xargs, xxd

Bash (con riferimento ai capitoli della pagina di manuale di bash)

Invocazione, Shell grammar, Quoting, Parameters, Expansions, Redirections, Job control, Funzioni, Aritmetica, Scripting, Cicli ed espressioni condizionali, Aritmetica, Environment,  Exit status, Prompting, History, Build-in commands, Gestione dei segnali.

Comandi built-in di Bash presentati nel corso:
#, #!, alias, bg, break, case, cd, echo, enable, eval, exec, exit, export, fg, for, getopts, history, if, jobs, kill, let, pwd, read, return, select, set, source (.), test, time, times, trap, type, umask, while.

F. Tommasi "Alla Scoperta di UNIX - Esplorare GNU/Linux e macOS con la linea di comando", Marzo 2021, ISBN: 9791220082204
Nuova edizione di imminente pubblicazione (preferibile): F. Tommasi "Alla Scoperta di UNIX - Esplorare GNU/Linux e macOS con la linea di comando", 2a edizione.

Semestre
Secondo Semestre (dal 03/03/2025 al 13/06/2025)

Tipo esame
Non obbligatorio

Valutazione
Orale - Voto Finale

Orario dell'insegnamento
https://easyroom.unisalento.it/Orario

Scarica scheda insegnamento (Apre una nuova finestra)(Apre una nuova finestra)