Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.
LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).
Vznikol na univerzite Cambridge (UK) odštiepením od projektu Xenoserver určenom k vývoju infraštruktúry pre distribuovaný výpočet. Prvá verzia XENu (1.0) bola uvoľnená v roku 2003. V súčasnosti existuje už verzia XEN 3.3. ktorá sa využíva v rozličných komerčných prostrediach na beh štandardných ale aj bussiness critical aplikácií. V tomto článku popíšem základné princípy virtualizácie prostredníctvom virtualizačného software XEN.
Virtualizácia umožňuje simultánny beh niekoľkých virtuálnych mašín (VM) na jednom fyzickom hardware, pričom je zaručená ich vzájomná izolácia. Keďže VM zdieľajú spoločný prístup k HW, musí byť virtualizácia navrhnutá tak, aby pri tomto zdieľaní došlo k minimálnemu poklesu výkonu. Z administrátorského hľadiska by bolo vhodné zabezpečiť centrálnu administráciu virtuálnych mašín a dynamickú relokáciu zdrojov prípadne samotných VM bez toho, aby došlo k prerušeniu služieb. Vzhľadom k operačnému systému bežiacom na samotných virtuálnych VM by mal byť virtualizačný software navrhnutý tak, aby nebola nutná jeho modifikácia.
Súčasné procesory dokážu bežať v rôznych režimoch z dôvodu ochrany proti neautorizovanému prístupu k fyzickému procesoru a hardware (reálny, privilegovaný, nereálny mód, virtuálny reálny režim ai.). Z pohľadu virtualizácie nás najviac zaujíma privilegovaný režim procesora. Tento režim vytvára tzv. chránené úrovne, označované tiež ako kruh (ring). Procesory x86 rozoznávajú štyri kruhy, ktoré sú číslované od 0 do 3 (viz Obr. 1). Najnižší - kruh0 - je označovaný aj ako “supervisor mode“ a je to úroveň s najväčšími privilégiami vzhľadom k prístupu k hardwarovým prostriedkom. Na tejto úrovni beží jadro operačného systému, správa pamäti, kontrola prístupu k HW a privilegované inštrukcie, tzn. inštrukcie, ktoré môžu ohroziť beh systému. Kruh 1 a 2 sa používajú minimálne, kruh3 je označovaný ako „user mode“ a je určený pre beh neprivilegovaných inštrukcií, tj. užívateľských aplikácií.
Obr. 1: Úrovne privilegovaného režimu.
Pri virtualizácií prostredníctvom virtualizačného software XEN dochádza k niekoľkým zmenám oproti predchodziemu popisu. Jadro operačného systému nebeží v supervisor mode, ale na menej privilegovanej úrovni v závislosti na tom, či je použitá 32bit. architektúra (kruh1), alebo 64bit. (kruh3). Keďže je jadro OS presunuté, dochádza k závažnému problému s vykonávaním privilegovaných inštrukcií – tie samozrejme nie je možné spúšťať na úrovni kruhu 1 resp. 3. Pokus o ich spustenie by vyvolal chybový stav. Jedným z riešení by mohol byť prechod do kruhu0, kde by sa vykonala operácia s následným návratom. Toto riešenie však znamená značnú degradáciu výkonu. XEN na rozdiel od predchodzieho riešenia využíva paravirtualizáciu. Pre vykonávanie privilegovaných inštrukcií je v kruhu0 zavedená vrstva označovaná ako hypervisor (viz Obr. 2), ktorý je akýmsi sprostredkovateľom medzi hardware a virtuálnymi mašinami XENu.
Obr. 2: XEN a začlenenie jeho komponentov v úrovniach privilegovaného režimu.
Hypervisor spolu s modifikovaným kernelom operačného systému nielenže spravuje prístup k pamäti a ostatnému hardware, ale slúži aj k monitorovaniu a administrácií virtuálnych mašín. Tento modifikovaný kernel sa nazýva domain0 (v skratke dom0). Domain0 následne spúšťa ďalšie tzv. neprivilegované domény označované aj ako domainU (v skratke domU). Detailné informácie o každej domU sú uložené v konfiguračnom súbore domény (konfigurácia siete, grafická podpora, pamäť, plánovač ai.). Konfiguračný súbor taktiež poskytuje mechanizmus pre priradenie jedného alebo viacerých CPU k danej doméne, aby zabezpečil, že v prípade potreby vyšších výpočetných nárokov bude doméne priradene priradená adekvátna výpočetná sila.
Obr. 3: Základné komponenty virtualizácie pomocou Xenu.
Podobne ako aplikácia komunikuje s operačným systémom prostredníctvom systémových volaní, komunikujú domU s hypervisorom prostredníctvom volaní označovaných ako hypercally. Jedná sa o softwarové volania, ktoré sú reakciou napr. na potrebu vykonania privilegovaných operácií. V prípade, že procesor hardwarovo nepodporuje virtualizáciu, označuje sa domU ako „paravirtual guest“. V tomto prípade je nutné modifikovať operačný systém tak, aby zabraňoval spusteniu privilegovaných operácií a v prípade potreby vykonania týchto operácií volal hypervisor pomocou hypercallov. Tento proces je naznačený na obrázku 4.
Obr. 4: Porovnanie vykonávania privilegovaných operácií v paravirtualizovanom a natívnom móde.
Moderné procesory ako Intel VM (Virtualization technology, aka vanderpool), a AMD-V/SVM(Virtualization/Secure Virtual Nachine, aka pacifica), obsahujú hardwarovú podporu virtualizácie. Týmto pridávajú sadu nových inštrukcií pre podporu virtualizácie na úrovni Kruh1. Výsledokom je, že nie je nutná zmena OS a teda dochádza k plnej virtualizácií.
V prípade simultánneho behu viacerých domU plánovač hypervisoru zisťuje, ktorá VM má mať pridelený fyzický procesor a v akom poradí. XEN spočiatku podporoval plánovače round robin a bvt (borrowed virtual time). Tieto však boli postupom času odstranené a nahradené plánovačmi sedf a credit (pridelenie na základe výsledkov merania), ktoré využíva XEN verzie 3.x. Výber plánovača sa volí ako parameter v konfiguračnom súbore Grub loadera (pozn. Grub je jediný bootloader podporovaný XENom). Okrem samotného plánovača hypervisora každá VM implementuje svoju vlastnú politiku plánovania pre procesy bežiace vo vnútri domény k poskytovaniu I/O požiadaviek vo vnútri jadra (SCHED_FIFO, SCHED_NORMAL, SCHED_BATCH, SCHED_RR).
Zmeny OS vyžadované pre interakciu s hypervisorom nemenia vyšší level kernelu (nieje nutné modifikovať aplikácie) ale len kernel level kód, ako napríklad drivery zariadení. Dochádza teda k paravirtualizácii, čím je zaručený minimálny pokles výkonu virtuálnych mašín. Do doby, kým nebola pridaná HW podpora virtualizácie, bolo možné púšťať len 32bit. XEN domU na fyzickom hoste, ktorý bežal na 32bit. hypervisore a dom0. S nástupom HW podpory virtualizácie zavádzajúcej kruh1 umožňuje XEN aj podporu plnej virtualizácie. Výsledokom je, že XEN podporuje 32 a 64bit. virtuálne mašiny rôznych typov na jednom systéme bez nutnosti modifikácie OS.
Nie som špecialista na virtualizáciu, avšak táto téma je hodne zaujímavá, preto by som v prípade nejakých nepresností poprosil o pripomienky.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
- live migraciu (migraciu za behu virtualneho systemu) - paravirtualizacia je stale v plienkach. Paravirtualne ovladace disku/sietovky znacne urychluju beh. Paravirtualne servery nepotrebuju podporu virtualizacie v HW. - nejaka vhodne nastroje na spravu virtualnych serverov (start, stop, restart, pripojenie na konzolu, ...) su v plienkach - sprava zariadeni v KVM je tiez dost obmedzenaCo sa tyka virtualizacie na desktope, tak KVM urcite vedie. Co sa tyka virtualizacie na servri, tak Xen stale vedie.
predchodziemu -> predchádzajúcemu/predošlému
A nejak sa strácam v článku (a asi aj v problematike). Viackrát je tam spomenutý operačný systém (a že ho treba nejak upravovať), ale neviem, či hostiteľský (ak tam vôbec niečo také je) alebo ten vo virtuálnom stroji.