200 likes | 358 Views
LINUX. Janne Pylvänäinen,Tite2 Lauri Hämäläinen,Tite2. Historia. Kehittäjänä Linus Torvalds Ensimmäinen versio 0.02 annettiin julkiseen levitykseen vuonna 1991 Versio 0.02 emuloi sarjaporttia ja näppäimistöä, mikä mahdollisti tekstinsyötön Linux 1.0 julkaistiin maaliskuussa 1994
E N D
LINUX Janne Pylvänäinen,Tite2 Lauri Hämäläinen,Tite2
Historia • Kehittäjänä Linus Torvalds • Ensimmäinen versio 0.02 annettiin julkiseen levitykseen vuonna 1991 • Versio 0.02 emuloi sarjaporttia ja näppäimistöä, mikä mahdollisti tekstinsyötön • Linux 1.0 julkaistiin maaliskuussa 1994 • Uusin vakaa versio Linuxista on 2.6.16.1
Kernel • Kernel on käyttöjärjestelmän ydin • Toimii laitetason ja ohjelmistojen rajapintana • Huolehtii: • Muistin hallinnasta • Prosessien priorisoinnista • Tiedostojärjestelmistä • TCP/IP verkkoliikenteestä • Laitekohtaisista kirjastoista • Kernel suoritetaan yhdessä tai useammassa säikeessä. • Säikeellä tarkoitetaan suorituksessa olevaa prosessia.
Kernel jatkoa… • Kernelit on jaettu neljään pääkategoriaan: • Monoliittinen kernel • Mikrokernel • Hybridikernel • Eksokernel • Käytännön eroa kerneleillä on lähinnä toteutuksessa ja optimoinnissa
Monoliittinen kernel • OS:n palvelut suoritetaan yhdessä kernelin säikeessä • Koostuu useista toisistaan riippumattomista tasoista • Linuxin kernel toimii monoliittisenä kernelinä
Mikrokernel • Perustuu yksinkertaistettuun kuvaukseen • Optimoitu kernel, eli karsittu kaikki ylimääräiset prosessit • Käytetään palvelimissa helpon ylläpidon takia • Laitteiden firmware
Hybridikernel • Server -aliohjelmat sijoitettu kernelin sisään • Järjestelmäkutsujen määrä vähenee • Monoliittisen ja mikrokernelin välimuoto • Windows NT
Exokernel • Resurssit suoraan laitteistolta • Ohjelmien suoritus kirjastojärjestelmien kautta • Mahdollistaa saman kernelin käyttämisen eri laitteistoissa • Kirjastojärjestelmien pitää olla yhteensopivia
Ajanjako • Ajanjako (scheduler) on prosessilla suoritettavien säikeiden vuorottamista • Vuorottajaa kutsutaan aina keskeytyksen sattuessa • Ominaisuudet : • Tehokkuus - Työtä tehdään interaktiivisuuden kustannuksella • Interaktiivisuus - Reaaliaikavaatimus • Tasapuolisuus ja nääntymisenesto – Kaikille prosesseille luokan mukaan tasavertaisesti suoritusaikaa
Muistin osoittaminen • Kolme erilaista muistinosoitustapaa • looginen - konekäskyissä oleva • näennäinen (virtuaali) - osoite 32-bittisessä osoiteavaruudessa • fyysinen - sama kuin näennäinen. Osoittaa esim. fyysisiin muistipaikkoihin
Segmentointi • Segmentointi on muistin jakamista tiettyihin loogisiin kokonaisuuksiin • Koostuu kahdesta eri osasta. Segmentintunnisteesta(16bit) ja osoitteesta segmentin sisällä (32bit) • Jotkut arkkitehtuurit eivät tue segmentointia • Linux käyttää sivutettua segmentointia
Sivutus • Sivutus on muistin jakamista pieniin samanpituisiin kehyksiin • Sivuosoite on 32-bittinen virtuaalinen osoite. Se koostuu kolmesta eri osasta : • 10-bittinen sivuhakemisto • 10-bittinen sivutaulu • 12-bittinen osoite • Linux käyttää kolmitasoista sivutusjärjestelmää • Globaali sivuhakemisto, välisivuhakemisto ja sivutaulu
Sivutus Sivutaulu Loogiset sivuosoitteet Fyysiset osoitteet
Prosessit ja niiden hallinta • Prosessit ovat ilmentymiä suoritettavana olevista ohjelmista • Linuxissa on olemassa isäprosessi, josta muut prosessit luodaan lapsiprosesseiksi • Prosesseja priorisoidaan kernelin ja käyttäjän toimesta • Kernel pitää yllä prosessin kuvausta
Tiedostojärjestelmä • Linux käyttää yleensä ext2/3-tiedostojärjestelmää. Siinä ei ole levyasema-tunnuksia • Linux tukee yleisimpiä tiedostojärjestelmiä käyttöjärjestelmästä riippumatta. • Juurihakemistoon liitetään kaikki massamuistit ja siirtomediat
Tiedostojärjestelmä • VFS (Virtual file server) toimii rajapintana tiedostojärjestelmien, käyttöjärjestelmän ja palveluiden välissä
EXT3 • EXT3 (Third Extended File System) on journaloitu tiedostojärjestelmä • EXT3 on uusin linuxin tiedostojärjestelmätyypeistä • Osio on jaettu lohkoihin, jokaisella lohkolla tietyt ominaisuudet • Lohkoryhmät ehkäisevät pirstoutumista, koska käyttöjärjestelmä pyrkii pitämään ohjelman yhdessä lohkossa jos vain mahdollista
Muistinhallinta • Linuxissa käytetään virtuaalista muistinhallintaa, mikä tarkoittaa mahdollisuutta jatkaa muistia kovalevylle. • Uutta prosessia varten tarvitaan muistia, jonka muistinhallintayksikkö varaa muistista. Jos muisti on täynnä, muistinhallintayksikkö siirtää jonkin muun prosessin väliaikaisesti kovalevylle. Jonka jälkeen voidaan suorittaa uusi prosessi • Välimuistityypit : • Buffer Cache - Viimeksi kovalevylle tallennetut tiedot • Page Cache - Sivuvälimuisti. Sisältää viimeisimmät käytetyt sivukehykset • Swap - Välimuisti. Muistin jatke