Operating System Fundamentals
Comprendere i meccanismi fondamentali di funzionamento di un moderno Sistema Operativo
Tutti noi abbiamo quasi sicuramente già utilizzato un Sistema Operativo (ad es. Windows, Linux, MacOs ecc.) e probabilmente qualcuno di noi ha già anche scritto dei programmi da eseguire su di esso; ma quanti di noi sanno o si sono mai chiesti che cos’è in realtà un sistema operativo?
Quanto di ciò che vediamo quando utilizziamo un computer è il risultato diretto dell’hardware e quanto invece viene intermediato dal sistema operativo e dal software che su di esso è in esecuzione?
Cosa accade effettivamente quando accendo un computer?
Per rispondere a queste e altre domande è necessario comprendere come funziona un sistema operativo a “basso livello” (ovvero al livello più vicino all’hardware fisico della macchina).
Perchè è importante comprendere il funzionamento di un Sistema Operativo
Agli albori dell’informatica, gli addetti ai lavori prima ancora di poter iniziare qualsiasi attività di ricerca, erano costretti a scrivere il proprio sistema operativo partendo praticamente da zero.
Oggi invece diamo per scontata la possibilità di poter sviluppare ed eseguire i nostri programmi applicativi senza doverci “sporcare le mani” con i dettagli implementativi di basso livello, proprio in virtù della disponibilità dei moderni sistemi operativi.
La conoscenza tuttavia dei meccanismi basilari del funzionamento di un sistema operativo è tuttora importante non solo per lo sviluppo efficiente e affidabile dei software applicativi, ma anche per comprendere e valutare appieno gli aspetti ad essi connessi, a cominciare dalla Cybersecurity.
Quindi oltre agli sviluppatori, a beneficiare da tale conoscenza saranno anche tutti coloro i quali si occupano di Ethical Hacking, Malware Analysis, Reverse Engineering, ecc.
Argomenti esaminati
Nella nostra analisi ci concentreremo sulla CPU con architettura x86 in quanto essa è ampiamente utilizzata, e tratteremo aspetti fondamentali di un Sistema Operativo (OS) quali:
- le fasi di avvio di un computer;
- scrittura di programmi che girano direttamente sull’hardware in assenza di OS;
- esaminare lo stato della CPU e dei suoi registri;
- passaggio dal bootstrap al caricamento ed esecuzione dell’OS;
- comprendere i servizi fondamentali del sistema operativo, come driver di dispositivo, le system call (chiamate di sistema), elaborazione multi-tasking;
Nel corso della nostra esposizione introdurremo i concetti fondamentali del linguaggio macchina assembly oltre alle caratteristiche fondamentali dell’hardware di una tipica architettura di un Sistema Operativo.
Contenuti online
Consulta i contenuti disponibili online:
© Innovation-Exploited.com - All rights reserved
Vietato l'uso dei contenuti per l'addestramento di Intelligenze Artificiali Generative