Tietojenkäsittelytieteessä, Ydin on tietokoneohjelma, joka on käyttöjärjestelmän ydin tai sydän. Ennen kuin keskustelemme ytimestä yksityiskohtaisesti, ymmärrämme ensin sen perustiedot, eli tietokoneen käyttöjärjestelmän.
Käyttöjärjestelmä
Käyttöjärjestelmä tai käyttöjärjestelmä on järjestelmäohjelmisto, joka toimii liitäntänä laitteistokomponenttien ja loppukäyttäjän välillä. Se mahdollistaa muiden ohjelmien suorittamisen. Jokaisella tietokonejärjestelmällä, oli se sitten pöytätietokone, kannettava tietokone, tabletti tai älypuhelin, kaikilla on oltava käyttöjärjestelmä, joka tarjoaa laitteen perustoiminnot. Jotkut laajalti käytetyt käyttöjärjestelmät ovat Windows , Linux , MacOS, Android, iOS jne.
Mikä on ydin käyttöjärjestelmässä?
- Kuten edellä mainittiin, ydin on käyttöjärjestelmän (käyttöjärjestelmän) ydinosa; joten sillä on täysi määräysvalta järjestelmässä kaikesta. Ydin hallitsee ja hallinnoi jokaista laitteiston ja ohjelmiston toimintaa.
- Se toimii siltana sovellusten ja laitteistotasolla tapahtuvan tietojenkäsittelyn välillä. Se on käyttöjärjestelmän keskeinen osa.
- Se on osa käyttöjärjestelmää, joka on aina tietokoneen muistissa ja mahdollistaa ohjelmisto- ja laitteistokomponenttien välisen viestinnän.
- Se on tietokoneohjelma, joka latautui ensimmäisenä järjestelmän käynnistyksen yhteydessä (käynnistyslataimen jälkeen). Kun se on ladattu, se hallitsee jäljellä olevat käynnistykset. Se hallitsee myös ohjelmistojen muistia, oheislaitteita ja I/O-pyyntöjä. Lisäksi se muuntaa kaikki I/O-pyynnöt CPU:n tietojenkäsittelyohjeiksi. Se hoitaa myös muita tehtäviä kuten muistinhallinta, tehtävienhallinta ja levynhallinta .
- Ydin säilytetään ja ladataan yleensä erilliseen muistitilaan, joka tunnetaan nimellä suojattu ydintila. Se on suojattu sovellusohjelmilta tai käyttöjärjestelmän vähemmän tärkeiltä osilta.
- Muut sovellusohjelmat, kuten selain, tekstinkäsittelyohjelma, ääni- ja videosoitin, käyttävät erillistä muistitilaa, joka tunnetaan nimellä käyttäjätila.
- Näiden kahden erillisen tilan ansiosta käyttäjätiedot ja ytimen tiedot eivät häiritse toisiaan eivätkä aiheuta epävakautta tai hitautta.
Ytimen toiminnot
Käyttöjärjestelmän ydin vastaa eri toimintojen suorittamisesta ja hallitsee järjestelmää. Jotkut ytimen tärkeimmistä vastuista on esitetty alla:
Eri toimintojen suorittamiseksi prosessit vaativat pääsyn oheislaitteisiin, kuten hiiri, näppäimistö jne., jotka on kytketty tietokoneeseen. Ydin on vastuussa näiden laitteiden ohjaamisesta laiteajureilla. Täällä, a laiteohjain on tietokoneohjelma, joka auttaa tai mahdollistaa käyttöjärjestelmän kommunikoinnin minkä tahansa laitteiston kanssa.
Ydin ylläpitää luetteloa kaikista käytettävissä olevista laitteista, ja tämä luettelo voi olla jo tiedossa, käyttäjän määrittämä tai käyttöjärjestelmä voi havaita sen suorituksen aikana.
Ytimellä on täysi hallinta tietokoneen muistiin pääsyssä. Jokainen prosessi vaatii jonkin verran muistia toimiakseen, ja ydin mahdollistaa prosessien turvallisen pääsyn muistiin. Muistin varaamiseksi ensimmäinen vaihe tunnetaan nimellä virtuaalinen osoitus, joka tehdään sivuttamalla tai segmentoimalla. Virtuaalinen osoitus on prosessi, jossa prosesseille tarjotaan virtuaalisia osoiteavaruuksia. Tämä estää sovelluksia törmäämästä toisiinsa.
Yksi ytimen tärkeistä toiminnoista on resurssien jakaminen eri prosessien välillä. Sen on jaettava resurssit siten, että jokainen prosessi käyttää resurssia tasaisesti.
Ydin tarjoaa myös tavan synkronoida ja prosessien välinen viestintä (IPC). Se vastaa kontekstin vaihtamisesta prosessien välillä.
Ydin on vastuussa tietokoneen resurssien, kuten RAM-muistin ja I/O-laitteiden, käytöstä. RAM tai Random-Access Memory käytetään sisältämään sekä tietoja että ohjeita. Jokaisen ohjelman täytyy käyttää muistia suorittaakseen ja enimmäkseen haluaa enemmän muistia kuin käytettävissä on. Tällaisissa tapauksissa ydin hoitaa roolinsa ja päättää, mitä muistia kukin prosessi käyttää ja mitä tehdä, jos tarvittavaa muistia ei ole käytettävissä.
Ydin myös allokoi sovellusten pyynnöt käyttää I/O-laitteita, kuten näppäimistöjä, mikrofoneja, tulostimia jne.
Ytimen tyypit
Ydintyyppejä on pääasiassa viisi, jotka on esitetty alla:
1. Monoliittiset ytimet
Monoliittisessa ytimessä samaa muistitilaa käytetään käyttäjäpalvelujen ja ydinpalvelujen toteuttamiseen.
Se tarkoittaa, että tämän tyyppisessä ytimessä ei käytetä erilaista muistia käyttäjäpalveluille ja ydinpalveluille.
reactjs kartta
Koska se käyttää samaa muistitilaa, ytimen koko kasvaa, mikä lisää käyttöjärjestelmän kokonaiskokoa.
Prosessien suorittaminen on myös nopeampaa kuin muut ydintyypit, koska se ei käytä erillistä käyttäjä- ja ydintilaa.
Esimerkkejä monoliittisista ytimistä ovat Unix, Linux, Open VMS, XTS-400 jne.
Edut:
- Prosessien suorittaminen on myös nopeampaa, koska erillistä käyttäjätilaa ja ydintilaa ei ole ja ohjelmistoja on vähemmän.
- Koska kyseessä on yksittäinen ohjelmisto, sen sekä lähteet että käännetyt muodot ovat pienempiä.
Haitat:
- Jos jokin palvelu tuottaa virheen, se voi kaataa koko järjestelmän.
- Nämä ytimet eivät ole kannettavia, mikä tarkoittaa, että jokainen uusi arkkitehtuuri on kirjoitettava uudelleen.
- Suurikokoinen ja siksi vaikea hallita.
- Uuden palvelun lisäämiseksi koko käyttöjärjestelmää on muutettava.
2. Mikroydin
Mikroytimeen viitataan myös nimellä MK , ja se eroaa perinteisestä ytimestä tai monoliittisesta ytimestä. Tässä, käyttäjäpalvelut ja ydinpalvelut on toteutettu kahteen eri osoiteavaruuteen: käyttäjätilaan ja ydintilaan . Koska se käyttää eri tiloja molemmille palveluille, niin mikroytimen koko pienenee, mikä pienentää myös käyttöjärjestelmän kokoa.
Mikroytimiä on helpompi hallita ja ylläpitää monoliittisiin ytimiin verrattuna. Silti, jos järjestelmäkutsuja ja kontekstin vaihtoa on enemmän, se saattaa heikentää järjestelmän suorituskykyä hidastamalla sitä.
Nämä ytimet käyttävät viestien välitysjärjestelmää pyynnön käsittelemiseen palvelimelta toiselle.
Mikroytimet tarjoavat vain joitakin olennaisia palveluita, kuten muistin osoiteavaruuksien määrittely, IPC (Interprocess Communication) ja prosessien hallinta. Muita palveluita, kuten verkottumista, ei tarjoa Kernel, vaan niitä hoitaa käyttäjätilaohjelma, joka tunnetaan nimellä palvelimia .
Yksi monoliittisten ytimien tärkeimmistä haitoista, että ytimen virhe voi kaataa koko järjestelmän, voidaan poistaa mikroytimestä. Kuten mikroytimen tapauksessa, jos ydinprosessi kaatuu, koko järjestelmän kaatuminen voidaan silti estää käynnistämällä virheen aiheuttamat palvelut uudelleen.
Esimerkkejä Microkernelistä ovat L4, AmigaOS, Minix, K42 , jne.
Edut
- Mikroytimiä voidaan hallita helposti.
- Uusi palvelu voidaan lisätä helposti koko käyttöjärjestelmää muuttamatta.
- Mikroytimessä, jos ydinprosessi kaatuu, on silti mahdollista estää koko järjestelmän kaatuminen.
Haitat
- Liittymiseen tarvitaan enemmän ohjelmistoja, mikä heikentää järjestelmän suorituskykyä.
- Prosessinhallinta on erittäin monimutkaista.
- Viestintävirheitä on vaikea korjata.
3. Hybridiydin
Hybridiytimet tunnetaan myös nimellä modulaariset ytimet , ja se on sekä monoliittisten että mikroytimien yhdistelmä. Se hyödyntää monoliittisten ytimien nopeutta ja mikroytimien modulaarisuutta.
Hybridiydin voidaan ymmärtää mikroytimen laajennettuna versiona, jossa on monoliittisen ytimen lisäominaisuuksia. Näitä ytimiä käytetään laajalti kaupallisissa käyttöjärjestelmissä, kuten MS Windowsin eri versioissa.
anaconda vs python käärme
Se on paljon samanlainen kuin mikroydin, mutta se sisältää myös lisäkoodia ytimen tilassa järjestelmän suorituskyvyn parantamiseksi.
Hybridiytimet mahdollistavat joidenkin palvelujen suorittamisen, kuten verkkopino ydintilassa vähentää suorituskykyä verrattuna perinteiseen mikroytimeen, mutta se mahdollistaa silti ydinkoodin (kuten laiteohjainten) suorittamisen palvelimina käyttäjätilassa.
Esimerkkejä hybridiytimestä ovat Windows NT, Netware, BeOS jne.
Edut:
- Uudelleenkäynnistystä testausta varten ei vaadita.
- Kolmannen osapuolen tekniikka voidaan integroida nopeasti.
Haitat:
- On mahdollista, että bugeja on enemmän, ja niiden läpi voi kulkea enemmän käyttöliittymiä.
- Moduulien ylläpito voi olla hämmentävää joillekin järjestelmänvalvojille, varsinkin kun käsitellään ongelmia, kuten symbolien eroja.
4. Nanokernel
Kuten nimestä voi päätellä, Nanokernelissä ytimen koko koodi on hyvin pieni, mikä tarkoittaa, että laitteiston etuoikeutetussa tilassa suoritettava koodi on hyvin pieni . Tässä termi nano määrittelee ytimen, joka tukee nanosekunnin kelloresoluutiota.
Esimerkkejä Nanokernelistä ovat EROS jne.
Edut
- Se tarjoaa laitteiston abstraktioita jopa erittäin pienessä koossa.
Haitat
- Nanokernelistä puuttuu järjestelmäpalvelut.
5. Exokernel
Exokernel kehittyy edelleen ja on kokeellinen lähestymistapa käyttöjärjestelmän suunnitteluun.
Tämän tyyppinen ydin eroaa muista ytimistä tässä; resurssien suojaus pidetään erillään hallinnasta, mikä mahdollistaa sovelluskohtaisen räätälöinnin.
Edut:
- Exokernel-pohjainen järjestelmä voi sisältää useita kirjastokäyttöjärjestelmiä. Jokainen kirjasto vie eri API:n, esimerkiksi yhtä voidaan käyttää korkean tason käyttöliittymän kehittämiseen ja toista reaaliaikaiseen ohjaukseen. .
Haitat:
- Exokernelin suunnittelu on hyvin monimutkainen.
Mikä on Kernel Panics?
Kuten olemme jo keskustelleet, tämä ydin ohjaa koko tietokonejärjestelmää; joten jos se kaatuu, se voi tuhota koko järjestelmän. MacOS:ssa ja Linuxissa tällainen ei-toivottu tapahtuma tunnetaan nimellä ' Kernel Panic. Palataksemme ytimen paniikkiin, meidän on käynnistettävä järjestelmä uudelleen.
Yleensä nämä ytimen paniikkihäiriöt johtuvat laitteiston viestintäongelmista. Siksi, jos toistuvia ytimen paniikkia esiintyy, yritä irrottaa vähemmän vaaditut tai tarpeettomat laitteet ja tarkista, onko ongelma ratkaistu vai ei.