Assembly-kieli ja x86-tason järjestelmäohjelmointi · Oppitunti

Hypervisorit ja virtualisoinnin perusteet

Muodostakaa kokonaiskuva laitteistovirtualisoinnin peruskäsitteistä, hypervisorien toiminnasta ja niiden vuorovaikutuksesta suorittimen kanssa.

Oppitunti 3/411 vaihetta

Hypervisorit ja virtualisoinnin perusteet on ilmainen Assembly-kieli ja x86-tason järjestelmäohjelmointi-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Assembly-kieli ja x86-tason järjestelmäohjelmointi-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Assembly-kieli ja x86-tason järjestelmäohjelmointi-kurssilla on yhteensä 4 oppituntia.

Mitä virtualisointi on?

Kuvitelkaa, että käytätte useita tietokoneita, joista jokaisella on oma käyttöjärjestelmänsä, yhdellä fyysisellä koneella. Tätä tehokasta käsitettä kutsutaan virtualisoinniksi.

Sen avulla yhden tietokoneen resursseja, kuten suoritinta, muistia ja tallennustilaa, voidaan jakaa useiden virtuaaliympäristöjen kesken.

Miksi virtualisoimme

Virtualisointi tarjoaa monia etuja, minkä vuoksi se on nykyaikaisen tietojenkäsittelyn kulmakivi:

  • Palvelinten yhdistäminen: Useita palvelimia voidaan käyttää harvemmilla fyysisillä koneilla, mikä säästää tilaa ja energiaa.
  • Resurssien eristys: Jokainen virtuaalikone (VM) on eristetty, joten yhden ongelmat eivät vaikuta muihin.
  • Kehitys ja testaus: Ohjelmistokehitystä ja testausta varten voidaan luoda nopeasti uusia ympäristöjä vaikuttamatta tuotantojärjestelmiin.
  • Tietoturva: Mahdollisesti riskialttiit sovellukset voidaan eristää hiekkalaatikkoon.

Hypervisori: VMM

Virtualisoinnin ytimessä on hypervisori, joka tunnetaan myös nimellä Virtual Machine Monitor (VMM).

Hypervisori on ohjelmisto- tai laiteohjelmistokerros, joka luo virtuaalikoneita ja suorittaa niitä. Se hallitsee fyysisen laitteiston resursseja ja jakaa niitä eri virtuaalikoneille.

Tyyppi 1: bare metal -hypervisorit

Hypervisoreita on kahta päätyyppiä.

Tyypin 1 hypervisorit toimivat suoraan isäntäkoneen fyysisellä laitteistolla ilman taustalla olevaa käyttöjärjestelmää. Niitä kutsutaan usein bare metal -hypervisoreiksi.

  • Esimerkkejä: VMware ESXi, Microsoft Hyper-V, Xen.
  • Hyödyt: Suora laitteistokäyttö parantaa suorituskykyä, tehokkuutta ja tietoturvaa.

Tyyppi 2: isännöidyt hypervisorit

Sen sijaan Type 2 -hypervisorit toimivat sovelluksina olemassa olevan käyttöjärjestelmän (isäntäkäyttöjärjestelmän) päällä.

Isäntäkäyttöjärjestelmä hallitsee laitteistoa, minkä jälkeen hypervisor virtualisoi resurssit vieras-VM:iä varten.

  • Esimerkkejä: Oracle VirtualBox, VMware Workstation, Parallels Desktop.
  • Hyödyt: Helppo asentaa ja käyttää työpöytäkoneessa, sopii hyvin testaukseen ja henkilökohtaiseen käyttöön.

Virtuaalikoneet ja vieraskäyttöjärjestelmät

Virtuaalikone (VM) on tietokonejärjestelmän emulaatio. Se toimii fyysisen tietokoneen tavoin, ja sillä on oma virtuaalinen suoritin, muisti, kiintolevy ja verkkoliitännät.

VM:n sisällä toimivaa käyttöjärjestelmää kutsutaan vieraskäyttöjärjestelmäksi (esimerkiksi Windows, Linux tai macOS).

Suorittimen toiminta ja suojausrenkaat

