1.65k likes | 1.97k Views
Juhani Merilinna juhani.merilinna@helia.fi Huone 6025 Materiaali löytyy sivulta: http://myy.helia.fi/~merju. Tietokoneen toiminta. Sisältö. Historiaa Peruskäsitteitä Tietokoneen toimintaperiaate Rakenneosat Assembler Tietokoneen rakenne (PC) Tietoliikenteen perusteita. Historiaa.
E N D
Juhani Merilinna juhani.merilinna@helia.fi Huone 6025 Materiaali löytyy sivulta: http://myy.helia.fi/~merju Tietokoneen toiminta
Sisältö Historiaa Peruskäsitteitä Tietokoneen toimintaperiaate Rakenneosat Assembler Tietokoneen rakenne (PC) Tietoliikenteen perusteita
Historiaa Abakus yli 4000 a. (Helmitaulu) Laskutikku 1617 Babbage 1820-luvulla ohjelmoitava laskulaite Reikäkorttikone 1890 USA:n väestönlaskentaan. IBM Mekaanisia tietokoneita (releet, reikänauha) 1940-luvulla Taskulaskin 1970-luvulla
Historiaa, 1. sukupolvi Ensimmäinen elektroninen tietokone 1946 ENIAC. 18000 elektroniputkea. Sähkönkulutus 150kW. Vikaväli luokkaa 10min. Suomen ensimmäinen tietokone ESKO 1957. Elektroniputkia ja reikänauha.
Historiaa, 2. sukupolvi 1948 keksittiin transistori. Tietokoneiden nopeus jo luokkaa 10000 laskua sekunnissa. Muisti magneettirengasmuistia
Historiaa, 3.sukupolvi Texas Instruments kehitti mikropiirin. IBM S/360 (1964) koneita myytiin n. 30000. 1 MIPS raja rikki. Moniajokäyttöjärjestelmä Tietokoneet suuria keskuskoneita kommunikointi koneen kanssa reikäkortein tai reikänauhoin myöhemmin kehitettiin kirjoitinpäätteitä ja näyttöpäätteitä
Historiaa, 4. sukupolvi Intel kehitti ensimmäisen mikroprosessorin 1972 (Intel 4004) Aluksi 4-bittinen, mutta hyvin pian tuli 8-bittisiä (Intel 8008, 8080 , Motorola MC6800) Ensimmäiset kotikoneet
PC:n historiaa 1977 Apple II hyvin suosittu yrityksissä VisiCalc ensimmäinen taulukkolaskentaohjelma 1981 IBM PC. 16KB muistia, pian myös 64KB 8088 prosessori (16/8 –bittinen) ei levyasemaa, tallennus nauhurille, myöhemmin lisättiin levykeasema ISA 8 väylä
PC:n historiaa PC XT Kiintolevy Max. 640KB muistia Ensimmäiset kloonikoneet (Compaq) 1983 Apple Lisa (Mac XL) Graafinen käyttöliittymä Hiiri
PC:n historiaa 1984 PC AT 80286 prosessori max. 16MB muistia, tosin MSDOS ei osannut käyttää kuin 640KB ISA 16 väylä Vielä 1990-luvulla PC:t olivat oikeastaan paranneltuja PC AT -koneita
PC:n historiaa 1988 IBM PS/2 uusi väylä, mikrokanava IBM menettämässä johtavan asemansa OS/2 käyttöjärjestelmä Intel 80386-prosessori 32-bittinen suojattu tila nykyiset prosessorit periaatteessa paranneltuja 386-prosessoreita Lisätietoja: http://www.ox.compsoc.net/~swhite/history/
Käyttöjärjestelmien kehitys Ensimmäiset käyttöjärjestelmät 1950-luvulla. Lähinnä kokoelma peruspalveluja sovelluksille. Eräajo 1960-luvulla Moniajo Vuorovaikutteisuus 1960-luvun lopussa pääteajattelu sitä ennen vain reikäkortteja ym 1970 UNIX 1980-luvulla graafiset käyttöliittymät 1990-luvulla verkkokäyttöjärjestelmät
MS-DOS Alun perin IBM PC:n käyttöjärjestelmän piti olla Digital Research:n CP/M. Digital Research ei jostakin syystä toimittanut käyttöjärjestelmää, jolloin IBM tilasi käyttöjärjestelmän pikkuyritykseltä nimeltä Microsoft. Microsoft osti oikeudet Q-DOS:iin (Quick and dirty dos) ja teki ensimmäisen version 1.0. (1981) IBM korjasi MS-DOS:n virheitä ja toimitti PC:n mukana PC-DOS nimisenä. MS-DOS on yksiajokäyttöjärjestelmä. Poikkeuksena on MS-DOS 4.01, joka oli tarkoitettu automaatiosovelluksiin.
MS-DOS MS-DOS 2.0 (1983) hakemistot MS-DOS 3.0 (1984) tuki isoille kiintolevyille (32MB) ja tiheille levykkeille. MS-DOS 3.1 (1985) verkkotuki ensimmäisen kerran MS-DOS 3.2 (1985) tuki 3½” –levykkeille (vain 720KB) MS-DOS 3.3 (1987) 1.44MB levykkeet ja kiintolevyjen osiointi MS-DOS 4.0 (1988) tuki kiintolevyille 2GB asti
MS-DOS MS-DOS 5.0 (1991) tuki yli 640KB muistialueelle (UMB, HMA) MS-DOS 6.0 (1993) tuki levyn pakkaamiselle MS-DOS 6.2 levyn pakkaus (DoubleSpace) poistettiin lisenssiriitojen takia MS-DOS 6.22 uusi versio levyn pakkauksesta (DriveSpace). Viimeinen MS-DOS-versio.
Windows 1985 Windows 1.0 Hyvin vähän käytetty 1987 Windows 2.0 Käytettiin jonkin verran lähinnä Excel:n takia 1990 Windows 3.0 Ensimmäinen suosittu Windows. Nosti Microsoftin maailman suurimmaksi ohjelmistotaloksi. Tuki suojatulle tilalle ja yli 640KB muistialueen. Moniajo 1992 Windows 3.1. Vähän paranneltu 3.0. Myöhemmin tuli versio 3.11, johon oli lisätty verkkotuki. Versioon 3.11 asti kaikki Windows:t käyttävät MSDOS:a apuna.
Windows 1993 Windows NT 3.1 32-bittinen Lineaarinen muistiavaruus 1994 Windows NT 3.5 ja 3.51 1995 Windows 95 1998 Windows 98 2000 Windows 2000 2001 Windows XP 2003 Windows 2003 (XP server) 2006 Windows Vista
UNIX/Linux 1970 Unix kehitys aloitettiin lähinnä Multics-käyttöjärjestelmän miniversiona 1975 ensimmäiset kaupalliset UNIX julkaisut 1991 Linux alkaa Linus Thorwaldsin harrasteprojektina 1994 Linux ytimen versio 1.0 1996 Linux ydin 2.0 1999 Linux ydin 2.2 2001 Linux ydin 2.4
Standardit Viralliset Suositukset De facto
Standardit Yleinen ja virallinen Standardointi Sähköala Tietoliikenne ISO Kansainvälinen ITU Entiset CCITT ja CCIR IEC CE merkki ETSI Eurooppalainen CEN Genelec SFS SESKO THK Suomalainen
Standardit ANSI Amerikan standardointi järjestö. Amerikan edustajana ISO:n toiminnassa IEEE sähkö- ja elektroniikkainsinöörien yhteistyöjärjestö. Käyntännössä ANSI:n alaisuudessa. EIA. Yhdysvaltalaisten elektroniikka-alan yritysten järjestö. ANSI:n jäsen. Nykyisin yhdessä TIA:n kanssa.
Standardit, Internet ISOC Kattojärjestö IETF Tunnistaa Internetin ongelmat WWW Consortium WWW ja HTML ICANN Verkko- tunnukset IESG RFC- dokumentit
Käyttöjärjestelmän tehtävät Käyttöjärjestelmä on jonkin verran epämääräinen käsite. Sen merkitys vaihtelee kohderyhmän mukaan: Käyttäjäopetuksessa käsitellään yleensä käyttöliittymää ja apuohjelmia Ohjelmoija on kiinnostunut pääosin käyttöjärjestelmän palveluista Ylläpitäjä on kiinnostunut rakenteesta, käyttäjien hallinnasta, tietoturvasta ym.
Käyttöjärjestelmän tehtävät Perustehtävät: palvelut sovelluksille Ohjelmointirajapinta Oheislaitteiden käyttö ohjelmien hallinta käynnistys ja lopetus moniajo suojaus virhetilanteiden hallinta laitteiston hallinta muistinhallinta suojaus laiteajurit verkkotuki
Käyttöjärjestelmän tehtävät Käyttöjärjestelmän mukana tulee yleensä: yksi tai useampia käyttöliittymiä apuohjelmia tiedostojen käsittelyyn ym.
Käyttöjärjestelmän ominaisuuksia Moniajo/yksiajo Monenkäyttäjän Reaaliaikainen Graafinen/merkkipohjainen
Moniajo 16-bit Windows vuoro vuoro vuoro Palauttaa vuoron Palauttaa vuoron Windows Tehtävä 1 Tehtävä 1 Tehtävä 1
Moniajo (32-bit Windows) vuoro vuoro vuoro keskeytys keskeytys keskeytys Windows Säie 1 Säie 1 Säie 1
Peruskäsitteitä Bitti pienin yksikkö. Arvo voi olla 0 tai 1. (nibble 4 bittiä. Harvoin käytetty) Tavu (Byte) 8-bittiä. Yleisimmin käytetty tiedon mittayksikkö. Yleensä tietoalkioille varataan tilaa tavun kokoisina paloina. Esim. vaikka ascii-koodisto on 7-bittinen, jokainen merkki vie yhden tavun. Sana (word) tarkoittaa alun perin tietokoneen luonnollista tietoalkion kokoa. Esim. 32-bittisellä koneella sana on 32-bittinen. Nykyisin käsitetään sana aina 16-bittiseksi.
Perusyksiköt Yhdellä bitillä voidaan esittää vain kaksi arvoa 0 tai 1. Tavulla on 256 mahdollista arvoa (0-255).(28) 16-bittisellä luvulla on 65536 mahdollista arvoa. (216) 32-bittisellä luvulla on 4 294 967 296 mahdollista arvoa.(232)
Peruskäsitteitä Tavu on pieni yksikkö, siksi yleensä siihen liitetään etuliite kilo, mega, giga tai tera. Etuliitteillä on kaksi eri tulkintaa, virallinen ja tietotekniikassa yleensä käytetty. kilo 1000 1024 = 210 mega 1000000 1048576 = 220 giga 109 1073741824 = 230 Tera 1012 240
Peruskäsitteitä Valitettavasti tietotekniikassa käytetään molempia merkityksiä sekaisin. Esimerkiksi kiintolevyjen koossa mega tarkoittaa virallista arvoa miljoona. Muistien koossa mega tarkoittaa kuitenkin 1 048 576! IEC-standardi (1998) määrittelee tietotekniikassa käytettäville etuliitteille uudet nimet, jolloin perinteiset etuliitteet tarkoittavat alkuperäisiä arvojaan. Kibi 210 tebi 240 Mebi 220 pebi 250 Gibi 230 exbi 260 30
Kokonaisluvut Tietokoneen peruslukutyyppi on binaarinen kokonaisluku. Kokonaislukujen käsittely on nopea Kokonaisluvuilla on aina rajoitettu koko. Rajan ylittäminen aiheuttaa virhetoiminnan Etumerkittömät kokonaisluvut: vain positiivisia arvoja Etumerkilliset kokonaisluvut: käytetään kahden komplementtiarvoja
Reaaliluvut Reaalilukujen esittämiseen käytetään BCD-koodausta tai liukulukuja. Nykyisin lähes aina liukulukuja. BCD-koodauksessa kymmenjärjestelmän luvun jokainen numero muutetaan erikseen binaariseksi. BCD-koodausta käytetään joissakin vanhoissa ohjelmointikielissä ja taskulaskimissa
Liukuluvut Luku muutetaan muotoon m*2e Kerrointa m kutsutaan mantissaksi. E on exponentti. Luvusta tallennetaan vain mantissa ja exponentti. Liukuluvuilla voidaan käsitellä hyvin suuria lukuja. Huomaa, että tarkkuus ei aina ole suuri. Liukuluvuilla voi tulla pyöritysvirheitä Yleensä käytetään IEEE:n suosittelemia liukulukuja
Liukuluvut Yleisesti käytettyjä liukulukutyyppejä: Lukualue 1038, tarkkuus 7 numeroa. Koko 3 tavua Lukualue 10308, tarkkuus 15 numeroa. Koko 7 tavua Lukualue 104932. Koko 8 tavua
Peruskäsitteitä, merkkikoodistot Tietokone pystyy varsinaisesti käsittelemään vain lukuja. Siksi tekstin käsittelemiseksi pitää teksti ensin muuttaa luvuiksi. Jokaiselle merkille on sovittu vastaava luku. Merkkikoodisto on määritelmä merkkejä vastaavista luvuista. Useimmat merkkikoodistot perustuvat ASCII-koodistoon.
Peruskäsitteitä, merkkikoodistot ASCII 7-bittinen. kirjaimet a-z, A-Z ja välimerkkejä Euroopassa käytettiin versiota, jossa jotkin erikoismerkit oli korvattu skandinaavisilla merkeillä EBCDIC Käytössä lähinnä IBM:n suurkoneissa. Poikkeaa täysin ASCII:sta. IBM Extended MS-DOS:n merkkikoodisto. Käytössä myös Windows:n komentorivillä 8-bittinen. 128 ensimmäistä merkkiä ASCII-koodiston mukaisia ANSI Windows:n koodisto Amerikkalainen versio ISO 8859-1 koodistosta ISO 8859 8-bittinen eri kielialueversioita, 8859-1, 8859-2, … UNICODE 16-bittinen 256 ensimmäistä merkkiä iso-koodiston mukaisia.
Peruskäsitteitä, merkkikoodistot UTF-8 on tapa esittää 16-bittisiä lukuja. Unicode tallennetaan usein UTF-8 muodossa. Vie vähemmän tilaa kuin perusmuodossa. Ensimmäiset 128 merkkiä esitetään yhdellä tavulla. Seuraavat 4096 merkkiä kahdella tavulla ja loput merkit kolmella tavulla. UDF-8 määrittelee myös tavujen tallennusjärjestyksen.
Tavujärjestys Muistiin tallennetaan tietoa tavuina. Samoin tiedonsiirrossa lähetetään tieto tavuina. 16-bittisen luvun tallennus tarkoittaa, että tallennetaan kaksi tavua. Tavut voidaan tallentaa eri tavoin: little endian. Ylempi tavu ensin. big endian. Alempi tavu ensin. Esim. PC ja MacIntosh tallettavat ei järjestyksessä.
Peruskäsitteitä MIPS (mega instructions per second) Käytetään prosessorin nopeuden yksikkönä. Eri prosessorin vertailu on vaikeaa, koska käskyt eivät ole samanlaisia. MFLOPS (mega floating point operations per second) Suurissa koneissa käytetty nopeuden vertailuarvo.
Peruskäsitteitä • Pääte • Monenkäyttäjän järjestelmissä jokaisella käyttäjällä on oma pääte • Pääte on liitetty keskuskoneeseen yleensä sarjaliitännällä (RS232C) • Nykyisin varsinaiset päätteet ovat harvinaisia. Yleensä käytetään PC:tä ja jotakin pääteohjelmaa (telnet tms.)
Prosessit ja säikeet Prosessi tarkoittaa käynnissä olevaa ohjelmaa. Oikeammin ohjelman käynnistyskertaa. Prosessit voi listata Windows Tehtävien hallinta –ohjelmalla. Linux:ssa prosessilistauksen saa ps -komennolla. Prosesseista käytetään joskus Windows-maailmassa nimitystä task (tehtävä). Jokainen prosessi on oma erillinen toimintakokonaisuus. Jokaisella prosessilla on oma muistialueensa, jota muut prosessit eivät saa käyttää. Tavoitteena on, että prosessit eivät häiritse toisiaan.
Säikeet Joskus tarvitaan myös ohjelman sisällä samanaikaisia toimintoja. Esimerkiksi tekstinkäsittelyohjelmassa tavutus toimii samanaikaisesti normaalin toiminnan kanssa. Tämän takia prosessiin lisättiin säikeet. Prosessi määrittelee resurssit ja säie on prosessin suoritettava osa. Säikeitä voi olla useita samassa prosessissa.
Moniajo Tietokoneessa voi suorittaa samanaikaisesti vain yhtä ohjelmaa, jos prosessoreita on yksi. Moniprosessorikoneissa voidaan suorittaa jokaisessa prosessorissa omaa ohjelmaa. Moniajo toteutetaan niin, että prosessori suorittaa lyhyen ajan jokaista ohjelmaa vuorollaan. Kun ohjelmaa vaihdetaan nopeasti, näyttää kuin ohjelmat toimisivat samanaikaisesti.
Moniajo Vanhoissa 16-bittisissä Windows-versioissa moniajo toimi niin, että Windows antoi vuoron ohjelmalle. Ohjelma suoritti jonkin lyhyen toiminnan ja luovutti vuoron takaisin. Jos ohjelma ei luovuttanut vuoroa takaisin, muut ohjelmat eivät saaneet lainkaan suoritusvuoroa.
Moniajo 32-bittisissä Windows-versioissa ja Linuxissa käytetään keskeyttävää moniajoa. Käyttöjärjestelmä antaa vuoron ohjelmalle ja lyhyen ajan kuluttua keskeyttää ohjelman. Yksi ohjelma ei voi estää muiden suoritusta.
Prosessit ja säikeet Alun perin Unix:ssa käyttöjärjestelmä suoritti prosesseja vuorotellen. Uusissa Unix-versioissa ja Windows:ssa ajetaan säikeitä vuorotellen. Jokaisella prosessilla on siten ainakin yksi säie. Jos prosessissa halutaan samanaikaisia toimintoja, voidaan käynnistää lisää säikeitä.
Tehtäviä Miksi kiintolevyn valmistajat käyttävät mieluummin Megalla arvoa tasan miljoona? Miksi muistien koossa on kätevämpi käyttää Megalla arvoa 1 048 576 kuin tasan miljoona?
Kuvien esittäminen Kuva voidaan esittää tietokoneessa bittikarttana tai vektorikuvana. Monet piirto-ohjelmat osaavat käyttää molempia muotoja. Bittikartta on parempi valokuvien esittämiseen. Vektorikuva on parempi piirrosten, kuten tekniset piirustukset, esittämiseen.