Nothing Special   »   [go: up one dir, main page]

Pojdi na vsebino

Računalnik

Iz Wikipedije, proste enciklopedije
Računalnik


Računálnik (angleško computer) je naprava ali sistem, ki je sposoben izvajati zaporedje operacij (algoritem). Pri tem procesira informacije, običajno v obliki numeričnih ali logičnih operacij, ali procesiranja podatkov, za kar uporablja vhodno-izhodne naprave.[1][2][3] Ker se zaporedje izvajanja operacij s spremembo programa lahko spremeni, lahko računalnik uporabljamo za različne namene.

Računalnik ima vsaj en element za procesiranje, običajno je to centralno procesna enota (CPU; angl. Central Processing Unit) in spomin v taki ali drugačni obliki. Element za procesiranje izvaja aritmetične in logične operacije (za kar skrbi ALU; angl. Arithmetic Logic Unit). Krmilna enota skrbi za zaporedje izvajanja operacij in ukazov. Zunanje naprave omogočajo pridobivanje podatkov iz zunanjih virov (npr. tipkovnica, miška, spominske naprave, optični čitalci, ipd.), izpisovanje rezultatov (monitor, tiskalnik) in shranjevanje podatkov (trdi diski, trakovi, optični nosilci).

V drugi svetovni vojni so za potrebe specializiranih vojaških operacij uporabljali mehanske analogne računalnike. V tem času so se pojavili prvi elektronski digitalni računalniki. Zasedali so velikost večje sobe, potrebovali so toliko energije, kot je danes zadostuje za več sto osebnih računalnikov (PC-jev).[4]

Sodobni računalniki, ki temeljijo na integriranih vezjih, so miljonkrat do miljardokrat zmogljivejši od zgodnejših naprav, in zasedajo le drobec prvotnega prostora.[5] Enostavni računalniki so dovolj majhni, da se jih lahko umesti v mobilne naprave. Mobilne računalnike in druge prenosne naprave (telefone, elektronske naprave ipd.) lahko napajajo majhne baterije. Osebni računalniki so v svojih različnih oblikah ikona informacijske dobe in običajno ljudje pomislijo na njih, ko je govora o »računalnikih«. Vendar je številčno najobširnejša uporaba računalnikov v vgrajenih računalnikih v napravah, od pametnih telefonov preko avtomobilov do lovskega letala, in od igrač do industrijskih robotov.

Zgodovina

[uredi | uredi kodo]

Osnovne naprave za računanje so se pojavile že v antiki, mehanske pomočnike pa so izumili v 17. stoletju. V tem stoletju se je prvič pojavila angleška beseda computer (računar, danes v pomenu računalnik); takrat se je nanašala na osebe, ki so opravljale najrazličnejše izračune, pogosto kot poklic. Prve računalniške naprave so zasnovali v 19. stoletju, v sodobni obliki pa so se opredmetile šele v 1940.-ih.

Prva računska naprava za splošno rabo

[uredi | uredi kodo]
Del diferenčnega stroja Charlesa Babbaga.

Prve računske stroje je zasnoval že francoski matematik Blaise Pascal (seštevanje in odštevanje) in nemški matematik Gottfried Leibniz (množenje in deljenje) v 17.stoletju. Ta sta omogočila osnovne kalkulatorske dosežke. Na tej napravi so opazno nadaljevali razvoj, a največji dosežek se je zgodil v okviru Analitičnega društva Univerze Cambridge. Charles Babbage, angleški strojni inženir in polimatematik, je prvi začrtal način delovanja programabilnega računalnika, ki je sledil navodilom po tablicah z luknjicami in je opazno obogatil Pascalovo zasnovo s strojniškim znanjem. Stroj je deloval na paro in je po zasnovi in uporabi diferencialnih izračunov prvi in najpomembnejši preskok v razvoju računalniškega stroja. Babbage je običajno označen kot oče računalnika[6]. Babbage je v zgodnjem 19. stoletju zasnoval in izumil prvi mehanični računalnik. Pri vpeljevanju diferencialnih izračunov in kotnih funkcij pri izračunavanju težjih matematičnih podvigov se je oprl na delo francoskega matematika Gasparda de Pronya, ki je pri delu logaritmičnih tabel in trigonometrije prepuščal po zgledu na industrijsko metodo tekočega traku izračune manjših delov računskega izraza preprostih delavcem, ki so opravili svoje delo in prepustili drugi skupini izračune. Po delu na njegovem revolucionarnem diferenčnem stroju, zasnovanemu za pomoč pri navigacijskih izračunih, je leta 1833 spoznal, da je možna izvedba tudi mnogo bolj zapletene naprave, t. i. analitični stroj. Vnos programov in podatkov je predvidel s pomočjo luknjanih kartic, iznajdbo, ki je v tistem času omogočala krmiljenje tkalnih strojev. Kot izhod naj bi naprava uporabljala tiskalnik, črtalnik in zvonec. Stroj naj bi ravno tako bil zmožen luknjanja kartic s številkami, kar bi lahko uporabil kasneje med procesom izračunavanja. Stroj naj bi vključeval tudi aritmetično logično enoto (angl. arithmetic logic unit, ALU), nadzornika tokov v obliki pogojnega vejenja in programskih zank, in naj bi vseboval tudi spomin, kar vse skupaj perdstavlja obliko, ki bi jo s sodobnimi pojmi opisali kot Turingovemu stroju enakovredno.[7][8]

Stroj je bil približno stoletje pred časom. Vse sestavne dele bi morali izdelati ročno, kar je bil velik problem za napravo, sestavljeno iz tisočev sestavnih delov. Sčasoma je zaradi odločitve angleške vlade, da zaustavi financiranje, projekt počasi zamrl. V razvoju se je Babbagu pridružila tudi Ada Lovelace, sicer hčer lorda Byrona, ki je znanstveni skupnosti predstavila nadaljnji razvoj Analitičnega stroja in tako prva predstavila vse možnosti sodobnega osebnega računalnika. Poleg Babbegeve zamisli stroja, ki lahko opravlja različne naloge, je ona dodala tudi dimenzijo izračunavanja tudi drugačnih vrednosti, ki se lahko prenesejo v glasbo, besede, simbolne vrednosti. Kot del predstavitve analitičnega stroja je ponudila tudi način, kako bi tak stroj lahko izračunaval naloge in tako velja za prvega računalniškega programerja. Ada Lovelace je ponudila Babbagu tudi poslovno sodelovanje, ki ga ta ni sprejel, ker se je opiral na vladno pomoč pri razvoju. Tako Ada Lovelace kot Babbage sta končala v revščini, Lovelace ni nadaljevala z objavljanjem znanstvenih del in postala kasneje celo odvisnik od igranja na srečo in opiatov.[9]

