Arhivski sajt. Zvanični novi portal telekomunikacionog foruma Telfor nalazi se na adresi: www.telfor.rs

Informacione tehnologije: istorijat, kompjuterski hardver i operativni sistemi

Ključne teze i rezime

  • Razvoj informacionih tehnologija (IT) predstavlja ključnu evoluciju civilizacije, transformišući društvo od mehaničkih kalkulatora do savremenih distriburianih sistema, obuhvatajući decenije intenzivnih inovacija u hardveru i softveru.
  • Kompjuterski hardver, posebno arhitektura procesora, temelj je IT-a, gde se kroz istoriju borba vodila između kompleksnih instrukcijskih setova (CISC poput x86) i redukovanih (RISC poput ARM-a), svaki sa svojim optimalnim domenima primene i inherentnim kompromisima.
  • Operativni sistemi su esencijalni softverski sloj koji efikasno upravlja hardverskim resursima, obezbeđujući apstrakcije, sigurnost i stabilnost, čime omogućavaju korisnicima i aplikacijama interakciju sa složenim računarskim sistemima na pristupačan i organizovan način.

Informacione tehnologije (IT) predstavljaju fundamentalnu kičmu savremenog društva, obuhvatajući celokupan spektar alata, sistema, procesa i metodologija za prikupljanje, obradu, skladištenje, prenos i prikaz informacija. Od svojih rudimentarnih početaka do današnjih kompleksnih, globalno povezanih ekosistema, IT je prošao kroz burnu evoluciju, koja je transformisala svaki aspekt ljudskog delovanja – od nauke i inženjerstva, preko ekonomije i medicine, do svakodnevne komunikacije i zabave. Ovaj članak pruža dubinski uvid u istorijski razvoj informacionih tehnologija, detaljno analizira arhitekturu kompjuterskog hardvera, sa posebnim osvrtom na mikroprocesore i njihove instrukcijske setove (CISC i RISC), te razjašnjava esencijalnu ulogu i funkcionalnost operativnih sistema u upravljanju ovim resursima.

Istorijski razvoj informacionih tehnologija

Razvoj IT-a može se pratiti kroz nekoliko epoha, svaka obeležena revolucionarnim inovacijama koje su progresivno povećavale računarske sposobnosti i dostupnost tehnologije.

Rani počeci i mehaničko doba (pre 1940-ih)

Potreba za automatizovanim proračunima seže daleko u prošlost. Abakus, star hiljadama godina, predstavlja jedan od najranijih alata. Kasnije, u 17. veku, Blaise Pascal i Gottfried Leibniz konstruisali su prve mehaničke kalkulatore. Međutim, vizionarski rad engleskog matematičara Čarlsa Bebidža u 19. veku postavio je temelje modernog računarstva. Njegova Diferencijalna mašina i ambicioznija Analitička mašina bile su koncipirane kao programabilni mehanički računari, sa konceptima kao što su centralna procesorska jedinica (koju je nazvao "mlin"), memorija ("skladište") i ulazno/izlazne jedinice. Ada Lovlejs, ćerka lorda Bajrona, prepoznala je potencijal Analitičke mašine izvan pukog računanja, stvarajući algoritme koji se danas smatraju prvim kompjuterskim programima1. Iako Bebidževe mašine nisu u potpunosti izgrađene za njegovog života, njihovi principi su bili decenijama ispred svog vremena.

Prve generacije elektronskih računara (1940-te – 1950-te)

Prava revolucija započela je sa pojavom elektronskih digitalnih računara tokom i neposredno nakon Drugog svetskog rata. Ovi rani sistemi bili su bazirani na vakuumskim cevima i odlikovali su se ogromnim dimenzijama, velikom potrošnjom energije i niskom pouzdanošću.

  • ENIAC (Electronic Numerical Integrator and Computer), završen 1946. godine na Univerzitetu u Pensilvaniji, smatra se prvim elektronskim digitalnim računarom opšte namene. Njegova primarna svrha bila je izračunavanje balističkih putanja. Bio je programiran prežičavanjem, što je bio mukotrpan proces.
  • Von Neumannova arhitektura: Ključni teorijski pomak došao je sa Džonom fon Nojmanom i njegovim saradnicima. Njihov koncept, predstavljen u radu First Draft of a Report on the EDVAC (1945), predložio je skladištenje programa i podataka u istoj memoriji, što je omogućilo fleksibilnije programiranje i postalo dominantna arhitektura za gotovo sve moderne računare2.
  • UNIVAC I (Universal Automatic Computer I), isporučen 1951. godine, bio je prvi komercijalni računar, što je označilo početak ere komercijalne primene računarske tehnologije.

