1 / 17

Käyttöjärjestelmät ja laitteistot

Käyttöjärjestelmät ja laitteistot. Tietotekniikan perusteet 3.11.1998 Pekka Orponen. Käyttöjärjestelmä. Käyttöjärjestelmä on tietokoneen varusohjelmisto, joka: yksinkertaistaa ja yhtenäistää laitteiston osien (muistijärjestelmä, oheislaitteet jne.) käyttöä sovellusohjelmissa

skyla
Download Presentation

Käyttöjärjestelmät ja laitteistot

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Käyttöjärjestelmät ja laitteistot Tietotekniikan perusteet 3.11.1998 Pekka Orponen

  2. Käyttöjärjestelmä • Käyttöjärjestelmä on tietokoneen varusohjelmisto, joka: • yksinkertaistaa ja yhtenäistää laitteiston osien (muistijärjestelmä, oheislaitteet jne.) käyttöä sovellusohjelmissa • jakaa laitteistoresursseja (prosessoriaika, työtila jne.) samanaikaisesti suoritettaville töille • tarjoaa yleispalvelut sovellusohjelmien ja datan hallintaan (tiedostojärjestelmä, ohjelmien käynnistäminen jne.) • Ilman käyttöjärjestelmää: • tietokoneella voisi suorittaa vain yksi käyttäjä yhtä ohjelmaa kerrallaan • jokaisen ohjelman pitäisi huolehtia itse kaikista laitteiden ohjauksen yksityiskohdista • tietokoneresurssien yhteiskäyttö (levytilan jakaminen, tietoliikenne jne.) olisi jokseenkin mahdotonta

  3. Käyttöjärjestelmien historiaa konekohtaisia ”monitori- ohjelmia” (1950-luku) CTSS (1962) IBM S/360 (1964) ITS MULTICS (1965) DEC TOPS-10 UNIX (1969) Xerox Alto (1973) CP/M (1974) VAX VMS Apple II (1976) MS-DOS (1981) Macintosh (1984) Linux (1991) MS-Windows 3.1 (1992) MS-Windows NT (1995)

  4. ”Virtuaalikone” • Nykyaikaisia tietokoneohjelmia ei laadita suoraan peruslaitteistolle, vaan käyttöjärjestelmän luomalle korkeamman tason ”virtuaalikoneelle” • Sama virtuaalikone (esim. Unix-ympäristö) voi myös olla toteutettuna erilaisilla laitteistoilla • Yleisemminkin ohjelmistotyön voi ajatella olevan uusien virtuaalikoneiden rakentamista olemassa-olevien pohjalle. Esim. Emacs-editori: käyttäjä EMACS LISP C UNIX Prosessori + oheislaitteet

  5. Prosessi • Abstraktisti: Ohjelman suoritus (prosessorissa) • Konkreettisesti: Ohjelman suorittamiseen tarvittava koodi ja data sekä kirjanpitotietoa (suorituskohdan osoitin, sijainti muistissa jne.) (Prosessin ympäristö, engl. context) • Tietokoneessa voi olla suoritettavana saman-aikaisesti useita prosesseja, joista kuitenkin (yksiprosessorikoneessa) vain yksi on aktiivinen, muut ovat joko valmiina (suoritukseen) tai odottavat (esim. IO-operaation päättymistä) • Käyttöjärjestelmän suoritus on myös yksi prosessi. Se luo ja tuhoaa sovellusprosesseja, käynnistää ja pysäyttää niiden suorituksen, sekä jakaa niille systeemin resursseja (suoritusaikaa, muistitilaa, oheislaitteiden käyttövuoroja). • Usein myös sovellusprosessit voivat luoda avukseen uusia ”lapsiprosesseja”.

  6. Prosessien tilanvaihto • Tilanvaihtokaavio: • Tilasiirtymät: • Aktiivinen prosessi siirtyy odotustilaan jonkin ulkoisen syyn takia (esim. IO-järjestelmältä tai toiselta prosessilta tarvittavan datan odotus); käyttöjärjestelmä (ajoittaja, engl. scheduler) valitsee uuden aktiivisen prosessin) • Odotuksen syy poistuu (esim. IO valmistuu); prosessi siirtyy valmiustilaan • Valmiustilassa oleva prosessi saa ajoittajalta suoritusvuoron • Aktiivinen prosessi siirty valmiustilaan sille annetun aikaviipaleen loppumisen takia RUN 1 4 3 WAIT READY 2

  7. Prosessien tilanvaihto (jatkuu) • Esimerkki (HT k-98): Oletetaan, että tietokoneen suoritettavana on kolme prosessia, jotka kukin ensin suoríttavat jotain laskutehtävää 1 ms ajan, sitten lukevat syötelaitteelta 2 ms ajan, ja taas laskevat 1 ms ajan. Kauanko prosessien suoritta-miseen yhteensä kuluu aikaa (a) ilman moniajoa (prosessien vaihtoa), (b) moniajojärjestelmässä? Entä jos laitteistossa olisi kaksi prosessoria? Entä kaksi prosessoria ja kaksi syöttölaitetta?

  8. Keskeytykset • Useimmat prosessien tilasiirtymät liittyvät keskeytyksiin (engl. interrupt): jokin oheislaite, kello tai prosessi ilmoittaa vaativansa toimenpiteitä • Keskeytysten käsittely: • laite tai ohjelma tekee keskeytyspyynnön merkit-semällä syyn johonkin lipukkeeseen (engl. flag) • prosessori tutkii jokaisen suorittamansa konekäskyn jälkeen lipukkeet ja huomaa keskeytyksen • uudet keskeytykset estetään käsittelyn ajaksi • prosessori tallettaa keskeytyneen prosessin ympäristön keskeytyskäsittelijän muistialueelle, jotta suoritusta voidaan jatkaa myöhemmin • prosessori suorittaa erityisen keskeytyskäsittely-rutiinin, joka tunnistaa keskeytyssignaalin lähteen ja käynnistää vastaavan palvelun • keskeytyskäsittelyn päätteeksi prosessori palauttaa keskeytyneen prosessin ympäristön ja jatkaa sen suoritusta -- tai mahdollisesti siirtää prosessin valmiustilaan ja vaihtaa aktiivista prosessia • keskeytykset sallitaan taas

  9. Muistinhallinta • Ohjelmaa kirjoitettaessa/käännettäessä sen sijaintia muistissa ei vielä tiedetä; muistialue varataan vasta kun ohjelman suorittava prosessi luodaan • Prosesseja voidaan myös suorituksen aikana siirtää muistialueelta toiselle, mahdollisesti jopa keskus- ja tukimuistin välillä • Ohjelman käyttämä ”looginen” osoiteavaruus voi olla suurempi kuin koneessa olevan fyysisen keskusmuistin määrä • Kustannussyistä tietokoneen muistilaitteet muodostavat hierarkian nopeista mutta kalliista muistiyksiköistä halpoihin mutta hitaisiin: • Käyttöjärjestelmä piilottaa muistinhallinnan yksityiskohdat sovellusohjelmilta: sovellusten kannalta muisti on yksi suuri yhtenäinen alue. rekisterit välimuisti kiintolevy levypuskuri keskusmuisti

  10. Virtuaalimuisti • Ratkaisu muistinhallinnan ongelmiin: ohjelman osoiteavaruus ja fyysinen muistiavaruus erotetaan täysin toisistaan. Loogiset osoitteet ja fyysiset muistipaikat yhdistetään toisiinsa prosessi-kohtaisilla sivutauluilla (engl. page tables) • Osoiteavaruus jaetaan 2r tavun sivuihin (r = 9..13), jotka fyysisesti voidaan sijoittaa aivan eri paik-koihin (tyhjiä sivuja ei tarvitse edes luoda) • Ohjelman viitatessa osoitteeseen m = a*2r + b järjestelmä hakee ensin sivutaulusta indeksillä a vastaavan fyysisen sivun alkuosoitteen; b on tällöin halutun paikan suhteellinen muistiosoite ao. sivulla • Sivu voi olla joko valmiiksi keskusmuistissa tai se voidaan joutua noutamaan tukimuistista. Jälkimmäisessä tapauksessa viittaus sivutauluun aiheuttaa sivunvaihtokeskeytyksen (engl. page fault) • Uuden sivun tuonti keskusmuistiin merkitsee yleensä jonkin vanhan sivun poistamista levylle. Poistettava sivu voidaan valita eri tavoin.

  11. Virtuaalimuisti (kaavio): käsky osoitteen- muod. a b a’ b virtuaaliosoite todellinen os. M? levyosoite muistiosoite X sivutaulu

  12. Virtuaalimuisti (jatkuu) • Esimerkki (HT k-98): Yksi virtuaalimuistin sivunvaihtoperiaate on palauttaa tukimuistiin se sivu, jonka edellisestä käytöstä on kulunut mahdol-lisimman kauan (LRU = least recently used). Oletetaan, että LRU-periaatetta käyttävä järjes-telmä suorittaa prosessia, jonka osoiteviittausten jono on 51, 1076, 52, 3974, 2342, 53, 1511, 3975, 54, 2782, 3976, 3123. Montako sivunvaihtoa prosessin suoritus aiheuttaa, kun järjestelmän sivunkoko on 1000, ja prosessin käyttöön on annettu kaksi fyysistä keskusmuisti-sivua? Entä jos prosessille annettaisiin kolme fyysistä keskusmuistisivua?

  13. Tietokoneverkot • Tietokoneet liitetään nykyisin yleensä yhteen verkoiksi. • Samaan organisaatioon kuuluvat, tiiviisti kytketyt koneet muodostavat lähiverkon (LAN = local area network, esim. JY:n mikroverkko) • Joukko yhteen kuuluvia lähiverkkoja muodostaa alueverkon (WAN = wide area network, esim. Suomen korkeakouluverkko FUNET) • Kaikki (?) maailman alueverkot kuuluvat yhteiseen kansainväliseen Internet-verkkoon • Lähiverkoissa on yleensä käyttäjien omien työasemakoneiden lisäksi myös yhteiskäyttöisiä palvelimia: tiedostopalvelimia, oheislaite-palvelimia, tietoliikennepalvelimia jne. • Tieto siirretään tietokoneverkoissa paketteina, jotka sisältävät varsinaisen siirrettävän datan lisäksi tiedon siitä, mihin koneeseen paketti on kuljetettava • Lähiverkkojen tavallisimmat kytkentäratkaisut ovat Ethernet-väylä ja valtuusrengas (”Token Ring”). Yleistymässä ovat tähtikytkentäiset ATM-verkot. Internet-verkossa noudatetaan TCP/IP- yhteys-käytäntöä.

  14. Lähiverkkojen yhteyskäytännöt • Ethernet-väylä • Valtuusrengas (Token Ring network) • ATM-verkko P1 P2 P3 P2 P1 P3 P2 ATM- kytkin P1 P3

  15. ISO:n OSI-malli • Tietoliikennejärjestelmien suunnittelustandardi • Virtuaalikone-idean sovellus tietoliikenteeseen: 7 kerrosta, joista kussakin voidaan rakentaa tietoliikenneratkaisuja alemman kerroksen ”virtuaaliverkon” tarjoamien palvelujen pohjalle Sovelluskerros Esitystapakerros Yhteysjaksokerros Kuljetuskerros Verkkokerros Siirtokerros Fyysinen kerros

  16. Rinnakkaiskoneet • Tietokoneiden laskentatehoa on pyritty lisäämään kytkemällä useita prosessoreita toimimaan synkronisesti (”tasatahtisesti”) rinnakkain. Tällaisissa rinnakkaiskoneissa prosessorit on kytketty toisiinsa ja (yleensä) yhteiseen keskusmuistiin erittäin nopeilla väylillä. • Prosessoreita voi olla esim. 8 (SUN UE4000, JYTIE), 224 (Cray T3E, CSC) tai 65536 (TMC/CM2). • Prosessorit voidaan kytkeä yhteen eri tavoin; kaksi suorittua topologiaa ovat hila ja hyperkuutio:

  17. Rinnakkaiskoneiden luokittelua ja arviontia • Rinnakkaiskoneet luokitellaan prosessorien itsenäisyyden mukaan seuraavasti: • tehtävärinnakkaiset koneet (engl. MIMD = multiple instruction streams, multiple data streams): varsinaiset rinnakkaiskoneet (kuten ed.), täysin itsenäiset prosessorit • datarinnakkaiset koneet engl. SIMD = single instruction stream, multiple data streams): erikoiskoneita, joissa kaikki prosessorit suorittavat samaa ohjelmaa, mutta eri data-alkioille • Rinnakkaiskoneiden arviointia: • Etu: laskennan nopeutuminen • Ongelmia: • algoritmien rinnakkaistaminen vaikeaa • kalliita erikoislaitteita, vanhenevat nopeasti • Mielenkiintoinen idea: työasemaverkon käyttö rinnakkaislaskentaan • Etu: standardilaitteita, hankitaan muutenkin, päivitetään jatkuvasti • Ongelmia: hidas kommunikointi, asynkronisen rinnakkaisuuden hallinta vaikeaa

More Related