Babbageov neuspešen poskus dokončati napravo bi lahko v največji meri pripisali ne samo političnim in finančnim razlogom, temveč tudi njegovi želji razviti vedno bolj zmogljiv računski stroj in napredovati hitreje, kot bi kdorkoli drug lahko sledil. Kakorkoli, njegov sin, Henry Babbage, je po njegovi smrti v letu 1888 uspešno sestavil poenostavljeno verzijo računske enote analitičnega stroja (mlin). Leta 1906 je uspešno prikazal njegovo uporabo pri preračunavanju tablic.

Prvi analogni računalniki

[uredi | uredi kodo]
Stroj za napovedovanje tretje plime Sira Williama Thomsona, 1879–81

V prvi polovici 20. stoletja so vedno več znanstvenih zahtev podprli številni vedno bolj izpopopolnjeni analogni računalniki, ki so za osnovo izračunov uporabljali mehanični ali električni način obdelave izračuna. Toda, vsi ti stroji niso bili programabilni in jim je s tem primanjkovalo prilagodljivosti in natančnosti sodobnih digitalnih računalnikov.[10] Prvi sodobni analogni računalnik je bil stroj za napovedovanje plime, ki ga je izumil Sir William Thomson, Lord Kelvin leta 1872. Diferencialni analizator, mehanični analogni računalnik zasnovan za reševanje diferencialnih enačb s pomočjo integralov, ki je uporabljal kolesca in diske, je leta 1876 izdelal James Thomson, brat bolj slavnega Lorda Kelvina.[11] Umetnost mehaničnega analognega računanja je vrh dosegla z diferencialnim analizatorjem, ki sta ga na MIT leta 1927 zgradila H. L. Hazen in Vannevar Bush. Naprava je bila zgrajena na osnovi mehaničnih integratorjev Jamesa Thomsona in ojačevalcev navora, izumom H. W. Niemana. Preden je bila njihova zastarelost očitna, so zgradili 12 tovrstnih naprav.

Obdobje sodobnih računalnikov

[uredi | uredi kodo]

Način delovanja sodobnega računalnika je prvi v svoji razpravi O izračunljivih številih leta 1936 opisal računalniški znanstvenik Alan Turing[12]. Turing je ponovno določil meje dokazov in izračunov, ki jih je leta 1931 nakazal Kurt Gödel; Gödelov splošni formalni jezik na osnovi aritmetike je nadomestil z izmišljenimi in prav tako formalnimi napravami, ki so postale znane kot Turingovi stroji. Dokazal je, da bi neka taka naprava lahko bila sposobna izvesti katerokoli nedvoumno matematično operacijo, če bi le bila predstavljena v obliki algoritma. Dokazal je tudi, da ni rešitve za tako imenovani Entscheidungsproblem (odločitveni problem), in sicer tako, da izračunljivost problema za Turingov stroj ni vnaprej določena: na splošno ni možno z algoritmom za katerikolo izbrano kombinacijo vhodnih podatkov in algoritmov določiti, ali bo posamezni Turingov stroj program zaključil ali bo tekel do neskončnosti.

Vpeljal je tudi izraz »Splošni stroj« (sedaj bolj znan kot splošni oz. univerzalni Turingov stroj), ki je izraz za stroj, ki lahko izvede katerokoli operacijo drugega računskega stroja, ali, z drugimi besedami, računsko operacijo ali izračun na osnovi programa, shranjenega na traku, s čimer dosežemo programabilnost naprave. Von Neumann je potrdil, da je osnovni koncept sodobnega računalnika plod teh Turingovih spoznanj.[13] Turingovi stroji so še danes osnovni predmet računske teorije. Razen omejitev, ki so posledica njihovih končnih spominskih zmožnosti, za sodobne računalnike privzemamo, da so popolni po Turingu, kar pomeni, da imajo univerzalnemu Turingovemu stroju ustrezajočo zmožnost izvajanja algoritmov.

Prvi elektromehanični računalniki

[uredi | uredi kodo]
Fotografija iz leta 1919 prikazuje delavko pri obdelavi rezultatov popisa z Hollerithovim luknjalnikom. Oblika tipkovnice je za prebivalstveno kartico popisa v letu 1920.

Herman Hollerith je leta 1889 razvil in patentiral elektromehansko napravo (tabulator), ki je uporabljala luknjane kartice, ter z njo pohitril statistično obdelavo podatkov; popis prebivalstva v ZDA leta 1890 je bil tako opravljen v dveh letih in pol, prejšnjega (1880) pa so obdelovali 7 let. Leta 1896 je ustanovil podjetje Tabulating Machine Company. To se je leta 1911 združilo z dvema drugima podjetjema v Computing Tabulating Recording Corporation (CTR), ki se je kasneje (1924) preimenovalo v IBM.

Replika računalnika Z3 Konrada Zuseja; Z3 je bil prvi popolnoma avtomatski digitalni (elektromehanični) računanik.

Zgodnji digitalni računalniki so bili elektromehanski; električna stikala so za izvedbo računskih operacij usmerjala mehanične releje. Tovrstne naprave so imele nizko operativno hitrost in so jih sčasoma nadomestili mnogo hitrejši popolnoma električni računalniki, ki so uporabljali vakuumske cevi oz. elektronke. Računalnik Z2, ki ga je leta 1939 izdelal nemški inženir Konrad Zuse, je bil eden najzgodnejših primerov elektromehanskega relejnega računalnika.[14] Leta 1941 je Zuse nadgradil svojo predhodno napravo z Z3, prvim delujočim elektromehaničnim programabilnim, popolnoma avtomatskim digitalnim računalnikom.[15][16] Z3 je sestavlljalo 2000 relejev, kar je omogočalo 22 bitne zloge, ki so usmerjali delovno frekvenco 5–10 Hz.[17] Programska koda in podatki so se hranili na luknjanem celuloidnem filmskem traku. V nekaterih pogledih je bil podoben sodobnim računalnikom, prvi pa je omogočal številne napredne zmožnosti, npr. števila s plavajočo vejico. Zamenjava za izvedbo zahtevnega desetiškega sistema (ki ga je predvidel Charles Babbage) z mnogo enostavnejšim dvojiškim je pomenila, da so Zusejeve naprave bile enostavnejše za izdelavo in predvidoma bolj zanesljive, zlasti upoštevaje takratno stanje tehnologije.[18] Z3 je bil najverjetneje po Turingu popoln stroj.

