Linux operatsioonisüsteemis töötab protsess
Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Sissejuhatus
TODO
Virtuaalne arvuti
Tavaliselt kujutletakse virtuaalse arvuti all midagi sellist, mille tekitab qemu + kvm tarkvara käivitamine, tegevused algavad virtuaalse riistvara juurest. Põhimõtteliselt on virtuaalne arvuti selline arvutis töötav protsess, mis tegeleb enda kontrolli alla jäävate ressursside
- cpu teemaga - käskude tõlgeldamise (function calls, library calls jms)
- mälu haldusega
- tegevuste scheduling teemaga
Sellise käsitluse alusel saab liigitada levinud programmeerimise keeled ja nende kompilaatorid kaheks
virtuaalsed arvutid ja sealt edasi
- python - 'python source code' -> 'python byte code' -> 'machine code'
- java -
- ruby
- perl - 'perl source code' -> 'perl byte code' -> 'machine code'
- node
mitte-virtuaalsed arvutid
- c - 'c source code' -> 'machine code'
- c++
- go
- rust
Väited
- virtuaalsete arvutite moodi juhtumil python interpretaator tekitab 'python bytecode'-i ja seda saab käivitada python virtuaalsel arvutil
- python interpretaator omakorda moodustab nö päris linux kerneli syscall'id ja machine code'i, mida päris protsessoril käivitatakse
- container runtime - sellest kõneldakse peamiselt seoses konteineriga, 'container runtime', nt 'runc' programm moodustab cgroups ja namespace piiritletud ressursi ja seal käivitatakse edasi protsess (mis võib olla omakorda runtime - 'language runtime'
- language runtime - python'i käititatud interpretaator, mis on keskkonnas python bytecode käitamisel (sisemine mäluhaldus, garbage collection jne)
- qemu+kvm põhine virtuaalne arvuti on eriline kuna tema puhul bytecode on praktiliselt nö tavaline 'machine code'
Kasulikud lisamaterjalid
- TODO