Kertaus Näkökulmat: käyttöjärjestelmä rajapintana prosessit resurssit
Prosessit tilat prosessitaulut ja –elementit säikeet ajoitus poissulkeminen synkronointi
Resurssienhallinta Uudelleenkäytettävät vs. kertakäyttöiset Tyypit Lukkiutuminen ja nälkiintyminen
1. Käyttöjärjestelmä – Mikä se on? 1.1 Kurssimateriaalista 1.2 Käyttöjärjestelmät ja käyttöliittymät 1.3 Käyttöjärjestelmän tehtävät 1.4 Modernin käyttöjärjestelmän piirteitä 2. Alhaalta alkaen 2.2 Prosessori 2.5 Keskeytykset 2.6 Muistiinkuvattu I/O ja DMA 3. Tiedostonhallinta 3.3 Tiedostojen tarkoitus 3.4 I/O ja tiedostot 3.5 Tiedostojen hallinta 3.7 Hakemistot
4. Prosessit 4.1 Prosessin käsite 4.2 Resurssien hallinta 4.3 Prosessin vaihtaminen 4.4 Säikeet 4.5 Prosessien välinen kommunikointi 5. Ajoitus 5.1 Vuorontaminen 5.2 Ajoituksen tasot 5.3 Irrottava ja ei-irrottava vuorontaminen 5.4 Algoritmeja 5.5 Tosiaikaiset järjestelmät
6. Rinnakkaisuus 6.1 Prosessien vuorovaikutus 6.2 Kriittiset alueet 6.3 Vaatimuksia poissulkemiselle 6.4 Ohjelmistolähtöiset menetelmät 6.5 Laitetason ratkaisuja 7. Synkronointi 7.1 Semaforit 7.2 Semaforien käyttö 7.3 Tapahtumalaskurit 7.4 Monitorit 7.5 Ruokailevat filosofit
8. Lukkiutumistilanteet 8.1 Mikä on lukkiutumistilanne 8.2 Miten ongelma selvitetään 8.3 Ehkäisy 8.4 Välttäminen 8.5 Havaitseminen ja purkaminen 9. Muistinhallinta 9.1 Muistiarkkitehtuuri 9.2 Muistiin sijoittaminen 9.3 Virtuaalimuistin lyhyt historia 10. Virtuaalimuisti 10.1 Osoitteenmuutos virtuaalimuistissa 10.2 Sivujen haku muistiin