Historija računarskog hardvera

mini|400px|Računarski hardver predstavlja platformu za obradu informacija (blok dijagram)

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.

## Abakus 
Sprava za ručno računanje se koja se koristila u Kini, a smatra se pretečom svih računara.

## Koncept 
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, 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.

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 (), uređaji za trake (), magnetne trake, također uporedo sa ulazima.
Razvijali su se i izlazi: linijski štampači (), uređaji za trake (), bušene kartice (), 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 (). 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:
# *učitavanje* kompajlera
# pokretanje kompajlera
# *brisanje* kompajlera iz memorije
# *učitavanje* asemblera
# pokretanje asemblera
# *brisanje* asemblera
# *učitavanje* objektnog programa
# pokretanje objektnog 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 ().
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.

## Generacije 
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, 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.
mini|200x200piksel|Prvi mikroprocesor na svijetu
Četvrta generacije je donijela inovaciju u obliku mikroprocesora. Prvi mikroprocesor je predstavljen 1971, a radilo se o Intel-ovom 4004 procesoru. 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.

## Hronologija 
* 1975. - Firma MITS isporučuje komplet dijelova za računar Altair 8800. Kupac je morao sam sastaviti računar, a imao je memoriju od 1 KB. Ovo je prvi personalni računar.
* 1975. - Paul Allen i Bill Gates stvaraju prvi programski jezik za PC-e. To je bila verzija QBasic-a za računar Altair.
* 1975. - Steve Wozniak i steve Jobs osnivaju firmu Apple Computers.
* 1976. - Razvijena je disketa (floppy disk) prečnika 5,25 palca.
* 1976. - Intel proizvodi mikroprocesor 8086.
* 1977. - Razvijena prva komercijalna mreža računara ARCNET.
* 1977. - Firma Apple nudi PC Apple II, prvi personalni računar sa grafičkim prikazom 
* 1978. - Epson proizvodi iglični pisač TX-80 koji je bio prvi široko rasprostranjeni pisač za PC.
* 1979. - Hayes prodaje prvi modem za PC.
* 1979. - U SAD-u je u upotrebi više od pola miliona računara.
* 1979. - Intel proizvodi mikroprocesor 8088.
* 1980. - Prema narudžbi firme IBM paul Allen i Bill Gates izrađuju operativni sistem za IBM PC. Ovaj operativni sistem kasnije postaje poznat pod nazivom MS-DOS.
* 1981. - MS-DOS 1.0.
* 1981. - IBM proizvodi svoj prvi PC (eng. Personal Computer) IBM PC i prodaje ga sa operativnim sistemom MS-DOS.
* 1981. - Hayes proizvodi Modem pod nazivom Smartmodem 300 sa skupom naredbi pod nazivom AT command set. Brzina modema je bila 300 bps.
* 1981. - Hayes proizvodi Smartmodem 1200 brzine 1200 bps.
* 1982. - WordPerfect Corporation prodaje WordPerfect 1.0, najpopularniji program za obradu teksta prije pojave Windowsa.
* 1982. - Lotus Development prodaje program Lotus 1-2-3, najpopularniji program za tablično računanje prije pojave Windowsa.
* 1982. - Osnovana je firma Compaq Computer Corp koja je prva proizvela kopiju IBM PC računara i postala najveći konkurent IBM-u na poslovnom tržištu personalnih računara.
* 1982. - Počinje prodaja kućnog računara Commodore 64 koji je postao najprodavaniji model računara svih vremena.
* 1982. - Intel objavljuje mikroprocesor 80286.
* 1983. - Personalni računar IBM XT.
* 1983. - U SAD-u je u upotrebi više od deset miliona računara.
* 1983. - MS-DOS 2.0.
* 1983. - Microsoft Windows.
* 1984. - Personalni računar IBM AT.
* 1984. - Proizvedena je disketa (floppy disk) prečnika 3,5 palca
* 1984. - MS-DOS 3.0 i MS-DOS 3.1 (za mreže)
* 1984. - Profesor Fred Cohen sa sveučilišta University of Southern California objavljuje prvi rad o računarskim virusima.
* 1985. - Firma Microtek proizvodi proizvodi prvi jednobojni skener razlučivosti 300 dpi.
* 1985. - Intel objavljuje procesor 80386.
* 1985. - Microsoft Windows 1.0. 
* 1986. - IBM-ova tastatura pod nazivom AT ili 101.

desno|250px

* 1986. - Compaq proizvodi prvi PC skladan IBM PC-u.
* 1986. - u SAD-u je u upotrebi više od trideset miliona računara
* 1986. - MS-DOS 3.2.
* 1987. - Windows 2.0.
* 1987. - MS-DOS 3.3.
* 1987. - U SAD-u je u upoterbi preko četrdeset pet miliona računara.
* 1988. - Friedrich Reintzer otkriva tekući kristal.
* 1988. - Zvučna kartica SoundBlaster firme Creative Labs
* 1988. - MS-DOS 4.0.
* 1989. - Intel objavljuje procesor 486DX

## Računari prve generacije 
## Super-računari 
## Računarske mreže 
## Personalni uređaji 
## Također pogledajte 
*ZX Spectrum

## Reference 
Kategorija:Računarstvo