Ahoj,
mohl by mi prosím někdo vysvětlit:
"V rychlosti připomeňme, že Intel Management Engine je „záležitost“ běžící na počítačích s CPU Intel, tedy víceméně na téměř každém počítači nesoucím procesor/platformu od tohoto výrobce. Běží na úrovni Ring –3, je tedy zakután hluboko pod úrovní operačního systému a je velmi obtížné či přímo nemožné se jej zbavit (v závislosti na generaci CPU/platformy)"
Úrovně "rings" znám z prostředí os, kernel v linuxu běží na úrovni ring0 tedy "nejblíže" CPU.
Je mi jasné, že os vidí pouze to, co mu CPU dovolí ale pak by mně zajímalo, kde autor přišel na to, že minix funguje na úrovní ring3, co to vlastně znamená a jaké jsou specifikace dalších
Děkuji.
Kernel běží na ringu 0, na ringu 1 a výš (zpravidla se používá jen ring 0 pro kernel a ring 3 pro zbytek) běží vyšší části systému a uživatelský kód. Z hlediska normálního programu existují pouze ringy 0 a výš. Záporné ringy jsou takový zmatečný způsob, jak sdělit lidem, že má něco ještě větší práva než kernel (nebo cokoli, co běží jako správce chráněného režimu, na termínu nezáleží).
Na ringu -1 běží virtualizace - umožňuje guest systémům běžet na ringu 0 a přitom z ringu -1 jim řídit přístup k hardwaru a ostatním běžícím virtuálům.
Na ringu -2 (dřív to byl -1, protože virtualizace tehdy znamenala nanejvýš V86, ale to je vedlejší) běží System Management Mode, což je režim procesoru, který vykonává kód z oblasti pro něj vyhrazený. Přitom tenhle režim se stará o všlijaké hardwarové drobnosti jako power management, speed stepping... Prostě dělá věci, které nemůže ani kernel.
Ringy -2 až 3 jsou věci běžící v x86 procesoru. Když se ale koukneme ven, najdeme ještě pořádnou snůšku hoven v podobě AMT, které už neběží na hlavním procesoru, ale na samostatném procesoru.
AMT "běží" na ringu -3 mimo hlavní procesor a může si dělat, co chce. Opravdu se nemusí řídit ničím - běží v S3 sleepu, může sahat do periferií, DMA, komunikovat přes ethernet a ovládat hlavní procesor.