:: wikimiki.org ::
| Tietokone |
Tietokone
::Tämä artikkeli käsittelee laitetta. Tietokone (lehti) käsittelee lehteä.
Tietokone on kone, joka käsittelee numeeris-loogista tietoa ohjelmointinsa mukaisesti. Arkikielessä tietokoneella tarkoitetaan yleensä yleiskäyttöistä laitetta, joka on tarkoitettu suorittamaan kaikenlaisia tietojenkäsittelytehtäviä. Esimerkiksi pelikonsolit, matkapuhelimet ja taskulaskimet ovat usein ominaisuuksiensa puolesta täysiverisiä tietokoneita, vaikka niitä ei käyttötarkoitustensa vuoksi yleensä pidetäkään sellaisina.
Eräs tietokoneen matemaattinen malli on Turingin kone, jonka kehitti englantilainen matemaatikko Alan Turing. Tietojenkäsittelyn ekvivalenssiperiaatteen mukaan kaikki tietokoneet pystyvät suoriutumaan samoista tehtävistä, mikäli käytössä on riittävästi tallennustilaa ja aikaa. Näin ollen mikäli koneella tai formaalilla järjestelmällä (esimerkiksi ohjelmointikielellä) voi toteuttaa Turingin koneen, voi sillä periaatteessa toteuttaa myös minkä tahansa algoritmin tai ohjelman.
Tietokoneiden edeltäjinä voidaan pitää toisaalta reikäkorttien käsittelyyn tarkoitettuja reikäkorttikoneita, toisaalta esimerkiksi mekaanisia laskimia. Ensimmäiset varsinaiset ohjelmoitavat tietokoneet rakennettiin 1940-luvulla ja niitä käytettiin mm. toisen maailmansodan aikaan salakirjoitusten murtamiseen (brittiläinen Colossus), ohjusten ratojen laskentaan (amerikkalainen ENIAC) ja lentokonesuunnittelun lujuuslaskentoihin (saksalainen Z3).
Tietokoneen toiminta
Vaikka tietokoneen pystyykin toteuttamaan lukemattomilla eri tekniikoilla, on valtaosa tietokoneista kautta historian perustunut elektronisiin piireihin, joiden alkeellisimmat perusosat suorittavat Boolen algebraan kuuluvia perusoperaatioita. Koska Boolen algebra perustuu kahteen totuusarvoon, on luontevaa käyttää niitä kaiken käsiteltävän tiedon ilmaisemiseen: esimerkiksi lukuja on teknisesti yksinkertaisinta käsitellä, jos ne on esitetty binäärijärjestelmän avulla. Yksittäisestä totuusarvosta (binäärijärjestelmän numerosta 1 tai 0) käytetään nimitystä bitti.
Useimmat tietokoneet toteuttavat John von Neumannin mallia, jossa sekä ohjelma että sen käsittelemä tieto ovat muistiin tallennettua dataa. Tietokone suorittaa ohjelmaa yleensä lukemalla peräkkäisiä muistipaikkoja ja tulkitsemalla lukemansa bittijonot konekielisiksi käskyiksi. Konekielikäsky suorittaa yleensä jonkin yksinkertaisen alkeisoperaation, kuten bittijonon lukemisen muistipaikasta, kahden bittijonon välisen yhteenlaskun tai ohjelman suoritusosoitteen ehdollisen vaihtamisen.
Konekielikäskyjä suorittavaa tietokoneen osaa kutsutaan suorittimeksi eli prosessoriksi, joka on nykyään yleensä alaltaan muutamien neliösenttimetrien kokoinen integroitu piiri. Henkilökohtaisissa tietokoneissa on tyypillisesti vain yksi suoritin, mutta suurissa palvelimissa ja supertietokoneissa niitä voi olla jopa useita tuhansia.
Suorittimien lisäksi tietokoneessa on yleensä myös muita piirejä, jotka suorittavat erikoistuneempia tietojenkäsittelytehtäviä ja vapauttavat siten varsinaiset suorittimet näistä tehtävistä, esimerkiksi:
- Levyohjain, joka kopioi tietoa keskusmuistin ja kiintolevyn välillä.
- Näytönohjain, joka muuttaa näyttömuistiin tallennetun kuvan näyttölaitteelle sopivaksi ajoitetuksi signaaliksi. Monet näytönohjaimet osaavat myös itse piirtää grafiikkaa näyttömuistiin.
Vaikka kaikki tietokoneet pystyvätkin periaatteessa suorittamaan samat tehtävät, ovat jotkut tietokoneet huomattavasti soveltuvampia joihinkin tehtäviin kuin toiset. Suorituskykyä erityyppisissä tehtävissä mitataan ns. benchmark-testeillä. Riittävän suorituskyvyn lisäksi merkittäviä tekijöitä ovat mm. koneen vakaus, vikasietoisuus, virrankulutus, fyysinen koko, ohjelmistoyhteensopivuus sekä hankinta- ja käyttökustannukset.
Arkipuheessa tietokoneiden "paremmuutta" vertaillaan usein vertailemalla suoraan esimerkiksi suorittimien kellotaajuuksia. Kellotaajuus voi antaa suurpiirteisen vihjeen esimerkiksi PC-työaseman teknisestä iästä ja siten sen yleisestä suorituskyvystä ja luotettavuudesta useimmissa tehtävissä, mutta pelkkiin numeerisiin suureisiin katsominen voi esimerkiksi koneen ominaisuuksia arvioitaessa olla hyvinkin harhaanjohtavaa.
Tietokoneen arkkitehtuuri
Tietokonejärjestelmään kuuluvat
- ohjelmisto, "pehmo", "softa", (engl. :en:software).
- laitteisto, "rauta", (engl. :en:hardware) ja
Ohjelmisto jaetaan edelleen
- kiinteisiin eli valmiisiin ohjelmiin, "valmo" (engl. :en:firmware),
- käyttöjärjestelmän (esim. Microsoft Windows tai GNU/Linux) ja
- käyttöjärjestelmän päällä toimiviin sovellusohjelmiin (esim. Open Office).
Tietokoneen laitteiston von Neumannin arkkitehtuuri on säilynyt suunnilleen samana aina 1940-luvulta asti. Se on saanut nimensä ENIACin rakentamiseen osallistuneen John von Neumannin mukaan. Siihen kuuluu:
- suoritin, (engl. processor), joka suorittaa ohjelmaa
- muisti, (engl. data storage), johon tallennetaan sekä ohjelmat että niiden käyttämät tiedot
- oheislaitteet, (engl. peripheral device), tiedon syöttöön ja tulostukseen
Pöytätietokoneen osat
Nykyaikaisen pöytämallisen työasema- tai kotitietokone laitteisto koostuu erillisistä osista, joita ovat tyypillisesti:
- yksi tai useampi suoritin
- muisti
- emolevy
- näytönohjain (joko emolevyllä tai erillisenä korttina)
- ääniohjain (joko emolevyllä tai erillisenä korttina)
- massamuisti
- yksi tai useampi kiintolevy
- Kirjoittava DVD-asema
- ohjauslaitteet
- näppäimistö
- hiiri
- yksi tai useampi näyttö
- tietoliikenneyhteyden (esim. Internet) mahdollistava laite (yleensä verkkokortti tai modeemi)
- tulostin
- kuvanlukija eli skanneri
Lisäksi tarvitaan osia, joita ei käytetä tiedonkäsittelyyn, kuten
- kotelo
- virtalähde
- muiden osien jäähdytykseen tarvittavat tuulettimet tai vesijäähdytysjärjestelmä
Tietokoneiden käytöstä
Ensimmäiset tietokoneet 1940- luvulla oli tehty sotilaallisiin tarkoituksiin, mm. Saksan ja Japanin salakirjoitusjärjestelmien murtamiseen.
Tietokonetta käytetiin aluksi keskeisesti laskemiseen (vrt. engl. computer). ENIAC (385 kertolaskua sekunnissa) pystyi korvaamaan kertolaskussa (noin 1 kertolasku per minutti per ihminen) noin 23 000 ihmistä. Nykyinen mikroprosessori on edelleen noin 3 000 000 kertaa ENIAC:ia nopeampi, eli korvaa kertolaskuissa noin 60 miljardia ihmistä.
Myöhemmin oivallettiin että ykkösillä ja nollilla voitiin kuvata mitä tahansa: tekstiä (tekstinkäsittely), kuvia (kuvien käsittely), sanomia, kirjoja, arkistoja, maastoa, rakennuksia jne.
Tietokone ohjaa monesti laajoja järjestelmiä, esim. tietokoneohjattua tuotantoa, ase-, tiedustelu- tai johtamisjärjestelmää, liikennevaloja, puhelinkeskuksia, Internetin reitittimiä, autoja, pesukoneita, lähes kaikkia teknisiä järjestelmiä. Nykyaikaisen yhteiskunnan teknologinen pohja on keskeisesti tietokonetekniikkaa.
Tietokoneen kapasiteetin kasvu on jatkuvasti yllättänyt asiantuntijat. Aikojen saatossa ovat asiantuntijoina pidetyt henkilöt lausuneet monia väitteitä, jotka tulevaisuus on osoittaneet vääriksi, esimerkiksi
- "Maailmassa on markkinoita ehkä viidelle tietokoneelle."
- "En näe mitään käyttöä tietokoneille kotona."
- "640 kilotavun pitäisi riittää kaikille.
Tietyssä viitekehyksessä nämä ovat joskus ehkä voineetkin pitää paikkansa.
Šakin peluuta pidettiin pitkään niin ihmismäisenä toimintona, että tietokoneen ei ajateltu koskaan pystyvän siihen.
Merkittävä tapaus tietokoneen historiassa oli myös Toy story- elokuva, joka oli tehty täysin tietokoneella, tietokoneanimaationa.
Tietokonesukupolvet
Tietokoneiden sukupolvien teknologisia vaiheita ovat olleet:
- putkikoneet
- transistorikoneet
- mikropiirikoneet ja
- mikroprosessorikoneet.
Ensimmäiset elektroniset tietokoneet 1940- luvun lopussa perustuivat releisiin ja elektroniputkiin, hitaisiin, epäluotettaviin, suurta energiakulutusta edustaviin ja suuriin komponentteihin. Colossus oli ensimmäinen elektroninen yleiskäyttöinen tietokone, joka rakennettiin Britanniassa Natsien viestiliikentessä käytetyn salauksen purkamiseen. Koska kyse oli tiedustelu toiminnasta, Britannian hallituksen salassapitomääräys koski myös Colossusta. ENIAC oli Yhdysvaltain ensimmäinen täysin elektroninen yleiskäyttöinen tietokone. Sen käyttö tarkoitus oli tykistön ampumataulukoiden laskenta, mitä ei luokiteltu sodanjälkeen salaiseksi ja näin ollen ENIAC:iin liittynyt dokumentaatio voitiin julkistaa heti 2. maailmansodan päätyttyä
Siirtyminen 1950- luvulla puolijohteisiin perustuviin transistoreihin pienensi oleellisesti komponettien kokoa ja energian tarvetta sekä lisäsi luotettavuutta.
Siirtyminen 1960- luvulla mikropiirehin pienensi jälleen tietokoneen komponenttien kokoa. Alkoi Mooren lakina tunnettu kehitys, jossa samalle mikropiirille saatiin kaksinkertainen komponenttimäärä puolessatoista vuodessa.
Seuraava mullistus oli mikroprosessorin keksiminen. Mikroprosessorin avulla syntyi henkilökohtainen tietokone, PC.
1980- ja 1990- luvuilla siirryttiin suurtiheyksisiin mikropiireihin (VLSIC) ja edelleen suurnopeuksisiin mikropiireihin (VHSIC).
Tietokoneiden sukupolvien suurvaiheita ovat olleet:
- suurtietokone (1965 - 1975) (mainframe)
- minikone (1975 - 1985)
- palvelin (1985 - 1995)
- verkko (1995 - ?)
- verkko + pääte (2000 - ?)
Mikroprosessori, suoritin
Mikroprosessori on tietokoneen keskusyksikkö, aivot, yhdellä mikropiirillä. Ensimmäinen mikroprosessori, Intelin 4004 vuodelta 1971 sisälsi noin 2300 transistoria. Sen kellotaajuus, nopeus oli 0,1 MHz:iä, kerralla käsitteltävän tiedon leveys 4 bittiä (yksi numero) ja se pystyi käsittelemään 0,06 miljoonaa käskyä sekunnissa.
Kolmekymmentä vuotta myöhemmin, vuonna 2001 uusin mikroprosessori Intelin perheessä oli Itanium. Se sisälsi noin 25.000.000 transistoria, sen kellotaajuus oli 733 MHz:iä, kerralla käsisteltävän tiedon leveys oli 64 bittiä (16 numeroa) ja Itanium pystyi suorittamaan 7491 miljoonaa käskyä sekunnissa.
Luvut ovat murskaavia. Ihmiskunnan tekniikan historiassa ei ole vastaavaa ilmiötä. Tästä voidaan päätellä, että ihmiskunnan tekniikan historiassa eletään poikkeuksellisia aikoja.
Tietokoneen aiheuttamia muutoksia
1. Yksityisyys vaarassa. Mikroprosessori on luomassa ennen näkemättömän mahdollisuuden yhdistellä ja saada tieto eri lähteistä. Tämä kehitys uhkaa ihmisten yksityisyyttä. Lääke tähän on mikroprosessori ja sen antama mahdollisuus tietojen tehokkaaseen ja halpaan salaamiseen.
2. Elektroninen työpaikka. Aluksi työpaikka muuttui melko vähän. Sitten halvat työryhmäohjelmat ja tietokoneverkot muuttivat työtä enemmän. Johto pystyy johtamaan useampaa ja erilaisempaa työryhmää tehokkaasti. Hyvät uutiset ovat se, että toimistokoneet eivät koskaan ole olleet näin halpoja. Huonot uutiset ovat se, että ihmisten etenemismahdollisuudet pienenevät, kun johtajia tarvitaan vähemmän.
3. Aivokuvaus kaikille. Kolmiulotteiset tomografia- laitteet vaativat laskentakapasiteetin, joka oli toteutettavissa vain kalliilla minitietokoneilla. Nyt sama kapasiteetti löytyy tehokkaimmista mikroista.
4. Uutistuotannosta tulee yhteistoimintaa. Aiemmin uutiset tulivat suurista uutistoimistoista. Nyt sähköpostijärjestelmät ja elektroniset keskustelufoorumit tarjoavat uutisaiheita valtavan turhan tiedon lisäksi. Reportterit saavat paljon sähköpostia ulkopuolisilta. Uutispohja kasvaa.
5. DNA-mysteerit paljastuvat. Ihmisperimän molekyyliketjujen laskenta on synnyttänyt uuden laskennallisen molekyylibiologian. Sairastumisherkkyys ja perinnölliset taudit voidaan kartoittaa. Ja vakuutusyhtiöt voivat tutkia, ketä kannattaa vakuuttaa.
6. Sähköposti luo demokratiaa. Se korvaa hierarkkisen johtamisportaikon ja mahdollistaa suoran tiedon alhaalta ylös (vrt kohta 3).
7. Älykkäämmät autot hallitsevat maanteitä. Moottorit käyttävät vähemmän polttoainetta ja antavat paremman tehon. Tarve säätää moottoria huollon yhteydessä on mennyttä aikaa. Omia käyttöjärjestelmiä yhdistämään tavallisen auton noin tusina mikroprosessoria tutkitaan. Tiedon valtatie autossa.
8. Luottoa kaikille. Kymmenen vuotta sitten luottokorttiostosten tarkistaminen oli hankalaa ja työlästä. Nyt jokaisen ostoksen automaattinen tarkastus on mahdollista heti, ja ennen kaikkea halvalla. Vuonna 1990 Visan tietoverkoissa maksettiin 174 miljardilla dollarilla, vuonna 1994 293 miljardilla, joka tarkoittaa 17 prosentin vuosikasvua.
9. Maailmanlaajuinen äänivalinta. Kännykkä on käytännössä mikrotietokone, johon on liitetty antenni ja joka on optimoitu signaalien välittämiseen. Uudet matkapuhelinverkot tarjoavat uusille valtiolle mahdollisuuden kivikaudesta suoraan uusimpaan tekniikkaan.
10. Animaatio avaa uuden ulottuvuuden. Elokuva Toy Story tehtiin pienimmällä henkilöstöllä kuin mikään aikaisempi animaatioelokuva. Silicon Graphicsin työasemien koneaikaa kului 800 000 tuntia ja tuloksena oli 500 Gigatavua tietoa, jonka yleisö näki filminä.
11. Tietokone ja digitaalinen signaalinkäsittely on aivan keskeinen osa nykyaikaisinta tavanomaista sodankäyntiä. Tietokoneeseen perustuvat mm. täsmäase, AWACS, JSTARS, GPS, tietoliikenne ja suuri osa tiedustelua
12. Laajimmillaan tietokone nähdään uuden tieteellisen paradigman mahdollistajana. Tällöin tietokone on avaa ihmiselle kompleksisuuden maailman samalla tavalla kuin mikroskooppi avasi pienuuden maailman ja kaukoputki suuruuden maailman. Tietokone tutkimusvälineenä mahdollistaa mm. kokonaisuuksien uudenlaisen tutkimuksen osiin keskittymisen sijasta. Tätä tietokoneiden aiheuttamaa muutosta on käsitellyt mm. amerikkalainen filosofi ja fyysikko Heinz R. Pagels.
Tietokoneen tulevaisuudesta
Mooren laki jatkunee vielä jonkin aikaa, eli tietokoneiden kehitys jatkuu ainakin nykyisenlaisena. Tämä kehitys merkitsee:
- teknisen älykkyyden radikaalin kasvun jatkumista (ks. Epistemologia/Tekninen ja inhimillinen tieto)
- yhä älykkäämpien, suurempien ja reaaliaikaisempien tehtävien siirtymistä tietokoneille
- tekniikan ja ihmiskunnan tietokoneistumista
Tietokoneiden tulevaisuus on tietokoneverkoissa. Mullistusta tietokonetekniikassa on esitetty kvanttitietokoneista. Tietokone muuttaa ehkä ihmiskunnan kehityksen suunnan. Yksi tällainen suunta on transhumanismi.
Kirjallisuutta
- Martin Davis: Tietokoneen esihistoria Leibnizista Turingiin. Art House, 2003. ISBN 951-884-364-3
Katso myös
- Tietotekniikka
- Kannettava tietokone
- Tietokoneverkot
- Supertietokone
- Sulautettu tietokone
- Tekninen ja inhimillinen tieto
- Tietokonesimuloinnin keinot
- Tallennettu tieto
- Tietokoneiden vertailu 1940 - 2000
- Tietokoneet ja mallintaminen Neuvostoliiton kaatamisessa
- Suomen ensimmäiset tietokoneet
- PC
- Macintosh
Luokka:Tietotekniikka
Luokka:Matemaattiset apuvälineet
ms:Komputer
ko:컴퓨터
ja:コンピュータ
simple:Computer
Ohjelmointi
Ohjelmointi tarkoittaa tietokoneelle tai vastaavalle laitteelle jollakin tavalla annettavia toimintaohjeita.
Tietokoneen suoritin ymmärtää suoraan ohjelmia, jotka on kirjoitettu konekielellä.
Tietokonetta ohjelmoidaan tavallisesti käyttämällä jotakin ohjelmointikieltä, jolla kirjoitettu lähdekoodi yleensä käännetään konekielelle tai tulkataan erityisellä kieltä suorittavalla ohjelmalla.
Ohjelmoinnin kehittyminen 1950-luvulla
Ensimmäinen (ja yhä käytetty) ohjelmointikieli oli FORTRAN (formula translator), joka nimensä mukaisesti keskittyi matemaattisten lausekkeiden kääntämiseen konekielelle. Myöhemmin kuitenkin yleistyivät kaupallis-hallinnolliset sovellukset (esimerkiksi tietokannat ja COBOL-ohjelmointikieli).
Ohjelmoinnin kehittyminen 1960-luvulta 1980-luvun puoliväliin
Historiallisesti yleisin tulkattava ohjelmointikieli on ensimmäisen kerran vuonna 1964 esitelty BASIC-ohjelmointikieli ja sen monet versiot. BASIC-kielessä ei ole kehittyneitä rakenteita, mutta vaivattoman käyttönsä ja helposti tehtävän tulkkinsa vuoksi se saavutti suosiota alkuperäisen opetustarkoituksensa ulkopuoleltakin.
Ohjelmointi kehittyi vähitellen kypsäksi tieteenalaksi ja 1960-luvun alkupuolella esitelty Algol-ohjelmointikieli jäi hallitsevaksi ohjelmointikielityypiksi ongelmien ratkaisuun pyrkivään algoritmiseen eli proseduraaliseen ohjelmointiin. Algol-perinnettä ylläpitivät siitä kehitetyt kielet kuten Pascal ja C. Tämän tyyppistä ohjelmointia leimaavat hyppyjen korvaaminen toistorakenteilla, nimetyt ja parametroidut ohjelmanosat eli proseduurit, muuttujien vaikutusalueen rajoittaminen ja peittäminen sekä muuttujien vahva käännösaikainen tyypitys (käännöksessä esimerkiksi tarkastetaan, ettei tuotetulla ohjelmalla voi sijoittaa kokonaisuluvuksi määriteltyyn muuttujaan lukua 10-1). Tärkeää on myös kielen kääntämisen yksinkertaistaminen tekemällä kieli soveltuvaksi erilliseen selaus- ja jäsentämisvaiheeseen.
Myöhemmissä 1980-luvun proseduraalisissa kielissä kehitettiin keinoja modularisoida ohjelmia lisää, abstrakteja tietotyyppejä ja moduulien välisiä sopimuksia (ohjelmointikielet Modula-2, Modula-3, Oberon, Clu ja Eiffel).
Algol-tyyppisissä ohjelmointikielissä on hyvin tärkeää, että ohjelma kääntyy erittäin tehokkaakasi konekieleksi. Nämä ohjelmointikielet soveltuvat suuren ohjelmoijajoukon yhteistyössä tekemien ohjelmointiprojektien tekemiseen. Tämä traditio huipentuu jossain määrin Yhdysvaltojen puolustusministeriön vuonna 1980 määrittelemässä Ada-ohjelmointikielessä eikä sen jälkeen ole vakavasti määritelty tai otettu käyttöön puhtaasti proseduraalisia Algol-tyyppisiä ohjelmointikieliä (eikä tällainen ole myöskään Adan myöhempi versio, Ada 95).
Ohjelmoinnin kehittyminen 1980-luvun puolivälissä
1980-luvulla tekoälyjärjestelmien oletettiin korvaavan ohjelmoinnin. Puhuttiin viidennen sukupolven tietokoneista ja sovelluskehittimistä, joiden avulla varsinaisesta ohjelmoinnista piti päästä eroon. Tähän ajatteluun liittyviä ohjelmointikieliä ovat funktionaaliset ohjelmointikielet (LISP), logiikkaohjelmointikielet (Prolog) ja erilaiset asiantuntijajärjestelmät. LISP-ohjelmointikielen ajateltiin olevan erityisen sovelias tekoälyohjelmointiin, koska LISP-ohjelma ja sen käsittelemä data kuvattiin samalla tavalla sisäkkäisinä listoina. Tekoäly ei johtanut toivottuun läpimurtoon ja kielillä on tällä hetkellä vähän käytännön merkitystä. Tekoälyohjelmointikielet ovat yleensä tulkattavia ja tehottomia konekieleen verrattuna.
Ohjelmoinnin kehittyminen 1990-luvulla
Proseduraalisen ohjelmoinnin seuraaja 1980-luvun loppupuolelta asti on ollut olio-ohjelmointi. Ensimmäinen olio-ohjelmointikieli on vuodelta 1968 oleva Simula. Varsinaisen olio-ohjelmointi-ilmiön aloittanut ohjelmointikieli oli kuitenkin Smalltalk ja valta-asemaan olio-ohjelmoinnin nosti C++-ohjelmointikieli. Olio-ohjelmoinnissa maailma mallitetaan itsenäisiksi olioiksi, jotka voivat periä ominaisuuksilta muilta olioluokilta. Oliot voivat kommunikoida vain viesteillä, metodeilla, niiden tilaa ei voi muuten kysellä. Olio-ohjelmoinnissa tärkeää on koodin uudelleenkäytettävyys eri tarkoituksiin, ei enää ohjelman kääntyminen tehokkaaksi konekieleksi.
1990-luvulla myös käyttöliittyminen tekeminen yksinkertaistui ja standardoitui niin, ettei käyttöliittymän osuus ollut enää suurin osa tyypillisen sovelluksen tekemiseen kuluvasta työpanoksesta.
Ohjelmoinnin kehittyminen 2000-luvun ensimmäisellä vuosikymmenellä
Henkilökohtaisten tietokoneiden myötä henkilökohtaisten hyötyohjelmien käyttö lisääntyi. Näissä käyttäjät pääsevät itse ohjelmoimaan esimerkiksi komentosarjakielten avulla. Komentosarjakielet ovat usein tulkattavia tai "esikäännettyjä" (missä yhdistyy tulkkauksen vaivattomuus ja kääntämisen tehokkuus), eikä tärkeintä ole enää ehdottoman nopea suoritus. Uusimmissa komentosarjakielissä käytetään myös abstraktioita, joiden toteuttaminen kääntämällä ei olisi mielekästä tai edes mahdollista (esimerkiksi koodin dynaaminen evaluointi). Merkittävimmät edistysaskeleet ohjelmointikielissä 1995-2004 ovat tapahtuneet komentosarjakielten alueella. Merkittäviä uusia tulkattavia kieliä ovat Perl, Java, Python ja Ruby.
Mahdollisia tulevaisuuden ohjelmointimenetelmiä
Ohjelmointikielet voivat perustua myös nykyisestä täysin poikkeaviin malleihin ohjelmoinnista. Esimerkiksi ohjelmointi voi perustua rinnakkaiseen käsittelyyn (CSP, Occam, LOTOS), logiikkaan (Prolog), relaatiomalliin (vrt. relaatiotietokanta), kaksisuuntaisiin rajoitteisiin (TeX Metafont), tiedon monenkertaiseen uudelleenkirjoittamiseen tai tiedon luokitteluun. Tietotekniikassa on odotettavissa rinnakkaisen käsittelyn huima yleistyminen, jolloin todennäköisesti ohjelmointikielten seuraavat edistysaskeleet liittyvät rinnakkaisuuden käyttöön.
Tulevaisuudessa myös ohjelman ja laitteiston raja hämärtyy, jolloin on mahdollista, että osa tuotetusta ohjelmasta kääntyy konekielelle, osa suorittimen mikrokoodiksi, osa porttilogiikaksi ja osa mikropiireiksi (esim. ASIC). Esimerkiksi VHDL ja SystemC ovat jo tällä hetkellä kieliä, joilla ohjelma muunnetaan laitteistoksi.
ko:프로그래밍
ja:プログラミング
Suomalaisia ohjelmointisivustoja
- [http://www.mureakuha.com Mureakuha]
- [http://www.suomipelit.com Suomipelit]
- [http://www.koodari.net Koodari]
- [http://www.ohjelmointiputka.net Ohjelmointiputka]
Luokka:ohjelmointi
Matkapuhelin
Matkapuhelin on langaton kannettava puhelin, joka toimii radiotekniikalla soluverkossa.
Perusominaisuuksia nykyaikaisessa matkapuhelimessa ovat puheluiden soittamisen ja niihin vastaamisen lisäksi tekstiviestit, ladattavat soittoäänet ja WAP. Joillakin puhelinmalleilla voi myös ottaa kuvia, pelata pelejä, soittaa musiikkia, kuunnella radiota, käyttää sähköpostia ja selata webbisivuja. Tavallisesti matkapuhelimen akussa riittää puheaikaa noin neljäksi tunniksi. Matkapuhelimien valmistajia ovat muun muassa Nokia, Motorola, Sony Ericsson, Siemens, Samsung, Mitsubishi ja Benefon.
Benefon
Nykyään käytetyin matkapuhelinteknologia on GSM. Se tunnetaan niin sanottuna toisen sukupolven (2G) teknologiana. Sitä ennen Suomessa oli käytössä ensimmäisen sukupolven analoginen NMT-tekniikka. Matkapuhelimilla toimivassa tiedonsiirrossa nykyään yleisin tekniikka on GPRS, joka mahdollistaa huomattavasti aiempaa nopeamman ja halvemman tiedonsiirron matkapuhelimiin. GPRS on niin sanottua 2,5. sukupolvea, eli 2,5G. Seuraavasta sukupolvesta, eli 3G, on olemassa useampia kilpailevia standardeja, joista yleisimmät ovat Euroopassa suosittu UMTS ja Pohjois-Amerikassa, Japanissa ja Korean tasavallassa suosittu CDMA2000.
Suomi on perinteisesti tunnettu matkapuhelinalan mallimaana.
Matkapuhelin voi toimia myös maksulaitteena, tätä käyttöä kutsutaan mobiilimaksamiseksi.
Katso myös
- Älypuhelin
- Kännykkätelevisio
- ARP
- VIRVE (TETRA)
Luokka:Matkapuhelimet
Luokka:Puhelintekniikka
Luokka:Radiotekniikka
zh-min-nan:Hêng-tōng tiān-oē
ko:휴대 전화
ja:携帯電話
Laskin
Laskin on mekaaninen tai elektroninen laite, joka suorittaa numeerisia laskutoimituksia yleensä näppäimistöltä annettujen ohjeiden mukaan. Helmitaulu lasketaan joskus vanhimmaksi laskukoneeksi, joskin siinä ihmisen itse suorittamat rutiinit muodostavat olennaisen osan "mekaniikkaa". Helmitaulussa liikutellaan tankoon kiinnitettyjä helmiä, ja sillä voidaan laskea paitsi yhteen- ja vähennyslaskuja, myös kerto- ja jakolaskujen sekä neliöjuurien kaltaisia monimutkaisempia toimituksia.
Ensimmäisiä automaattisia laskimia olivat Blaise Pascalin ja Gottfried Leibnizin 1600-luvulla kehittämät mekaaniset laskukoneet. Blaise Pascal keksi vuonna 1642 koneen, joka laski yhteen- ja vähennyslaskuja. Kone toimi hammaspyörillä, joita liikuteltiin puikkoja vääntämällä. Leibniz rakensi hieman myöhemmin koneen, joka pystyi suorittamaan myös kerto- ja jakolaskuja automaattisesti.
1960-luvulla yleistyivät sähkömekaaniset ja täysin elektroniset pöytälaskimet, ja 1970-luvun vaihteessa tulivat markkinoille ensimmäiset integroituihin piireihin perustuvat taskulaskimet.
Nykyiset laskimet vaihtelevat kooltaan ja ominaisuuksiltaan huomattavasti. Vaikka runsaasti toimintoja sisältävän laskimen saakin nykyisellä teknologialla esimerkiksi rannekelloon tai osaksi matkapuhelimen tai PDA-laitteen ohjelmistoa, on pelkkiin peruslaskutoimituksiin kykeneville pöytälaskimillekin edelleen paikkansa.
Laskutikku
Kerto- ja jakolaskuja toimittavan laskutikun (laskuviivain) keksi G. W. Leibniz vuonna 1671. Laskutikku on yksinkertaisimmassa muodossaan kaksi toisiinsa nähden liikuteltavaa yhteneväistä logaritmista asteikkoa. Logaritmisten laskujen sääntöjen mukaan laskutikussa kertolaskut vaihtuvat (janojen) yhteenlaskuiksi ja jakolaskut vähennyslaskuiksi. Viivainten päällä liukuva läpinäkyvä hahlo helpottaa oikean kohdan löytämistä.
Laskutikkuja on useita lajeja eri apuasteikkoineen (kuten trigonometriset funktiot, 1/x ja ) kunkin tekniikan haaran tarpeiden mukaan. Tavallisimmilla malleilla saadaan tulokseen kolme oikeata numeroa. Käyttäjän on itse pääteltävä desimaalipilkun paikka.
Samalla periaatteella toimii pyöreä laskukiekko, joita on tehty myös monenlaisiin rajattuihin erikoistarkoituksiin.
Vanhat kassakoneet
1671
Toinen sovellutus vanhoista laskukoneista ovat vanhat kassakoneet. Ne toimivat vipuja asettelemalla ja kammesta vääntämällä tai vaihtoehtoisesti näppäimiä painamalla ja kammesta vääntämällä. Suuremmissa on sähkömoottori.
Lähteet
- [http://runeberg.org/pieni/2/0548.html Pieni tietosanakirja]
ja:電卓
Luokka:Matemaattiset apuvälineet
Turingin koneTuringin kone on teoreettinen malli sille miten tietokone toimii. Mallin kehitti matemaatikko Alan Turing vuonna 1936 määritelläkseen tarkasti käsitteen algoritmi. Turingin kone muistuttaa varhaista mekaanista tietokonetta, vaikkakaan yhtään ohjelmoitavaa tietokonetta ei vielä oltu rakennettu.
Turingin kone joka pystyy simuloimaan mitä tahansa muuta Turingin konetta siihen ladattavien ohjeiden mukaan on nimeltään universaali Turingin kone.
Turingin koneen voi käsittää tietokoneohjelmana, joka toimii tietyn syötteen mukaan, ja universaalikoneen ohjelmoitavana tietokoneena.
Rakenne
Turingin koneessa on:
# Muistina paperinen nauha tai useampia nauhoja.
# Lukupää, joka lukee nauhalta symboleita, kirjoittaa sille ja siirtyä nauhalla eteen- tai taaksepäin.
# Tilarekisteri, joka sisältää koneen senhetkisen tilan.
# Joukko siirtymäfunktioita, jotka kertovat miten tilasta toiseen siirrytään ja mitä siirtymän aikana tehdään. Tilasiirtymät riippuvat nauhalta luetusta arvosta (katso myös: äärellinen automaatti).
Jos siirtymäfunktioiden listan voi lukea nauhalta ennen varsinaisten käskyjen alkamista, kyseessä on universaali kone.
Nauhan pituus on määritelty rajattomaksi, tämä ei kuitenkaan ole ongelma, koska kone suorittaa yhden operaation yhdessä aikayksikössä ja voi siirtyä yhden symbolin eteen- tai taaksepäin nauhalla, tiedetään että nauhan pituus on aina pienempi tai yhtä suuri kuin ohjelman suoritukseen kuluneen ajan määrä. Nauhojen määrää ei ole rajattu, mutta yksinauhainen Turingin kone pystyy aina jäljittelemään useampinauhaista konetta. Yleensä Turingin koneeseen liittyvien ongelmien ratkaisussa on kuitenkin helpompaa käyttää konetta joka lukee ohjelmansa yhdeltä nauhalta ja kirjoittaa toiselle.
Nauhalla olevien mahdollisten symbolien joukko, aakkosto, on rajallinen, kuitenkin siten että siinä on vähintään kaksi symbolia, joista toinen on tyhjä merkki. Laskenta koneella tapahtuu syöttömällä siihen nauha, jossa koneen toimintaa ohjaavat ohjeet ovat.
Myös koneen tilojen määrä on määrätty, erikoistiloja ovat alkutila jossa kone on laskennan käynnistyessä ja kaksi lopputilaa, hyväksyvä ja hylkäävä. Erillisiä tiloja ei kuitenkaan tarvitse olla kuin kaksi. Tilan vaihtumista määräävät siirtymäfunktiot, joka riippuvat koneen sen hetkisestä tilasta ja symbolista jonka kone lukee nauhalta lukupään kohdalta. Siirtymässä kone voi siirtyä nauhalla yhden symbolin oikealle tai vasemmalle, tai kirjoittaa nauhalle uuden symbolin. Jos tilasiirtymää ei ole määrätty, koneen laskenta pysähtyy.
Kirjallisuudessa on koneesta useita eri muunnelmia, joiden erot eivät ole oleellisen suuria.
Kone ratkaisee päätöstehtäviä, tehtäviä joihin vastaus on koneen lopputilan mukaan kyllä tai ei. Ratkaisu voidaan lukea koneen tilasta sen pysähtyessä. Päätöstehtäviä ovat esim. "onko luku 3 suurempi kuin 10?" tai "onko 745 alkuluku?". Esimerkki tehtävästä joka ei ole päätöstehtävä: "Mikä luvuista 1, 3 ja 10 on pienin?".
Merkitys
Yleisen käsityksen mukaan Turingin koneella laskettavissa olevien ongelmien joukko on täsmälleen sama kuin algoritmeilla laskettavien ongelmien joukko.
Turingin koneella voidaan ratkaista periaatteessa jokainen algoritmisesti laskettavissa oleva tehtävä (Churchin-Turingin teesi). Universaali Turingin kone voi simuloida mitä tahansa olemassaolevaa tietokonetta ja päinvastoin, eikä tähän mennessä ole pystytty kehittämään laskentalaitetta jota Turingin koneella ei voisi jäljitellä. Jos ohjelmointikieli on Turing-vahva tai Turing-täydellinen, se voi simuloida minkä tahansa muun tietokoneen tai ohjelman toimintaa.
Ratkeamattomuus
David Hilbert esitti vuonna 1900 23 ongelmaa, joista kymmenennen voi ilmaista: onko mielivaltaisella polynomilla nollakohtaa jonka juuret ovat kokonaislukuja. Jo tätä ennen oli pyritty etsimään menetelmää ratkaista algoritmisesti, onko matemaattisella väitteellä todistusta vai ei? Tätä haastetta nimitettiin saksankielisellä nimellä: Entscheidungsproblem eli päätösongelma.
Tähän liittyy Kurt Gödelin vuonna 1931 esittämä epätäydellisyysteoreema, jonka mukaan matematiikassa on väistämättä paradokseja, jotka johtavat siihen että matematiikan ristiriidattomuutta ei voi todistaa. Tämä johtaa siihen, että on olemassa lauseita, jotka ovat tosia, mutta niitä ei voi todistaa.
Turing perusti työnsä Gödelin lauseeseen, ja todisti lopulta 1936 ettei ole olemassa yleistä menetelmää määrittää mitkä ongelmat ovat ratkaistavissa, ja mitkä ratkaisemattomia. Turing perusti työnsä Gödelin teoreemaan ja redusoi todistuksen lopulta pysähtymisongelmaksi.
Pysähtymisongelma on päätöstehtävä joka kysyy, pysähtyykö simuloitava kone annetulla syötteellä. Turing osoitti ettei tätä voi välttämättä ratkaista algoritmisesti.
Koska Turingin kone on mekaaninen vastine matemaattiselle algoritmille, ja Universaali kone pystyy simuloimaan muita koneita, voidaan konetta ja ohjelmaa ajaa universaalikoneessa ja katsoa pysähtyykä se. Kuitenkin jos löydetään ohjelma, joka väittää pystyvänsä ratkaisemaan pysähtymisongelman, voidaan kehittää kone jolle ongelman ratkaiseva ohjelma ei toimi. Kone voi lukea pysähtymisongelma ratkaisun etukäteen ja toimia päinvastoin.
Hilbertin kymmenes ongelma on myös esimerkki algoritmisesti ratkeamattomasta ongelmasta, jota ei siis voi ratkaista Turingin koneella, tämä todistettiin 1970.
Turingin kone on edelleen tietojenkäsittelyteorian perusasiaa. Sen merkitys on kuitenkin vähentynyt, koska mikään nykyaikainen tietokone ei muistuta vähääkään Turingin mallia. Tilalle ovat nousseet uudemmat mallit kuten rajattoman muistin kone.
Vuonna 1950 Alan Turing väitti että myös ihmisaivot ovat deterministiset, ja siten simuloitavissa Turingin koneella. Tekoälyn määrittämiseen hän esitti nykyisin Turingin kokeen nimellä tunnettavan testin, jolla määritellään onko toimija älykäs.
Turingin malliin perustuvaa konetta ei aikoinaan rakennettu, vaan jo vuonna 1944 olivat käytössä elektroniikkaan perustuvat Colossus-tietokoneet. Ensimmäisen oikean Turing-koneen rakensi vuonna 1986 saksalainen professori Karl Scherer.
Katso myös
- Epätyhjyysongelma
Luokka:Tietotekniikka
ko:튜링 기계
ja:チューリングマシン
th:เครื่องจักรทัวริง
Alan Turing
Alan Mathison Turing (23. kesäkuuta 1912—7. kesäkuuta 1954) oli brittiläinen matemaatikko, logiikan tutkija ja kryptografi. Häntä pidetään yhtenä modernin tietojenkäsittelyn suurimmista uranuurtajista. Hän formalisoi algoritmin ja tietojenkäsittelyn käsitteen Turingin koneeseensa. Toisen maailmansodan aikana hän johti Saksan laivaston Enigma-salakirjoituskoneen purkutyötä brittitiedustelun Bletchley Park -tukikohdassa. Sodan jälkeen hän suunnitteli yhden ensimmäisistä ohjelmoitavista digitaalisista tietokoneista ja myös rakensi prototyypin siitä Manchesterin yliopistossa. Hän myös muiden asioiden ohella esitti merkittäviä ja luonteenomaisesti provosoivia mielipiteitä keskusteluun koneiden ajattelukyvystä.
Turingin homoseksuaalisuus johti häneen kohdistuneeseen vainoon ja lopulta hänen itsemurhaansa. Hän sai tunnustuksen työstään sotasalakirjoituksen parissa vasta kuolemansa jälkeen vuonna 1970.
Lapsuus ja nuoruus
Ennen Turingin syntymää hänen isänsä Julius Mathison Turing toimi Intian valtionhallinnossa. Julius ja vaimo Ethel halusivat lapsen syntyvän Englannissa, joten he palasivat Paddingtoniin, jossa Alan syntyi 1912. Isän toimeksianto Intian valtionhallinnossa oli yhä voimassa, joten Alanin lapsuusvuosien aikana hänen isänsä matkusti Englannin ja Intian välillä, jättäen perheensä Englantiin ystävien huomaan johtuen siirtomaan vaaroista.
Turing osoitti aikaisessa vaiheessa nerokkuuden merkkejä ja joita hän oli tuleva osoittamaan huomattavammin myöhemmin. Hänen on mainittu opettaneen itsensä lukemaan kolmessa viikossa, ja näyttäneen suurta viehtyneisyyttä numeroihin ja pulmiin.
Hänen vanhempansa ilmoittivat hänet St. Michaelin päiväkouluun kuuden ikäisenä. Koulunjohtajatar tunnisti hänen nerokkuutensa aikaisessa vaiheessa ja kuten myös hänen myöhemmät opettajansa Marlborough Collegessa. Marlborough'ssa hän aluksi ilmoitti ongelmistaan koulukiusaajien kanssa. Vuonna 1926, neljäntoista vanhana, hän alkoi käydä Sherbornen sisäoppilaitosta Dorsetissa. Hänen ensimmäisen lukukauden päivä sattui samalle päivälle yleislakon kanssa ja niin päättäväisenä ensimmäisestä päivästään, hän pyöräili yli 100 kilometriä Southamptonista asti koululle pysähtyen yöksi majataloon - saavutus, jonka paikallinen lehdistö noteerasi.
Turingin mieltymys tieteisiin ei ansainnut kunnioitusta häntä kohtaan Sherbournen opettajien ja kuraattorien joukossa, joiden määritelmä opetuksesta kallistui enemmänkin humanistisiin aloihin kuin tieteisiin. Tästä huolimatta Turing jatkoi merkittävien kykyjensä osoittamista rakastamiensa opintojen parissa ratkaisten (ikäisekseen) edistyneitä ongelmia vuonna 1927 ilman peruslaskuopin opiskelua.
Kirjallisuutta
- Alan Turing, arvoitus, Andrew Hodges, ISBN 952-5202-14-3, Terra Cognita (2000)
Turing, Alan
Turing, Alan
ko:앨런 튜링
ja:アラン・チューリング
simple:Alan Turing
th:แอลัน ทัวริง
Turingin koneTuringin kone on teoreettinen malli sille miten tietokone toimii. Mallin kehitti matemaatikko Alan Turing vuonna 1936 määritelläkseen tarkasti käsitteen algoritmi. Turingin kone muistuttaa varhaista mekaanista tietokonetta, vaikkakaan yhtään ohjelmoitavaa tietokonetta ei vielä oltu rakennettu.
Turingin kone joka pystyy simuloimaan mitä tahansa muuta Turingin konetta siihen ladattavien ohjeiden mukaan on nimeltään universaali Turingin kone.
Turingin koneen voi käsittää tietokoneohjelmana, joka toimii tietyn syötteen mukaan, ja universaalikoneen ohjelmoitavana tietokoneena.
Rakenne
Turingin koneessa on:
# Muistina paperinen nauha tai useampia nauhoja.
# Lukupää, joka lukee nauhalta symboleita, kirjoittaa sille ja siirtyä nauhalla eteen- tai taaksepäin.
# Tilarekisteri, joka sisältää koneen senhetkisen tilan.
# Joukko siirtymäfunktioita, jotka kertovat miten tilasta toiseen siirrytään ja mitä siirtymän aikana tehdään. Tilasiirtymät riippuvat nauhalta luetusta arvosta (katso myös: äärellinen automaatti).
Jos siirtymäfunktioiden listan voi lukea nauhalta ennen varsinaisten käskyjen alkamista, kyseessä on universaali kone.
Nauhan pituus on määritelty rajattomaksi, tämä ei kuitenkaan ole ongelma, koska kone suorittaa yhden operaation yhdessä aikayksikössä ja voi siirtyä yhden symbolin eteen- tai taaksepäin nauhalla, tiedetään että nauhan pituus on aina pienempi tai yhtä suuri kuin ohjelman suoritukseen kuluneen ajan määrä. Nauhojen määrää ei ole rajattu, mutta yksinauhainen Turingin kone pystyy aina jäljittelemään useampinauhaista konetta. Yleensä Turingin koneeseen liittyvien ongelmien ratkaisussa on kuitenkin helpompaa käyttää konetta joka lukee ohjelmansa yhdeltä nauhalta ja kirjoittaa toiselle.
Nauhalla olevien mahdollisten symbolien joukko, aakkosto, on rajallinen, kuitenkin siten että siinä on vähintään kaksi symbolia, joista toinen on tyhjä merkki. Laskenta koneella tapahtuu syöttömällä siihen nauha, jossa koneen toimintaa ohjaavat ohjeet ovat.
Myös koneen tilojen määrä on määrätty, erikoistiloja ovat alkutila jossa kone on laskennan käynnistyessä ja kaksi lopputilaa, hyväksyvä ja hylkäävä. Erillisiä tiloja ei kuitenkaan tarvitse olla kuin kaksi. Tilan vaihtumista määräävät siirtymäfunktiot, joka riippuvat koneen sen hetkisestä tilasta ja symbolista jonka kone lukee nauhalta lukupään kohdalta. Siirtymässä kone voi siirtyä nauhalla yhden symbolin oikealle tai vasemmalle, tai kirjoittaa nauhalle uuden symbolin. Jos tilasiirtymää ei ole määrätty, koneen laskenta pysähtyy.
Kirjallisuudessa on koneesta useita eri muunnelmia, joiden erot eivät ole oleellisen suuria.
Kone ratkaisee päätöstehtäviä, tehtäviä joihin vastaus on koneen lopputilan mukaan kyllä tai ei. Ratkaisu voidaan lukea koneen tilasta sen pysähtyessä. Päätöstehtäviä ovat esim. "onko luku 3 suurempi kuin 10?" tai "onko 745 alkuluku?". Esimerkki tehtävästä joka ei ole päätöstehtävä: "Mikä luvuista 1, 3 ja 10 on pienin?".
Merkitys
Yleisen käsityksen mukaan Turingin koneella laskettavissa olevien ongelmien joukko on täsmälleen sama kuin algoritmeilla laskettavien ongelmien joukko.
Turingin koneella voidaan ratkaista periaatteessa jokainen algoritmisesti laskettavissa oleva tehtävä (Churchin-Turingin teesi). Universaali Turingin kone voi simuloida mitä tahansa olemassaolevaa tietokonetta ja päinvastoin, eikä tähän mennessä ole pystytty kehittämään laskentalaitetta jota Turingin koneella ei voisi jäljitellä. Jos ohjelmointikieli on Turing-vahva tai Turing-täydellinen, se voi simuloida minkä tahansa muun tietokoneen tai ohjelman toimintaa.
Ratkeamattomuus
David Hilbert esitti vuonna 1900 23 ongelmaa, joista kymmenennen voi ilmaista: onko mielivaltaisella polynomilla nollakohtaa jonka juuret ovat kokonaislukuja. Jo tätä ennen oli pyritty etsimään menetelmää ratkaista algoritmisesti, onko matemaattisella väitteellä todistusta vai ei? Tätä haastetta nimitettiin saksankielisellä nimellä: Entscheidungsproblem eli päätösongelma.
Tähän liittyy Kurt Gödelin vuonna 1931 esittämä epätäydellisyysteoreema, jonka mukaan matematiikassa on väistämättä paradokseja, jotka johtavat siihen että matematiikan ristiriidattomuutta ei voi todistaa. Tämä johtaa siihen, että on olemassa lauseita, jotka ovat tosia, mutta niitä ei voi todistaa.
Turing perusti työnsä Gödelin lauseeseen, ja todisti lopulta 1936 ettei ole olemassa yleistä menetelmää määrittää mitkä ongelmat ovat ratkaistavissa, ja mitkä ratkaisemattomia. Turing perusti työnsä Gödelin teoreemaan ja redusoi todistuksen lopulta pysähtymisongelmaksi.
Pysähtymisongelma on päätöstehtävä joka kysyy, pysähtyykö simuloitava kone annetulla syötteellä. Turing osoitti ettei tätä voi välttämättä ratkaista algoritmisesti.
Koska Turingin kone on mekaaninen vastine matemaattiselle algoritmille, ja Universaali kone pystyy simuloimaan muita koneita, voidaan konetta ja ohjelmaa ajaa universaalikoneessa ja katsoa pysähtyykä se. Kuitenkin jos löydetään ohjelma, joka väittää pystyvänsä ratkaisemaan pysähtymisongelman, voidaan kehittää kone jolle ongelman ratkaiseva ohjelma ei toimi. Kone voi lukea pysähtymisongelma ratkaisun etukäteen ja toimia päinvastoin.
Hilbertin kymmenes ongelma on myös esimerkki algoritmisesti ratkeamattomasta ongelmasta, jota ei siis voi ratkaista Turingin koneella, tämä todistettiin 1970.
Turingin kone on edelleen tietojenkäsittelyteorian perusasiaa. Sen merkitys on kuitenkin vähentynyt, koska mikään nykyaikainen tietokone ei muistuta vähääkään Turingin mallia. Tilalle ovat nousseet uudemmat mallit kuten rajattoman muistin kone.
Vuonna 1950 Alan Turing väitti että myös ihmisaivot ovat deterministiset, ja siten simuloitavissa Turingin koneella. Tekoälyn määrittämiseen hän esitti nykyisin Turingin kokeen nimellä tunnettavan testin, jolla määritellään onko toimija älykäs.
Turingin malliin perustuvaa konetta ei aikoinaan rakennettu, vaan jo vuonna 1944 olivat käytössä elektroniikkaan perustuvat Colossus-tietokoneet. Ensimmäisen oikean Turing-koneen rakensi vuonna 1986 saksalainen professori Karl Scherer.
Katso myös
- Epätyhjyysongelma
Luokka:Tietotekniikka
ko:튜링 기계
ja:チューリングマシン
th:เครื่องจักรทัวริง
AlgoritmiAlgoritmi on tarkasti määritelty vaihesarja, jota seuraamalla voidaan ratkaista tietty ongelma.
J. G. Brookshear: "Tarkasti ottaen algoritmi on äärellinen joukko täsmällisiä, suoritettavissa olevia ohjeita, jotka ohjaavat päättyvää tehtävän suoritusta."
Koska algoritmin käsite on laaja, algoritmit eivät liity pelkästään tietokoneisiin tai tietojenkäsittelytieteeseen, jossa niiden merkitys on erityisen suuri tietorakenteiden yhteydessä.
Esimerkiksi keittokirja on oikeastaan kokoelma algoritmeja, joita seuraamalla ruoanlaiton pitäisi onnistua. Vastaavasti koottavan kirjahyllyn mukana pitäisi tulla algoritmi, jonka avulla palasista saa rakennettua toimivan kirjahyllyn. Todellisuudessa algoritmit ovat kuitenkin usein monimutkaisempia ja sisältävät esimerkiksi toistoja ja haarautumia loogisen päättelyn perusteella. Tietokoneohjelmien toiminta perustuu kehittyneisiin ohjelmointikielillä ilmaistuihin algoritmeihin.
Sana algoritmi tulee arabialaisen matemaatikon ja tähtitieteilijän Muhammed ibn-Musa al-Khwarizmin nimestä.
Muutamia algoritmeja
- Hakualgoritmit
- Lajittelualgoritmit
- Tiivistealgoritmit (engl. message-digest)
- Pakkausalgoritmit
- Merkkijonohakualgoritmit
- A - -algoritmi
Myös äänen- ja kuvanpakkaukseen liittyvät koodekit käyttävät erilaisia algoritmeja.
Matemaattisia algoritmeja:
- Eukleideen algoritmi
- Neliöjuurialgoritmit
Katso myös
- Asymptoottinen suoritusaika
- Tiedonpakkaus
- Videonpakkaus
- Äänenpakkaus
- Puheen pakkaaminen
luokka:tietotekniikka
luokka:algoritmit
luokka:ohjelmistotiede
ko:알고리즘
ja:アルゴリズム
th:อัลกอริทึม
Reikäkorttikone
Reikäkorttikone oli kortistojen käsittelyä helpottava laite.
Arkistoitavat tiedot oli talletettu kirjoittamalla pahvikorteille, joiden reunoissa oli pyöreitä reikiä. Reikä saattoi olla kahdessa tilassa: paikallaan taipois leikattuna, jolloin kortin leikaan leikattiin kyseiseen kohtaan lovi. Esim kaksi viereistä reikää kuvasivat henkilökortistossa arvoja "nainen" ja "mies", ja miesten korteista lovettiin "nainen"-kohta pois.
Kun haluttiin hakea kortiston kaikki naisia koskevat kortit, pujotettiin metallipuikko oikeaan kohtaan, ja korttilaatikosta voitiin nostaa oikeat kortit puikon varassa ylös - "mies"-kortit eivät nousseet koska puikko sujahti kortin laidan loveen.
Reikäkorttikoneella pystyttiin tekemään "tai"-hakuja mutta ei "ja"-hakuja.
Reikäkorttikoneita käytettiin pienissä kirkkoherranvirastoissa ja koulujen kanslioissa vielä 1980-luvun alussa.
Hollannin väestörekisterijärjestelmä oli reikäkorteilla ennen toista maailmansotaa. Niinpä natsit saattoivat pujottaa kortistoissa puikon kohtaan "Uskonto: juutalainen" ja löytää kaikkien kaupungin juutalaisten nimet ja osoitteet. Tämä jätti moniin keskieuroopan maihin rekisterikammon: mm. Yhdistynyt Kuningaskunta joutui pitkään perustelemaan kun 2002 väestönlaskennassa kysyttiin uskontoa ensimmäistä kertaa 1930-luvun jälkeen.
Katso myös
- Reikäkortti
Luokka:Tietotekniikka
Ohjelmointi
Ohjelmointi tarkoittaa tietokoneelle tai vastaavalle laitteelle jollakin tavalla annettavia toimintaohjeita.
Tietokoneen suoritin ymmärtää suoraan ohjelmia, jotka on kirjoitettu konekielellä.
Tietokonetta ohjelmoidaan tavallisesti käyttämällä jotakin ohjelmointikieltä, jolla kirjoitettu lähdekoodi yleensä käännetään konekielelle tai tulkataan erityisellä kieltä suorittavalla ohjelmalla.
Ohjelmoinnin kehittyminen 1950-luvulla
Ensimmäinen (ja yhä käytetty) ohjelmointikieli oli FORTRAN (formula translator), joka nimensä mukaisesti keskittyi matemaattisten lausekkeiden kääntämiseen konekielelle. Myöhemmin kuitenkin yleistyivät kaupallis-hallinnolliset sovellukset (esimerkiksi tietokannat ja COBOL-ohjelmointikieli).
Ohjelmoinnin kehittyminen 1960-luvulta 1980-luvun puoliväliin
Historiallisesti yleisin tulkattava ohjelmointikieli on ensimmäisen kerran vuonna 1964 esitelty BASIC-ohjelmointikieli ja sen monet versiot. BASIC-kielessä ei ole kehittyneitä rakenteita, mutta vaivattoman käyttönsä ja helposti tehtävän tulkkinsa vuoksi se saavutti suosiota alkuperäisen opetustarkoituksensa ulkopuoleltakin.
Ohjelmointi kehittyi vähitellen kypsäksi tieteenalaksi ja 1960-luvun alkupuolella esitelty Algol-ohjelmointikieli jäi hallitsevaksi ohjelmointikielityypiksi ongelmien ratkaisuun pyrkivään algoritmiseen eli proseduraaliseen ohjelmointiin. Algol-perinnettä ylläpitivät siitä kehitetyt kielet kuten Pascal ja C. Tämän tyyppistä ohjelmointia leimaavat hyppyjen korvaaminen toistorakenteilla, nimetyt ja parametroidut ohjelmanosat eli proseduurit, muuttujien vaikutusalueen rajoittaminen ja peittäminen sekä muuttujien vahva käännösaikainen tyypitys (käännöksessä esimerkiksi tarkastetaan, ettei tuotetulla ohjelmalla voi sijoittaa kokonaisuluvuksi määriteltyyn muuttujaan lukua 10-1). Tärkeää on myös kielen kääntämisen yksinkertaistaminen tekemällä kieli soveltuvaksi erilliseen selaus- ja jäsentämisvaiheeseen.
Myöhemmissä 1980-luvun proseduraalisissa kielissä kehitettiin keinoja modularisoida ohjelmia lisää, abstrakteja tietotyyppejä ja moduulien välisiä sopimuksia (ohjelmointikielet Modula-2, Modula-3, Oberon, Clu ja Eiffel).
Algol-tyyppisissä ohjelmointikielissä on hyvin tärkeää, että ohjelma kääntyy erittäin tehokkaakasi konekieleksi. Nämä ohjelmointikielet soveltuvat suuren ohjelmoijajoukon yhteistyössä tekemien ohjelmointiprojektien tekemiseen. Tämä traditio huipentuu jossain määrin Yhdysvaltojen puolustusministeriön vuonna 1980 määrittelemässä Ada-ohjelmointikielessä eikä sen jälkeen ole vakavasti määritelty tai otettu käyttöön puhtaasti proseduraalisia Algol-tyyppisiä ohjelmointikieliä (eikä tällainen ole myöskään Adan myöhempi versio, Ada 95).
Ohjelmoinnin kehittyminen 1980-luvun puolivälissä
1980-luvulla tekoälyjärjestelmien oletettiin korvaavan ohjelmoinnin. Puhuttiin viidennen sukupolven tietokoneista ja sovelluskehittimistä, joiden avulla varsinaisesta ohjelmoinnista piti päästä eroon. Tähän ajatteluun liittyviä ohjelmointikieliä ovat funktionaaliset ohjelmointikielet (LISP), logiikkaohjelmointikielet (Prolog) ja erilaiset asiantuntijajärjestelmät. LISP-ohjelmointikielen ajateltiin olevan erityisen sovelias tekoälyohjelmointiin, koska LISP-ohjelma ja sen käsittelemä data kuvattiin samalla tavalla sisäkkäisinä listoina. Tekoäly ei johtanut toivottuun läpimurtoon ja kielillä on tällä hetkellä vähän käytännön merkitystä. Tekoälyohjelmointikielet ovat yleensä tulkattavia ja tehottomia konekieleen verrattuna.
Ohjelmoinnin kehittyminen 1990-luvulla
Proseduraalisen ohjelmoinnin seuraaja 1980-luvun loppupuolelta asti on ollut olio-ohjelmointi. Ensimmäinen olio-ohjelmointikieli on vuodelta 1968 oleva Simula. Varsinaisen olio-ohjelmointi-ilmiön aloittanut ohjelmointikieli oli kuitenkin Smalltalk ja valta-asemaan olio-ohjelmoinnin nosti C++-ohjelmointikieli. Olio-ohjelmoinnissa maailma mallitetaan itsenäisiksi olioiksi, jotka voivat periä ominaisuuksilta muilta olioluokilta. Oliot voivat kommunikoida vain viesteillä, metodeilla, niiden tilaa ei voi muuten kysellä. Olio-ohjelmoinnissa tärkeää on koodin uudelleenkäytettävyys eri tarkoituksiin, ei enää ohjelman kääntyminen tehokkaaksi konekieleksi.
1990-luvulla myös käyttöliittyminen tekeminen yksinkertaistui ja standardoitui niin, ettei käyttöliittymän osuus ollut enää suurin osa tyypillisen sovelluksen tekemiseen kuluvasta työpanoksesta.
Ohjelmoinnin kehittyminen 2000-luvun ensimmäisellä vuosikymmenellä
Henkilökohtaisten tietokoneiden myötä henkilökohtaisten hyötyohjelmien käyttö lisääntyi. Näissä käyttäjät pääsevät itse ohjelmoimaan esimerkiksi komentosarjakielten avulla. Komentosarjakielet ovat usein tulkattavia tai "esikäännettyjä" (missä yhdistyy tulkkauksen vaivattomuus ja kääntämisen tehokkuus), eikä tärkeintä ole enää ehdottoman nopea suoritus. Uusimmissa komentosarjakielissä käytetään myös abstraktioita, joiden toteuttaminen kääntämällä ei olisi mielekästä tai edes mahdollista (esimerkiksi koodin dynaaminen evaluointi). Merkittävimmät edistysaskeleet ohjelmointikielissä 1995-2004 ovat tapahtuneet komentosarjakielten alueella. Merkittäviä uusia tulkattavia kieliä ovat Perl, Java, Python ja Ruby.
Mahdollisia tulevaisuuden ohjelmointimenetelmiä
Ohjelmointikielet voivat perustua myös nykyisestä täysin poikkeaviin malleihin ohjelmoinnista. Esimerkiksi ohjelmointi voi perustua rinnakkaiseen käsittelyyn (CSP, Occam, LOTOS), logiikkaan (Prolog), relaatiomalliin (vrt. relaatiotietokanta), kaksisuuntaisiin rajoitteisiin (TeX Metafont), tiedon monenkertaiseen uudelleenkirjoittamiseen tai tiedon luokitteluun. Tietotekniikassa on odotettavissa rinnakkaisen käsittelyn huima yleistyminen, jolloin todennäköisesti ohjelmointikielten seuraavat edistysaskeleet liittyvät rinnakkaisuuden käyttöön.
Tulevaisuudessa myös ohjelman ja laitteiston raja hämärtyy, jolloin on mahdollista, että osa tuotetusta ohjelmasta kääntyy konekielelle, osa suorittimen mikrokoodiksi, osa porttilogiikaksi ja osa mikropiireiksi (esim. ASIC). Esimerkiksi VHDL ja SystemC ovat jo tällä hetkellä kieliä, joilla ohjelma muunnetaan laitteistoksi.
ko:프로그래밍
ja:プログラミング
Suomalaisia ohjelmointisivustoja
- [http://www.mureakuha.com Mureakuha]
- [http://www.suomipelit.com Suomipelit]
- [http://www.koodari.net Koodari]
- [http://www.ohjelmointiputka.net Ohjelmointiputka]
Luokka:ohjelmointi
Toinen maailmansota
Toinen maailmansota käytiin vuosina 1939-1945. Sota käytiin pääasiassa Saksan, Italian ja Japanin johtamien akselivaltojen ja Yhdistyneen Kuningaskunnan, Yhdysvaltojen ja Neuvostoliiton, johtamien liittoutuneiden välillä. Saksan itärintaman sota tunnettiin Neuvostoliitossa ja nykyään Venäjällä nimellä Suuri isänmaallinen sota.
Toinen maailmansota on tuhoisin sota ihmiskunnan historiassa ja se vaati yli 50 miljoonan ihmisen hengen.
Sotaa edeltäneet vuodet
Saksan häviö ensimmäisessä maailmansodassa ja sotakorvausten aiheuttamat taloudelliset ongelmat avasivat tien valtaan vuonna 1919 perustetulle, sittemmin Adolf Hitlerin johtamalle NSDAP-puolueelle. Vuonna 1932 NSDAP sai eniten paikkoja vaaleissa ja 1933 Saksan presidentti Paul von Hindenburg nimitti Hitlerin valtakunnankansleriksi. Päästyään valtaan Hitler kielsi muut puolueet ja von Hinderburgin kuoltua yhdisti presidentin ja valtakunnankanslerin virat, nousten Saksan diktaattoriksi. Saksan koko hallintojärjestelmä uudistettiin ja perustettiin ensimmäiset keskitysleirit jotka oli tarkoitettu poliittisille toisinajattelijoille ja rikollisille.
Noustuaan führeriksi Hitler rikkoi Versaillesin rauhansopimuksessa määrättyä Saksan demilitarisointia. Armeijan kehittäminen uudelleen alkoi Geneven aseriisuntakongressien epäonnistuttua vuonna 1932–1934. Koska muut vallat eivät vähentäneet aseitaan Saksan tasolle, Hitler ilmoitti aseistavansa Saksan niiden tasolle. Vuoteen 1935 mennessä asevarustelu oli jo hyvässä käynnissä.
Asevarustelu huolestutti Ranskaa, joka varusti uudelleen vuosina 1929–1934 rakennetun Maginot-linjan. Puolustuslinja ulottui Belgian rajalta Sveitsin rajalle, mutta Saksa oli jo ensimmäisessä maailmansodassa kiertänyt linjan hyökkäämäällä Belgian kautta. Ilman Britannian tukea Ranska seurasi vierestä Saksan varustautumista.
Britannia kannatti aluksi Saksan varustautumista ja allekirjoitti kesäkuussa 1935 Anglo-saksalaisen laivastosopimuksen, jossa Saksan laivaston koko sallittiin lisättäväksi 35 % Kuninkaallisen laivaston koosta. Hitler kokeili uusia aseitaan Espanjan sisällissodassa 1936–1939 lähettäen Francon avuksi Luftwaffen Condor-legioonan.
Myös Italiassa oli vuonna 1922 noussut valtaan Benito Mussolinin johtama fasistinen puolue. Italian ja Saksan hallitsevien ryhmien samankaltaiset aatteet johtivat vuonna 1936 ystävyyssopimuksen solmiseen ja 1939 sotilasliittoon. Sopimusta nimitettiin Rooman-Berliinin akseliksi ja maita akselivalloiksi. Myöhemmin liittoon liittyi vielä Japani 1940.
Versaillesin sopimusta Hitler rikkoi toistamiseen miehittämällä Reininmaan vuonna 1936, marssittaen 30000 miestä Kölniin 7. maaliskuuta 1936. Ranska seurasi jälleen vierestä Britannian hyväksyessä Saksan marssin "omalle takapihalleen". Remilitarisoinnin jälkeen Hitler järjesti kansanäänestyksen, jossa 98,8 % äänestäjistä tuki hänen toimiaan. Tämä jälkeen hän rakensi oman puolustuslinjansa, Westwallin Ranskaa vastaan.
Kun Neville Chamberlainista tuli Yhdistyneen kuningaskunnan pääministeri 28. toukokuuta 1937, hän jatkoi Saksan toimet hyväksyvää politiikkaa, uskoen Hitlerin aikeena olevan vain yhdistää saksankieliset kansat. Chamberlain ei uskonut Saksan ryhtyvän sotaan, vaikka Churchill siteerasi Mein Kampfia, jossa Hitler oli kirjoittanut hankkivansa lisäalueista idästä – miekan voimalla.
Itävallan fasistit halusivat liittyä Saksaan, vaikka Itävallan kansleri Kurt von Schuschnigg halusikin pitää maan itsenäisenä. Ilman ulkovaltojen tukea hän tapasi Hitlerin Berliinissä ja hyväksyi Hitlerin tukijan Arthur Seyss-Inquartin sisäministeriksi. Mellakointi Wienissä yltyi, ja Schuschnigg pakotettiin eroamaan. Seyss-Inquart kutsui Hitlerin joukot apuun, ja 13. maaliskuuta 1938 Wehrmachtin joukot ylittävät rajan. Kansanäänestyksessä Itävallan liittäminen Saksaan, nk. Anschluss, sai 99,75 % tuen.
Itävalta oli menettänyt kolmen miljoonan saksankielisen asuttamat sudeettialueet Saint-Germainin sopimuksessa 1919 Tšekkoslovakialle. Anschlussin jälkeen sudeettisaksalaisten johtaja Konrad Henlein vaati liittoa Saksan kanssa. Tšekkoslovakia oli yksin, mutta se varautui sotaan. Sodan välttämiseksi Chamberlain neuvotteli Hitlerin kanssa kolme kertaa Berchtesgadenissa, Godesburgissa ja Münchenissä. Münchenin sopimus allekirjoitettiin 29. syyskuuta 1938 Hitlerin, Mussolinin, Chamberlainin ja Ranskan Edouard Daladierin kesken. Tšekkoslovakian pääministeri Edvard Beneš ei ollut läsnä. Sopimuksessa sovittiin Saksan saavan sudeettialueet kansanäänestyksen jälkeen, Unkarin ja Puolan saavan alueita Tšekkoslovakialta, ja Britannian ja Saksan solmivan luottamussopimuksen. Chamberlainin palattua Lontooseen hän julisti saavuttaneensa "rauhan meidän aikanamme". Hitler oli tyytymätön ja julisti Chamberlainin pilanneen hänen marssinsa Prahaan.
Maaliskuussa 1939 Hitler pakotti Liettuan luovuttamaan saksankielisen Memelin Saksalle. Seuraavaksi hän uhkasi pommittaa Prahaa, jolloin Tšekkoslovakia antautui. Chamberlain tajusi sopimuksen epäonnistuneen. Britannia antoi Puolalle takuut tuestaan ja aloitti varustautumisen.
Hitler kohdisti nyt katseensa Puolaan ja alueisiin, jotka se oli saanut rauhansopimuksessa. Hitlerin useista vaatimuksista huolimatta Puola ei suostunut alueluovutuksiin ja turvautui Ranskan ja Britannian kanssa solmimaansa puolustusliittoon.
Sodan alku
Puolassa 1940.]]
Elokuussa 1939 Saksa solmi Neuvostoliiton kanssa hyökkäämättömyyssopimuksen (Molotov-Ribbentrop-sopimus). Näin Hitler pystyi ilman Neuvostoliiton uhkaa hyökkäämään Puolaan. Saksa hyökkäsi 1. syyskuuta 1939 Puolaan ja aloitti toisen maailmansodan. Saksa kukisti Puolan muutamassa viikossa Neuvostoliiton miehittäessä Puolan itäosat.
Puolan jälkeen Neuvostoliitto pyrki vahvistamaan vaikutusvaltaansa ja solmi Baltian maiden kanssa turvallisuussopimukset joka antoi Neuvostoliitolle luvan sijoittaa sotilastukikohtia niiden alueille. Suomen kanssa käydyt neuvottelut epäonnistuivat, kun suomalaiset eivät suostuneet rajamuutoksiin ja tukikohdan vuokraamiseen Hangossa. Neuvotteluiden epäonnistuttua Neuvostoliiton ja Suomen välillä käytiin talvisota 1939-1940. Sodan päätteeksi Neuvostoliitto sai vaatimansa alueet ja enemmänkin, eikä se antanut alun perin lupaamiaan kompensaatioalueita.
Länsirintamalla liittoutuneet eivät uskaltaneet käynnistää suuria operaatioita. Saksa miehitti huhtikuussa 1940 Tanskan ja Norjan, koska Britannia ja Ranska tiettävästi suunnittelivat jo Suomen talvisodan aikana Norjan satamien valloittamista ja aluevesien miinoittamista sekä Narvik - Kiruna - Luleå -rautatien valloittamista edetäkseen sieltä etelään kohti Saksaa. Toukokuussa Saksa käynnisti hyökkäyksen länsirintamalla. Alankomaat antautui 15. toukokuuta, Belgia 28. toukokuuta ja Ranska 22. kesäkuuta. Britit onnistuivat kuitenkin evakuoimaan suuren osan joukkojaan Dunkerquessa.
Itä-Euroopassa Neuvostoliitto miehitti Baltian 15. kesäkuuta-17. kesäkuuta ja Romanian Bessarabian 28. kesäkuuta.
Ranskan sotaretken jälkeen Hitler alkoi valmistella hyökkäystä Neuvostoliittoon. Saksan Luftwaffe pommitti rajusti Britanniaa ja yritti lamaannuttaa Kuninkaalliset ilmavoimat, mutta ei kuitenkaan onnistunut siinä. Taistelu Britanniasta oli hävitty ja Hitler siirsi Englannin miehityksen tulevaisuuteen.
Balkan
Vuoden 1940 lopulla Italia hyökkäsi Kreikkaan Albaniasta, mutta sotamenestys jäi keskinkertaiseksi. Keväällä 1941 Jugoslaviassa tapahtunut Saksalle vihamielinen vallankaappaus provosoi Hitlerin toimimaan. Saksa, Italia, Unkari, Romania ja Bulgaria hyökkäsivät Jugoslaviaan, jonka puolustus romahti hetkessä. Jugoslavian sotavoimia ei kuitenkaan onnistuttu tuhoamaan, vaan kommunistit ja kansallismieliset serbit muodostivat sissiosastoja, jotka ahdistelivat miehittäjiä sodan loppuun asti. Sissien lukumäärä on arvioitu yli sadaksituhanneksi. Balkanin miehittäminen sitoi runsaasti Saksan joukkoja. Osia Jugoslaviasta liitettiin naapurimaihin, ja lopuista muodostettiin Kroatian ja Serbian valtiot. Kroatiaa hallitsivat kiihkokansalliset kroaatit Ante Pavelicin johdolla. Kroatian alueella asuvia serbejä murhattiin joukoittain keskitysleireissä.
Myös Kreikka vallattiin maalis-huhtikuussa 1941. Raskaimmat taistelut käytiin Kreetan hallinnasta.
Itärintama
Kreetan
Saksa aloitti hyökkäyksen Neuvostoliittoon (Operaatio Barbarossa) 22. kesäkuuta. 1941. Saksan liittolaisina sotaa kävivät Romania, Unkari ja Italia. Myös Suomi kävi sotaa Neuvostoliittoa vastaan, antoi Saksalle luvan hyökätä Pohjois-Suomesta ja sai sotamateriaaleja Saksalta. Virallisen linjauksensa mukaan Suomi kuitenkin kävi erillistä sotaa eikä ollut Saksan liittolainen. Saksan tarkoituksena oli vallata Neuvostoliiton Euroopan puoleinen osa Astrakanin-Arkangelin linjalle asti. Hyökkäyksen alkuvaihe sujui hyvin ja paljon puna-armeijan joukkoja joutui vangeiksi. Saksan joukot saartoivat Leningradin ja etenivät lähelle Moskovaa, mutta eivät pystyneet valloittamaan kaupunkia ja talven 1941-1942 aikana puna-armeija pystyi lukuisiin vastahyökkäyksiin.
Länsivaltojen sotamateriaaliapu auttoi Neuvostoliittoa kestämään pahimman pulan yli. Kesällä 1942 Saksan hyökkäyksen painopiste siirtyi etelään kohti Kaukasuksen öljykenttiä. Syksyllä eteminen päättyi veriseen kolmen kuukauden taisteluun Stalingradin kaupungista Volgan varrella. Kun taistelu kaupungista oli käynnissä, Neuvostoarmeija keräsi joukkoja saartaen saksalaisen 6. Armeijan Stalingradin alueelle. Tätä sotatoimea kutsuttiin peitenimellä "Operaatio Uranus" ja se oli ensimmäinen muun kuin Stalinin itsensä suunnittelema taistelutoimi sodan alettua. Von Pauluksen 300 000 miehen armeijan henkiinjääneet antautuivat 2. helmikuuta 1943.
Keväällä saksalaiset hyökkäsivät jälleen ja valtasivat takaisin Harkovan kaupungin. Heinäkuussa 1943 Kurskin kaupungin lähellä käytiin historian suurin panssaritaistelu saksalaisten hyökätessä Neuvostoliiton linnoitettua rintamaa vastaan. Maihinnousu Italiaan ja Neuvostoliiton vastahyökkäys pakottivat saksalaiset keskeyttämään hyökkäyksen saavuttamatta tavoitteitaan. Aloite itärintamalla siirtyi lopullisesti Neuvostoliitolle. Vuoden lopulla puna-armeija oli jo edennyt Smolenskiin ja Kiovaan.
Vuoden 1944 alussa Neuvostoliiton joukot saavuttivat jo Puolan rajan ja päättivät Leningradin saarron. Kesäkuussa alkoi hyökkäys Karjalankannaksella joka sai lopulta Suomen solmimaan erillisrauhan Neuvostoliiton kanssa syyskuussa. 22. kesäkuuta alkoi Neuvostoliiton Operaatio Bagration; 2,5 miljoonan sotilaan ja 6 000 panssarivaunun hyökkäys 1 000 km pituisella rintamalinjalla. Saksan 500 000 sotilaan Keskinen armeijaryhmä tuhottiin täysin ja 350 000 sotilasta jäi vangeiksi. Romania antautui elokuussa ja akselivaltoihin kuulunut Bulgaria syyskuussa. Saksalaiset vetäytyivät Balkanilta ja onnistuivat säilyttämään asemansa Unkarissa helmikuuhun 1945 asti.
14. huhtikuuta 1945 Neuvostojoukot valtasivat Wienin. Lopullinen hyökkäys Berliiniin alkoi 16. huhtikuuta päättyen Berliinin valtaukseen 2. toukokuuta 1945.
Pohjois-Afrikka
2. toukokuuta
Pohjois-Afrikassa 1940 britit olivat torjuneet Italian hyökkäykset Egyptiin. Akselivallat kävivät välillä menetyksellistäkin sotaa vuoteen 1942 asti Erwin Rommelin johdolla, kunnes brittijoukot löivät saksalaisen Afrikan armeijakunnan El Alameinin taistelussa loka-marraskuussa 1942. Tunisiassa vastarinta päättyi toukokuussa 1943.
Vuoden 1941 lopulla Yhdysvallat oli tullut mukaan sodankäyntiin. Josif Stalin vaati länsivaltoja avaamaan Euroopassa toisen rintaman. Eteneminen aloitettiin kuitenkin ensiksi Pohjois-Afrikassa maihinnousulla 8. marraskuuta 1942. Saksa päätti vallata Ranskan miehittämättömätkin osat ranskalaisiin kohdistuneen epäluulon takia. Pohjois-Afrikassa saksan sotaonni kääntyi El Alameinin taistelussa.
Kun saksalaiset oli karkoitettu Pohjois-Afrikassa seurasi maihinnousu Sisiliaan 10. heinäkuuta 1943. Italiassa oltiin oltu tyytymättömiä sotaan ja Italia vetäytyi sodasta. Mussolini pakotettiin eroamaan ja Italia solmi aselevon 3. syyskuuta 1943. Liittoutuneet pääsivät Roomaan 4. kesäkuuta 1944, mutta Pohjois-Italiaa saksalaiset pitivät hallussaan toukokuuhun 1945 asti.
Länsirintama
6. kesäkuuta 1944 liittoutuneet tekivät maihinnousun Normandiassa, joka yllätti saksalaisten puolustuksen. Elokuussa 1944 liittoutuneet tekivät maihinnousun Rivieralle. Liittoutuneet pääsivät Pariisiin 25. elokuuta 1944. Vuoden 1944 lopulla taisteluja käytiin jo Alankomaissa ja Elsass-Lothringenissa
Vastoinkäymisten takia Saksassa oli syntynyt salaliitto, joka yritti surmata Hitlerin pommilla 20. heinäkuuta 1944. Vastarintaliike murskattiin ja saksalaiset kokosivat joukkonsa ja tekivät vastahyökkäyksen länsirintamalla Ardenneilla. Alkumenestyksestä huolimatta huolto-ongelmat ja polttoainepula pysäyttivät Wehrmachtin panssarikärjen ja hyökkäys tyrehtyi. Päämäärä Antwerpen jäi vain 100 kilometrin päähän. Liittouneiden painaessa päälle Saksalla ei enää ollut voimia pitää saavuttamiaan asemia, vaan se joutui aloittamaan lopullisen perääntymisen Reinin ylitse.
Saksan alueen puolustus murtui tammi-huhtikuussa 1945. Liittoutuneet olivat sopineet miehitysrajaksi Elbe-joen ja puna-armeija ja länsiliittoutuneiden joukot kohtasivat siellä 25. huhtikuuta 1945. Hitler teki itsemurhan 30. huhtikuuta ja Mussolini surmattiin 28. huhtikuuta.
Saksa antautui lopullisesti 8. toukokuuta. Sota Euroopassa oli päättynyt liittoutuneiden voittoon. Saksa jaettiin Ranskan, Iso-Britannian, Yhdysvaltojen ja Neuvostoliiton kesken miehitysalueisiin. Myös Saksan pääkaupunki Berliini, joka jäi Neuvostoliiton miehitysvyöhykkeelle jaettiin kolmen voittajavallan ja Ranskan välillä vyöhykkeiksi. Liittoutuneet jakoivat Itävallan neljäksi miehitysalueeksi, jotka myöhemmin itsenäistyivät Itävallan valtiona.
Myöhemmin Neuvostoliiton ja länsiliittoutuneiden välit kiristyivät, mikä johti kylmään sotaan.
Sota Aasiassa
kylmään sotaan
Japani oli hyökännyt Kiinaan jo vuonna 1937, ennen toisen maailmansodan alkua. Toisen maailmansodan aloituspäiväksi Aasiassa lasketaankin yleensä 7. joulukuuta 1941, jolloin Japanin ilmavoimat pommitti Yhdysvaltojen laivastotukikohtaa Pearl Harborissa, tuhoten suuren osan Tyynen valtameren laivastosta ja aiheuttaen Yhdysvaltojen liittymisen sotaan liittoutuneiden puolella. Japanin hyökkäyksen alkaessa sodanjulistus oli jo perillä Yhdysvaltojen valtiokoneistossa, mutta koska viestin tärkeyteen ei oltu kiinnitetty huomiota, se avattiin liian myöhään.
Samanaikaisesti Japani aloitti suurhyökkäyksen Malesiaan, Borneoon ja Filippiineille, vallaten mm. Singaporen briteiltä. Japanilaisen voittokulku jatkui toukokuuhun 1942, jolloin Port Moresbyn valtaus epäonnistui Yhdysvaltojen laivaston ansiosta. Kuukautta myöhemmin neljä japanilaista lentotukialusta upotettiin Midway-saaren taistelussa, siirtäen Japanin puolustuskannalle.
Pitkän ja raskaan kampanjan avulla liittoutuneet valtasivat takaisin Japanin valtaamia alueita. Vuonna 1945 myös Neuvostoliitto julisti sodan Japania vastaan, vallaten takaisin Mantšurian. 15. elokuuta 1945, viikko Hiroshiman ja Nagasakin ydinpommitusten jälkeen, Japani antautui ja miehitettiin.
Katso myös
- Luettelo sotilasoperaatioista
- Nürnbergin oikeudenkäynnit
- Salamasota
- Stalingradin taistelu
- Sota
- Varsovan kansannousu
- Enigma
- Kamikaze
Luokka:Toinen maailmansota
als:Zweiter Weltkrieg
ms:Perang Dunia II
ko:제2차 세계 대전
ja:第二次世界大戦
simple:World War II
th:สงครามโลกครั้งที่สอง
SalakirjoitusKryptografia (kreikan sanoista kryptós, "piilotettu", ja gráphein) eli salaus on salakirjoitusten teoreettista pohjaa tutkiva tieteenala. Se on informaatioteorian eräs osa-alue, joka on saanut vaikutteita myös muilta matematiikan alueilta. Tutkimuksen tavoitteina ovat menetelmät ja periaatteet, joilla informaatio voidaan salata siten, ettei sivullisen ole helppo saada alkuperäistä viestiä selville.
Salausta eli kryptografiaa käytetään yleisimmin nykyisin Internet-liikenteen suojaamiseen, tietoturvaan. Siellä sitä käytetään PKI-järjestelmissä, suosituimpina kohteina nettipankkien ja -kauppojen selainyhteyksien salaus, sähköpostin salaus ja allekirjoitus sekä yritysten sisäiset yhteyksien suojaustarpeet.
Salakirjoitusten murtamisen historiaa
Esihistoria
Aluksi kirjoitetun viestin harvinaisuus suojasi viestiä. Kun useampi kuin yksi osasi kirjoittaa, tultiin salakirjoittamisen tarpeeseen.
Yksi vanhimmasta tavoista salata kirjallinen viesti tulee Egyptistä. Viesti kirjoitettiin viestinviejän kaljuksi ajettuun päähän ja tukan kasvettua viestinviejä lähetettiin matkaan. Tällä tavalla ymmärrettynä ensimmäiset salakirjoitukset olivat viestin peittämistä.
Atbash- koodi ja Caesar
Yksi vanhimmista varsinaisista salakirjoituksista on Atbash-koodi. Siinä kirjaimistossa aakkosjärjestyksessä viimeinen kirjain vaihdetaan ensimmäiseen, toiseksi viimeinen toiseen, ja niin pois päin. Suomen aakkostossa se toimisi siten, että A:sta tulisi Ö ja B:stä Ä. Atbash-koodausta käytettiin yleisesti tietyissä piireissä satoja vuosia ennen ajanlaskun alkua, ja onpa Raamattuunkin eksynyt Jeremiaan kirja, jossa Babel paikannimenä ja Kaldealaisten kansa on verhottu Atbash-koodauksella, kun ei ole uskallettu niitä suoraan avoimesti kirjata. Atbash-koodia käyttävät vieläkin eräät salaseurat tai sen kaltaiset, jotka tahtovat ilmaista olevansa pitkänkin perinteen vaalijoita.
Julius Caesarin käyttämänä tunnetuksi tullut Caesar-salakirjoitus toimii siten, että kirjain korvataan siitä aakkosjärjestyksessä N kirjainta eteenpäin löytyvällä kirjaimella. Jos N = 3, A:sta tulee D, B:stä tulee E ja niin edespäin.
Atbash- koodin ja Caesarin murtaminen
Atbash- koodi ja sen muunnokset on murrettavissa kokeilemalla kaikki N siirrosta aakkosistossa (N = aakkosiston kirjainten määrä), siis esim. englannin kielessä (= 26 aakkosta) maksimissaan 26 kokeilulla.
Kehittyneempi versio, eli sekoitettu Caesar, jossa selväkielistä A:ta vastaa mielivaltainen salakirjoitettu kirjain, B:tä mielivaltainen jäljellä olevista kirjaimista jne., sisältää periaatteessa A! (A- kertoma) määrän mahdollisia avaimia, erilaisia salakielisen aakkosiston mahdollisuuksia. Englantilaisella aakkosistolla (26 aakkosta) erilaisia sekotettuja Caesar- avaimia on 26! eli 4,0329 - 1026 mahdollisuutta, siis lähes murtamattomasti.
Sekoitettu Caesar on kuitenkin helppo murtaa yhden lyhyenkin sanoman perusteella, koska jokaisen kielen kirjainten käyttö on tilastollisesti "vakio". Esim. E- kirjain on englannin kielen yleisin kirjain. Jos siis englannin kielisessä sekoitettua Ceasaria käyttävässä sanomassa on eniten W- kirjaimia, hyvä oletus on, että W = E.
Kehittyneemmistä versioista
Seuraava kehittyneempi versio on muuttaa salakirjoitusaakkosistoa esim. viiden kirjaimen jälkeen, jolloin tilastollinen ratkaisumenetelmä vaikeutuu oleellisesti. Tämä versiota käytti esim. suomalainen ns. "matolaatikko"- menetelmä.
Em. esimerkeistä selviää, että salakirjoituksen murtaminen on ainakin matematiikkaa, kielitiedettä ja tilastotiedettä. Ja myös yleistä älykkyyttä.
- Toisen maailmansodan aikaan ENIGMA jne.
Murtamaton koodi ja sen ongelmat
Päinvastoin kuin yleensä luullaan on olemassa myös kryptografisesti murtamaton salausmenetelmä: kerta-avain (engl. one-time pad) - kertakäyttöinen todellisista satunnaisluvuista koostuva avain, joka on yhtä pitkä kuin salattava viesti. Jokainen viestin merkki yhdistetään avaimen vastaavan merkin kanssa. Murtamattomuus perustuu siihen, että jokainen mahdollinen ratkaisu on yhtä todennäköinen, eikä oikeaa selvätekstiä voi erottaa muista vaihtoehdoista.
Valitettavasti historia on osoittanut, että kertakäyttöisiksi tarkoitettuja avainlistoja harvoin raaskitaan käyttää vain kerran. Jos "kertakäyttöistä" avainta käytetään useamman kerran, voidaan salateksti murtaa helposti.
Syy miksi ainoastaan kertakäyttöisten avainlistojen käyttö on valitettavan epäkäytännöllinen suurien tietomäärien ja monien lähteiden kohdalla, on moisten avainlistojen turvallinen toimittaminen lähteelle, sekä niiden alkuperäisen valmistuksen vaatima työ. Avainlista, jonka joku on päässyt kopioimaan matkalla lähteelle, on huonompi kuin arvoton.
Heti, kun avain on lyhyempi kuin viesti, tai satunnaisluvut eivät ole aidosti satunnaisia, ei salaus voi olla täydellinen, vaikkakin hyvin tehty salaus voi olla käytännössä äärimmäisen vaikea murtaa.
Satunnaisluvut
Salauksessa käytettyjen satunnaislukujen on oltava aidosti satunnaisia. Aidosti satunnaisten lukujen tuottaminen on kuitenkin hyvin vaikeaa. Nykyään parhaina tapoina tuottaa todellisia satunnaislukuja pidetään luonnollisia kaoottisia systeemejä, kuten radioaktiivisten aineiden luonnollisen hajoamisen tuottamat säteilyhiukkaset, tai esimerkiksi laavalampun vahan liike. Useimmiten tietokoneissa käytetään näennäissatunnaislukugeneraattoreita eli pseudosatunnaislukugeneraattoreita, jotka eivät kelpaa salauskäyttöön. Tietokoneiden salauksessa käytetty satunnaisuus perustuu yleensä käyttäjän tekemien toimenpiteiden ja verkossa tapahtuvien tapahtumien satunnaisuuden keräämiseen. Käytännön esimerkkejä edellä mainitusta ovat esim. käyttäjän hiiren liikkeiden tai mikrofonin vastaanottaman kohinan käyttäminen salausavaimen luomiseen.
Salauksen käyttökohteita
Tietokoneiden myötä kryptografia sai uuden sovelluskohteen datan salauksen, allekirjoitusten ja eheyden varmistamiseen. Näistä esimerkkejä ovat erilaiset sovellukset ja protokollat etäyhteyksien (SSH), www-liikenteen (HTTPS) salaamiseen sekä sähköpostiviestien salaamiseen ja allekirjoittamiseen (PGP).
Salausalgoritmeja
Symmetrisiä salausalgoritmeja
- DES, Data Encryption Standard
- AES, Advanced Encryption Standard ( Rijndael )
- IDEA
- Blowfish, Twofish
- 3-DES
Asymmetrisiä eli julkisen avaimen salausalgoritmeja
- Diffie-Hellman-avaimenvaihto
- RSA
- ElGamal
- Elliptiset käyrät
Yksisuuntaisia tiivisteitä
- MD5 (Message digest)
- SHA-1 (Secure Hash Algorithm)
Sähköisen allekirjoituksen menetelmiä
- DSA (Digital Signature Algorithm)
- X.509 Varmenteet
Kryptografiaa käyttäviä sovelluksia
- PGP (Pretty Good Privacy)
- HTTPS-protokolla
- SSH-protokolla
- Kerberos-tunnistusprotokolla
Salaaminen sotilaallisena terminä
Salaaminen, (OPSEC, Operational Security) sotilaallisena terminä tarkoittaa salakirjoitusta laajempaa omaan toimintaan liittyvän tiedon salaamista viholliselta. Salaaminen on tietoon liittyvä toiminta ja osa nykyaikaisten asevoimien sotilaallista doktriinia, osa johtamissodankäyntiä.
Salaaminen (OPSEC) on prosessi, jota käytetään kieltämään vastustajalta tieto omista aikomuksista, resursseista tai rajoituksista. Se tekee tämän määrittämällä, mitkä toimet vastustaja voi havaita tiedonkeruujärjestelmällään, määrittämällä mitä indikaattoreita voidaan tulkita tai yhdistää omien tarkoitusten paljastamiseksi ja sitten kehittämällä ja ottamalla käyttöön menetelmät, jotka eliminoivat tai vähentävät omien toimien haavoittuvuutta ko. toimille.
Oikein käytettynä OPSEC on erinomainen menetelmä saavuttaa operatiivinen tai strateginen yllätys. Yhdistettynä harhauttamisen, joidenkin elson elementtien ja/tai psykologisen sodankäynnin kanssa, OPSEC voidaan käyttää peittämään omia kriisin tai sodan valmisteluja. Se käsittää "keltaisen" osan ottamisen mukaan oman johtamissodankäynnin strategian kehittämiseen.
Salaamisen osa-alueita ovat:
- vastatiedustelu
- tietoturvallisuus (INFOSEC)
- lähetysturvallisuus (TRANSEC)
- viestiturvallisuus (COMSEC) ja
- signaaliturvallisuus (SIGSEC).
Kirjallisuutta
- Petteri Järvinen, Salausmenetelmät, ISBN 951-846-183-X
- Simon Singh, Koodikirja: salakirjoituksen historia muinaisesta Egyptistä kvanttikryptografiaan, ISBN 951-31-1544-5
- Bruce Schneier, Applied Cryptography, 2nd edition, ISBN 0471117099
- Norman B Hutcherson:"Command and Control Warfare; Putting Another Tool in the War-Fighter's Data Base" Air University Press, USA 1994
Luokka:Salaus
Luokka:Tietoturva
ko:암호학
ja:暗号理論
Yhdistynyt kuningaskunta
Yhdistyneeseen kuningaskuntaan kuuluvat Iso-Britannia ja Pohjois-Irlanti. Suomeksi koko valtiosta käytetään arkikielessä (myös sanomalehdissä) yleensä nimitystä Britannia tai Iso-Britannia, jopa Englanti, mutta nämä ovat valtion pienempiä osia ja siksi epätäsmällisiä (ja viimeksi mainittua walesiläiset, skotit ja pohjoisirlantilaiset voivat pitää loukkaavana). Englanniksi maan virallinen nimi on United Kingdom of Great Britain and Northern Ireland. Maan pinta-ala on 242 342 neliökilometriä, eli noin 2/3 Suomen pinta-alasta. Asukasluku on noin 60 miljoonaa, joista miltei 20 miljoonaa asuu pääkaupunki Lontoon lähistöllä, nk. Suur-Lontoossa. Vallitseva kieli koko valtiossa on englanti, mutta kymri on käytössä sen rinnalla Walesissa ja gaeli vastaavasti Skotlannissa.
Historia
Yhdistynyt kuningaskunta yhdistyi vähitellen Ison-Britannian saarta hallinneista kuningaskunnista. Wales oli ollut englantilaisten hallitsema jo vuodesta 1284 ja se liitettiin virallisesti Englannin kuningaskuntaan liittosopimuksella 1536. Englanti ja Skotlanti olivat olleet saman hallitsijan hallitsemia jo vuodesta 1603, ja ne liittyivät pysyvästi Ison-Britannian kuningaskunnaksi 1707. Vuoden 1800 liittosopimus liitti Irlannin kuningaskunnan ja Ison-Britannian kuningaskunnan, jolloin muodostui Ison-Britannian ja Irlannin yhdistynyt kuningaskunta. 1922 Irlannin 26 kreivikuntaa muodostivat Irlannin vapaavaltion, kuuden jäädessä liittoon, jonka nimeksi vaihdettiin Ison-Britannian ja Pohjois-Irlannin yhdistynyt kuningaskunta 1927.
Yhdistynyt kuningaskunta oli 1800-luvun merkittävin teollisuus- ja sotilasmahti ja siirtomaavalta, joka laajimmillaan käsitti noin 30 miljoonaa neliökilometriä ja lähes neljäsosan Maapallon väestöstä. Silloin syntyi sanonta, ettei Aurinko koskaan laske Brittiläisen imperiumin yltä. 1900-luvun alussa Yhdistyneen kuningaskunnan mahti väheni maailmansodissa ja siirtomaiden itsenäistyttyä.
Yhdistynyt kuningaskunta on jäsenenä Kansainyhteisössä, Euroopan unionissa ja NATOssa. Sillä on myös toisen maailmansodan voittajavaltiona pysyvä paikka YK:n turvallisuusneuvostossa ja veto-oikeus sen päätöksiin.
Katso myös: Ison-Britannian kuningas
Politiikka
Yhdistynyt kuningaskunta on parlamentaarinen monarkia, jonka hallitsijana on tällä hetkellä kuningatar Elisabet II. Monarkilla on periaatteessa laajat valtaoikeudet, mukaan lukien oikeus julistaa sota. Teoriassa koko Yhdistyneen kuningaskunnan hallinto on olemassa monarkin suopeudesta. Käytännössä valtaoikeuksia ei käytetä, vaan valtaa käyttää demokraattisesti valittu parlamentti ja pääministeri, joka käyttää valtaansa monarkin nimessä.
Yhdistyneen kuningaskunnan parlamentti on kaksikamarinen, 659 jäseniseen alahuoneeseen jäsenet valitaan vaalilla, ja ylähuoneeseen nimitetään. Historiallisesti ylähuoneen jäsenyys on periytynyt, tämä järjestelmä on kuitenkin lopetettu. Pääministeri on parlamentin suurimman puolueen johtaja, tällä hetkellä pääministerinä on Labour-puolueen Tony Blair.
Vuonna 1999 käynnistettiin Skotlannin parlamentti ja Walesin kansankokous, joista Skotlannin parlamentilla on lainsäädäntövaltaa. Pohjois-Irlannille on myös sovittu perustettavaksi parlamentti, tosin suunnitelman toteutus on nykyisin jäissä.
Osat
1999
Pääartikkeli: Yhdistyneen kuningaskunnan osat
Yhdistyneen kuningaskunnan (UK) osat pinta-alan mukaan:
- 1. Englanti, 130 395 km²
- 2. Skotlanti, 78 782 km²
- 3. Wales, 20 779 km²
- 4. Pohjois-Irlanti, 14 139 km²
Englannissa on yhdeksän hallituksen virastoaluetta koillinen, luoteinen, Yorkshire, Humber, itäiset sisämaat (East Midlands), läntiset sisämaat (West Midlands), itäinen, Suur-Lontoo, kaakkoinen ja lounainen. Alueet on edelleen jaettu kreivikuntiin (county) ja keskushallituksen alaisiin alueisiin, paitsi Lontoo, joka koostu kaupunginosista (borough).
Skotlannissa on 32 paikallisneuvoston johtamaa aluetta. Walesissä on 22 keskushallinnon alaista aluetta, joista 10 on kaupunkipiirikuntia (County Borough), yhdeksän kreivikuntia ja kolme kaupunkeja. Pohjois-Irlannissa on 26 piiriä (District).
Yhdistyneeseen kuningaskuntaan kuuluu myös joukko erillisalueita. De jure ne eivät ole Yhdistyneen kuningaskunnan osia, vaan kruununsiirtomaita, joiden ulkopolitiikkaa Yhdistynyt kuningaskunta hoitaa. Näitä ovat:
Anguilla, Bermuda, Brittiläinen Intian valtameren territorio (British Indian Ocean Territory), Brittiläiset neitsytsaaret (British Virgin Islands), Caymansaaret, Falklandsaaret, Gibraltar, Guernsey, Jersey, Mansaari (Isle of Man), Montserrat, Pitcairn (Pitcairn Islands), Saint Helena, Etelä-Georgia ja Eteläiset Sandwichsaaret (South Georgia and the South Sandwich Islands) sekä Turks- ja Caicossaaret.
Maantiede
Turks- ja Caicossaaret
Suurin osa Englannista on kumpuilevaa alankoa. Suurimmat joet ovat Thames ja Severn, joka laskee länteen Bristolin kanaaliin.
Wales on enimmäkseen vuoristoista, korkein huippu on Snowdown 1085 m.
Skotlannin maantiede vaihtelee, etelässä ovat alamaat ja ylämaat pohjoisessa ja lännessä, kuten myös Skotlannin korkein huippu, Ben Nevis 1343 m. Sisämaahan ulottuu monia vuonoja (firth), ja niiden suuntaisena kulkee syviä järviä (loch). Skotlannin rannikolla on useita saaria ja saariryhmiä, huomattavimmat ovat Hebridit, Orkneysaaret ja Shetlandsaaret.
Pohjois-Irlanti on enimmäkseen kukkulaista, Irlannin kanssa on 360 km maarajaa.
Yhdistyneen kuningaskunnan saarien määräksi arvioidaan 1098. Rannikon rikkonaisuuden vuoksi mistään kohtaa maata ei ole yli 125 km merelle. Britannian saaren erottaa mantereesta kapeimmillaan Doverin kohdalla vain 35 km levyinen Englannin kanaali. Doverista kulkee meren ali Kanaalin tunneli Ranskaan.
Talous
Yhdistynee | | |