Pojav elektronskih programabilnih računalnikov na osnovi elektronk

[uredi | uredi kodo]

Polno elektronski elementi so kmalu nadomestili njihove mehanske in elektromehanske ekvivalente, nekako v času, ko so digitalni izračuni nadomestili analogne. Inženir Tommy Flowers, ki je v 1930ih delal pri poštnem raziskovalnem uradu (Post Office Research Station) v Londonu, je pričel raziskovati možne načine uporabe elektronike v telefonskem prometu. Poskusna oprema, ki jo je zgradil leta 1934, je v redno uporabo prešla 5 let kasneje, pri čemer je z uporabo tisočev vakuumskih cevi del telefonske centrale spremenil v elektronski sistem za obdelavo podatkov.[10] V ZDA sta leta 1942 John Vincent Atanasoff in Clifford E. Berry na Univerzi v Iowi (Iowa State University) razvila in testirala računalnik Atanasoff–Berry Computer (ABC),[19] prvi »avtomatski elektronski digitalni računalnik«.[20] Tudi ta naprava je bila popolnoma elektronska in je delovala na osnovi 300 elektronk, pri čemer je za shranjevanje podatkov uporabljala mehanski vrteči se boben.[21]

Colossus je bila prva elektronska digitalna programabilna računska naprava; uporabljali so jo za razbitje nemških šifer med 2. svetovno vojno

Med drugo svetovno vojno so Britanci v Bletchley Parku dosegli vrsto pomembnih uspehov pri razvozlavanju šifriranih nemških vojaških sporočil. Nemški šifrirni stroj, Enigma, so sprva napadli s pomočjo elektro-mehanskih bomb. Za strtje bolj zapletenega stroja Lorenz SZ 40/42, ki so ga uporabljali za vojaška sporočila na višjih nivojih poveljevanja, so Max Newman in sodelavci nastavili prej omenjenega Flowersa, ki je med februarjem in koncem leta 1943 zgradil stroj z imenom Colossus.[22] Po zaključku funkcionalnih preizkusov decembra leta 1943 so Colossus 18. januarja 1944 prenesli v Bletchley Park [23] in z njim napadli prvo sporočilo 5. februarja.[21]

Colossus je bila prva elektronska digitalna programabilna računska naprava.[10] Zasnovana je bila na osnovi velikega števila vakuumskih cevi; za vnos je uporabljala papirni trak in jo je bilo moč nastaviti za razreševanje različnih booleanskih operacij nad podatki, toda ni bila popolna po Turingu. Colossus Mk I (Mark I - različica I) so kasneje spremenili v skupaj 10 strojev Mk II. Colossus Mark I je vseboval 1500 termalnih elektronk, toda Mark II s skupaj 2400 cevmi je bil 5-krat hitrejši in enostavnejši za rokovanje kot Mark I, s čimer so zelo pohitrili postopek dešifriranja.[24][25]

ENIAC je bila prva po Turingu popolna naprava; v ameriški vojski so jo uporabljali za računanje balističnih krivulj.

Ameriški ENIAC[26] (Electronic Numerical Integrator and Computer) je bil prvi elektronski programabilni računalnik, zgrajen v ZDA. Čeprav je bil ENIAC podoben Colossusu, je bil znatno hitrejši in prilagodljivejši. Nedvomno je bil po Turingu popolna naprava in je lahko izračunal katerikoli problem, ki je ustrezal njegovi količini spomina. Tako kot pri Colossusu, je bil "program" na ENIACu določen s pomočjo nastavitev povezovalnih kablov in stikal, kar je znatno drugače kot je to s programi postalo običajno v elektronskih napravah kasneje. Ko je avtor izdelal program, ga je bilo v računalnik potrebno vnesti ročno preko ustrezno nastavitve vtičnic in stikal.

ENIAC je združeval visoko hitrost elektronike in zmožnost programabilnosti za razreševanje zahtevnih problemov. Sešteval in odšteval je lahko 5000 krat v sekundi, tisočkrat hitreje kot katerakoli naprava tistega časa. Vseboval je tudi module za množenje, deljenje in kvadratni koren. Vgrajeni spomin je bil omejen na 20 besed (okoli 80 bytov). Gradnjo sta nadzorovala John Mauchly in J. Presper Eckert na Univerzi v Pennsylvaniji (University of Pennsylvania); ENIACova razvoj in izgradnja sta trajala od 1943 do polne operativnosti konec 1945. Naprava je bila velikanska, tehtala je 30 ton, uporabljala 200 kilowattov električne moči in vsebovala preko 18,000 vakuumskih cevi, 1.500 relejev, in stotine tisočev uporov, kondenzatorjev in induktorjev.[27]

Shranjevanje programov odpravi potrebo po vsakokratnem ožičenju

[uredi | uredi kodo]
Tri visoke omare z električnimi vezji
Del SSEM (Manchester Small-Scale Experimental Machine), prvega računalnika s shranjenim programom.

Prve računske naprave so uporabljale statične programe. Sprememba delovanja je zahtevala ponovno razmestitev žic in prestavitev strukture.[21] To se je spremenilo z uporabo računalnika, ki je program shranil. Tak računalnik po zasnovi vsebuje nabor ukazov in lahko v spominu hrani skupek ukazov (računalniški program), ki v podrobnostih opredeljuje izračun. Teoretično osnovo za v računalniku hranjeni program je v svoji objavi leta 1936 obdelal Alan Turing. Leta 1945 se je Turing pridružil angleškemu Nacionalnemu laboratoriju za fiziko in pričel delo pri razvoju digitalnega raćunalnika z elektronsko hranjenim programom. Njegovo poročilo iz leta 1945 »Načrt elektronskega kalkulatorja« (Proposed Electronic Calculator) je bila prva specifikacija za takšno napravo. John von Neumann je leta 1945 na Univerzi v Pennsylvaniji prav tako objavil »Prvi osnutek poročila o EDVAC-u« (First Draft of a Report on the EDVAC; Electronic Discrete Variable Automatic Computer).[10]

