LINGUAGGIO ASSEMBLY
Assembly è un linguaggio che usa parole simboliche (mnemonici) invece degli 0 e 1.
LOAD—>carica un dato (es. LOAD R1, MEM1, cioè prendi il valore nella cella di memoria
MEM1 e mettilo nel registro R1)
STORE—>salva un dato (es. STORE R1, MEM1→ prendi un valore nel registro R1 e salvalo
nella memoria MEM1)
CMP—>confronta (es. CMP R1,R2; cioè confronta i valori nei registri R1 e R2→il risultato viene
salvato in un registro speciale di stato (flag)—> flag zero=1 sono uguali; flag zero=0 sono
diversi. Poi c’è un’istruzione che controlla quel risultato: se il flag dice uguali o diversi il
programma può saltare ad un’altra parte del programma (salto condizionato))
MOV—>sposta i dati
ADD—>aggiungere
Indirizzamento indiretto—> LOAD R1, (R2)—> guarda nel registro R2, quel valore è un
indirizzo di memoria, vai in quella memoria e carica il dato in R1.
Assembler traduce questo linguaggio mnemonico in una codice binario.
Anche il contrario è possibile (si può risalire all’Assembly dal codice binario)—>Disassembly
Ogni processore ha il suo Assembly.
SISTEMA OPERATIVO
Il sistema operativo è un software molto complesso che gestisce il computer (le sue risorse
come la CPU, la RAM, il disco, le periferiche).
Esso ha due ruoli principali:
1. Gestire l’hardware del computer
2. permettere ai programmi di funzionare
—>fa da interfaccia tra i programmi e l’hardware
Esso è caricato nella parte bassa della memoria.
Due tipi di software:
1. Programmi di sistema—>sono i programmi che gestiscono il computer (SO, utilità di
sistema, gestione di memoria, gestione dispositivi)
2. Programmi applicativi—>i programmi che usano gli utenti per fare qualcosa
(browser, editor di testo, giochi, programmi di calcolo)
Quando fai doppio click:
- il programma è salvato su un disco (SSD o hard disk)
- il sistema operativo lo carica nella memoria RAM (perché la CPU lavora solo su dati
che stanno in RAM; quindi il SO deve trovare spazio libero nella RAM e copiare il
programma dal disco alla RAM—>allocazione di memoria)
- assegna la CPU al programma
- il programma inizia a essere eseguito
La CPU è una risorsa molto costosa e limitata, può eseguire solo un processo per volta—> il
dei
SO decide quale programma esegue la CPU in ogni momento (schedulazione
scelta è guidata da un sottoprogramma del SO (ragionamenti possono
processi)—>questa
essere anche complessi)
Quando si accende il computer il SO non parte subito (prima fase chiamata boot in cui il
computer controlla l’hardware, verifica che le periferiche funzionino e poi carica il SO)
I SO possono essere:
Generali—>servono per eseguire tantissimi tipi di programmi (quelli dei PC normali)
● Dedicat