480 likes | 632 Views
11. Siirräntäjärjestelmä ja syöttö- ja tulostuslaitteet. 11.1 Siirrännän hierarkia sovellusohjelmataso loogisia kokonaisuuksia, tietueita ja tiedostoja ohjelman sisäisiä nimiä Readln (File1, X) Open (Tdsto, RW) käyttöjärjestelmätaso laitteisto. 11.1 Siirrännän hierarkia
E N D
11. Siirräntäjärjestelmä ja syöttö- ja tulostuslaitteet • 11.1 Siirrännän hierarkia • sovellusohjelmataso • loogisia kokonaisuuksia, tietueita ja tiedostoja • ohjelman sisäisiä nimiä • Readln (File1, X) • Open (Tdsto, RW) • käyttöjärjestelmätaso • laitteisto
11.1 Siirrännän hierarkia • sovellusohjelmataso • käyttöjärjestelmätaso • rutiinit, jotka toteuttavat ja valvovat siirräntää • laiteriippumaton siirräntä • sovellukselle yhtenäinen tapa käyttää kaikkia siirräntäpalveluita • laiteriippuva siirräntä • laitteiden todelliseen käyttöön liittyvä ohjausohjelmisto • koodattu laiteajureihin • laitteisto
11.1 Siirrännän hierarkia • sovellusohjelmataso • käyttöjärjestelmätaso • laitteisto • siirräntä voidaan toteuttaa kokonaan prosessorin valvonnassa • ei hyödynnetä rinnakkaisuutta • laiteohjain (siirräntään erikoistunut prosessori) huolehtii itsenäisesti siirrännästä • prosessorin ja ohjainten välinen kommunikointi
SIIRRÄNNÄN HIERARKIA muuttujat SOVELLUS laiteriippumaton taso KÄYTTÖJÄRJESTELMÄ keskeytys laiteajurit LAITEOHJAIMET tulostus syöttö
laitekuvaaja • yksi kutakin laitetyyppiä varten • talletettavat tiedot riippuvat laitteesta • laitteen yksilöivä tunnus (väyläosoite) • ohjeet laitteen käytöstä • urien, sektorien ja levypintojen määrä, lohkon koko • viitteet näppäimistön merkinmuunnostauluihin • laitteen tilatietoa • varattu/vapaa/rikki • laitteeseen liittyvät semaforit • viitteet jonottaviin palvelupyyntöihin • viite laitetta käyttävän prosessin kuvaajaan
laiteriippumattoman siirrännän tehtäviä • loogisesta tiedostonimestä => käytettävän laitteen tyyppi • pitää kirjaa levytilan vapaista ja varatuista alueista • siirrännän puskurointi (levylohko) • luku/kirjoituskohdan ylläpito • tarvittaessa käynnistää fyysisen siirrännän • antaa laiteajurille tehtävä
laiteajurin tehtäviä • tehtävät riippuvat laitteesta • muodostaa parametrien ja laitekuvaajan perusteella laitetta ohjaavat käskyt • esim. levylohkonumeroiden muuttaminen levypinnan, uran ja sektorin numeroiksi • levypyyntöjen optimointi • ohjaimella tehtävän fyysisen siirrännän käynnistys • siirrännän kirjanpito • siirron oikeellisuuden tarkistukset ja virheiden korjausyritykset
AJURI- PROSESSI MUISTI LEVYOHJAIN laiterekisterit -data -ohjaus -ok MUISTIINKUVATTU I/O: siirrettävä tieto + ohjaustiedot keskusmuistiin ‘kommunikointialueelle’ LEVY
PROSESSORI MUISTI LEVYOHJAIN puskuri osoite lkm DMA-SIIRTO: ohjain siirtää itsenäisesti tietoa levyltä keskusmuistiin LEVY
11.2 I/O-pyyntöjen käsittely • sovellusprosessi • sovellusprosessi käsittelee muuttujia, tietueita, tiedostoja,.. • käyttää kirjastorutiineja • Readln(File1,X) • Open (TdstoX,RW) • oheislaitteet sovellukselle erikoistiedostoja • käyttöjärjestelmä • laiteohjain
Käyttöjärjestelmä • laiteriippumaton taso • kaikille laitteille yhteiset toiminnot • laiteajurit • jokaiselle laitteelle oma ajuri • huolehtii kunkin laitteen erityispiirteistä • Laiteohjain • suorittaa fyysisen siirron laitteen ja keskusmuistin välillä
KÄYTTÖJÄRJESTELMÄ laite- ajuri 1 Sovellus DATA- ALUE laiteriippumaton taso laite- ajuri 2 laite- ajuri 3 Sovellus DATA- ALUE ... laite- ajuri n lohkopuskurit
Laiteriippumaton taso valmistelee ja käynnistää siirron ja jää odottamaan siirron valmistumista Laite- riippu- maton taso Sovellus data- alue Laiteajuri käynnistää pyydettäessä fyysisen I/O:n ja jää odottamaan siirron valmistumista siirtopyyntö aiheuttaa keskeytyksen ja vie prosessin WAIT-jonoon siirron valmistu- minen vie prosessin READY-jonoon ja aikanaan suoritukseen Laite- ajuri Laiteohjain suorittaa pyydetyn siirron Laite- ohjain Lohkopuskurit Käyttöjärjestelmä data laitteella
Esim. tiedostonlukupyyntö • Read(tiedostonro, paljonko, minne) • Esim. luetaan tiedostosta nro 2 100 tavua muistipaikkaan 200 • = muistialueelle Taulu[0,99], joka alkaa muistipaikasta 200 Read (2, 100, 200)
Käyttöjärjestelmän toiminta lukupyynnön yhteydessä • laiteriippumaton taso • suorittaa kaikki siirräntään liittyvät yleiset toiminnot • selvittää mikä laite on kyseessä • määrittää mikä levylohko on kyseessä • tutkii, onko siirräntä yleensä edes tarpeen • luettava tieto jo valmiina lohkopuskurissa • kirjoitettavaa tietoa ei ole lainkaan muutettu • tarvittaessa käynnistää siirrännän ja jää odottamaan sen valmistumista • eri laitteita varten omat laiteajurit
käytettävä laiteajuri; lohkon koko prosessin kuvaaja PCB tiedostokuvaajataulu • käyttöjärjestelmä: • laiteriippumaton taso tutkii mikä laite on kyseessä 0 1 2 3 4 ... laitekuvaajat nimi, laitenumero =‘levynro’ uid, gid rwx-bitit r/w-positio lohkonumerot avoimet tiedostot -taulu ….
käyttöjärjestelmä: laiteriippumaton taso • lukupositio ja lohkon koko => monesko tiedoston lohko => lohko 0 • lukupositio = 0 => tiedoston alku • etsi numeron perusteella lohkopuskurista • jo löytyy, luetaan sieltä • jos ei löydy varaudutaan levylukuun lohkoa 0 ei löydy lohkopuskurista lohkopuskureita lohko 6 lohko 10 lohko 3
käyttöjärjestelmä: laiteriippumaton taso • levyltä lukeminen • varataan lohkolle puskuri • muodostetaan ko. laitteen ajuria varten pyyntöpaketti (lue, puskurin osoite, lohkonumero) • viedään paketti ajurin jonoon lohkopuskureita lohko 6 lohko 3 varataan lohkolle 0 puskuri 1
levyn laiteajurin työjono lue, puskurinro (=1) lohkonro (=0) Laiteriippumaton taso herättää laiteajurin ja jää odottamaan siirron valmistumista Up(Pyyntö_odottaa) *herätä ajuri Down (Pyyntö_palveltu * jää odottamaan
Laiteajuri • toista Down(Pyyntö_odottaa) Ota pyyntöpaketti jonosta muuta se laiteohjaimen ymmärtämään muotoon; käynnistä fyysinen I/O; Down(Siirto_valmis) jos virhe, niin ilmoita ylöspäin Up(Pyyntö_palveltu) tuhoa palvelupyyntöpaketti • ikuisesti
Laiteohjaimen ymmärtämään muotoon Laske laitekuvaajassa olevan tiedon perusteella tiedon sijainti levyllä • levypinta, ura, sektori ja siirrettävien sektoreiden määrä • ilmoita laiteohjaimelle • mistä = levyosoite • minne = lohkopuskurin osoite • paljonko = lohkon koko (esim. levyn sektoreina) • operaatio = lue
Laiteohjain • Tutki tehtävät operaatiot laiterekistereistä • prosessorin ja ohjaimen välinen kommunikointialue • mistä = levyosoite • minne = lohkopuskurin osoite • paljonko = lohkon koko • operaatio = lue • Tee fyysinen DMA-siirto • ensin laitteelta omaan puskuriin ja sieltä vähitellen keskusmuistin lohkopuskuriin • Talleta tieto onnistumisesta laiterekisteriin • Aiheuta keskeytys
keskeytys ja sen käsittely • laitekeskeytys • selvitä keskeyttäneen laitteen numero • etsi laitteen (=levyn) laitekuvaaja • mikä ajuri kyseessä • Up(Siirto_valmis) * herättää juuri tätä * siirtoa odottava * ajurin
11.3 Syöttö • Tärkeimmät syöttölaitteet • näppäimistö • hiiret / ohjaussauvat / ohjauspallot / ohjausrasiat • kuvanlukijat (‘skannerit’) • puhesyöttö • hahmontunnistus
Näppäimistö • näppäimen painallus aiheuttaa keskeytyksen • näppäimistön ajuri saa näppäimen numeron • ajuri muuttaa näppäimen numeron esim. ASCII-koodiksi • muunnos tapahtuu merkkitaulun avulla • näitä on monenlaisia
Hiiri • voidaan liittää sarjaporttiin tai erityiseen hiiriliitäntään • langattomat hiiret • mekaaniset vs. optiset hiiret • muita hiirimäisiä syöttölaitteita • ohjaussauvat • ohjauspallot • ohjausrasiat
Kuvanlukija (skanneri) • käsiskannereita tai isompia • taso- ja rumpuskannerit • erilaisia tarkkuuksia, värillisiä tai mustavalkoisia • esim. 600*300 kuvapistettä • valaistusta kuvasta heijastuvan valon voimakkkuus koodataan numeeriseen muotoon valoherkkien elementtien avulla • harmaasävykuvissa yleensä 0 = musta ja 255 = valkoinen
Koodinlukijat • juovakoodi(viivakoodi) • magneettiraita • kirjaimet
Puhesyöttö • vaikeaa • äänen, ääntämyksen, puhenopeuden vaihtelut, äänensävy, taustahälina • lyhyiden komentojen antaminen helpompaa • käyttäjän puheen mallinnus • käytetään jo jonkin verran
Virtuaalitodellisuus • lumetodellisuus • keinotodellisuus, tekotodellisuus, näennäistodellisuus • virtual reality (VR) artificial reality • datahanskat, -puku, -kypärä jne
11.4 Tulostus • Tärkeimmät tulostuslaitteet • kirjoittimet • mustesuihkukirjoittimet • laserkirjoittimet • matriisikirjoittimet • piirturit • näyttö • katodisädeputkinäyttö • puolijohdenäyttö
Tulostimet • tulostusmateriaali • paperi, kalvot • muovipohjaiset ‘glossy-arkit’ valokuvatulostukseen • mikrofilmit, -kortit • kangas, jne • tulostustarkkuus • mittayksikkönä dpi = dots per inch
Värit • yleensä käytössä CMYK-tekniikka • Cyan-Magenta-Yellow-blacK • vrt. näyttöjen RGB • Red-Green-Blue
Matriisikirjoitin • dot matrix printer • vanha tekniikka • merkit 7*5 … 30*50 pistettä • tarvitaan 7-30 neulaa ja värinauha • myös grafiikka mahdollinen • iskukirjoitin • vrt. kiekkokirjoitin, rivikirjoitin • jatkolomakkeet
Mustesuihkukirjoitin • ink jet printer • pisarankoko -> pistekoko -> resoluutio • pieniä pisaroita, jopa vain muutama pikolitra • 1 pikolitra = 10 ^-12 eli yksi tuhannesmiljardisosa litraa • 100 pl pisaran halkaisija n. 100 mikrometriä • filminegatiivin pistekoko on suuruusluokkaa 1 mikrometri (riippuu filmistä)
Toiminta • paperi pyörii sylinterillä • tulostinpää liikkuu paperin yli vaakasuunnassa • lämmitetty muste (C/M/Y/K) suihkuaa suutinmatriisin pienistä rei’istä • mustepisaran lähettämiseen voidaan käyttää myös sykkivää piezosähkökidettä • vähän liikkuvia osia
Laserkirjoitin • yleensä, varsinkin mustavalkoisena mustesuihku on nopeampi ja usein myös tulostuskustannuksiltaan pienempi • tarkkuus esim. 300-1200 dpi • 600 dpi (pistettä tuumalla): väripisteen koko n. 42 mikrometriä • nopeus esim. 10-1000 s/min
lasersäde piirtää pyörivän, negatiivisesti varautuneen valoherkän rummun pintaan kuvan, johon väriaine tarttuu • laserkoneisto ei liiku; säteen ohjaus peilillä • lopuksi puristus ja lämmitys • tarvitaan muistia sivun tallentamiseen • värilaserissa rummulle vain yksi väri kerrallaan
PostSript-kirjoittimelle tuleva tieto voi sisältää • kirjoittimen ohjauskoodeja • merkistöjä • tulostettavaa tekstiä • viivagrafiikkakomentoja • bittikarttoja
Vahasuihkukirjoitin • nopeaan väritulostukseen • värit ‘vahaliituina’ • runsaasti suuttimia -> tulospää ei liiku paljoa • 1200 dpi:tä jo mahdollinen
Sublimaatiotulostin • väriaine muovikalvolla • neljän värin peräkkäisiä kenttiä rullalla • väriä tuhlaantuu • lämpöelementtien rivi siirtää värin paperille (väriaine höyrystyy) • laaja sävyskaala, hyvä tulostusjälki
Piirturit • taso- ja rumpupiirturit • esim. mustesuihkutekniikka tai kynät • mm. tekniseen piirtämiseen • merkitys vähentynyt
Näyttö: katodisädeputki • Cathod-Ray Tube, CRT • tyhjiöputki, kuvapinta peitetty fosforoivalla aineella • elektronisuihku elektronitykistä • fosforoitua pintaa pyyhitään juovia pitkin • suihkunvalvontaelektroniikka sytyttää fosforipisteen eli pikselin (pixel, picture element) • virkistys • esim. 50-90 kertaa sekunnissa
Näyttö: puolijohdenäyttö • etenkin kannettavissa mikroissa, myös muissa • merkit ja kuviot muodostetaan nestekiteiden, kaasuplasman tai elektroluminenssin avulla
Muistiinkuvattu näyttö • memory-mapped display • prosessori tulostaa näytölle viemällä tulostettavat tiedot näyttömuistiin • näytönohjain ( eli näyttöä ohjaavat piirit) käy useita kertoja sekunnissa lukemassa alueen sisällön ja tulkitsee sen näytölle
Tekstin tulostus • näyttö voidaa jakaa esim. 25 riviin ja 80 sarakkeeseen • jos tarvitaan tavu merkkiä kohden, näytöllinen tekstiä (näyttötaulu) vaatii noin 2 KB muistia • lisäksi tarvitaan merkkitaulu, jossa on merkkien kuvat pistematriiseina (fontit) • näyttötaulun alkioon tallennetaan indeksi merkkitauluun
Grafiikan tulostus • kuvapuskurissa on yhtä monta alkiota kuin näytöllä on pikseleitä • värit saadaan sinisestä, punaisesta ja vihreästä (RGB) • Esim. VGA, SVGA • 640*480 / 256 väriä • 800*600 / 256 tai 65000 väriä • 1024*768 / 256 tai 65000 väriä
Äänikortit • yleensä vähintään 16-bittisiä ja Sound Blaster -yhteensopivia • MIDI