Manchester Small-Scale Experimental Machine (SSEM) z vzdevkom Baby je bil prvi računalnik s shranjenim programom na svetu. Zgradili so ga na Victoria University of Manchester Frederic C. Williams, Tom Kilburn in Geoff Tootill. Prvi program je izvedel 21. junija 1948.[28] Zasnovan je bil kot testni poligon za Williamsovo cev, prvo RAM digitalno spominsko napravo.[29] Čeprav je bil računalnik za tisi čas »majhen in primitiven«, je bil vendarle prva delujoča naprava, ki je vsebovala elemente, ki danes sestavljajo jedro sodobnih računalnikov.[30] Takoj, ko so s SSEM prikazali izvedljivost zasnove, so na univerzi sprožili projekt njegove nadgradnje v še bolj uporabni računalnik, Manchester Mark 1.

Mark 1 je nato hitro postal prototip za Ferranti Mark 1, prvi komercialno dosegljiv splošno uporaben računalnik na svetu.[31] Izdelalo ga je podjetje Ferranti in februarja 1951 dostavilo Univerzi v Manchestru. Najmanj sedem teh naprav so nato dobavili v letih med 1953 in 1957, eno izmed teh tudi laboratorijem podjetja Shell v Amsterdamu.[32] Oktobra 1947 se je vodstvo britanskega oskrbovalnega podjetja J. Lyons & Company odločilo, da bodo aktivno podprli komercialni razvoj računalnikov. Računalnik LEO I je pričel z delovanjem aprila 1951[33] in izvedel prvi redni rutinski pisarniški program na svetu.

V računalnikih tranzistorji nadomestijo vakuumske cevi

[uredi | uredi kodo]
Dvopolni usmerjevalni tranzistor

Dvopolni tranzistor so izumili leta 1947. Od leta 1955 dalje so v računalnikih tranzistorji nadomestili vakuumske cevi in pripomogli k vzponu »druge generacije«  računalnikov. V primerjavi z vakuumskimi cevmi imajo tranzistorji precej prednosti: so manjši, potrebujejo manj električne moči kot vakuumske cevi, in s tem oddajajo manj toplote. Silicijevi križni tranzistorju so bili tudi mnogo bolj zanesljivi kot vakuumske cevi in so imeli daljši, skoraj neskončni, rok uporabe. Tranzistorski računalniki so lahko vsebovali desettisoče binarnih logičnih vezij na sorazmerno manjhnem prostoru.

Na Univerzi v Manchestru je skupina pod vodstvom Toma Kilburna zasnovala in zgradila napravo, ki je uporabljala novo odkrite tranzistorje namesto cevi.[34] Njihov prvi tranzistorski računalnik, in s tem tudi prvi na setu, je bil dokončan leta 1953, druga različica pa aprila 1955. Kljub temu pa je naprava vsebovala cevi, s pomočjo katerih je delovala pri 125 kHz in brala ter zapisovala na spominske magnetne bobne, zaradi česar ni bila prva popolnoma tranzistorska naprava na svetu. Ta naziv gre računalniku Harwell CADET iz leta 1955,[35] ki ga je izdelal elektronski odsek Atomic Energy Research Establishment v Harwellu.[36][37]

Integrirana vezja nadomestijo tranzistorje

[uredi | uredi kodo]
Primer integriranega vezja (čip)

Do naslednjega večjega napredka v računski moči je prišlo s pojavom integriranih vezij.

Integrirano vezje si je prvi zamislil radarski znanstvenik Geoffrey W.A. Dummer, ki je delal na britanskem Ministrstvu za obrambo. Dummer je prvič javno predstavil svoj opis integriranega vezja na Simpoziju o napredku zmogljivih elektronskih sestavnih delov (Symposium on Progress in Quality Electronic Components) v Washingtonu 7. maja 1952.[38]

Prve praktične primere integriranih vezij sta izdelala Jack Kilby v podjetju Texas Instruments in Robert Noyce v Fairchild Semiconductor.[39] Kilby je svoje začetne ideje s področja integriranih vezij zabeležil julija 1958 in uspešno predstavil delujoči integrirani primer 12. septembra 1958.[40] V svoji patentni prijavi z dne 6. februarja 1959 je Kilby opisal svojo novo napravo kot “telo iz polprevodnega materiala ... znotraj katerega so vsebovani (s tujko: integrirani) vsi sestavni deli elektronskega vezja.”[41][42] Robert Noyce je predstavil svojo idejo integriranega vezja, le pol leta kasneje kot Kilby.[43] Njegov čip je rešil precej praktičnih težav, ki jih Kilbyev ni. Ena glavnih izboljšav je bila, da je Fairchild Semiconductor izdeloval čipe na osnovi široko dostopnega silicija, medtem ko je bil Kilbyev čip izdelan iz germanija.

Iznajdba je najavila eksplozijo komercialne in osebne rabe računalnikov in je vodila do izuma mikroprocesorja. Določitev, točno katera naprava je bila prvi mikroprocesor, je težka, deloma tudi zaradi pomanjkanja splošno sprejete definicije pojma »mikroprocesor«. Večinoma je nesporno, da je bil prvi enočipni mikroprocesor Intel 4004 iz leta 1971,[44] ki so ga zasnovali in opredmetili Ted Hoff, Federico Faggin in Stanley Mazor v podjetju Intel.[45]

IBM PC 5150 s tipkovnico in zelenim monokromatskim (enobarvnim) zaslonom, ki poganja operacijski sistem Microsoft MS-DOS 5.0
Računalnik Iskra Delta Partner

V obdobju med letoma 1978 in 1988 je v Sloveniji delovalo tudi podjetje Iskra Delta, eno redkih slovenskih podjetij z lastnim razvojem računalnikov. Podjetje je v najboljših časih zaposlovalo okoli 2000 strokovnjakov in drugega osebja. Podjetje je razpadlo po odpiranju vzhodnoevropskih trgov in delno tudi zaradi zamujanja pri sledenju novim tehnologijam.[46]

