From Wikipedia, the free encyclopedia
Historija računara je u pravom smislu veoma kratka, obzirom da se nakon pojave prvog modernog računara taj razvoj odvijao jako brzo. Međutim, sam koncept računara svoje korijene vuče iz davnina.
Sprava za ručno računanje se koja se koristila u Kini, a smatra se pretečom svih računara.
Arhitekturu računara je opisao američki matematičar John von Neumann još mnogo prije nego se prvi računar i konstruisao. Definicija je data 1945. godine, a govori da računar ima sljedeće dijelove: procesor (CPU), memoriju (RAM) i ulazno-izlazne uređaje (U/I) (miš, tastatura, printer...). Ulazni uređaj je onaj uređaj koji omogućuje unos podataka u računar. Izlazni uređaj omogućava prikaz podataka koje je računar obradio. Memorija služi za pohranu podataka i naredbi programa. Za procesor važi da obavlja razne operacije u računaru, a sastoji se od aritmetičko-logičke jedinice (ALU) i upravljačke jedinice. ALU služi za izvođenje aritmetičkih i logičkih operacija, a sadrži i dva specijalna registra, akumulator i registar podataka. Upravljačka jedinica dobavlja naredbe koje se nalaze u memoriji (RAM-u), a na osnovu njih upravlja sa ALU i U/I uređajima. Ovaj koncept računara se i danas koristi.[1]
Rani sistemi su bili fizički jako veliki računari koji su se pokretali sa konzole. Programer, koji je također bio i operator računarskog sistema, podnosio je čitav teret upravljanja računarom. Operativni sistem nije postojao. Program se prvo unosio ručno u memoriju, pomoću binarnih prekidača, papirnih traka ili nešto kasnije, bušenih kartica. Neophodno je bilo prijaviti vrijeme na računarskom sistemu unaprijed. Ako bi se desilo da je korisnik završio svoj posao na računarskom sistemu, prije isteka prijavljenog vremena, ostatak vremena se nije mogao iskoristiti, a ako im je trebalo više vremena morali su se ponovo prijavljivati. Nakon što se program učitao u memoriju na mukotrpan način dugotrajnog pritiskanja prekidača ili stalnih izmjena papirnih traka, tada bi se pomoću odgovarajućih dugmadi odredila početna adresa i započelo bi se sa izvršavanjem programa. Kako se program izvršavao, programer odnosno operator je mogao monitorisati izvršavanje pomoću izlaznih lampica na konzoli. Ako bi se desila greška, programer je mogao zaustaviti izvršavanje programa, ispitati sadržaj memorije i registara i debugirati tj. ispraviti grešku direktno sa konzole. Rezultat izvršavanja programa se štampao ili punchovao(poseban način zapisivanja podataka bušenjem) na papirne trake ili kartice.
Kako je vrijeme prolazilo, dodatni softver i hardver se razvijao kako bi se olakšalo gore navedeno mukotrpno i dugotrajno korištenje računarskog sistema. Ulazi u sistem su postali efikasniji: čitači kartica (engleski: card readers), uređaji za trake (engleski: tape drives), magnetne trake, također uporedo sa ulazima. Razvijali su se i izlazi: linijski štampači (engleski: line printers), uređaji za trake (engleski: tape drives), bušene kartice (engleski: card punches), magnetne trake. Postojale su i upravljačke kartice, koje su definisale način korištenja hardvera od strane programa. Sa softverske strane razvijali su se asembleri, loaderi i linkeri, a sve s ciljem da se olakša posao programera. Također su razvijene i biblioteke pojedinih funkcija. To je omogućilo da se gotove funkcije mogu kopirati u novi program, bez da se ponovo pišu, što je znatno skratilo vrijeme programiranja.
Posebno značajne funkcije ili rutine bile su one koje su izvršavale ulazno/izlazne operacije (čitanje i pisanje sa uređaja u memoriju i obratno). Svaki novi ulazno-izlazni uređaj imao je svoje specifične karakteristike i zahtjevao je posebno programiranje. Tada se došlo na ideju da se za svaki uređaj pišu posebne sabrutine, poznatije kao device driveri , u današnje vrijeme jako često korišten pojam. Glavna prednost ovih drajvera bila je u tome što su znali za pojedini uređaj način korištenja bafera, flegova, registara, kontrolnih bita i statusnih bita, drugim riječima omogućili su vrlo jednostavnu upotrebu određenih uređaja. Svaki tip uređaja imao je svoj vlastiti drajver. Naprimjer, jednostavan zadatak čitanja karaktera sa uređaja za čitanje papirnih traka (eng. paper-tape reader), uključivao je veoma složen niz specifičnih operacija. Radije nego da se neophodni kod piše svaki put, prilikom obavljanja navedenog zadatka čitanja, drajver se jednostavno koristio iz biblioteke gotovih podrutina.
Kasnije, pojavom Fortrana, Cobola i drugih programskih jezika, znatno je olakšan programerov posao, ali istovremeno operacije na računarskom sistemu su se usložnjavale. Evo jednog ilustrativnog primjera o pripremi fortranovog programa za izvršavanje: Dakle, da bi se pripremio program u Fortranu za izvršavanje, programer je prvo trebao učitati Fortranov kompajler u računar. Inače, kompajler se čuvao na magnetnim trakama, tako da je bilo potrebno prethodno namontirati odgovarajuću traku na uređaj za trake (engleski: tape drive). Program se čitao preko čitača kartica, a potom se zapisivao na drugu traku. Fortranov kompajler je davao tzv. assembly-language output kojeg je bilo potrebno asemblirati. Zbog toga je bilo neophodno namontirati sljedeću traku koja je sadržavala asembler. Izlaz iz asemblera je trebalo linkovati sa odgovarajućim bibliotečkim rutinama za podršku. Konačno, binarna objektna forma (razumljiva hardveru) programa bivala je spremna za izvršavanje. Naravno ona bi se učitala u memoriju i debagirala sa konzole kako je to navedeno ranije.
Ono što se da zaključiti iz navedenog primjera jeste činjenica da se dosta vremena trošilo u tzv. set-up fazi izvršavanja programa, dakle u fazi pripreme za izvršavanje programa.
Također se mogu pobrojati faze neophodne za izvršavanje programa:
Ako bi se desila greška u bilo kojoj od ovih faza, sve se moralo ponovo raditi ispočetka. Također svaka od ovih faza, podrazumijevala je i montiranja magnetnih traka,papirnih traka i bušenih kartica. Dakle, glavni problem predstavljalo je set-up vrijeme, jer u trenutku dok su se trake montirale i čitale ili dok je programer izvršavao operacije sa konzole, centralna procesorska jedinica je bila besposlena. Treba napomenuti i činjenicu da je u vrijeme ranih računara, računarsko vrijeme bilo izuzetno cijenjeno. Bilo je vrlo malo dostupnih računara koji su koštali i po nekoliko miliona dolara. Također, trebalo je uzeti i troškove električne energije, hlađenja, programiranja itd. Upravo navedene činjenice uzrokovale su da se poboljšanje iskorištenosti vremena dobije upošljavanjem profesionalnog operatera, koji je bio vješt u rukovanju sa različitim karticama i vrijeme se nije gubilo između poslova. Naravno operater nije mogao debagirati program, jer on nije razumio isti. Međutim, bez obzira na to, uvođenjem profesionalnog operatera, programeru je skinut teret zamornih i za njegov posao beskorisnih poslova montiranja, mijenjanja kartica i slično. Druga ušteda vremena postignuta je reduciranjem set-up vremena tako što su poslovi sa sličnim potebama bili grupisani i bivali izvršavani u računarskom sistemu kao cjelina (engleski: batch). Naprimjer, pretpostavimo da je operater dobio jedan fortranski program, jedan cobolski program, pa opet jedan fortranski program. Ako ih on pokreće tim redoslijedom onda će biti neophodno trošiti set-up vrijeme za Fortran, potom za Cobol, pa opet Fortran. Ako bi on pokrenuo dva Fortran programa u vidu batcha, onda bi se utrošilo jedno set-up vrijeme manje od prethodnog slučaja, jer je za batch potrebno samo jedno set-up vrijeme.
Za razliku od prve generacije, druga generacija računara je bila itekako manja jer je koristila tranzistore. Tranzistor je izumljen 1947, ali se u računarima koristi tek 50-tih godina. Tranzistor je omogućio da računar postane manji, jeftiniji, pa i brži dok je još ostao problem sa pregrijavanjem. Također se prelazi na simboličke programske jezike zamjenjujući mnogo komplikovaniji mašinski jezik dok se za unos i printanje podataka služilo bušenim karticama. Glavna namjena ovih računara je bila u atomskoj industriji, za kontrolu komplikovanih elektrana, postrojenja itd. Glavni predstavnici su IBM 7030 te LARC
Razdoblje druge generacije računara trajalo je od 1959. do 1964. godine, i u tom su vremenu razvijeni osnovni programski jezici koji olakšavaju upotrebu računara i njihovu primjenu u poslovne svrhe.
Integralni sklopovi su bili osnov treće generacije računara. Tranzistori su smanjeni do te mjere da su stavljanji u silikonske čipove tj. poluprovodnike, što je još dodatno ubrzalo računare te im donijelo novu dozu stabilnosti i efikasnosti. Napokon dolazi do pojave monitora i tastature, te naravno operativnog sistema. Prvi put računari su masovnije dostupni širem spektru korisnika, ponajviše zbog manjih dimenzija nego ranije. Dolazi i do napredka programskih jezika te se razvijaju jezici višeg nivoa (npr. ALGOL).
Glavni predstavnici treće generacije su: IBM 360/91, IBM 360-195, CDC 660, CDC 7600, SOLOMON, ILLIAC IV, STAR-100 itd.
Četvrta generacije je donijela inovaciju u obliku mikroprocesora. Prvi mikroprocesor je predstavljen 1971, a radilo se o Intel-ovom 4004 proceosru. Kasnije je i IBM predstavio svoj računar (1981), te 1984 Apple je predstavio svoj legendarni Macintosh. Četvrta generacija računara je ujedno i najrevolucionarnija jer je napravila uistinu velike pomake u kratkom razvoju, imzeđu ostalog mogućnost umrežavanja tadašnjih računara je dovela do nastanka Interneta, te po prvi put se koristi miš. Ovo razdoblje je obilježio i napredak programskih jezika, te predstavljanje naprednih jezika kao što C, na osnovu kojeg je nastao operativni sistem UNIX iz kojeg su se opet razvili mnogi drugi operativni sistemi (Linux itd.). Također koristi se grafički interfejs GUI koji je prvi osmislio Apple na Macintosh računarima.
Ovaj odlomak potrebno je proširiti. |
Ovaj odlomak potrebno je proširiti. |
Ovaj odlomak potrebno je proširiti. |
Ovaj odlomak potrebno je proširiti. |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.