Tranzistorska revolucija i integrisana kola (1950-te – 1970-te)

Pronalazak tranzistora u Bell Labs-u 1947. godine fundamentalno je promenio kurs elektronike i računarstva. Tranzistori su bili manji, brži, pouzdaniji i trošili su manje energije od vakuumskih cevi.

  • Druga generacija (1950-te – 1960-te): Računari bazirani na tranzistorima, poput IBM-a 7090 i PDP-1, bili su znatno efikasniji. Pojavili su se viši programski jezici (FORTRAN, COBOL), što je olakšalo programiranje.
  • Treća generacija (1960-te – 1970-te): Izum integrisanog kola (IC) od strane Jacka Kilbyja i Roberta Noycea u kasnim 1950-im omogućio je smeštanje više tranzistora na jedan silicijumski čip. To je dovelo do masovne proizvodnje manjih, jeftinijih i moćnijih računara. IBM System/360, predstavljen 1964. godine, bio je revolucionaran jer je nudio familiju kompatibilnih računara različitih performansi, koristeći ista integrisana kola. Ova era je takođe donela pojavu operativnih sistema za rad u serijskom režimu (batch processing) i deljenje vremena (time-sharing).

Mikroprocesorska era i lični računari (1970-te – 1990-te)

Najveći kvantni skok dogodio se 1971. godine sa pronalaskom mikroprocesora, Intel 4004, koji je na jednom čipu objedinio sve funkcije centralne procesorske jedinice.

  • Četvrta generacija (1970-te – 1980-te): Razvoj mikroprocesora (Intel 8080, Motorola 68000) doveo je do pojave prvih ličnih računara (PC). Altair 8800 (1975) se često pominje kao prvi lični računar, a ubrzo su usledili Apple II (1977), Commodore PET, TRS-80 i, naravno, IBM PC (1981). Ovi računari su postali dostupni široj populaciji, donoseći računarstvo iz laboratorija i korporacija u domove i kancelarije. Grafički korisnički interfejsi (GUI), popularizovani od strane Xerox PARC-a i komercijalizovani od strane Apple Macintosh-a (1984) i kasnije Microsoft Windows-a, dramatično su pojednostavili interakciju sa računarima.
  • Peta generacija (1980-te – 1990-te): Fokus je bio na paralelnom procesiranju, veštačkoj inteligenciji i razvoju mrežnih tehnologija. Internet, koji je evoluirao iz ARPANET-a, počeo je da dobija na značaju, ali je masovnu upotrebu doživeo tek sa pojavom World Wide Weba 1990-ih.

Savremena era: internet, mobilnost i cloud (2000-te – danas)

Novi milenijum je obeležen eksplozijom interneta, mobilnih tehnologija i pojavom cloud computinga.

  • Globalna povezanost: Internet i WWW su postali sveprisutni, transformišući komunikaciju, trgovinu i pristup informacijama.
  • Mobilno računarstvo: Smartfoni i tableti, pogotovo sa pojavom iPhone-a (2007) i Androida, doneli su računarstvo u džep svakog čoveka, zahtevajući nove arhitekture procesora (poput ARM-a) fokusirane na energetsku efikasnost.
  • Cloud computing: Pomeranje računarskih resursa i skladištenja u "oblak" (udaljene data centre) donelo je skalabilnost, fleksibilnost i model "softvera kao usluge" (SaaS), "platforme kao usluge" (PaaS) i "infrastrukture kao usluge" (IaaS).
  • Veštačka inteligencija i mašinsko učenje: Brzi napredak u ovim oblastima redefinira interakciju sa računarima i otvara nove mogućnosti u analizi podataka, automatizaciji i donošenju odluka.