12. avgusta 1981 je IBM predstavil IBM Personal Computer (IBM PC; IBM osebni računalnik).[47] IBM PC je uporabljal takrat nov procesor Intel 8088. Tako kot ostali 16 bitni CPU-ji, je lahko uporabljal do 1 megabajt spomina in je uporabljal 8-bitni dostop podatkovnega vodila do spomina in vhodno/izhodnih naprav. Taka zasnova je omogočila uporabo obsežne, široko dostopne in relativno cenene družine 8 bitnih združljivih (kompatibilnih) podpornih čipov. IBM se je za uporabo čipa Intel 8088 odločil po predhodnem testiranju procesorjev Motorola 68000 in Intel i8086, saj je za slednja ocenil, da sta za namen uporabe prezmogljiva.[48][49] IBMov ugled v poslovnem svetu je omogočil, da je arhitektura IBM PC zasedla znaten del trga poslovne uporabe,[50] in precej manjših podjetij, ki so prodajale IBM-združljivo programsko in strojno opremo, je hitro zraslo po velikosti in pomenu, med njimi npr. Tecmar, Quadram, AST Research, in Microsoft.

Mobilnost in vzpon pametnih telefonov

[uredi | uredi kodo]

Nadaljevanje minituarizacije računalniških naprav, napredek v trajanju avtonomije prenosnih baterij in drugi dejavniki so v 1990-ih botrovali vedno večji popularnosti prenosnih računalnikov.[navedi vir] Isti razlogi so izdelovalcem omogočili vgradnjo vedno manjših in zmogljivejših sestavnih delov v mobilne telefone. Kasneje se pojavijo tako imenovani pametni telefon, ki uporabljajo različne operacijske sisteme ter na tržišču postajajo po številu prevladujoče računalniške naprave; tako so izdelovalci samo za drugo četrtletje leta 2013 poročali o prodaji 213 milijonov naprav (skupaj v letu 2013: 959 milijonov naprav).[51] Leta 2018 je ta številka dosegla že 1 milijardo 555 milijonov pametnih telefonov, pri čemer pa že nekaj let prodaja na letni ravni ne raste ali celo stagnira.[52][53]

  • Samsung: 295,04 milijonov (19% tržni delež)
  • Apple: 209,05 milijonov (13.4% tržni delež)
  • Huawei: 202,9 milijonov (13% tržni delež)
  • Xiaomi: 122,4 milijonov (7.9% tržni delež)
  • OPPO: 118,84 milijonov (7.6% tržni delež)
  • Drugi : 607,05 milijonov (39% tržni delež)
  • Skupaj : 1,555 milijonov ( 100.0% trga)

Opis pojma računalnik

[uredi | uredi kodo]

Računalnik je naprava, ki obdeluje podatke v skladu s seznamom ukazov, katerega imenujemo program. Računalniki se pojavljajo v številnih fizičnih oblikah. Dandanes so enostavni računalniki lahko narejeni tako majhni, da se jih lahko vgradi v ročno uro, poganja pa jih baterija ure. Osebni računalniki (angl. Personal Computer; PC) mnogih izvedb so simboli informacijske dobe in so po mnenju mnogih to, kar bi naj pomenila beseda »računalnik«. Kljub temu je najpogostejša oblika računalnika v današnji rabi vgradni računalnik. Vgradni računalniki so majhne, preproste naprave, ki so pogosto uporabljene za nadzor nad drugimi napravami, najdemo jih lahko npr. v vojaških letalih, tovarniških robotih, digitalnih kamerah in celo otroških igračah.

Računalnik je vsestranski zaradi sposobnosti shranjevanja in izvajanja množice ukazov, imenovanih programi. Po tem se razlikuje od navadnega kalkulatorja. Church-Turingova teza je matematična izjava o tej vsestranskosti: Vsak računalnik z določeno minimalno sposobnostjo je v principu sposoben opravljati iste naloge kot katerikoli drugi računalnik. Torej so računalniki s sposobnostjo in kompleksnostjo, ki se vrsti od osebnih digitalnih asistentov do superračunalnikov, zmožni opravljati iste računske naloge, če imajo dovolj časa in prostora za shranjevanje podatkov.

Programi

[uredi | uredi kodo]

Funkcija, ki opredeljuje sodobne računalnike in jih razločuje od vseh drugih strojev, je ta, da se jih lahko sprogramira; računalniku posredujemo neke vrste ukaze (program), ki jih bo računalnik obdelal.

Računalniški program lahko vsebuje le nekaj inštrukcij ali pa vsebuje več milijonov ukazov, kot so to na primer programi za oblikovalnike besedil in spletne brskalnike. Tipični sodobni računalnik lahko izvaja milijardo ukazov na sekundo in redko napravi napako v več letih delovanja. Veliki računalniški programi, ki vsebujejo več milijonov ukazov, običajno v več letih napišejo skupine programerjev, in zaradi kompleksnosti naloge se s tem poveča tudi možnost, da program vsebuje napake.

Zgradba računalnika

[uredi | uredi kodo]
Shematična zgradba računalnika[54]

Vsi računalniki vsebujejo enote, brez katerih celotna naprava ne bi delovala. Za delovanje potrebujemo programsko in strojno opremo, ki med seboj usklajeno in sinhronizirano delujejo. Glede na funkcijo, ki jih posamezne komponente opravljajo, ločimo na centralni in na periferni del (vhodno-izhodne enote). Centralni del je sestavljen iz treh pomembnejših enot[55]:

Periferni del je povezava računalnika z zunanjim svetom; ta delomogoča branje podatkov, izpisovanje rezultatov in shranjevanje podatkov v zunanjih pomnilnikih. Periferne enote delimo v tri osnovne kategorije[55]:

Vrste računalnikov

[uredi | uredi kodo]
Osebni računalnik

Poznamo naslednje vrste računalnikov:

Teme povezane z računalniki

[uredi | uredi kodo]

Umetna inteligenca

[uredi | uredi kodo]

Računalnik bo rešil problem točno tako, kot je bil sprogramiran, ne glede na učinkovitost, alternativne rešitve, možne bližnjice ali možne napake v kodi. Računalniški programi, ki se učijo in prilagajajo, so del uveljavljajočega se področja umetne inteligence in strojnega učenja.

Strojna oprema

[uredi | uredi kodo]

Izraz strojna oprema (angl. hardware, kratica HW) obsega vse tiste dele računalnika, ki se jih lahko otipa. Vezja, zasloni, napajalniki, kabli, tipkovnice, tiskalniki in miška so strojna oprema.

Zgodovina strojne opreme računalnika

