Ero sivun ”Käyttöjärjestelmä” versioiden välillä
[katsottu versio] | [katsottu versio] |
Poistettu sisältö Lisätty sisältö
p →Yleisiä käyttöjärjestelmiä: typo |
→Muistinhallinta: Kirjoitettu jokseenkin uudestaan, mutta pitäisi vielä jatkaa |
||
Rivi 30:
=== Muistinhallinta ===
{{Katso myös|[[Muistinhallintayksikkö]]}}
Vanhimmissa koneissa ei ollut lainkaan muistinhallintajärjestelmää. Tämä tarkoitti sitä, että ohjelmat voitiin sijoittaa vain tiettyyn kohtaan keskusmuistia, ja ohjelma pystyi käsittelemään mitä muistinpaikkaa tahansa. Näistä aiheutuvien ongelmien ratkaisemiseksi muistinhallinnan päätehtäviksi ovatkin muodostuneet muistin suojaus ja samanlaisen osoiteavaruuden tarjoaminen kaikille prosesseille, ts. jokaisen prosessin osoiteavaruus alkaa nollasta riippumatta siitä, mihin kohtaan fyysistä muistia ohjelma on sijoitettu.
Muistinhallinnasta vastaa tyypillisesti [[muistinhallintayksikkö]], joskin se voidaan integroida suorittimen kanssa yhteen. Käyttöjärjestelmä huolehtii muistinhallintayksikön ohjauksesta ja tarjoaa käyttöjärjestelmäpalvelut muistin varaamiseen ja vapauttamiseen. Muistinhallintayksikkö huolehtii laitteistotasolla siitä, että virheellinen muistiviittaus esimerkiksi käyttöjärjestelmän tai toisen prosessin alueelle aiheuttaa [[ohjelmavirhekeskeytys|ohjelmavirhekeskeytyksen]].
Prosesin muistia voidaan myös suorituksen aikana siirtää fyysiseltä muistialueelta toiselle, myös keskusmuistista massamuistilaitteelle ja takaisin ([[heittovaihto]] ja [[virtuaalimuisti]]). Käyttöjärjestelmä vapauttaa prosessin käyttämän muistin prosessin päättyessä.
Käyttöjärjestelmän muistinhallintamenetelmät voidaan jakaa seuraaviin ryhmiin:
|