Tabela 1: Hronologija ključnih prekretnica u razvoju informacionih tehnologija

Period Događaj / Inovacija Značaj
19. vek Babbageova Analitička mašina, Ada Lovelace Koncept programabilnog računara i prvih algoritama
1940-te ENIAC, Von Neumannova arhitektura Prvi elektronski računar; Skladištenje programa u memoriji
1947 Pronalazak tranzistora Temelj za minijaturizaciju i pouzdanost elektronike
1951 UNIVAC I Prvi komercijalni elektronski računar
1958 Integrisano kolo (IC) Početak masovne proizvodnje složenih elektronskih komponenti
1964 IBM System/360 Familija kompatibilnih računara, standardizacija arhitekture
1969 ARPANET Preteča Interneta, osnova za paketsko komutiranje
1971 Intel 4004 (mikroprocesor) Kompletna CPU na jednom čipu, otvara put ličnim računarima
1981 IBM PC Popularizacija ličnih računara u poslovnom i kućnom okruženju
1984 Apple Macintosh (GUI) Komercijalna popularizacija grafičkog korisničkog interfejsa (GUI)
1991 World Wide Web Globalni sistem povezanih hipertekstualnih dokumenata
2007 iPhone Revolucija mobilnog računarstva i smartfona
2010-te nadalje Cloud computing, AI, IoT Distribuirano računarstvo, pametni uređaji, autonomni sistemi

Kompjuterski hardver: arhitektura procesora

Srce svakog računarskog sistema je centralna procesorska jedinica (CPU), ili mikroprocesor, koja izvršava instrukcije programa i kontroliše operacije sistema. Razumevanje arhitekture procesora je ključno za razumevanje performansi i efikasnosti računara.

Osnovni principi i komponente cpu-a

Većina modernih procesora zasnovana je na Von Neumannovoj arhitekturi, gde se programi i podaci čuvaju u istoj memoriji. Ključne komponente CPU-a uključuju:

  • Aritmetičko-logička jedinica (ALU): Odgovorna za izvršavanje aritmetičkih operacija (sabiranje, oduzimanje) i logičkih operacija (AND, OR, NOT).
  • Kontrolna jedinica (CU): Dekodira instrukcije, sinhronizuje operacije i generiše kontrolne signale za druge komponente CPU-a i sistema.
  • Registri: Male, brze memorijske lokacije unutar CPU-a koje privremeno čuvaju podatke i instrukcije potrebne za trenutno izvršavanje. Uključuju programski brojač (PC), instrukcijski registar (IR), registre opšte namene itd.
  • Keš memorija: Mala količina brze, statičke RAM (SRAM) memorije smeštene unutar ili blizu CPU-a, koristi se za skladištenje često korišćenih podataka i instrukcija radi smanjenja latencije pristupa glavnoj memoriji (DRAM). Postoje nivoi keš memorije (L1, L2, L3), pri čemu je L1 najbrži i najbliži jezgri procesora.

Instrukcijski setovi: CISC vs. RISC

Jedna od najznačajnijih razlika u arhitekturi procesora leži u njihovim instrukcijskim setovima: CISC (Complex Instruction Set Computer) i RISC (Reduced Instruction Set Computer).

CISC arhitektura (npr. intel x86)

  • Karakteristike:
    • Velik i složen set instrukcija: Jedna CISC instrukcija može obavljati kompleksne operacije, kao što su učitavanje podataka iz memorije, obavljanje aritmetičke operacije i skladištenje rezultata, sve u jednom koraku.
  • Prednosti:
    • Manji broj instrukcija po programu (kompaktni kod).
  • Mane:
    • Složeniji hardver CPU-a, što može dovesti do veće potrošnje energije i složenijeg dizajna.
  • Primena: Dominantna u desktop i serverskim računarima (Intel Core, AMD Ryzen/Epyc procesori), gde su performanse po jednoj niti i kompatibilnost kritični.

