Rani sistemi - Wikipedia, slobodna enciklopedija

# Rani sistemi

### Sa Wikipedije, slobodne enciklopedije

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. Ukoliko 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 ukoliko 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. Ukoliko 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 (en. card readers), uređaji za trake (en. tape drives), magnetne trake, također uporedo sa ulazima. Razvijali su se i izlazi: linijski štampači (en. line printers), uređaji za trake (en. tape drives), bušene kartice (en. 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 (en. 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:

1. učitavanje kompajlera
2. pokretanje kompajlera
3. brisanje kompajlera iz memorije
4. učitavanje asemblera
5. pokretanje asemblera
6. brisanje asemblera
7. učitavanje objektnog programa
8. pokretanje objektnog programa

Ukoliko 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 (en. 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. Ukoliko 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.

Preuzeto sa: "http://bs.wikipedia.org../../../r/a/n/Rani_sistemi.html"

Kategorije: Operativni sistemi

##### Views

- Članak
- Razgovor
- Trenutna verzija

##### interakcija

- Pomoć
- Vrata zajednice
- Čaršija
- Novosti
- Dobrovoljni prilozi

##### Pretraga