[uredi | uredi kodo]
Prva generacija (mehanični/elektromehanični) Računala pascaline, arithmometer, diferenčni stroj, Quevedov analitični stroj
Programabilne naprave Jacquard loom, Analytical engine, IBM ASCC/Harvard Mark I, Harvard Mark II, IBM SSEC, Z3
Druga generacija (vakuumske cevi oz. elektronke) Računala Atanasoff–Berry Computer, IBM 604, UNIVAC 60, UNIVAC 120
Programabilne naprave Colossus, ENIAC, Manchester Small-Scale Experimental Machine, EDSAC, Manchester Mark 1, Ferranti Pegasus, Ferranti Mercury, CSIRAC, EDVAC, UNIVAC I, IBM 701, IBM 702, IBM 650, Z22
Tretja generacija (diskretni tranzistorji in SSI, MSI, LSI integrirana vezja) Osrednji računalniki IBM 7090, IBM 7080, IBM System/360, BUNCH
Miniračunalnik PDP-8, PDP-11, IBM System/32, IBM System/36
Četrta generacija (VLSI integrirana vezja) Miniračunalnik VAX, IBM System i
4-bitni mikroračunalnik Intel 4004, Intel 4040
8-bitni mikroračunalnik Intel 8008, Intel 8080, Motorola 6800, Motorola 6809, MOS Technology 6502, Zilog Z80
16-bitni mikroračunalnik Intel 8088, Zilog Z8000, WDC 65816/65802
32-bitni mikroračunalnik Intel 80386, Pentium, Motorola 68000, ARM
64-bitni mikroračunalnik[56] Alpha, MIPS, PA-RISC, PowerPC, SPARC, x86-64, ARMv8-A
Vgrajeni računalnik Intel 8048, Intel 8051
Osebni računalnik namizni računalnik, hišni računalnik, notesnik, dlančnik, prenosni računalnik, tablični računalnik, nosljivi računalnik, pametni telefon
Teoretični/eksperimentalni kvantni računalnik, kemijski računalnik, DNK računalnik, optični računalnik, računalnik temelječ na spintroniki

Ostale teme o strojni opremi

[uredi | uredi kodo]
Periferna naprava (Vhodno-izhodna enota) Vhod miška, tipkovnica, igralna palica, optični bralnik, spletna kamera, grafična tablica, mikrofon
Izhod monitor, tiskalnik, zvočnik
Oboje disketa, trdi disk, optični disk, teleprinter
Vodila računalnika Kratek doseg RS-232, SCSI, PCI, USB
Dolg doseg (računalniško omrežje) Ethernet, ATM, FDDI

Programska oprema

[uredi | uredi kodo]
Glavni članek: Programska oprema.

Programska oprema (angl. software, kratica SW) se nanaša na dele računalnika, ki nimajo materialne oblike. To so programi, podatki, protokoli, itd. Kadar je programska oprema shranjena v strojni opremi, ki se je ne da enostavno spreminjati, se včasih imenuje »firmware«.

Operacijski sistem Unix in BSD UNIX System V, IBM AIX, HP-UX, Solaris (SunOS), IRIX
GNU/Linux seznam Linux distribucij
MS Windows Windows 95, Windows 98, Windows NT, Windows 2000, Windows Me, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10
DOS 86-DOS (QDOS), IBM PC DOS, MS-DOS, DR-DOS, FreeDOS
Mac OS klasični Mac OS, Mac OS X
OS za mobilne naprave Windows Phone, Android, Symbian, iOS
Vgrajeni in realnočasnovni Seznam vgrajenih operacijskih sistemov
Eksperimentalni Amoeba, Oberon/Bluebottle, Plan 9 from Bell Labs
Knjižnica Večpredstavnost DirectX, OpenGL, OpenAL
Programska knjižnica C standardna knjižnica, Standard Template Library
Podatki Protokol TCP/IP, Kermit, FTP, HTTP, SMTP
Zapis datoteke HTML, XML, JPEG, MPEG, PNG
Uporabniški vmesnik Grafični uporabniški vmesnik (WIMP) Microsoft Windows, GNOME, KDE, QNX Photon, CDE, GEM, Aqua
znakovni uporabniški vmesnik vmesnik z ukazno vrstico, besedilni uporabniški vmesnik
Aplikacija Pisarniška zbirka oblikovalnik besedil, program za namizno založništvo, urejevalnik prezentacij, sistem za upravljanje s podatkovnimi zbirkami, načrtovanje in upravljanje s časom, preglednica, poslovni program
Dostop do interneta spletni brskalnik, poštni odjemalec, spletni strežnik, e-poštni transportni agent, hipno dopisovanje
Načrtovanje in proizvodnja računalniško podprto načrtovanje (CAD), računalniško podprta proizvodnja (CAM)
Grafika programi za risanje rastrske grafike, programi za risanje rastrske grafike, 3D računalniška grafika, programi za animacijo, obdelava videa, obdelava slik
Audio digitalni urejevalnik zvoka, predvajanje zvoka, miksanje, sinteza zvoka, računalniška glasba
Programski inženiring prevajalnik, zbirni jezik, interpreter, razhroščevalnik, urejevalnik besedil, integrirano razvojno okolje, analiza zmogljivosti programske opreme, nadzor različic, upravljanje konfiguracije programske opreme
Izobraževalno edutainment (zabavno izobraževanje), izobraževalna igra, simulator letenja
Igre strateške, arkadne, miselne, simulacije, prvoosebne strelske, ploščadne, masivno-večigralsko spletno igranje
Različno umetna inteligenca, protivirusni program

Jeziki

[uredi | uredi kodo]

Obstaja več tisoč različnih programskih jezikov - nekateri imajo splošno uporabo, drugi pa so namenjeni specializiranim aplikacijam.

Programski jeziki
Seznami programskih jezikov Seznam programskih jezikov
Splošno uporabljani zbirni jeziki ARM, MIPS, x86
Splošno uporabljani visokonivojski programski jeziki Ada, BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal, Object Pascal
Splošno uporabljani skriptni jeziki Bourne shell, JavaScript, Python, Ruby, PHP, Perl

Poklici in organizacije

[uredi | uredi kodo]

Ker se uporaba računalnikov v družbi širi, se povečuje tudi raznovrstnost poklicev in delovnih mest, ki vključujejo računalnike.

