Sta Je Operativni Sistem2

  • Uploaded by: Svetlana
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sta Je Operativni Sistem2 as PDF for free.

More details

  • Words: 1,518
  • Pages: 4
©ta je operativni sistem? Generalno, ne postoji kompletna i adekvatna definicija operativnih sistema. Lakąe je definisati operativne sisteme po onome ąto oni rade, nego po onome ąto oni jesu. Postoji nekoliko različitih pogleda na operativne sisteme, koji su se razvijali uporedo sa razvojem istih, u kojima je počesto prisutna analogija sa nekim generalnim sistemima kao naprimjer u samom druątvu. Operativni sistem moľemo uporediti sa vladom. Komponente računarskog sistema su hardware, software, i podaci, a operativni sistem osigurava sredstva za pravilno koriątenje navedenih komponenti. Poput vlade operativni sistemi ne izvrąavaju operacije radi sebe samih, nego jednostavno osiguravaju okruľenje u kojem drugi programi mogu obavljati koristan posao. Operativni sistem moľemo vidjeti i kao resource allocator (raspoređivač resursa), koji se u računarskom sistemu ponaąa kao menadľer kompjuterskih resursa kao ąto su: CPU time ili ciklusi na procesoru, memorija, ulazno-izlazni uređaji itd., koje operativni sistem dodjeljuje specifičnim programima i korisnica kako bi oni obavili «koristan» posao. Postoji naravno joą mnogo različitih pogleda i intuitivnih definicija operativnih sistema, ali ona koja se najčeąće koristi u kompjuterskim naukama kaľe da je operativni sistem jedan program koji se cijelo vrijeme izvrąava na kompjuteru, poznatiji pod nazivom kernel, s tim da se svi ostali dijelovi softvera posmatraju kao aplikativni programi

Svrha operativnih sistema Svrha operativnih sistema je da osigura okruľenje u kojima korisnici mogu izvrąavati svoje programe.Svrha kao opątiji pojam se sastoji iz ciljeva koji imaju precizniju definiciju. Primarni cilj operativnog sistema jeste da računar učini prikladnim i jednostavnim za upotrebu. A sekundarni cilj je da koristi hardware na ąto efikasniji način. Ova dva cilja prikladnost i efikasnost su često međusobno suprotstavljena.U proąlosti se veća paľnja poklanjala efikasnosti negoli prikladnosti i komforu samog koriątenja računara, da bi se kasnije počelo viąe paľnje poklanjati samom korisniku računara.

Rani sistemi (eng. Bare Machines) Rani sistemi (eng. Bare Machines) Rani sistemi su bili fizički jako velike maąine koje su se pokretale 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 loadovao 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 (eng. card readers), uređaji za trake (eng. tape drives), magnetne trake, također uporedo sa ulazima, razvijali su se i izlazi:linijski ątampači (eng. line printers), uređaji za trake (eng. tape drives), buąene kartice (eng. 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 ulaznoizlazni 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 sabrutina. 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 loadovati 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 (eng. 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 loadovala 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. Moľemo također pobrojati faze neophodne za izvrąavanje programa: 1.loadovanje kompajlera

2.pokretanje kompajlera 3.unloadovanje kompajlera iz memorije 4.loadovanje asemblera 5.pokretanje asemblera 6.unloadovanje asemblera 7.loadovanje 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 (eng. 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.

Multiprogramirani sistemi (eng. Multiprogrammed Batched Systems) Multiprogramirani sistemi (eng. Multiprogrammed Batched Systems) (1960e do danas) Spooling sistemi su imali nedostatak u činjenici da korisnik nije mogao postići maksimalnu iskoriątenost CPU-a ili U/I uređaja. Tada se doąlo na ideju da bi operativni sistem umjesto jednog programa u memoriji trebao omogućiti istovremeno smjeątanje nekoliko programa. Upravo ova činjenica imala je veliki, a moľda i presudan značaj za razvoj savremenih operativnih sistetema, jer je omogućila multiprogramiranje (istovremeno izvrąavanje nekoliko različitih poslova) u pravom smislu te riječi. U multiprogramiranim sistemima, opeativni sistemi imaju jednostavnu ulogu da prebacuju kontrolu sa jednog joba na drugi. Kada je potrebno da jedan job čeka na neki resurs ili neku operaciju, CPU prebaci kontrolu na drugi job. Bitno je naglasiti da je multiprogramiranje prva instanca gdje operativni sistem mora donositi odluku za korisnika. Multiprogramirane operativne sisteme moľemo uprediti sa poslom advokata. Advokat ima nekoliko klijenata kojima pruľa svoje usluge. Dok jedan slučaj čeka da dođe na

sud, advokat moľe da zastupa drugi slučaj aktivno na sudu. Za to vrijeme prvi klijent moľe sređivati papirologiju i sl. Kod multiprogramiranih operativnih sistema se susreću dva nova pojma: 1.job scheduling- ąto bi se moglo prevesti kao raspoređivanje poslova 2.CPU scheduling- podrazumijeva dodjeljivanje procesora po određenom pravilu različitim poslovima, drugim riječima znači raspoređivanje procesora Prvi pojam, job scheduling susrećemo u situaciji kada je potrebno dovesti nekoliko poslova koji se nalaze na nekom rezervnom skladiątu, a koje se nazava job pool, u glavnu memoriju koja nije dovoljna da prihvati sve poslove odjednom. Tada operativni sistem treba odlučiti koje će poslove dovesti u memoriji. Drugi pojam se odnosi na situaciju kada su već određeni poslovi dovedeni u memoriju i čekaju na izvrąenje. Tada CPU treba odlučiti koje poslove da usluľi, a da se sačuva ravnopravnost u izvrąavanju različitih poslova.

Related Documents

Sta Je Blockchain.doc
October 2019 10
Sta Je Koza Bogu Zgresila???
December 2019 10
Sta
November 2019 21

More Documents from ""

Nema ..nas..2
April 2020 7
June 2020 4
Nemanja Kraj.docx
June 2020 7
April 2020 13
Inspiritive Nlp Articles (2)
December 2019 12