RISC arhitektura (npr. ARM, powerpc, MIPS)

  • Karakteristike:
    • Manji i jednostavniji set instrukcija: Svaka instrukcija obavlja jednu elementarnu operaciju (npr. učitaj, sačuvaj, dodaj).
  • Prednosti:
    • Jednostavniji dizajn hardvera, što rezultira manjim čipovima, manjom potrošnjom energije i nižim troškovima.
  • Mane:
    • Veći broj instrukcija po programu (veći kod), što može zahtevati više memorije za skladištenje.
  • Primena: Dominantna u mobilnim telefonima, tabletima (Apple A serija, Qualcomm Snapdragon), IoT uređajima i ugrađenim sistemima (npr. Raspberry Pi). Njena efikasnost je dovela do značajnog rasta i u serverskom segmentu (npr. AWS Graviton procesori).

Tabela 2: Poređenje CISC i RISC arhitektura procesora

Karakteristika CISC (Complex Instruction Set Computer) RISC (Reduced Instruction Set Computer)
Set instrukcija Veliki, složen, varijabilne dužine Mali, jednostavan, fiksne dužine
Izvršavanje instrukcija Više ciklusa takta po instrukciji, mikrokod Jedan ciklus takta po instrukciji (cilj)
Pristup memoriji Direktne memorijske operacije Samo LOAD/STORE instrukcije
Registri Manji broj registara opšte namene Veći broj registara opšte namene
Kompleksnost hardvera Veća Manja
Potrošnja energije Veća Manja
Pipelining Složenije Jednostavnije i efikasnije
Primena Desktop računari, serveri (x86) Mobilni uređaji, IoT, ugrađeni sistemi (ARM)

Memorijska hijerarhija i magistrale

Da bi CPU efikasno funkcionisao, neophodna je složena memorijska hijerarhija:

  • Registri: Najbrža memorija, direktno unutar CPU-a.
  • Keš memorija (L1, L2, L3): Brža od RAM-a, sporija od registara, ublažava latenciju pristupa glavnoj memoriji.
  • Glavna memorija (RAM): Brza, volatilna memorija za skladištenje programa i podataka koji se trenutno koriste.
  • Sekundarna memorija (diskovi): Sporija, nevolatilna memorija za dugoročno skladištenje (HDD, SSD).

Komponente računara međusobno komuniciraju putem magistrala (buses). Postoje tri glavne vrste:

  • Adresna magistrala: Prenosi memorijske adrese do kojih CPU želi da pristupi.
  • Magistrala podataka: Prenosi stvarne podatke između CPU-a, memorije i I/O uređaja.
  • Kontrolna magistrala: Prenosi kontrolne signale koji upravljaju protokom podataka i operacijama.

Operativni sistemi: upravljanje resursima i interfejsi

Operativni sistem (OS) je najvažniji sistemski softver koji deluje kao interfejs između korisnika i hardvera računara. Njegova primarna uloga je upravljanje hardverskim i softverskim resursima, obezbeđivanje stabilnog i bezbednog okruženja za izvršavanje aplikacija i pružanje konzistentnog korisničkog interfejsa.

Uloga i funkcije operativnog sistema

OS obavlja sledeće ključne funkcije:

  1. Upravljanje procesima: Organizuje i kontroliše izvršavanje programa. Proces je instanca programa u izvršavanju.
    • Planiranje procesa (Scheduling): OS odlučuje koji će se proces izvršavati na CPU-u u datom trenutku, koristeći algoritme poput FCFS (First-Come, First-Served), Round Robin, prioritetsko planiranje.
  2. Upravljanje memorijom: Alocira i dealocira memoriju procesima, osiguravajući da svaki proces ima dovoljno memorije i da se ne meša u memoriju drugih procesa.
    • Virtuelna memorija: Ključna tehnika koja omogućava procesima da koriste adresni prostor veći od fizički dostupne RAM memorije. OS preslikava virtuelne adrese u fizičke adrese pomoću hardverske jedinice za upravljanje memorijom (MMU) i page tablica. Paginacija i segmentacija su mehanizmi za implementaciju virtuelne memorije.
  3. Upravljanje datotekama: Organizuje, skladišti, pretražuje i štiti datoteke na sekundarnoj memoriji.
    • Datotečni sistem (File System): Struktura koja omogućava kreiranje, brisanje, preimenovanje i pristup datotekama i direktorijumima. Primeri su NTFS (Windows), ext4 (Linux), APFS (macOS).
  4. Upravljanje ulazno/izlaznim (I/O) uređajima: Kontroliše komunikaciju između CPU-a i I/O uređaja (štampači, tastature, diskovi).
    • Drajveri uređaja: Poseban softver koji omogućava OS-u da komunicira sa specifičnim hardverskim uređajima.
  5. Sigurnost i zaštita: Pruža mehanizme za zaštitu sistema od neovlašćenog pristupa, virusa i drugih pretnji.
    • Autentifikacija i autorizacija: Provera identiteta korisnika i dodeljivanje prava pristupa resursima.
  6. Korisnički interfejs (UI): Omogućava korisnicima interakciju sa sistemom.
    • Komandna linija (CLI - Command Line Interface): Tekstualni interfejs (npr. Bash, Command Prompt).