Poklici, povezani z računalniki
Povezani s strojno opremo elektrotehnika, elektronika, računalniško inženirstvo, telekomunikacije, nanoinženirstvo, mehatronika (kombinacija s programsko opremo)
Povezani s programsko opremo ali delna kombinacija s strojno opremo sistemski inženir, skrbnik računalniških sistemov, vodja računalniškega centra, vodja službe informatike, upravljavec računalniškega omrežja, načrtovalec računalniških omrežij, vzdrževalec računalniških omrežij, inženir za varnost računalniških sistemov, učitelj za računalništvo, skrbnik informacijskih sistemov, svetovalec informacijskih tehnologij, svetovalec programskih rešitev, vodenje izobraževanja informacijskih tehnologij, vodenje izobraževanja programskih aplikacij, visokošolski učitelj za računalništvo in informacijske tehnologije, razvijalec računalniških aplikacij, skrbnik računalniških aplikacij, skrbnik računalniške strojne opreme, skrbnik sistemske programske opreme, programer sistemov CAD/CAM, programer, strokovni sodelavec za podatkovne baze, analitik in snovalec informacijskih sistemov, organizator informacijskih sistemov, razvijalec informacijskih sistemov, razvijalec spletnih aplikacij, razvijalec aplikacij za mobilne platforme, oblikovalec spletnih aplikacij, grafično oblikovanje v oglaševanju, svetovalec visokotehnoloških rešitvah, vodenje projektov programskih rešitev, inženir za varnost računalniških omrežij in informacijskih sistemov[57]

Potreba, da bi se računalniki znali med seboj povezovati in medsebojno izmenjevati informacije, je vodila do ustanovitve več uradnih in neuradnih standardizacijskih organizacij, klubov in zvez.

Organizacije
Standardizacijske skupine ANSI, IEC, IEEE, IETF, ISO, W3C
Strokovne skupnosti ACM, AIS, IET, IFIP, BCS
Skupine za prosto/odprtokodno programje Free Software Foundation, Mozilla Foundation, Apache Software Foundation

Opombe in sklici