Muistattehan, että käyttöjärjestelmät toimivat yleensä Ring 0 -tasolla (kaikkein suurimpien käyttöoikeuksien tilassa) voidakseen käyttää laitteistoa. VM:n vieraskäyttöjärjestelmät *luulevat* olevansa Ring 0 -tasolla.

Hypervisor sieppaa vieraskäyttöjärjestelmän etuoikeutetut käskyt ja muuntaa ne. Näin vieraskäyttöjärjestelmä ei voi hallita laitteistoa suoraan, mikä estää ristiriidat ja säilyttää eristyksen.

Laitteistoavusteinen virtualisointi

Nykyaikaiset suorittimet sisältävät erityisiä laajennuksia, jotka tehostavat virtualisointia huomattavasti. Näitä kutsutaan laitteistoavusteisen virtualisoinnin tekniikoiksi:

  • Intel VT-x (Virtualization Technology for x86)
  • AMD-V (AMD Virtualization)

Nämä laajennukset tuovat suorittimeen uusia tiloja, kuten VMX root- ja non-root-tilat. Niiden ansiosta hypervisor voi hallita virtuaalikoneita suoremmin, mikä vähentää käskyjen sieppaamisesta ja muuntamisesta aiheutuvaa kuormaa.

Virtualisointi käytännössä

Virtualisointi on keskeinen osa monia nykyaikaisia tekniikoita:

  • Pilvilaskenta: Julkiset pilvipalvelut (AWS, Azure, Google Cloud) perustuvat laajoihin virtualisoituihin infrastruktuureihin.
  • Konttiteknologia: Dockerin kaltaiset tekniikat rakentuvat käyttöjärjestelmätason virtualisoinnin päälle.
  • Suojaushiekkalaatikot: Epäluotettavia ohjelmistoja suoritetaan eristetyissä virtuaalikoneissa järjestelmän vaarantumisen estämiseksi.
  • Vanhat sovellukset: Vanhempia ohjelmistoja voidaan käyttää edelleen nykyaikaisella laitteistolla.

Pikakertaus

Mitkä seuraavista ovat Type 1 -hypervisorin ominaisuuksia?

Kertaus: virtualisoinnin perusteet

Tässä oppitunnissa tutustuimme virtualisoinnin kiinnostavaan maailmaan. Opimme, mitä virtualisointi on, miksi se on niin tärkeää ja mikä on hypervisorin keskeinen rooli.

Ymmärrätte nyt Type 1 -hypervisorien (bare-metal) ja Type 2 -hypervisorien (hosted) erot, VM:ien ja vieraskäyttöjärjestelmien vuorovaikutuksen sekä laitteistoavusteisen virtualisoinnin (VT-x/AMD-V) merkityksen tehokkaan suorituskyvyn kannalta.

Aloita maksutta

Opi Assembly tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Hypervisorit ja virtualisoinnin perusteet” ilmainen?

Kyllä – oppitunnin ”Hypervisorit ja virtualisoinnin perusteet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Assembly-kieli ja x86-tason järjestelmäohjelmointi-kurssin, päivitä CoddyKit PROhon. Assembly-kieli ja x86-tason järjestelmäohjelmointi-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Hypervisorit ja virtualisoinnin perusteet”?

Muodostakaa kokonaiskuva laitteistovirtualisoinnin peruskäsitteistä, hypervisorien toiminnasta ja niiden vuorovaikutuksesta suorittimen kanssa. Harjoittelet Assembly-kieli ja x86-tason järjestelmäohjelmointi-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Assembly-kieli ja x86-tason järjestelmäohjelmointi-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Assembly-kieli ja x86-tason järjestelmäohjelmointi-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Hypervisorit ja virtualisoinnin perusteet”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Assembly-kieli ja x86-tason järjestelmäohjelmointi-oppitunnilla?

Kyllä. Jokainen Assembly-kieli ja x86-tason järjestelmäohjelmointi-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Sivutus ja muistinhallintayksikkö (MMU)
  2. Suojausrenkaat ja käyttöoikeudet
  3. Hypervisorit ja virtualisoinnin perusteet
  4. Segmentointi ja Global Descriptor Table (GDT)
← Takaisin: Assembly-kieli ja x86-tason järjestelmäohjelmointi