Tipovi operativnih sistema

Različiti tipovi OS-a su razvijeni za specifične namene:

  • Batch OS: Izvršavaju poslove u serijskom režimu bez direktne interakcije sa korisnikom (rani mainframes).
  • Time-sharing OS: Omogućavaju više korisnika da istovremeno dele resurse računara (npr. UNIX, rane verzije Windows Servera).
  • Real-time OS (RTOS): Dizajnirani za aplikacije gde je vremenska preciznost kritična (npr. industrijska kontrola, medicinski uređaji, automobilski sistemi).
  • Distribuirani OS: Upravljaju grupom nezavisnih računara koji rade kao jedan sistem, pružajući iluziju jednog računarskog resursa (npr. Google Chrome OS, raniji planovi za Amoeba, Locus).
  • Mrežni OS (NOS): Pokreće servere, omogućavajući deljenje datoteka, štampača, baza podataka (npr. Windows Server, Linux distribucije kao serveri).
  • Mobilni OS: Optimizovani za smartfone i tablete, sa fokusom na energetsku efikasnost, korisničko iskustvo i integraciju senzora (npr. Android, iOS).

Definicija procesa: U kontekstu operativnih sistema, proces predstavlja izvršavajuću instancu računarskog programa. On uključuje programski kod, skup resursa (poput registara, steka i hipa), i stanje izvršavanja programa. Operativni sistem upravlja životnim ciklusom procesa, od njegovog kreiranja do terminacije, obezbeđujući mu neophodne resurse za rad. 3

Savremeni trendovi i izazovi

Informacione tehnologije nastavljaju da se razvijaju eksponencijalnom brzinom, donoseći nove paradigme i izazove.

  • Cloud Computing i Edge Computing: Dok cloud centralizuje resurse, edge computing ih približava izvoru podataka, smanjujući latenciju i propusni opseg, što je ključno za IoT i real-time aplikacije.
  • Veštačka inteligencija (AI) i Mašinsko učenje (ML): Transformišu način na koji računari obrađuju informacije i donose odluke, sa aplikacijama od autonomnih vozila do medicinske dijagnostike. Ovi sistemi zahtevaju specijalizovan hardver (GPU, TPU) i optimizovane operativne sisteme.
  • Kvantno računarstvo: Iako još u eksperimentalnoj fazi, obećava revolucionarne sposobnosti rešavanja problema koji su nedostižni za klasične računare, posebno u kriptografiji i simulacijama.
  • Cybersecurity: Sa sve većom povezanošću i zavisnošću od digitalnih sistema, zaštita podataka i infrastrukture postaje jedan od najvažnijih izazova. Operativni sistemi igraju centralnu ulogu u implementaciji sigurnosnih protokola i mehanizama.
  • Energetska efikasnost: Rastuća potrošnja energije data centara i mobilnih uređaja gura razvoj hardvera (posebno RISC arhitektura poput ARM-a) i softvera ka većoj energetskoj efikasnosti.

Zaključak

