MIPS registry – jejich účely (jak by se měly používat) jsou popsány v MIPSovém ABI
základní instrukce
nor $t1,$t2,$t2
MIPS instrukce
lw $t0, 4($gp)
načte hodnotu z místa, kde jsou v paměti globální proměnné, offset 4příznaky na x86
ISA – shrnutí
hardwarová architektura
pipeline
superskalární procesor
out-of-order execution
podle rychlosti: registry, cache, RAM, perzistentní RAM, SSD + flash disky, HDD, magnetické pásky
paměť – definice
fyzický pohled na paměť
datová reprezentace
zarovnání dat
správa paměti
malloc()
, new
, unique_ptr
, …), existuje vyhrazený blok paměti pro tyto alokacealokace paměti
new
)fragmentace
alokační algoritmy
cvičení na alokaci – alokuju do 64B bloků
buddy memory allocation
cache
víceprocesorový systém
překlad
knihovna se linkuje do souboru .lib (statická knihovna)
organizace paměti
int x = 5;
, konkrétní hodnoty jsou umístěny ve spustitelném souboru), neinicializovaná statická data (např. objekty – konstruktor se volá až při běhu programu), jeden zásobník pro každé vlákno (při rekurzi může dojít), haldalinking
volací konvence
proměnné
halda
přenositelnost kódu
role OS
režimy procesoru (bývá jich několik, ale nejdůležitější jsou dva)
architektura
zařízení
proces
vlákno (thread)
fiber
stavy vlákna
multitasking
scheduling
komunikace mezi procesy (inter-process communication = IPC)
soubor
adresář
ukládání souborů
file links
file system
File Allocation Table (FAT)
Second extended file system (ext2)
rotační pevný disk
solid-state disk (SSD)
HDD partitioning (diskové oddíly)
dělení disku do několika logických disků – každý může mít vlastní file systém
RAID (Redundant Array of Inexpensive Disks)
virtuální paměť
virtualizace
race condition
některé čistě teoretické
další otázky počítací (je jich 5)