[uredi | uredi kodo]
  1. Kodek 1994.
  2. Cankarjeva založba (1988). Leksikon Cankarjeve založbe. str. 1202. COBISS 486659. ISBN 86-361-0221-9.
  3. »SSKJ: Računalnik«. ZRC SAZU. Pridobljeno 6. novembra 2014.
  4. Leta 1946, je ENIAC potreboval približno 174 kW. Kot primerjava, sodobni prenosnik lahko potroši približno 30 W; približno 6.000 krat manj.»Approximate Desktop & Notebook Power Usage«. University of Pennsylvania. Arhivirano iz prvotnega spletišča dne 3. junija 2009. Pridobljeno 20. junija 2009.
  5. Zgodnji računalniki kot sta Colossus in ENIAC sta bila sposobna procesirati med 5 in 100 operacij na sekundo. Moderni “commoditymicroprocesorji (od 2007) lahko procesirajo milijardo operacij na sekundo, in kar nekaj teh operacij je bolj zapletena in uporabna od operacij zgodnejših računalnikov.»Intel Core2 Duo Mobile Processor: Features«. Intel Corporation. Pridobljeno 20. junija 2009.
  6. Halacy, Daniel Stephen (1970). Charles Babbage, Father of the Computer. Crowell-Collier Press. ISBN 0-02-741370-5.
  7. »Babbage«. Online stuff. Science Museum. 19. januar 2007. Arhivirano iz prvotnega spletišča dne 7. avgusta 2012. Pridobljeno 1. avgusta 2012.
  8. »Let's build Babbage's ultimate mechanical computer«. opinion. New Scientist. 23. december 2010. Pridobljeno 1. avgusta 2012.
  9. Isaacson, Walter (2014). The Innovators, How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution. Simon&Shuster. str. 32. ISBN 978-1-47113-879-9.
  10. 10,0 10,1 10,2 10,3 »The Modern History of Computing«. Stanford Encyclopedia of Philosophy.
  11. Ray Girvan, "The revealed grace of the mechanism: computing after Babbage" Arhivirano 2012-11-03 na Wayback Machine., Scientific Computing World, May/June 2003
  12. Proceedings of the London Mathematical Society
  13. "von Neumann ... firmly emphasized to me, and to others I am sure, that the fundamental conception is owing to Turing—insofar as not anticipated by Babbage, Lovelace and others." Letter by Stanley Frankel to Brian Randell, 1972, quoted in Jack Copeland (2004) The Essential Turing, p22.
  14. Zuse, Horst. »Part 4: Konrad Zuse's Z1 and Z3 Computers«. The Life and Work of Konrad Zuse. EPE Online. Arhivirano iz spletišča dne 1. junija 2008. Pridobljeno 17. junija 2008.
  15. Zuse, Konrad (2010) [1984], The Computer – My Life Translated by McKenna, Patricia and Ross, J. Andrew from: Der Computer, mein Lebenswerk (1984) (v angleščini), Berlin/Heidelberg: Springer-Verlag, ISBN 978-3-642-08151-4
  16. »A Computer Pioneer Rediscovered, 50 Years On«. The New York Times. 20. april 1994.
  17. Zuse, Konrad (1993). Der Computer. Mein Lebenswerk (v nemščini) (3. izd.). Berlin: Springer-Verlag. str. 55. ISBN 978-3-540-56292-4.
  18. »Crash! The Story of IT: Zuse«. Arhivirano iz prvotnega spletišča dne 18. marca 2008. Pridobljeno 12. septembra 2014.
  19. January 15, 1941 notice in the Des Moines Register,
  20. Arthur W. Burks (1988). The First Electronic Computer.
  21. 21,0 21,1 21,2 Copeland, Jack (2006), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford: Oxford University Press, str. 101–115, ISBN 0-19-284055-X
  22. »Bletchley's code-cracking Colossus«, BBC News, 2. februar 2010, pridobljeno 19. oktobra 2012
  23. The Colossus Rebuild http://www.tnmoc.org/colossus-rebuild-story Arhivirano 2015-04-18 na Wayback Machine.
  24. Randell, Brian; Fensom, Harry; Milne, Frank A. (15. marec 1995), »Obituary: Allen Coombs«, The Independent, pridobljeno 18. oktobra 2012
  25. Fensom, Jim (8. november 2010), Harry Fensom obituary, pridobljeno 17. oktobra 2012
  26. John Presper Eckert Jr. and John W. Mauchly, Electronic Numerical Integrator and Computer, United States Patent Office, US Patent 3,120,606, filed 26 June 1947, issued 4 February 1964, and invalidated 19 October 1973 after court ruling on Honeywell v. Sperry Rand.
  27. »Generations of Computers«. Arhivirano iz prvotnega spletišča dne 2. julija 2015. Pridobljeno 12. septembra 2014.
  28. Enticknap, Nicholas (Summer 1998), »Computing's Golden Jubilee«, Resurrection, The Computer Conservation Society (20), ISSN 0958-7403, pridobljeno 19. aprila 2008
  29. »Early computers at Manchester University«, Resurrection, The Computer Conservation Society, 1 (4), Summer 1992, ISSN 0958-7403, pridobljeno 7. julija 2010
  30. Early Electronic Computers (1946–51), University of Manchester, arhivirano iz prvotnega spletišča dne 5. januarja 2009, pridobljeno 16. novembra 2008
  31. Napper, R. B. E., Introduction to the Mark 1, The University of Manchester, pridobljeno 4. novembra 2008
  32. Computer Conservation Society, Our Computer Heritage Pilot Study: Deliveries of Ferranti Mark I and Mark I Star computers., arhivirano iz prvotnega spletišča dne 11. decembra 2016, pridobljeno 9. januarja 2010
  33. Lavington, Simon. »A brief history of British computers: the first 25 years (1948–1973)«. British Computer Society. Arhivirano iz prvotnega spletišča dne 5. julija 2010. Pridobljeno 10. januarja 2010.
  34. Lavington, Simon (1998), A History of Manchester Computers (2 izd.), Swindon: The British Computer Society, str. 34–35
  35. Cooke-Yarborough, E. H. (Junij 1998), »Some early transistor applications in the UK«, Engineering and Science Education Journal, IEE, 7 (3): 100–106, doi:10.1049/esej:19980301, ISSN 0963-7346, pridobljeno 7. junija 2009 (zahtevana naročnina)
  36. Cooke-Yarborough, E.H. (1957). Introduction to Transistor Circuits. Edinburgh: Oliver and Boyd. str. 139.
  37. Cooke-Yarborough, E.H. (Junij 1998). »Some early transistor applications in the UK«. Engineering and Science Education Journal. London, UK: IEE. 7 (3): 100–106. doi:10.1049/esej:19980301. ISSN 0963-7346. Pridobljeno 7. junija 2009.
  38. "The Hapless Tale of Geoffrey Dummer" Arhivirano 2012-10-25 na Wayback Machine., (n.d.), (HTML), Electronic Product News, dostopano 8. julija 2008.
  39. Kilby, Jack (2000), Nobel lecture (PDF), Stockholm: Nobel Foundation, pridobljeno 15. maja 2008
  40. The Chip that Jack Built, (c. 2008), (HTML), Texas Instruments, pridobljeno 29. maja 2008.
  41. Jack S. Kilby, Miniaturized Electronic Circuits, United States Patent Office, US Patent 3,138,743, vloženo 6. februarja 1959, podeljeno 23. junija 1964.
  42. Winston, Brian (1998). Media Technology and Society: A History : From the Telegraph to the Internet. Routledge. str. 221. ISBN 978-0-415-14230-4.
  43. Robert Noyce's Unitary circuit, US patent 2981877, "Semiconductor device-and-lead structure", patent izdan 1961-04-25, imetnik Fairchild Semiconductor Corporation 
  44. Intel_4004 (november 1971), Intel's First Microprocessor—the Intel 4004, Intel Corp., pridobljeno 17. maja 2008{{citation}}: Vzdrževanje CS1: samodejni prevod datuma (povezava)
  45. Površina čipa Intel 4004 (1971) je bila 12 mm2, vseboval je 2.300 tranzistorjev; za primerjavo, procesor Pentium Pro je imel površino 306 mm2, vseboval je 5.5 milijona tranzistorjev.Patterson, David; Hennessy, John (1998), Computer Organization and Design, San Francisco: Morgan Kaufmann, str. 27–39, ISBN 1-55860-428-6
  46. Janez Škrubej (2008). Hladna vojna in bitka za informacijsko tehnologijo. Pasadena. str. 282. COBISS 238893568. ISBN 978-961-6361-98-9.
  47. timeline of computing history 1981
  48. »arhivska kopija«. Arhivirano iz prvotnega spletišča dne 21. novembra 2010. Pridobljeno 5. novembra 2014.
  49. THE 8088, FIRST INTEL'S REALLY SUCCESSFUL CPU (JUNE 1979) Arhivirano 2013-10-23 na Wayback Machine. – an article about the influence of the i8088 on old-computers.com.
  50. [1]
  51. »arhivska kopija«. Arhivirano iz prvotnega spletišča dne 26. junija 2014. Pridobljeno 12. septembra 2014.
  52. »Gartner Says Global Smartphone Sales Stalled in the Fourth Quarter of 2018 (see Table 2)«. Gartner. Pridobljeno 22. februarja 2019.{{navedi splet}}: Vzdrževanje CS1: url-status (povezava)
  53. »Number of smartphones sold to end users worldwide from 2007 to 2020«. statista.com. Pridobljeno 25. decembra 2019.
  54. prevod po nemškem izvirniku (1992). KAKO deluje? Sodobna tehnika II. Tehniška založba Slovenije. str. 517/614. COBISS 28102144.
  55. 55,0 55,1 55,2 Clemente 1971, str. 93.
  56. Večina glavnih 64-bitnih arhitektur nabora ukazov so razširitve starejših dizajnov. Vse arhitekture navedene v tej tabeli, razen Alpha, so obstajale že v 32-bitni obliki že pred svojo 64-bitno različico.
  57. »Zaposljivost - računalništvo«. Univerza v Mariboru. Arhivirano iz prvotnega spletišča dne 7. novembra 2014. Pridobljeno 6. novembra 2014.
  • Kodek, Dušan (1994), Arhitektura računalniških sistemov, Ljubljana: Bi-tim, COBISS 37856512, ISBN 961-6046-01-2
  • Clemente, Milan (1971), »Zgradba in delovanje elektronskega računalnika«, v Spiller-Muys, Franc (ur.), Elektronski računalniki, Ljubljana: Elektrotehniška zveza Slovenije

Zunanje povezave

[uredi | uredi kodo]