Putovanje informacionih tehnologija od mehaničkih mašina do današnjih sofisticiranih digitalnih ekosistema je svedočanstvo ljudske inovativnosti i neprestane težnje ka automatizaciji i unapređenju obrade informacija. Evolucija kompjuterskog hardvera, posebno mikroprocesora i njihovih arhitektura (CISC i RISC), zajedno sa kompleksnim operativnim sistemima koji efikasno upravljaju ovim resursima, predstavlja temelj digitalne transformacije. Razumevanje istorijskih prekretnica, tehničkih detalja arhitektura procesora i funkcionalnosti operativnih sistema nije samo akademsko interesovanje, već i imperativ za svakog ko želi da shvati i oblikuje budućnost u kojoj će informacione tehnologije i dalje igrati centralnu, možda i definšuću ulogu. Budućnost obećava dalja ubrzanja u razvoju AI, kvantnog računarstva i sveprisutne povezanosti, čineći oblast IT-a dinamičnijom i relevantnijom nego ikada pre.


Reference i fusnote


Reference i literatura:

1. Menabrea, L. F., & Lovelace, A. (1843). Sketch of the Analytical Engine invented by Charles Babbage, Esq. by L.F. Menabrea, of Turin, Officer of the Military Engineers, with notes by the translator Ada Augusta, Countess of Lovelace. Taylor's Scientific Memoirs, Vol. 3.
2. von Neumann, J. (1945). First Draft of a Report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania.
3. Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating System Concepts. 10th ed. John Wiley & Sons.
4. Hennessy, J. L., & Patterson, D. A. (2018). Computer Architecture: A Quantitative Approach. 6th ed. Morgan Kaufmann.
5. Tanenbaum, A. S., & Bos, H. (2015). Modern Operating Systems. 4th ed. Pearson Education.

Česta pitanja (FAQ)

Koja je ključna razlika između RISC i CISC arhitektura procesora i zašto su obe i dalje relevantne?

RISC (Reduced Instruction Set Computer) arhitekture, poput ARM-a, karakteriše manji, jednostavniji set instrukcija koje se brzo izvršavaju, često u jednom ciklusu, što ih čini idealnim za energetski efikasne uređaje. CISC (Complex Instruction Set Computer) arhitekture, poput x86, imaju veći i složeniji set instrukcija koje mogu izvršavati kompleksne operacije u jednoj instrukciji, ali zahtevaju više ciklusa. Obe su relevantne jer CISC dominira u desktop i serverskim okruženjima zbog kompatibilnosti i performansi po niti, dok RISC dominira u mobilnim i IoT uređajima zbog efikasnosti i manje potrošnje energije, što ih čini komplementarnim u modernom računarskom pejzažu.

Kako virtuelna memorija funkcioniše i koji su njeni glavni benefiti za operativni sistem i aplikacije?

Virtuelna memorija je tehnika upravljanja memorijom koju primenjuju operativni sistemi kako bi omogućili aplikacijama da koriste adresni prostor veći od fizički dostupne RAM memorije, istovremeno pružajući iluziju da svaka aplikacija ima ekskluzivan pristup punom adresnom prostoru. Ona preslikava virtuelne adrese u fizičke adrese, koristeći page tabele i hardverski MMU (Memory Management Unit). Glavni benefiti uključuju zaštitu procesa (jedan proces ne može direktno pristupiti memoriji drugog), efikasnije korišćenje RAM-a, mogućnost izvršavanja programa većih od fizičke memorije i pojednostavljenje programiranja jer programeri ne moraju brinuti o fizičkoj lokaciji podataka.

Koji su najvažniji istorijski momenti koji su doveli do pojave savremenih računara i interneta?

Nekoliko ključnih momenata obeležilo je put do savremenih računara i interneta. To su pre svega rad Čarlsa Bebidža na analitičkoj mašini i Ada Lovlejs na prvim algoritmima u 19. veku. Zatim, pojava prvih elektronskih digitalnih računara poput ENIAC-a i UNIVAC-a u sredini 20. veka, baziranih na vakuumskim cevima. Tranzistor (1947) je omogućio minijaturizaciju i pouzdanost, a integrisana kola (kasne 1950-te) su dalje smanjila veličinu i cenu. Ključni trenutak je izum mikroprocesora (Intel 4004, 1971), koji je doveo do ličnih računara. Razvoj ARPANET-a (kasne 1960-te) kao preteče interneta, TCP/IP protokola (1970-te) i World Wide Weba (1990-te) transformisao je globalnu komunikaciju i pristup informacijama, postavljajući temelje digitalnog doba.