Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 10
  • Osnove operativnih sistema kurs predavanja, udžbenik. Predavanje o operativnim sistemima

Osnove operativnih sistema kurs predavanja, udžbenik. Predavanje o operativnim sistemima

Operativni sistem (OS) je program koji pruža mogućnost racionalne upotrebe računarske opreme na način koji je prilagođen korisniku. Uvodno predavanje predstavlja predmet koji se izučava u ovom predmetu. Prvo ćemo pokušati odgovoriti na pitanje šta je OS. Nakon toga slijedi analiza evolucije OS i priča o nastanku osnovnih pojmova i komponenti modernog OS. Na kraju će biti predstavljena klasifikacija OS sa stanovišta arhitektonskih karakteristika i korišćenja računarskih resursa.

Šta je operativni sistem

Struktura računarski sistem

Od čega se sastoji bilo koji računarski sistem? Prvo, od onoga što se u zemljama engleskog govornog područja obično naziva riječju hardver ili tehnička podrška: CPU, memorija, monitor, disk uređaji itd., ujedinjene vezom okosnice koja se zove magistrala. Neke informacije o arhitekturi računara dostupne su u Dodatku 1 ovog predavanja.

Drugo, računarski sistem se sastoji od softvera. Sav softver se obično dijeli na dva dijela: aplikaciju i sistem. Aplikacioni softver obično uključuje razne bankarske i druge poslovne programe, igre, programe za obradu teksta, itd. Sistemski softver se obično odnosi na programe koji olakšavaju rad i razvoj aplikativni programi. Mora se reći da je podjela na aplikativni i sistemski softver dijelom proizvoljna i zavisi od toga ko čini podjelu. Dakle, običan korisnik, neiskusan u programiranju, može razmotriti Microsoft Word sistemski program i, sa stanovišta programera, to je aplikacija. Kompajler jezika C za običnog programera je sistemski program, a za sistemskog programera je aplikativni program. Uprkos ovoj nejasnoj ivici, ova situacija se može prikazati kao niz slojeva (vidi sliku 1.1), izdvajajući posebno najviše zajednički dio sistemski softver – operativni sistem:

Rice. 1.1. Slojevi softvera računarskog sistema

Šta je OS

Većina korisnika ima operativno iskustvo operativni sistemi, ali će im ipak biti teško dati tačnu definiciju ovom konceptu. Pogledajmo na brzinu glavne tačke gledišta.

Operativni sistem kao virtuelna mašina

Tokom razvoja OS apstrakcija se široko koristi, što je važan metod pojednostavljenja i omogućava vam da se koncentrišete na interakciju komponenti visokog nivoa sistema, zanemarujući detalje njihove implementacije. U ovom smislu OS predstavlja interfejs između korisnika i računara.

Arhitektura većine računara na nivou mašinskih instrukcija je veoma nezgodna za korišćenje od strane aplikativnih programa. Na primjer, rad sa diskom zahtijeva poznavanje unutrašnje strukture njegove elektronske komponente – kontrolera za unos komandi za rotiranje diska, traženje i formatiranje staza, čitanje i pisanje sektora itd. Jasno je da prosječan programer nije u stanju da uzme u obzir sve operativne karakteristike opreme (u modernoj terminologiji - da razvije drajvere uređaja), ali treba da ima jednostavnu apstrakciju visokog nivoa, recimo, predstavljajući prostor informacija na disku kao skup datoteka. Datoteka se može otvoriti za čitanje ili pisanje, koristiti za preuzimanje ili resetovanje informacija, a zatim zatvoriti. Ovo je konceptualno jednostavnije od brige o detaljima pomicanja glava diskova ili organiziranja rada motora. Slično, uz pomoć jednostavnih i jasnih apstrakcija, svi nepotrebni detalji organizacije su skriveni od programera prekida, rad tajmera, upravljanje memorijom itd. Štaviše, na modernim računarskim sistemima moguće je stvoriti iluziju neograničene veličine i broja RAM-a procesori. Radi sve ovo operativni sistem. dakle, operativni sistem se pojavljuje korisniku virtuelna mašina, sa kojim se lakše nositi nego direktno sa hardverom računara.

Operativni sistem kao menadžer resursa

Operativni sistem dizajniran da kontroliše sve delove veoma složene računarske arhitekture. Zamislite, na primjer, šta bi se dogodilo kada bi nekoliko programa koji rade na istom računaru pokušali da izlaze na štampač u isto vrijeme. Odštampali bismo gomilu redova i stranica razni programi.Operativni sistem sprečava ovu vrstu haosa tako što sprema informacije za štampanje na disk i stavlja ih u red za štampanje. Za višekorisničke računare, potreba za upravljanjem i zaštitom resursa je još očiglednija. dakle, operativni sistem , Kako menadžer resursa, vrši urednu i kontrolisanu distribuciju procesori, memoriju i druge resurse između različitih programa.

Operativni sistem kao zaštitnik korisnika i programa

Ako računarski sistem dozvoljava raditi zajedno nekoliko korisnika, onda se javlja problem organizacije njihovih sigurnih aktivnosti. Potrebno je osigurati sigurnost informacija na disku kako niko ne bi mogao izbrisati ili oštetiti tuđe datoteke. Programima jednog korisnika ne smije se dozvoliti da proizvoljno ometaju rad programa drugih korisnika. Neophodno je zaustaviti pokušaje neovlašćenog korišćenja računarskog sistema. Sve ove aktivnosti se provode operativni sistem kao organizator sigurnog rada korisnika i njihovih programa. Sa ove tačke gledišta operativni sistem izgleda da je sistem državne bezbednosti, kome su poverene policijske i kontraobaveštajne funkcije.

Operativni sistem kao kernel koji stalno radi

Na kraju, možemo dati sljedeću definiciju: operativni sistem je program koji stalno radi na računaru i komunicira sa svim aplikativnim programima. Čini se da je ovo apsolutno ispravna definicija, ali, kao što ćemo kasnije vidjeti, u mnogim modernim operativni sistemi Samo dio radi stalno na računaru operativni sistem, koji se obično naziva njegovom jezgrom.

Kao što vidimo, postoji mnogo gledišta o tome šta je to operativni sistem. Nemoguće mu je dati adekvatnu striktnu definiciju. Lakše nam je da kažemo ne šta da jedemo operativni sistem, i zašto je potreban i čemu služi. Da biste razjasnili ovo pitanje, razmotrite istoriju razvoja računarskih sistema.

Kratka istorija evolucije računarskih sistema

Razmotrićemo istoriju razvoja računarstva, a ne operativni sistemi jer su hardver i softver evoluirali zajedno, utičući jedni na druge. Pojava novih tehničke mogućnosti dovela je do iskora u kreiranju praktičnih, efikasnih i sigurnih programa, a svježe ideje u softverskom polju podstakle su potragu za novim tehničkim rješenjima. Upravo su ovi kriterijumi – pogodnost, efikasnost i sigurnost – odigrali ulogu faktora prirodne selekcije u evoluciji računarskih sistema.

Prvo razdoblje (1945–1955). Lampe mašine. Nema operativnih sistema

Naše proučavanje razvoja kompjuterskih sistema započinjemo pojavom elektronskih računarskih sistema (izostavljajući istoriju mehaničkih i elektromehaničkih uređaja).

Prvi koraci u razvoju elektronskih računara napravljeni su krajem Drugog svetskog rata. Sredinom 40-ih stvoreni su prvi cijevni računarski uređaji i princip programa, pohranjen u memoriji mašine (John Von Neumann, jun 1945.). Tada je ista grupa ljudi učestvovala u dizajnu, radu i programiranju računara. Radilo se više o istraživačkom radu u oblasti računarske tehnologije, nego o redovnoj upotrebi računara kao alata za rešavanje bilo kakvih praktičnih problema iz drugih primenjenih oblasti. Programiranje je vršeno isključivo u mašinski jezik. O operativni sistemi nije bilo pitanja, svi zadaci organizacije računarski proces rješavao ih je svaki programer ručno sa kontrolne table. Samo jedan korisnik može biti za daljinskim upravljačem. Program je učitavan u memoriju mašine, u najboljem slučaju, sa špila bušenih kartica, i obično pomoću panela prekidača.

Računarski sistem je izvodio samo jednu operaciju u isto vrijeme (ulaz-izlaz ili stvarni proračuni). Otklanjanje grešaka u programima je vršeno sa kontrolne table proučavanjem stanja memorije i registara mašine. Na kraju ovog perioda pojavljuje se prvi sistemski softver: 1951–1952. pojavili su se prototipovi prvih kompajlera iz simboličkih jezika (Fortran, itd.), a 1954. Nat Rochester je razvio asembler za IBM-701.

Značajan dio vremena utrošen je na pripremu za pokretanje programa, a sami programi su se izvršavali striktno uzastopno. Ovaj način rada naziva se sekvencijalna obrada podataka. Generalno, prvi period karakteriše izuzetno visoka cijena računarski sistemi, njihov mali broj i niska efikasnost upotrebe.

Drugi period (1955–početke 60-ih). Računari bazirani na tranzistorima. Batch operativni sistemi

Od sredine 50-ih započeo je sljedeći period u evoluciji kompjuterske tehnologije, povezan s pojavom nove tehničke baze - poluvodičkih elemenata. Aplikacija tranzistori umjesto često izgarane elektronike lampe dovelo do povećane pouzdanosti računara. Mašine sada mogu neprekidno raditi dovoljno dugo da im se može dodijeliti obavljanje praktično važnih zadataka. Potrošnja električne energije kompjuterima je smanjena i sistemi hlađenja su poboljšani. Veličina računara je smanjena. Troškovi rada i održavanja računarske opreme su smanjeni. Počela je upotreba kompjutera od strane komercijalnih firmi. Istovremeno, dolazi do naglog razvoja algoritamskih jezika (LISP, COBOL, ALGOL-60, PL-1, itd.). Pojavljuju se prvi pravi kompajleri, uređivači linkova, biblioteke matematičkih i uslužnih rutina. Proces programiranja je pojednostavljen. Nema potrebe opterećivati ​​iste ljude cijelim procesom razvoja i korištenja računara. U tom periodu osoblje je bilo podijeljeno na programere i operatere, stručnjake za operacije i kompjuterske programere.

Sam proces pokretanja programa se mijenja. Sada korisnik donosi program sa ulaznim podacima u obliku špila bušenih kartica i ukazuje na potrebne resurse. Ovaj špil se zove zadatak. Operater učitava zadatak u memoriju mašine i pokreće ga za izvršenje. Rezultirajući izlazni podaci se štampaju na štampaču, a korisnik ih dobija nazad nakon nekog (prilično dugog) vremena.

Promjena traženih resursa uzrokuje suspenziju izvršavanje programa, kao rezultat CPUčesto u stanju mirovanja. Da bi se poboljšala efikasnost upotrebe računara, poslovi sa sličnim resursima počinju da se skupljaju, stvarajući niz poslova.

Pojavljuju se prvi sistemi serijske obrade , koji jednostavno automatiziraju pokretanje jednog programa iz paketa za drugim i na taj način povećavaju faktor opterećenja procesor. Prilikom implementacije sistemi serijske obrade razvijen je formalizovani jezik kontrole zadataka, uz pomoć kojeg je programer informisao sistem i operatera koji posao želi da obavi na računaru. Batch Processing Systems postao prototip modernog operativni sistemi, oni su bili prvi sistemski programi dizajnirani da kontrolišu računarski proces.

Treći period (početke 60-ih - 1980). Računari zasnovani na integrisanim kolima. Prvi multitasking OS

Sljedeći važan period u razvoju računara datira iz ranih 60-ih godina - 1980. godine. U to vrijeme tehnička baza je doživjela prelazak sa pojedinačnih poluvodičkih elemenata tipa tranzistori To integrisana kola. Računarska tehnologija postaje sve pouzdanija i jeftinija. Složenost i broj problema koje rješavaju kompjuteri raste. Povećana produktivnost procesori.

Povećanje efikasnosti korišćenja procesorskog vremena ometa niska brzina mehaničkih ulazno-izlaznih uređaja (brzi čitač bušenih kartica može da obradi 1200 bušenih kartica u minuti, štampači štampaju do 600 linija u minuti). Umjesto direktnog čitanja paketa zadataka s bušenih kartica u memoriju, oni počinju koristiti njegovo preliminarno snimanje, prvo na magnetnu traku, a zatim na disk. Kada je potreban unos podataka tokom posla, oni se čitaju sa diska. Slično, izlazne informacije se prvo kopiraju u sistemski me uspremnik i zapisuju na traku ili disk, a ispisuju se tek nakon što se posao završi. U početku su se stvarne I/O operacije obavljale van mreže, odnosno korištenjem drugih, jednostavnijih, odvojeno stojeći kompjuteri. Nakon toga počinju da se izvršavaju na istom računaru koji vrši proračune, odnosno u on-line modu. Ova tehnika se naziva spooling (skraćeno od Simultaneous Peripheral Operation On Line) ili pumpanje podataka i pumpanje. Uvođenje pump-pump tehnologije u batch sistemi omogućio je kombiniranje stvarnih ulazno-izlaznih operacija jednog zadatka s izvršavanjem drugog zadatka, ali je zahtijevao razvoj uređaja prekida za obavještenje procesor o završetku ovih operacija.

Magnetne trake bile su uređaji za sekvencijalni pristup, što znači da su informacije s njih čitane onim redom kojim su napisane. Izgled magnetnog diska za koji nije bitan redosled čitanja informacija, odnosno uređaja direktan pristup, dovelo je do daljeg razvoja računarskih sistema. Prilikom obrade serije poslova na magnetnoj traci, redoslijed pokretanja poslova određen je redoslijedom kojim su uneseni. Prilikom obrade serije zadataka na magnetnom disku, postalo je moguće odabrati sljedeći zadatak koji će se izvršiti. Batch sistemi početi planirati zadatke: ovisno o dostupnosti traženih resursa, hitnosti proračuna itd. jedan ili drugi zadatak je odabran za nalog.

Dalje povećanje efikasnosti upotrebe procesor postignuto je multiprogramiranjem. Ideja iza multiprogramiranja je da dok jedan program izvodi I/O operaciju, CPU ne miruje, kao što se desilo u jednoprogramskom režimu, već izvršava drugi program. Kada I/O operacija završava CPU vraća se na izvršenje prvog programa. Ova ideja podsjeća na ponašanje nastavnika i učenika na ispitu. Dok jedan učenik (program) razmišlja o odgovoru na pitanje (ulazno/izlazna operacija), nastavnik ( CPU) sluša odgovor drugog učenika (kalkulacije). Naravno, ova situacija zahtijeva nekoliko učenika u sobi. Slično tome, multiprogramiranje zahtijeva posedovanje više programa u memoriji u isto vreme. U ovom slučaju, svaki program se učitava u svoj dio RAM-a, koji se naziva particija, i ne bi trebao utjecati na izvršavanje drugog programa. (Učenici sjede za odvojenim stolovima i ne nalažu jedni drugima.)

Pojava multiprogramiranja zahteva pravu revoluciju u strukturi računarskog sistema. Hardverska podrška ovdje igra posebnu ulogu (mnoge hardverske inovacije pojavile su se u prethodnoj fazi evolucije), čije su najznačajnije karakteristike navedene u nastavku.

    Implementacija zaštitnih mehanizama. Programi ne bi trebali imati nezavisan pristup dodjeli resursa, što dovodi do pojave privilegiranih i neprivilegiranih naredbi. Privilegirane naredbe, kao što su I/O naredbe, mogu se samo izvršiti operativni sistem. Kažu da radi u privilegovanom režimu. Prijenos kontrole sa aplikacijskog programa na OS praćeno kontrolisanom promjenom režima. Osim toga, to je zaštita memorije, koja omogućava da konkurentski korisnički programi budu izolovani jedan od drugog, i OS– iz korisničkih programa.

    Dostupnost prekida. Eksterni prekida obavijestiti OS da se desio asinhroni događaj, kao što je završena I/O operacija. Domaći prekida(danas se zovu izuzetne situacije) nastaju kada je izvršenje programa dovelo do situacije koja zahtijeva intervenciju OS, kao što je dijeljenje nulom ili pokušaj narušavanja sigurnosti.

    Razvoj paralelizma u arhitekturi. Direktan pristup memoriji i organizacija I/O kanala omogućili su oslobađanje centrale CPU od rutinskih operacija.

Ništa manje važna u organizaciji multiprogramiranja nije uloga operativni sistem. Odgovorna je za sljedeće operacije.

    Organizacija interfejsa između aplikacijskog programa i OS uz pomoć sistemski pozivi.

    Stavljanje poslova u red čekanja u memoriji i alokacija procesor jedan od zadataka zahtevao je planiranje upotrebe procesor.

    Prebacivanje s jednog posla na drugi zahtijeva očuvanje sadržaja registara i struktura podataka potrebnih za dovršetak posla, drugim riječima, kontekst kako bi se osiguralo da se računanje nastavi ispravno.

    Budući da je memorija ograničen resurs, potrebne su strategije upravljanja memorijom, odnosno, potrebno je pojednostaviti procese postavljanja, zamjene i preuzimanja informacija iz memorije.

    Organiziranje skladištenja informacija na vanjskim medijima u obliku datoteka i omogućavanje pristupa određenom fajlu samo određenim kategorijama korisnika.

    Budući da će programi možda morati izvršiti ovlaštenu razmjenu podataka, potrebno im je obezbijediti sredstva komunikacije.

    Za ispravnu razmjenu podataka morate dozvoliti konfliktne situacije problemi koji se javljaju pri radu sa različitim resursima i omogućavaju koordinaciju programima njihovog djelovanja, tj. obezbijediti sistemu alate za sinhronizaciju.

Multiprogramski sistemi su omogućili više efektivna upotreba sistemski resursi (npr. procesor, memorija, periferni uređaji), ali su ostali dugo vremena serija. Korisnik nije mogao direktno komunicirati sa zadatkom i morao je predvidjeti sve moguće situacije koristeći kontrolne kartice. Programi za otklanjanje grešaka i dalje su bili dugotrajni i zahtijevali su ispitivanje višestranih ispisa sadržaja memorije i registara ili korištenje ispisa za otklanjanje grešaka.

Pojava katodnih displeja i preispitivanje upotrebe tastatura donijelo je rješenje ovog problema. Sistemi za podjelu vremena, ili sistemi za podjelu vremena 1) . U njima CPU prebacuje između zadataka ne samo tokom I/O operacija, već i jednostavno nakon određenog vremena. Ovi prekidači se javljaju tako često da korisnici mogu komunicirati sa svojim programima dok su oni pokrenuti, odnosno interaktivno. Kao rezultat, postaje moguće da više korisnika istovremeno radi na jednom računarskom sistemu. Za to svaki korisnik mora imati barem jedan program u memoriji. Kako bi se smanjila ograničenja broja radnih korisnika, uvedena je ideja o nepotpunoj lokaciji izvršni program u RAM-u. Glavni dio programa nalazi se na disku, a fragment koji trenutno treba da se izvrši može se učitati u RAM, a nepotreban se može preuzeti nazad na disk. Ovo se implementira pomoću mehanizma virtuelne memorije. Glavna prednost takvog mehanizma je stvaranje iluzije neograničene računarske RAM memorije.

IN sistemi za podjelu vremena korisnik je bio u mogućnosti da efikasno otkloni greške u programu u interaktivnom režimu i zapiše informacije na disk bez korišćenja bušenih kartica, već direktno sa tastature. Pojava on-line datoteka dovela je do potrebe za razvojem naprednih sistema datoteka.

Paralelno sa unutrašnjom evolucijom računarskih sistema, odvijala se i njihova eksterna evolucija. Pre početka ovog perioda, računarski sistemi su po pravilu bili nekompatibilni. Svako je imao svoje operativni sistem, sopstveni sistem komandi, itd. Kao rezultat toga, program koji je uspešno radio na jednom tipu mašine morao je da bude potpuno prepisan i ponovo otklonjen da bi se pokrenuo na drugom tipu računara. Početkom trećeg perioda pojavila se ideja o stvaranju familija softverski kompatibilnih mašina koje rade pod istom kontrolom. operativni sistem. Prva porodica softvera kompatibilnih računara, izgrađen na integrisana kola, postala IBM/360 serija mašina. Razvijena ranih 60-ih godina, ova porodica je bila značajno superiornija od mašina druge generacije u pogledu cijene/performanse. Slijedila je PDP linija računara, nekompatibilna sa IBM linijom, a vrhunski model u ovoj liniji bio je PDP-11.

Snaga “jedne porodice” bila je i njena slabost. Široke mogućnosti ovog koncepta (prisustvo svih modela: od mini-računara do ogromnih mašina; obilje raznih perifernih uređaja; različita okruženja; različiti korisnici) dovele su do složenog i glomaznog operativni sistem. Milioni redova asemblerskog jezika, koje su napisale hiljade programera, sadržavale su mnoge greške, što je izazvalo stalan tok publikacija o njima i pokušaja da se isprave. Samo u operativni sistem OS/360 je sadržavao preko 1000 poznatih grešaka. Međutim, ideja standardizacije operativni sistemi je naširoko uveden u svijest korisnika i nakon toga dobio aktivan razvoj.

Četvrti period (od 1980. do danas). Personalni računari. Klasični, mrežni i distribuirani sistemi

Sljedeći period u evoluciji računarskih sistema povezan je sa pojavom velikih integrisana kola(BIS). Ovih godina došlo je do naglog povećanja stepena integracije i smanjenja troškova mikrokola. Računar koji se arhitekturom nije razlikovao od PDP-11, po cijeni i jednostavnosti korištenja, postao je dostupan pojedincu, a ne odjelu preduzeća ili univerziteta. Došlo je doba personalnih računara. U početku su personalni računari bili predviđeni da ih koristi jedan korisnik u jednoprogramskom režimu, što je dovelo do degradacije arhitekture ovih računara i njihove operativni sistemi(posebno, nema potrebe za zaštitom datoteka i memorije, planiranjem zadataka itd.).

Računari su počeli koristiti ne samo stručnjaci, što je zahtijevalo razvoj „prijateljskog“ softvera.

Međutim, povećanje složenosti i raznovrsnosti zadataka koji se rješavaju na personalnim računarima i potreba za poboljšanjem pouzdanosti njihovog rada doveli su do oživljavanja gotovo svih karakteristika karakterističnih za arhitekturu velikih računarskih sistema.

Sredinom 80-ih, mreže računara, uključujući personalne računare, su radile pod kontrolom mreže ili distribuirani operativni sistemi.

IN mrežni operativni sistemi korisnici mogu pristupiti tuđim resursima mrežni računar, samo oni treba da znaju za njihovo prisustvo i da to mogu da urade. Svaka mašina na mreži radi pod svojim lokalnim operativni sistem, razlicito od operativni sistem samostalni računar uz prisustvo dodatnih alata ( softverska podrška za uređaje mrežnog sučelja i pristup udaljenim resursima), ali ovi dodaci ne mijenjaju strukturu operativni sistem.

Distribuirani sistem, naprotiv, spolja izgleda kao običan autonomni sistem. Korisnik ne zna i ne treba da zna gde su pohranjeni njegovi fajlovi - na lokalnom ili udaljenom računaru - i gde se njegovi programi izvode. Možda čak i ne zna da li je njegov računar povezan na mrežu. Unutrašnja struktura distribuirani operativni sistem ima značajne razlike od autonomnih sistema.

U budućnosti autonoman OS nazvaćemo ih klasičnim operativni sistemi.

Posmatrajući faze razvoja računarskih sistema, možemo identifikovati šest glavnih funkcija koje su obavljali klasični OS u procesu evolucije:

    Planirajte poslove i upotrebu procesor.

    Omogućavanje programa sredstvima komunikacije i sinhronizacije.

    Upravljanje memorijom.

    Upravljanje sistemom datoteka.

    I/O upravljanje.

    Sigurnost

Svaka od gore navedenih funkcija se obično implementira kao podsistem, što je strukturna komponenta OS. U svakom operativni sistem ove funkcije su, naravno, implementirane na svoj način, u različitom stepenu. Oni nisu prvobitno dizajnirani kao komponente operativni sistemi, ali se pojavio u procesu razvoja, kako su računarski sistemi postajali praktičniji, efikasniji i sigurniji. Evolucija računarskih sistema koje je stvorio čovek išla je tim putem, ali još niko nije dokazao da je to jedini mogući put za njihov razvoj. OS postoji jer ovog trenutka njihovo postojanje je pametan način korišćenja računarskih sistema. Razmatranje opšti principi i algoritmi za implementaciju njihovih funkcija i čini sadržaj većine našeg kursa, u kojem će navedeni podsistemi biti dosljedno opisani.

Osnovni koncepti, OS koncepti

U procesu evolucije nastalo je nekoliko važnih koncepata koji su postali sastavni dio teorije i prakse. OS. Koncepti obrađeni u ovom odeljku će se susresti i objasniti tokom kursa. Ovdje je dat njihov kratak opis.

Sistemski pozivi

Na bilo koji operativni sistem podržava mehanizam koji omogućava korisničkim programima pristup uslugama kernela OS. IN operativni sistemi najpoznatijeg sovjetskog kompjutera BESM-6, odgovarajuća sredstva "komunikacije" sa jezgrom nazvana su ekstrakodovima, u operativni sistemi IBM ih je nazvao sistemskim makroima itd. IN OS Unix takvi alati se zovu sistemski pozivi.

Sistemski pozivi (sistemski pozivi) je interfejs između operativni sistem i korisnički program. Oni kreiraju, brišu i koriste različite objekte, od kojih su glavni procesi i datoteke. Korisnički program traži uslugu od operativni sistem, izvođenje sistemski poziv. Postoje biblioteke procedura koje učitavaju mašinske registre određenim parametrima i provode ih prekinutiprocesor, nakon čega se kontrola prenosi na rukovaoca ovoga poziv, uključeno u jezgro operativni sistem. Svrha takvih biblioteka je da naprave sistemski poziv slično normalnom poziv potprogrami.

Glavna razlika je u tome kada sistemski poziv Zadatak prelazi u privilegirani način rada ili režim kernela. Zbog toga sistemski pozivi ponekad se naziva i softverom prekidi, za razliku od hardvera prekida koje se češće nazivaju jednostavno prekidi.

Kôd kernela radi u ovom modu operativni sistem, a izvršava se u adresnom prostoru iu kontekstu zadatka koji ga je pozvao. Dakle, jezgro operativni sistem ima pun pristup memoriji korisničkog programa i kada sistemski poziv dovoljno je prenijeti adrese jednog ili više memorijskih područja sa parametrima poziv i adrese jednog ili više memorijskih područja za rezultate poziv.

U većini sistemski poziv operativnih sistema izveo softverski tim prekida(INT). Softver prekinuti je sinhroni događaj koji se može ponoviti kada se izvrši isti programski kod.

Prekida

Prekini (hardverski prekid) je događaj generiran eksterno (u odnosu na procesor) uređaj. Preko hardvera prekida oprema ili obavještava centralu CPU označava da se dogodio događaj koji zahtijeva trenutni odgovor (na primjer, korisnik je pritisnuo tipku) ili izvještava o završetku asinkrone I/O operacije (na primjer, podaci su pročitani s diska u glavnu memoriju). Važan tip hardver prekidaprekida tajmeri koji se periodično generišu nakon određenog vremenskog perioda. Prekida koriste se tajmeri operativni sistem prilikom planiranja procesa. Svaka vrsta hardvera prekida Ima sopstveni broj, koji jedinstveno identifikuje izvor prekida. Hardver prekinuti– ovo je asinhroni događaj, odnosno javlja se bez obzira na to koji kod se izvršava procesor Trenutno. Hardverska obrada prekida ne treba uzeti u obzir koji je proces aktuelan.

Izuzetne situacije

Izuzetna situacija (izuzetak) – događaj koji se javlja kao rezultat pokušaja izvršenja komandni program, koji iz nekog razloga ne može biti završen do kraja. Primjeri takvih naredbi uključuju pokušaj pristupa resursu bez dovoljnih privilegija ili pristup memorijskoj stranici koja nedostaje. Izuzetne situacije, kao i sistemski pozivi, su sinhroni događaji koji se javljaju u kontekstu trenutnog zadatka. Izuzetne situacije mogu se podijeliti na popravljive i nepopravljive. One koje se mogu ispraviti uključuju: izuzetne situacije, kao nedostatak potrebnih informacija u RAM-u. Nakon otklanjanja uzroka, može se popraviti izuzetna situacija program može nastaviti da radi. Pojava tokom rada operativni sistem popraviti izuzetne situacije smatra normalnim. Nepopravljivo izuzetne situacije najčešće nastaju kao rezultat grešaka u programima (na primjer, dijeljenje nulom). Obično u takvim slučajevima operativni sistem reaguje prekidanjem programa koji ga je pozvao izuzetna situacija.

Datoteke su dizajnirane za pohranjivanje informacija vanjski mediji, odnosno prihvaćeno je da informacije snimljene, na primjer, na disku, moraju biti smještene unutar datoteke. Tipično, datoteka se podrazumijeva kao imenovani dio prostora na mediju za pohranu.

Glavna svrha sistema datoteka je da sakrije karakteristike I/O i da programeru jednostavan, apstraktan model datoteka nezavisnih od uređaja. Postoji i opsežna kategorija za čitanje, kreiranje, brisanje, pisanje, otvaranje i zatvaranje datoteka sistemski pozivi(kreiranje, brisanje, otvaranje, zatvaranje, čitanje, itd.). Korisnici su upoznati s konceptima organizacije sistema datoteka kao što su direktorij, trenutni direktorij, korijenski direktorij i staza. Za manipulaciju ovim objektima operativni sistem dostupan sistemski pozivi. Sistem podataka OS opisano u predavanjima 11–12.

Procesi, niti

Koncept procesa u OS jedan od najosnovnijih. Procesi su detaljno obrađeni u predavanjima 2–7. Niti, ili lagani procesi, također su opisani tamo.

Arhitektonske karakteristike OS

Do sada smo razgovarali o gledanju OS spolja, o tome šta rade OS. Ostatak našeg kursa biće posvećen tome kako oni to rade. Ali još nismo ništa rekli o tome šta su oni iznutra, kakvi postoje pristupi njihovoj konstrukciji.

Monolitno jezgro

Zapravo, operativni sistem je običan program, pa bi bilo logično organizirati ga na isti način kao što je organizirana većina programa, odnosno sastavljena od procedura i funkcija. U ovom slučaju komponente operativni sistem nisu nezavisni moduli, ali komponente jedan veliki program. Ova struktura operativni sistem pozvao monolitnog jezgra(monolitno jezgro). Monolitno jezgro je skup procedura, od kojih svaka može pozvati svaku. Sve procedure se izvode u privilegovanom režimu. dakle, monolitnog jezgra - ovo je takva šema operativni sistem, u kojem su sve njegove komponente komponente jednog programa, koristite opšte strukture podataka i međusobno komuniciraju direktnim pozivanjem procedura. Za monolitne operativni sistem jezgro se poklapa sa celim sistemom.

U mnogima operativni sistemi With monolitnog jezgra sklapanje kernela, odnosno njegova kompilacija, vrši se posebno za svaki računar na kojem je instaliran operativni sistem. U tom slučaju možete odabrati listu hardverskih i softverskih protokola čija podrška će biti uključena u kernel. Pošto je kernel jedan program, rekompilacija je jedini način dodajte mu nove komponente ili isključite one koje se ne koriste. Treba napomenuti da je prisustvo nepotrebnih komponenti u kernelu krajnje nepoželjno, jer se kernel uvijek nalazi u potpunosti u RAM-u. Osim toga, eliminisanje nepotrebnih komponenti poboljšava pouzdanost operativni sistem općenito.

Monolitno jezgronajstariji način organizacije operativni sistemi. Primjer sistema sa monolitnog jezgra je većina Unix sistema.

Čak iu monolitnim sistemima može se uočiti neka struktura. Kao što se u bloku betona mogu uočiti inkluzije lomljenog kamena, tako i u monolitnog jezgra isprepletene servisne procedure koje odgovaraju sistemski pozivi. Servisne procedure rade u privilegovanom režimu, dok se korisnički programi izvode u neprivilegovanom režimu. Za prelazak s jednog nivoa privilegija na drugi, ponekad se može koristiti glavni uslužni program da se odredi koji sistemski poziv urađeno, ispravnost ulaznih podataka za ovo poziv i prenošenje kontrole na odgovarajući servisni postupak sa prelaskom u privilegovani režim rada. Ponekad postoji i skup softverskih uslužnih programa koji pomažu u obavljanju servisnih procedura.

Slojeviti sistemi

Nastavljajući strukturiranje, moguće je razbiti čitav računarski sistem na više manjih nivoa sa dobro definisanim vezama između njih, tako da objekti na nivou N mogu samo da pozivaju objekte na nivou N-1. Donji nivo u takvim sistemima je obično hardver, a gornji nivo je korisnički interfejs. Što je nivo niži, to više privilegovanih komandi i radnji modul koji se nalazi na ovom nivou može izvršiti. Ovaj pristup je prvi put primenjen kada su Dijkstra i njegovi učenici 1968. godine kreirali THE (Technishe Hogeschool Eindhoven) sistem. Ovaj sistem je imao sledeće nivoe:

Rice. 1.2. Sistem slojeva

Slojeviti sistemi su dobro implementirani. Kada koristite operacije nižeg sloja, ne morate znati kako se implementiraju, samo trebate razumjeti šta rade. Slojeviti sistemi su dobro testirani. Otklanjanje grešaka počinje od donjeg sloja i izvodi se sloj po sloj. Kada dođe do greške, možemo biti sigurni da se nalazi u sloju koji se testira. Slojeviti sistemi se lako modifikuju. Ako je potrebno, možete zamijeniti samo jedan sloj bez dodirivanja ostalih. Ali slojevite sisteme je teško razviti: teško je ispravno odrediti redoslijed slojeva i šta kojem sloju pripada. Slojeviti sistemi su manje efikasni od monolitnih. Tako, na primjer, da bi izvršio I/O operacije, korisnički program će morati uzastopno proći kroz sve slojeve od vrha do dna.

Virtuelne mašine

Na početku predavanja razgovarali smo o gledanju operativni sistem Kako dalje virtuelna mašina kada korisnik ne mora da zna detalje unutrašnje strukture računara. Radi sa fajlovima, ne sa magnetne glave i motor; radi sa ogromnom virtuelnom, a ne ograničenom stvarnom RAM memorijom; nije ga mnogo briga da li je on jedini korisnik na mašini ili ne. Razmotrimo malo drugačiji pristup. Neka operativni sistem pribor virtuelna mašina za svakog korisnika, ali ne olakšavajući mu život, već naprotiv, komplikujući ga. Svaki je ovakav virtuelna mašina pojavljuje se pred korisnikom kao goli metal - kopija cjelokupnog hardvera u kompjuterskom sistemu, uključujući CPU, privilegovane i neprivilegirane komande, ulazno/izlazni uređaji, prekida itd. I on ostaje sam sa ovim gvožđem. Kada pokušavate da kontaktirate ovo virtuelni hardver ono što se zapravo dešava na privilegovanom komandnom nivou je sistemski poziv pravi operativni sistem, koji obavlja sve potrebne radnje. Ovaj pristup omogućava svakom korisniku da učita svoje operativni sistem on virtuelna mašina i radi s njim šta ti srce želi.

Rice. 1.3. Opcija virtuelne mašine

Prvo pravi sistem Ova vrsta sistema je bila CP/CMS, ili VM/370, kako se sada zove, za IBM/370 familiju mašina.

Nedostatak takvih operativni sistemi je smanjenje efikasnosti virtuelne mašine u poređenju sa pravim računarom, i obično su veoma glomazni. Prednost je u korišćenju na jednom računarskom sistemu programa napisanih za različite operativni sistemi.

Mikrokernel arhitektura

Trenutni trend razvoja operativni sistemi sastoji se od prijenosa značajnog dijela sistemskog koda na korisnički nivo i istovremenog minimiziranja kernela. Govorimo o pristupu izgradnji kernela tzv mikrokernel arhitektura (arhitektura mikrokernela) operativni sistem, kada su većina njegovih komponenti nezavisni programi. U ovom slučaju, interakcija između njih osigurava specijalni modul kernel, nazvan mikrokernel. Mikrokernel radi u privilegovanom režimu i osigurava interakciju između programa i raspoređivanje upotrebe procesor, primarna obrada prekida, I/O operacije i osnovno upravljanje memorijom.

Rice. 1.4. Arhitektura mikrokernel operativnog sistema

Preostale komponente sistema komuniciraju jedna s drugom propuštanjem poruka kroz mikrokernel.

Glavna prednost mikrokernel arhitektura– visok stepen modularnosti jezgra operativni sistem. To znatno olakšava dodavanje novih komponenti. U mikrokernelu operativni sistem možete, bez prekidanja njegovog rada, učitavati i izbacivati ​​nove drajvere, sisteme datoteka itd. Proces otklanjanja grešaka komponenti kernela je značajno pojednostavljen, jer nova verzija drajveri se mogu učitati bez ponovnog pokretanja cijelog operativni sistem. Komponente kernela operativni sistem se suštinski ne razlikuju od korisničkih programa, tako da možete koristiti obične alate za njihovo otklanjanje grešaka. Mikrokernel arhitektura povećava pouzdanost sistema jer je kvar na neprivilegovanom nivou programa manje opasan od kvara na nivou režima jezgra.

U isto vrijeme arhitektura operativnog sistema mikrokernel uvodi dodatne troškove povezane s prosljeđivanjem poruka, što značajno utiče na performanse. Za mikrokernel operativni sistem nije bio inferioran u brzini operativni sistemi na bazi monolitnog jezgra, morate vrlo pažljivo osmisliti podelu sistema na komponente, pokušavajući da minimizirate interakciju između njih. Dakle, glavna poteškoća u stvaranju mikrokernela operativni sistemi– potreba za vrlo pažljivim dizajnom.

Mješoviti sistemi

Svi razmatrani pristupi izgradnji operativni sistemi imaju svoje prednosti i mane. U većini slučajeva moderno OS koristiti različite kombinacije ovih pristupa. Tako, na primjer, kernel operativni sistem Linux je monolitan sistem sa elementima mikrokernel arhitektura. Prilikom kompajliranja kernela, možete omogućiti dinamičko učitavanje i rasterećenje mnogih komponenti kernela – koje se nazivaju moduli. Kada se modul učita, njegov kod se učitava na nivou sistema i povezuje sa ostatkom kernela. Sve funkcije koje izvozi kernel mogu se koristiti unutar modula.

Drugi primjer mješovitog pristupa bila bi mogućnost pokretanja operativni sistem With monolitnog jezgra kontrolisano mikrokernelom. Ovako su dizajnirani 4.4BSD i MkLinux, bazirani na Mach mikrokernelu. Mikrokernel obezbeđuje upravljanje virtuelnom memorijom i drajvere niskog nivoa. Sve ostale funkcije, uključujući interakciju s aplikativnim programima, se provode monolitnog jezgra. Ovaj pristup je formiran kao rezultat pokušaja da se iskoristi mikrokernel arhitektura, održavajući kod što je moguće bolje otklonjenim greškama monolitnog jezgra.

Najbliži elementi mikrokernel arhitektura i elementi monolitnog jezgra isprepleteni u Windows NT kernelu. Iako se Windows NT često naziva mikrokernel operativni sistem, ovo nije sasvim tačno. NT mikrokernel je prevelik (više od 1 MB) da nosi prefiks "mikro". Komponente Windows NT kernela nalaze se u memoriji koja se može isključiti i međusobno komuniciraju slanjem poruka, kao što se očekuje u mikrojezgrima. operativni sistemi. Istovremeno, sve komponente kernela rade u istom adresnom prostoru i aktivno koriste zajedničke strukture podataka, što je tipično operativni sistemi With monolitnog jezgra. Prema Microsoftovim stručnjacima, razlog je jednostavan: čisto mikrokernel dizajn je komercijalno neisplativ jer je neefikasan.

Stoga se Windows NT s pravom može nazvati hibridnim operativni sistem.

OS klasifikacija

Postoji nekoliko shema klasifikacije operativni sistemi. Ispod je klasifikacija zasnovana na nekim karakteristikama sa stanovišta korisnika.

Implementacija multitaskinga

Po broju istovremeno obavljenih zadataka OS mogu se podijeliti u dvije klase:

    multitasking(Unix, OS/2, Windows);

    obavljanje jednog zadatka (na primjer, MS-DOS).

Multitasking OS , rješavajući probleme alokacije resursa i konkurencije, u potpunosti implementira višeprogramski način rada u skladu sa zahtjevima odjeljka „Osnovni koncepti, koncepti OS".

Multitasking režim, koji utjelovljuje ideju dijeljenja vremena, naziva se preventivnim. Svakom programu je dodijeljen kvant procesor vrijeme nakon kojeg se kontrola prenosi na drugi program. Kažu da će prvi program biti zamijenjen. Radi u preventivnom načinu rada korisničkih programa najkomercijalniji OS.

U nekim OS(Windows 3.11, na primjer) korisnički program može monopolizirati CPU, odnosno rad u načinu rada bez pomaka. Po pravilu, u većini sistema sam kod nije podložan prednostima preuzimanja. OS. Kritični programi, posebno zadaci u realnom vremenu, također nisu isključeni. O tome se detaljnije govori u predavanju o planiranju rada procesor.

Na osnovu datih primjera može se suditi o približnoj prirodi klasifikacije. Dakle, unutra OS MS-DOS može organizirati pokretanje podređenog zadatka i istovremeno prisustvo dva ili više zadataka u memoriji. Međutim, ovo OS tradicionalno se smatra da obavlja samo jedan zadatak, uglavnom zbog nedostatka odbrambenih mehanizama i komunikacijskih sposobnosti.

Podrška za više korisnika

Po broju istovremenih korisnika OS mogu se podijeliti na:

    jednokorisnički (MS-DOS, Windows 3.x);

    višekorisnički(Windows NT, Unix).

Najznačajnija razlika između ovih OS leži u prisustvu višekorisnički sistemi mehanizme za zaštitu ličnih podataka svakog korisnika.

Multiprocessing

Do nedavno, računarski sistemi su imali jednu centralu CPU. Kao rezultat zahtjeva za povećanom produktivnošću, višeprocesorski sistemi , koji se sastoji od dva ili više procesori opšte namene, paralelno izvršavanje komandi. Podrška za više procesa je važna karakteristika OS i dovodi do komplikacija svih algoritama upravljanja resursima. Multiprocesiranje je implementirano u takvim OS, kao što su Linux, Solaris, Windows NT i nekoliko drugih.

Višeprocesorski OS dijelimo na simetrične i asimetrične. U simetričnoj OS na svakom procesor iste osnovne funkcije, a zadatak se može izvršiti na bilo kojem procesor, odnosno obrada je potpuno decentralizovana. Istovremeno, svaki od procesori sva memorija je dostupna.

U asimetričnom OS procesori nejednako. Obično postoji glavni CPU(master) i podređenih (slave), čije opterećenje i prirodu određuje gospodar CPU.

Sistemi u realnom vremenu

U rangu multitasking OS, zajedno sa sistemi paketa I sistemi za podjelu vremena, su također uključeni sistemi u realnom vremenu , koji do sada nisu pomenuti.

Koriste se za kontrolu raznih tehničkih objekata ili tehnološkim procesima. Takvi sistemi se odlikuju ekstremnim dozvoljeno vreme reakcija na vanjski događaj tokom kojeg se mora izvršiti program koji kontrolira objekt. Sistem mora obraditi dolazne podatke brže nego što može stići, i to iz više izvora istovremeno.

Ovakva stroga ograničenja utiču na arhitekturu sistemi u realnom vremenu, na primjer, može im nedostajati virtualna memorija, čija podrška uzrokuje nepredvidiva kašnjenja u izvršavanju programa. (Pogledajte i odjeljke koji se odnose na planiranje procesa i implementaciju virtualne memorije.)

Data klasifikacija OS nije iscrpan. Detaljnije, karakteristike upotrebe modernog OS recenzirano u [ Olifer, 2001].

Zaključak

Gledali smo različite poglede na to šta je to operativni sistem; proučavao istoriju razvoja operativni sistemi; saznali koje funkcije obično obavljaju OS; konačno shvatio koji pristupi izgradnji postoje operativni sistemi. Sljedeće predavanje ćemo posvetiti razjašnjavanju pojma „procesa“ i pitanjima planiranja procesa.

Aneks 1.

Neke informacije o arhitekturi računara

Glavne hardverske komponente računara su: glavna memorija, centralna CPU i perifernih uređaja. Za međusobnu razmjenu podataka, ove komponente su povezane grupom žica koje se nazivaju okosnica (vidi Sl. Sl.1.5).

Rice. 1.5. Neke kompjuterske komponente

Glavna memorija se koristi za pohranjivanje programa i podataka u binarnom obliku i organizirana je kao uređeni niz ćelija, svaka sa jedinstvenom digitalnom adresom. Tipično, veličina ćelije je jedan bajt. Tipične operacije na glavnoj memoriji su čitanje i pisanje sadržaja ćelije sa određenom adresom.

Različite operacije sa podacima obavlja izolovani deo računara, koji se naziva centralni deo. procesor(CPU). CPU također ima skladišne ​​lokacije koje se nazivaju registri. Dijele se na registre opšte namjene i specijalizirane registre. U modernim računarima kapacitet registra je obično 4-8 bajtova. Registri opšte namjene se koriste za privremeno pohranjivanje podataka i rezultata operacija. Za obradu informacija podaci se obično prenose iz memorijskih ćelija u registre opće namjene, a operaciju izvodi centralni procesor i prenošenje rezultata operacije u glavnu memoriju.

Za kontrolu rada koriste se specijalizirani registri procesor. Najvažniji su: programski brojač, registar instrukcija i registar koji sadrži informacije o stanju programa.

Programi se pohranjuju kao niz mašinskih instrukcija koje mora izvršiti centrala CPU. Svaka naredba se sastoji od polja operacije i polja operanda, odnosno podataka na kojima se operacija izvodi. Čitav skup mašinskih instrukcija naziva se mašinski jezik.

Program se izvršava na sljedeći način. Strojna instrukcija na koju ukazuje programski brojač se čita iz memorije i kopira u registar instrukcija. Ovdje se dekodira i zatim izvršava. Nakon što se naredba izvrši, programski brojač pokazuje na sljedeću naredbu. Ove radnje, koje se nazivaju mašinski ciklus, se zatim ponavljaju.

Interakcija sa perifernim uređajima

Periferni uređaji su dizajnirani za unos i izlaz informacija. Svaki uređaj obično uključuje specijalizovani računar koji se zove kontroler ili adapter. Kada je kontroler umetnut u konektor uključen matična ploča, povezuje se na sabirnicu i prima jedinstveni broj (adresu). Kontroler tada prati signale na sabirnici i odgovara na signale upućene njoj.

Svaka I/O operacija uključuje dijalog između CPU-a i kontrolera uređaja. Kada procesor Kada se naiđe na I/O naredbu kao dio programa, ona je izvršava slanjem signala kontroleru uređaja. Ovo je takozvani programabilni I/O.

Zauzvrat, sve promjene s vanjskim uređajima rezultiraju prijenosom signala sa uređaja na CPU. Sa CPU-ove tačke gledišta, ovo je asinhroni događaj i zahteva njegov odgovor. Da bi se otkrio takav događaj, između mašinskih ciklusa CPU traži poseban registar koji sadrži informacije o tipu uređaja koji je generirao signal. Ako dođe do signala, CPU izvršava program specifičan za uređaj čiji je zadatak da na odgovarajući način odgovori na ovaj događaj (na primjer, u poseban bafer unese znak unet s tipkovnice). Takav program se naziva program za obradu prekida, i sam događaj prekid, jer ometa planirani rad procesor. Nakon što je obrada završena procesorski prekidi vraća se na izvršavanje programa. Ove radnje računara se nazivaju korištenjem ulaza/izlaza prekida.

Moderni računari takođe omogućavaju direktnu komunikaciju između kontrolera i glavne memorije, zaobilazeći CPU - takozvani mehanizam direktnog pristupa memoriji.

1) Prava evolucija operativnih sistema nije se odvijala tako glatko i sistematično kao što je predstavljeno u ovom pregledu. Na primjer, prvi Joss sistem za podjelu vremena implementiran je na Joniac mašini za cijevi bez ikakve hardverske podrške.

Predavanje br. 1.

OPERATIVNI SISTEMI I OKRUŽENJE.

Ispod operativni sistem Obično se razumije skup upravljačkih i obradnih programa, koji, s jedne strane, djeluje kao sučelje između računarske opreme i korisnika, as druge strane, namijenjen je efikasnijem korišćenju resursa računarskog sistema i organizaciji pouzdanih proračuna. .

Bilo koja komponenta aplikativnog softvera nužno radi pod operativnim sistemima. Dijagram prikazuje generaliziranu softversku proceduru.

Vidi se da nijedna od softverskih komponenti, sa izuzetkom samog operativnog sistema, nema direktan pristup hardveru računara. Čak i korisnik komunicira sa svojim programima preko interfejsa. Bilo koja njihova naredba prije ulaska u aplikacijske programe prolazi kroz operativne sisteme; glavne funkcije koje obavlja operativni sistem su:

1) primanje zadataka ili komandi formulisanih na odgovarajućem jeziku od korisnika i njihova obrada;

2) primanje i izvršavanje programa zahteva za pokretanje/suspendovanje drugih programa;

4) inicijalizacija programa (prenos kontrole na njega), usled čega procesor koristi program;

5) identifikaciju programa;

6) obezbeđivanje rada sistema za upravljanje datotekama baze podataka, koji može dramatično povećati efikasnost softvera;

7) obezbeđivanje multiprogramskog režima, tj. izvršavanje dva ili više programa na jednom procesoru, stvarajući izgled njihovog istovremenog izvršavanja;

8) obezbjeđivanje funkcija za organizovanje i upravljanje svim ulaznim i izlaznim operacijama;

9) zadovoljavanje strogih vremenskih ograničenja u realnom vremenu;

10) dodjela memorije:

a) organizacija virtuelne memorije;

b) u većini modernih sistema.

11) planiranje i otpremanje u skladu sa zadatkom;

12) organizovanje razmene poruka i podataka između pokrenutih programa;

13) zaštitu jednog programa od uticaja drugih programa, obezbeđivanje očuvanja podataka;

14) pružanje usluga u slučaju delimičnog kvara sistema;

15) obezbeđivanje rada sistema programa uz pomoć kojih korisnici pripremaju svoje programe.

Po pravilu, svi moderni operativni sistemi imaju sistem za upravljanje memorijom. Određenoj PMS organizaciji pogodniji pristup ovim organizacijama kao fajlu. Brojni operativni sistemi vam omogućavaju da radite sa više sistema datoteka istovremeno. U ovom slučaju govore o montiranom sistemu datoteka, tj. Može se instalirati dodatna memorija.

Postoje jednostavni operativni sistemi koji mogu raditi bez sistema datoteka ili samo sa jednom stranom sistema datoteka. Svaki sistem za upravljanje datotekama je dizajniran da radi sa određenim operativnim sistemom i određenim sistemom datoteka.

Na primjer, dobro poznati sistem datoteka DEBEO.

Alokacija

Ima mnogo implementacija kao sistem za upravljanje datotekama, na primjer, DEBEO 16 pod sistemom GOSPOĐA- DOS ili Super DEBEO Za OS/2 ili DEBEO Za Windows.

Za rad sa datotekama organizovanim u skladu sa određenim sistemima datoteka, svaki operativni sistem mora imati odgovarajući sistem za upravljanje datotekama. Radit će samo na operativnom sistemu za koji je dizajniran. Za jednostavnu upotrebu sa operativnim sistemom, mogu se koristiti dodatne ljuske interfejsa. Njihova glavna svrha je ili da prošire mogućnosti operativnog sistema ili da promene mogućnosti ugrađene u sistem. Klasičan primjer ljuski interfejsa je:

    X Windows u porodičnim sistemima Unix;

    KDE – K Desktop okruženje;

    PM Shell;

    Objekat Desktop.

Postoje različite opcije interfejsa za porodicu operativnih sistema Windows koji zamenjuju istraživač, u fajlu sistem. ini.

U operativnom sistemu, samo je ljuska interfejsa zamenljiva. Operativno okruženje je definisano softverskim interfejsima.

Aplikacija

Interface

API sučelje za programiranje aplikacije, uključuje kontrolu procesa, memorije i I/O.

Brojni operativni sistemi mogu pokrenuti brojne programe dizajnirane za rad na drugim operativnim sistemima. Odgovarajuće okruženje je organizovano u okviru ove mašine. Isto tako, in Linux možete stvoriti uslove za izvršavanje programa za koje su napisani Windows 98

Ispod komunalne usluge razumjeti posebne sisteme programiranja pomoću kojih možete održavati operativni sistem, vršiti obradu podataka, optimizirati podatke na mediju i obavljati radove na održavanju operativnog sistema.

Uslužni programi uključuju program za podjelu pogona na magnetni diskovi na particije i program za formatiranje, program za prijenos osnovnih sistemskih datoteka od strane samog operativnog sistema. Uslužni programi mogu da rade samo na odgovarajućem operativnom sistemu.

Predavanje br. 2.

KONCEPT POSLOVNOG OKRUŽENJA.

Operativni sistem obavlja funkcije upravljanja računarskim procesima u računarskom sistemu, distribuira resurse računarskog sistema između različitih računarskih procesa i formira softversko okruženje u kojem se izvršavaju korisnički aplikativni programi. Ovo okruženje se zove operaciona sala.

Svaki program se bavi nekim ulaznim podacima, koje obrađuje i proizvodi neke izlazne podatke, tj. rezultati proračuna. U velikoj većini slučajeva izvorni podaci završavaju u RAM-u vanjskih (perifernih) uređaja.

Rezultati proračuna se također šalju vanjskim uređajima. Programiranje I/O operacija je najteži zadatak. Zbog toga je razvoj operativnog sistema krenuo putem identifikacije najčešće susrećenih operacija i kreiranja odgovarajućih modula za njih, koji se kasnije mogu koristiti u novonastalim programima. //Na kraju, nastala je situacija kada se prilikom kreiranja binarnih mašinskih programa...//

Programeri možda čak i ne znaju mnoge detalje upravljanja resursima računarskog sistema, ali moraju pristupiti nekom softverskom podsistemu sa odgovarajućim izlazima i dobiti potrebne servisne funkcije. Ovaj softverski podsistem je operativni sistem, a skup njegovih servisnih funkcija doveo je do pristupa njemu i čini osnovni koncept tzv. operativno okruženje, tj. termin operativno okruženje označava neophodne programe korisničkog interfejsa za pristup operativnom sistemu radi dobijanja određene usluge. Paralelno postojanje pojmova “operativni sistem” i “operativno okruženje” je zbog činjenice da operativni sistem može podržati nekoliko operativnih okruženja. Na primjer, operativni sistem OS/2 Warp može pokrenuti sljedeće programe:

    tzv. native ( Native) programi kreirani uzimajući u obzir 32-bitni operativni interfejs;

    16-bitni programi kreirani za OS/2 prva generacija;

    16-bitni programi dizajnirani za GOSPOĐA- DOS PS I DOS.

    16-bitni programi za operativno okruženje Windows.

    Sama operativna školjka Windows 3. X i već u njemu, programi kreirani za to.

NAMENA I FUNKCIJE OPERACIJSKOG SISTEMA.

Operativni sistem - to je program koji kontroliše rad korisničkog programa i aplikativnih sistema i deluje kao interfejs između aplikacija i računarskog hardvera. Njegove svrhe mogu se podijeliti u tri glavne komponente:

    praktičnost: operativni sistem čini pokretanje računara jednostavnim i praktičnim;

    efikasnost: operativni sistem omogućava efikasno korišćenje resursa računarskog sistema;

    mogućnost razvoja: operativni sistem mora omogućiti razvoj testiranja novih aplikacija i sistemskih funkcija bez narušavanja normalnog funkcionisanja računarskog sistema.

OPERATIVNI SISTEM KAO INTERFEJS IZMEĐU KORISNIKA I RAČUNARA.

Korisnik, po pravilu, nije zainteresovan za detalje hardvera računara, on ga vidi kao skup aplikacija. Aplikacija može biti napisana na bilo kojem od programskih jezika. Za pojednostavljenje ovog zadatka postoji skup sistemski programi, od kojih se neki nazivaju uslužni programi, uz njihovu pomoć često se implementira izvršavanje Funkcija koje pomažu u kreiranju korisničkih programa za rad s datotekama i upravljanje ulazno/izlaznim uređajima. Programer koristi ove alate kada razvija ove programe, a aplikacije pozivaju uslužne programe u vrijeme izvođenja da bi izvršili određene funkcije. Najvažniji od sistemskih programa je operativni sistem, koji skriva hardverske detalje od programatora i pruža pogodan interfejs za izvršavanje sistemskog operativnog okruženja. Može uključivati ​​nekoliko interfejsa:

    običaj;

    program

Na primjer, sistem Linux njima. za korisnika kao komande interfejsa (razne ljuske): C-Shell, K-Shell, B-Shell, bash-shell.

Interfejs za ponoćni tip komandante.

Kao i grafički interfejsi ( X Windows). Može sadržavati različite upravitelje prozora ( KDE Grome).

Što se softverskih interfejsa tiče, operativni sistem Windows programi mogu pristupiti kako operativnom sistemu za odgovarajuće usluge i funkcije, tako i grafičkom podsistemu. Sa stanovišta arhitekture procesora, drugi program kreiran za rad Linux koristi iste komande i formate podataka kao i program kreiran za rad u okruženju Windows. Međutim, u prvom slučaju postoji apel na radno okruženje, u drugom - na drugo. Dakle, operativno okruženje je sistemski softver u kojem se mogu izvršavati programi kreirani prema pravilima rada ovog okruženja.

Tipični operativni sistemi pružaju sljedeće usluge:

    razvoj softvera. Operativni sistem pruža programeru razne alate i usluge, kao što su uređivači i programi za otklanjanje grešaka. Ove usluge, implementirane u obliku softverskih uslužnih programa koji podržavaju operativne sisteme, iako nisu dio njegove jezgre, nazivaju se alati za razvoj aplikacija;

    izvršavanje programa. Za pokretanje programa potrebno je izvršiti nekoliko koraka. Komande i podatke treba učitati u glavnu memoriju i inicijalizirati uređaje. Operativni sistem obavlja rutinski posao;

    pristup ulazno/izlaznim uređajima. Svaki I/O uređaj zahtijeva svoj vlastiti skup naredbi ili kontrolirani signal za kontrolu svog rada. Operativni sistem pruža korisniku jednoobrazno sučelje koje otkriva sve ove detalje i omogućava programeru da pristupi I/O uređajima koristeći jednostavne komandečitanje i pisanje;

    kontrolirati pristup datotekama. Kada radite sa datotekama, upravljačka strana operativnog sistema je dizajnirana ne samo da razume prirodu ulazno/izlaznih uređaja i poznavanje struktura podataka snimljenih u fajlovima. Višekorisnički operativni sistemi takođe pružaju zaštitne mehanizme prilikom pristupa datotekama;

    pristupni sistemi. Operativni sistem kontroliše pristup javnom računarskom sistemu u celini, kao i pojedinačnim sistemskim resursima. Mora osigurati zaštitu resursa i podataka od neovlaštenog korištenja, kao i rješavanje konfliktnih situacija;

    otkrivanje i rukovanje greškama. Tokom rada računarskog sistema javljaju se različiti kvarovi, uključujući interne i eksterne greške, koje nastaju u hardveru, na primjer, memorijske greške, kvar ili kvar uređaja, moguće su i softverske greške: aritmetičko prelivanje, pokušaj pristupa memorijskoj ćeliji kojoj se pristupilo i nemogućnost dovršavanja zahtjeva aplikacije. U svakom od ovih slučajeva, operativni sistem mora poduzeti akciju kako bi minimizirao utjecaj greške na aplikaciju. Reakcija operativnog sistema na grešku može biti različita: od jednostavne poruke o grešci do hitnog zaustavljanja programa;

    računovodstvo korišćenja resursa. Dobar operativni sistem treba da ima sredstva za obračun upotrebe različitih resursa i prikazivanje parametara proizvođača. Ove informacije su izuzetno važne za dalje poboljšanje i podešavanje sistema radi poboljšanja performansi.

OPERATIVNI SISTEM KAO MENADŽER RESURSA.

Računar je skup resursa koji podržavaju izvršavanje zadataka, akumulaciju, skladištenje, kretanje i obradu podataka, a također kontrolira rad ovih i drugih funkcija. To je operativni sistem koji upravlja resursima računara i kontroliše njegove osnovne funkcije. Međutim, ova kontrola ima sljedeće karakteristike:

    Funkcije operativnog sistema rade na isti način kao i svi ostali softveri, tj. implementiraju se u obliku pojedinačnih programa ili skupa programa, izvršnih procesa;

    operativni sistem mora prenijeti kontrolu na druge procese i čekati da mu procesor dozvoli da ponovo obavlja svoje dužnosti.

Operativni sistem je, u suštini, skup računarskih programa; kao i svaki drugi program, on izdaje komande procesoru. Ključna razlika je svrha ovog programa.

Operativni sistem //sposoban//: kako koristiti druge sistemski resursi, i kako dodijeliti vrijeme kada koristite druge programe, ali za to procesor mora pauzirati rad s njim i prijeći na izvršavanje drugih programa.

Dakle, operativni sistem ustupa kontrolu procesoru kako bi mogao obaviti neki koristan posao, a zatim nastavlja kontrolu tek toliko da pripremi procesor za sljedeći posao.

Dio operativnog sistema nalazi se u RAM-u (glavni, bazni). Ovaj dio uključuje jezgro ( Kernel), koji sadrži većinu najčešće korišćenih funkcija, a sadrži i neke druge komponente operativnog sistema koje su trenutno u upotrebi.

Ostatak sadrži druge programe i korisničke podatke. Postavljanje ovih podataka u RAM zajedno kontrolišu operativni sistem i hardver procesora koji se koristi za upravljanje memorijom. Operativni sistem odlučuje kada izvršni program može oštetiti ulazno/izlazne uređaje koji su mu potrebni i kontrolira pristup datotekama.

Procesor je takođe resurs koji operativni sistem mora da odredi koliko vremena treba da posveti izvršavanju određenog korisničkog programa. Višeprocesorski sistemi: Odluka se mora donijeti za svaki proces.

MOGUĆNOSTI RAZVOJA OPERATIVNOG SISTEMA.

Većina operativnih sistema se stalno razvija. To se dešava iz sljedećih razloga:

A ) ažuriranje i pojava novih tipova hardvera;

b) nove usluge. Novi alati se mogu dodati operativnom sistemu za praćenje i procenu performansi kako bi se održala visoka efikasnost sa postojećim alatima korisnika;

V) korekcija. Svaki operativni sistem ima greške. S vremena na vrijeme se otkrivaju i ispravljaju. Potreba za redovnom promjenom operativnih sistema nameće određena ograničenja uređaju. Očigledno je da ovi sistemi moraju imati modularni dizajn, jasno definisan interakcijom modula. Za velike programe važna je dobra i kompletna dokumentacija.

Prihvaćene konvencije:

    I/O - ulaz/izlaz;

    AO - hardver;

    DB - baza podataka;

    RAM - memorija sa slučajnim pristupom;

    OS - operativni sistem;

    ROM - memorija samo za čitanje;

    PC - personalni računar;

    Softver - softver;

    RV - realno vrijeme;

    SU - sistem upravljanja;

    DBMS - sistem upravljanja bazom podataka;

    UVV - ulazno/izlazni uređaj;

    FS - sistem datoteka;

    CPU - procesor ( CPU).

Klasifikacija osa

Razvoj računara doveo je do razvoja OS. Sada postoji više od 100 operativnih sistema.

Prema namjeni OS-a, uobičajeno je podijeliti ga na sedam nivoa.

1. Glavni računari

Imaju različite I/O mogućnosti od PC-a. Glavni računari obično sadrže hiljade diskova i terabajta RAM-a. Koriste se u obliku moćnih web servera, servera za velike komercijalne lokacije i servera za poslovne transakcije. Operativni sistemi glavnog računala dizajnirani su za rukovanje mnogim istovremenim poslovima, od kojih većina zahtijeva velika količina I/O operacije. Obično uključuju tri vrste usluga:

      serijska obrada. Sistem obavlja standardne zadatke bez prisustva korisnika. U paketnom režimu, potraživanja osiguravajućeg društva se obrađuju i sastavljaju se izvještaji o prodaji u trgovini;

      obrada transakcija (grupne operacije: obrada podataka i snimanje). Sistem za obradu transakcija upravlja veoma velikim brojem malih zahteva (na primer, kontroliše proces rada u banci, bukira avionske karte). Svaki pojedinačni zahtjev je mali, ali sistem mora odgovoriti na hiljade zahtjeva u sekundi;

      dijeljenje vremena. Sistemi koji rade u režimu dijeljenja vremena omogućavaju mnogim udaljenim korisnicima da obavljaju svoje zadatke na jednom stroju, na primjer, radeći s velikom bazom podataka. Sve ove funkcije su usko povezane i često ih sve izvršava glavni OS. Primjer glavnog OS-a je OS/390 (od IBM-a).

2. Server (mrežni) OS

Oni rade na serverima, koji su ili veoma veliki računari, radne stanice ili čak mainframe. Opslužuju više korisnika istovremeno i omogućavaju im da dijele softverske i hardverske resurse. Serveri pružaju mogućnost rada sa uređajima za štampanje, fajlovima i internetom. Internet provajderi obično pokreću više servera kako bi podržali istovremeni pristup mreži za više klijenata. Serveri pohranjuju web stranice i obrađuju zahtjeve za unos. Tipični serverski operativni sistemi: Windows 2000 i Unix. Linux OS je sada počeo da se koristi u ove svrhe.

3. Višeprocesorski OS (klasteri)

Najčešće korišćena metoda za povećanje snage računara je kombinovanje CPU-a u jedan sistem. U zavisnosti od vrste CPU veze i podjele posla, takvi sistemi se nazivaju paralelni računari, višeračunari ili višeprocesorski sistemi. Oni zahtijevaju posebne operativne sisteme, ali, po pravilu, takvi operativni sistemi su varijante serverskih operativnih sistema sa posebnim komunikacijskim mogućnostima.

4. PC OS

Posao ovih OS-a je da predstave korisničko sučelje za jednog korisnika. Takvi operativni sistemi se široko koriste za rad sa tekstom, tabelama i pristup Internetu. Živopisni primjeri: Windows 98, 2000, MacOS, Linux.

Glavni parametar RT OS-a je vrijeme. Na primjer, u sistemu kontrole proizvodnje, računari koji rade u realnom vremenu prikupljaju podatke o industrijskom procesu i koriste ih za upravljanje mašinama. Takvi procesi moraju ispuniti stroge zahtjeve vremena. Dakle, ako se automobil kreće po pokretnoj traci, onda se svaka radnja mora izvršiti u strogo određenom trenutku. Ako robot za zavarivanje zavari šav prerano/kasno, to će uzrokovati nepopravljivu štetu. Ako se neka radnja mora dogoditi u nekom trenutku ili unutar određenog vremenskog raspona, onda govorimo o krutom RT sistemu. Postoji fleksibilan sistem upravljanja vremenom u kojem su povremeni propušteni rokovi za rad prihvatljivi. Ova kategorija spada u digitalni audio i multimedijalne sisteme. OS primjeri: VxWorks, QNX.

6. Ugrađeni OS

Džepni računar ili PDA (Personal Digital Assistant) je mali računar koji staje u džep pantalona i obavlja neke funkcije (bilježnica, notepad). Primeri OS: PalmOS, Windows CE (Potrošačka elektronika - kućni aparati).

7. OS za Smart-kartice (smart-cards - pametne kartice)

Najmanji OS rade na pametnim karticama, koje su uređaj sa CPU-om. Takvi operativni sistemi podliježu ekstremno strogim ograničenjima na snagu procesora i memorije. Neki od njih mogu upravljati samo jednom operacijom, ali drugi OS na istim Smart karticama obavljaju složene funkcije. Neki OS su orijentisani na Java, tj. ROM sadrži interpreter Java virtuelne mašine (ROM - Read Only Memory). Java apleti se učitavaju na karticu i izvršavaju od strane JVM (Java Virtual Machine) interpretera. Neke od ovih kartica mogu istovremeno upravljati više Java aplikacija, što dovodi do više zadataka i potrebe za planiranjem. Postoji i potreba za zaštitom. Ove zadatke obično obavlja izuzetno primitivan OS.

7.1. Osnovni koncepti operativnog sistema

Jedna od komponenti kompjuterske nauke je - softver (softver), koji je heterogen i složene strukture, uključujući nekoliko nivoa: sistemski, servisni, instrumentalni, aplikativni.

On najniži nivo postoje kompleksi programa koji obavljaju funkcije interfejsa (posrednik između osobe i računara, hardvera i softvera, između istovremeno pokrenutih programa) distribucije različitih računarskih resursa. Programi na ovom nivou se nazivaju sistemski. Svi korisnički programi se pokreću pod kontrolom softverskih kompleksa tzv operativni sistemi.

Sledeći nivo je pomoćni softver. Programi na ovom nivou nazivaju se uslužni programi i obavljaju različite pomoćne funkcije. Može biti dijagnostičke programe, koristi se tokom održavanja razni uređaji(floppy i hard disk), testne programe, koji predstavlja skup programa Održavanje, arhiveri, antivirusi itd. Uslužni programi obično rade pod operativnim sistemom (iako mogu direktno pristupiti hardveru), tako da se smatraju višim nivoom. U nekim klasifikacijama, sistemski i servisni nivoi su kombinovani u jednu klasu - sistemski softver.

Instrumentacijski softver predstavlja softverske pakete za kreiranje drugih programa. Proces kreiranja novih programa na mašinskom komandnom jeziku je veoma složen i mukotrpan, tako da je niskih performansi. U praksi se većina programa kompajlira u formalnim programskim jezicima, koji su bliži matematičkim, pa je stoga lakši i produktivniji za rad, a prevođenje programa u jezik mašinskog koda vrši se pomoću računara putem instrumentalnog softvera. Programima alata upravljaju sistemski programi, tako da su na višem nivou.

Aplikacioni softver- najveća klasa programa po obimu su programi za krajnje korisnike. U svijetu postoji oko šest hiljada različitih zanimanja, hiljade različitih hobija, a većina njih trenutno ima neku vrstu aplikativnog softvera. Aplikacioni softver je takođe kontrolisan sistemskim programima i na višem je nivou.

Sumirajući gore navedeno, možemo predložiti sljedeću strukturu softvera (slika 7.1).

Sl.7.1. Klasifikacija softvera



Predložena klasifikacija softvera je uglavnom proizvoljna, budući da su danas softverski proizvodi mnogih kompanija počeli da kombinuju softverske elemente iz različitih klasa. Na primjer, Windows operativni sistem, kao kompleks sistemskih programa, sadrži blok pomoćnih programa (defragmentacija, skeniranje, čišćenje diska, itd.), kao i program za obradu teksta WordPad, grafički uređivač Paint, koji pripadaju klasa aplikativnih programa.

Centralno mjesto u strukturi softvera zauzima operativni sistem (OS). To je „sistem programa dizajniran da obezbedi određeni nivo efikasnosti digitalnom računarskom sistemu automatizovano upravljanje svoj rad i spektar usluga koje se pružaju korisnicima.”

Operativni sistem operativni sistem) - osnovni skup računarskih programa koji obezbeđuje interfejs sa korisnikom, kontrolu hardvera računara, rad sa fajlovima, unos i izlaz podataka, kao i izvršavanje aplikativnih programa i uslužnih programa.

OS vam omogućava da apstrahujete od detalja implementacije hardvera, pružajući programerima softvera minimalno potreban set funkcije. Sa stanovišta običnih ljudi, obični korisnici kompjuterska oprema, OS uključuje programe korisnički interfejs.

Operativni sistem - program koji se učitava kada se računar uključi. Obavlja dijalog sa korisnikom, upravlja računarom, njegovim resursima (RAM, diskovni prostor, itd.) i pokreće druge aplikativne programe za izvršenje. Operativni sistem pruža korisnicima i aplikativnim programima zgodan način komunikacije (interfejsa) sa uređajima ličnog računara.

Najčešći operativni sistemi: MS-DOS, OS/2, UNIX, WINDOWS, LINUX, WINDOWS NT, imaju različite modifikacije.

Glavne funkcije (jednostavan OS):

Standardizirani pristup perifernim uređajima (ulazno/izlazni uređaji);

Upravljanje RAM-om (distribucija između procesa, virtuelna memorija);

Kontrola pristupa podacima na nepromjenjivim medijima (npr HDD, CD, itd.), obično koristeći sistem datoteka;

Korisnički interfejs;

Mrežne operacije, podrška za stek protokola

Dodatne funkcije:

Paralelno ili pseudoparalelno izvršavanje zadataka (multitasking);

Interakcija između procesa: razmjena podataka, međusobna sinhronizacija;

Zaštita samog sustava, kao i korisničkih podataka i programa od zlonamjernih radnji korisnika ili aplikacija;

Razlikovanje prava pristupa i višekorisničkog načina rada (autentifikacija, autorizacija).

Program koji skriva istinu o hardveru i predstavlja jednostavnu listu fajlova koji se mogu čitati i pisati, tj. ., Operativni sistem ne samo da eliminiše potrebu za direktnim radom sa diskovima i pruža jednostavan interfejs orijentisan na fajlove, već krije i mnogo neprijatnog rada sa prekidima, brojačima vremena, organizacijom memorije i drugim elementima niskog nivoa. U svakom slučaju, procedura koju pruža OS je mnogo jednostavnija i lakša za korištenje od radnji koje zahtijeva osnovni hardver.

Sa stanovišta korisnika, OS obavlja funkciju virtuelne mašine, sa kojom je jednostavnije i lakše raditi nego direktno sa hardverom koji čini pravi računar, a za programe OS pruža niz mogućnosti koje oni može koristiti pomoću posebnih naredbi tzv sistemski pozivi.

Koncept gledanja na OS prvenstveno kao korisničko sučelje je pogled odozgo prema dolje. Alternativni pogled odozdo prema gore daje ideju o OS-u kao mehanizmu za kontrolu svih dijelova računala. Savremeni računari se sastoje od procesora, memorije, diskova, mrežne opreme, štampača i ogromnog broja drugih uređaja. U drugom pristupu, zadatak OS-a je da obezbijedi organiziranu i kontroliranu distribuciju procesora, memorije i I/O uređaja među različitim programima koji se nadmeću da ih koriste.

Vrste operativnih sistema.

Istorija razvoja OS seže mnogo godina unazad. Operativni sistemi su se pojavili i razvijali u procesu unapređenja računarskog hardvera, tako da su ovi događaji istorijski blisko povezani. Razvoj računara doveo je do pojave ogromnog broja različitih operativnih sistema, od kojih nisu svi široko poznati.

Zapravo gornji nivo su OS za mainframe. Ove ogromne mašine se još uvek mogu naći u velikim organizacijama. Glavni računari se razlikuju od personalnih računara po svojim ulazno/izlaznim mogućnostima. Sasvim je uobičajeno pronaći mainframe sa hiljadama diskova i terabajta podataka. Glavni računari djeluju kao moćni web serveri i serveri velika preduzeća i korporacije. Operativni sistemi glavnog računala prvenstveno su dizajnirani za rukovanje višestrukim istovremenim poslovima, od kojih većina zahtijeva ogromne količine I/O. Oni obično izvode tri vrste operacija: grupna obrada, obrada transakcija (batch operacije) i podjela vremena. Batch obrada obavlja standardne zadatke za korisnike koji rade u interaktivnom načinu rada. Sistemi za obradu transakcija upravljaju veoma velikim brojem zahteva, kao što su rezervacije aviona. Svaki pojedinačni zahtjev je mali, ali sistem mora odgovoriti na stotine i hiljade zahtjeva u sekundi. Sistemi za podjelu vremena omogućavaju mnogim udaljenim korisnicima da istovremeno obavljaju svoje zadatke na jednoj mašini, na primjer, radeći s velikom bazom podataka. Sve ove funkcije su usko povezane, a glavni operativni sistem ih sve obavlja. Primjer glavnog operativnog sistema je OS/390.

Jedan nivo ispod su server OS. Serveri su ili multiprocesorski računari ili čak mejnfrejmovi. Ovi operativni sistemi istovremeno služe mnogim korisnicima i omogućavaju im da međusobno dijele softverske i hardverske resurse. Serveri takođe pružaju mogućnost rada sa uređajima za štampanje, datotekama ili internetom. Internet provajderi obično koriste više servera kako bi podržali istovremeni pristup mreži za više klijenata. Serveri pohranjuju web stranice i obrađuju dolazne zahtjeve. UNIX i Windows 2000 su tipični serverski operativni sistemi. Sada je u tu svrhu počeo da se koristi i operativni sistem Linux.

Sljedeću kategoriju čine OS za personalne računare. Njihov posao je da obezbede korisničko sučelje za jednog korisnika. Ovakvi sistemi se široko koriste u svakodnevni rad. Glavni operativni sistemi u ovoj kategoriji su Windows platforma, Linux i Macintosh računarski operativni sistem.

Druga vrsta OS je sistemi u realnom vremenu. Glavni parametar takvih sistema je vrijeme. Na primjer, u sistemima kontrole proizvodnje, kompjuteri u realnom vremenu prikupljaju podatke o industrijskim procesima i koriste ih za kontrolu opreme. Takvi procesi moraju ispuniti stroge zahtjeve vremena. Ako se, na primjer, automobil kreće duž pokretne trake, tada se svaka radnja mora izvesti u strogo određenom trenutku. Ako robot za zavarivanje zavari šav prerano ili prekasno, to će uzrokovati nepopravljivu štetu na proizvodu. VxWorks i QNX sistemi su operativni sistemi u realnom vremenu.

Ugrađeni operativni sistemi koristi se u džepnim računarima i kućnim aparatima. Džepni računar je mali računar koji stane u vaš džep i obavlja mali skup funkcija, npr. telefonski imenik i notes. Ugrađeni sistemi koji kontrolišu rad uređaja kućanskih aparata, se ne smatraju kompjuterima, ali imaju iste karakteristike kao sistemi u realnom vremenu, ali imaju posebnu veličinu, memoriju i ograničenja snage koja ih čine svojom klasom. Primjeri takvih operativnih sistema su PalmOS i Windows CE (Consumer Electronics).

Najmanji operativni sistemi rade na pametne kartice, koji su uređaj veličine kreditne kartice i sadrže centralnu procesorsku jedinicu. Takvi operativni sistemi podliježu vrlo strogim ograničenjima snage procesora i memorije. Neki od njih mogu upravljati samo jednom transakcijom, kao što je elektronsko plaćanje, ali drugi OS obavljaju složenije funkcije.

Klasifikacija operativnih sistema.

Operativni sistemi su klasifikovani prema:

Broj istovremenih korisnika: jednokorisnički, višekorisnički;

Broj procesa koji se istovremeno izvršavaju pod kontrolom sistema: jedan zadatak, više zadataka;

Broj podržanih procesora: jednoprocesorski, višeprocesorski;

Bitovi OS koda: 8-bitni, 16-bitni, 32-bitni, 64-bitni;

Tip interfejsa: komandni (tekstualni) i objektno orijentisani (grafički);

Vrsta korisničkog pristupa računaru: grupna obrada, dijeljenje vremena, realno vrijeme;

Vrsta korištenja resursa: mrežni, lokalni.

U skladu sa prvim znakom klasifikacije, višekorisnički operativni sistemi, za razliku od jednokorisničkih operativnih sistema, podržavaju istovremeni rad više korisnika na računaru na različitim terminalima.

Drugi znak uključuje podjelu OS-a na više zadataka i jedan zadatak. Koncept multitaskinga znači podržavanje paralelnog izvršavanja nekoliko programa koji postoje unutar istog računarskog sistema u jednom trenutku. Operativni sistemi sa jednim zadatkom podržavaju način izvršavanja samo jednog programa istovremeno poseban trenutak vrijeme.

U skladu sa trećom osobinom, višeprocesorski operativni sistemi, za razliku od jednoprocesorskih, podržavaju način raspodele resursa više procesora za rešavanje određenog zadatka.

Četvrti znak dijeli operativne sisteme na 8-, 16-, 32- i 64-bitne. To implicira da bitni kapacitet operativnog sistema ne može premašiti bitni kapacitet procesora.

U skladu sa petom karakteristikom, operativni sistemi su podeljeni po tipu korisničkog interfejsa na objektno orijentisane (obično sa grafičkim interfejsom) i bazirane na komandama (sa interfejsom zasnovanim na tekstu). Prema šestoj karakteristici, operativni sistemi se dijele na sisteme:

Batch obrada, u kojoj se od programa koji se izvršavaju formira paket (skup) zadataka, unose se u računar i izvršavaju po prioritetu, uz moguće razmatranje prioriteta;

Time sharing (TSR), omogućavajući simultani dijalog (interaktivni) način pristupa računaru više korisnika na različitim terminalima, kojima se redom dodeljuju mašinski resursi, koji koordiniše operativni sistem u skladu sa datom uslužnom disciplinom;

U realnom vremenu, obezbjeđujući određeno zagarantovano vrijeme da mašina odgovori na zahtjev korisnika svojom kontrolom bilo kakvih događaja, procesa ili objekata izvan računara.

U skladu sa sedmim kriterijem klasifikacije, operativni sistemi se dijele na mrežne i lokalne. Mrežni operativni sistemi su dizajnirani da upravljaju resursima računara povezanih na mrežu u svrhu dijeljenja podataka i pružaju moćna sredstva za ograničavanje pristupa podacima kako bi se osigurao njihov integritet i sigurnost, kao i mnoge servisne mogućnosti za korištenje mrežnih resursa.

U većini slučajeva, mrežni operativni sistemi su instalirani na jednom ili više prilično moćnih serverskih računara posvećenih isključivo održavanju mreže i zajedničkih resursa. Svi ostali OS će se smatrati lokalnim i mogu se koristiti na bilo kojem PC, kao i na odvojeni računar povezan na mrežu kao radna stanica ili klijent.

Softverske komponente OS pruža upravljanje računalima i implementira funkcije kao što su planiranje i dodjela resursa, upravljanje unosom/izlazom informacija i upravljanje podacima. Obim operativnog sistema i broj njegovih sastavnih programa u velikoj meri su determinisani tipom računara koji se koristi, složenošću režima rada računara i računara, sastavom tehničkih sredstava itd. Korištenje OS-a vam omogućava:

Povećati propusni opseg Kompjuter, tj. povećanje ukupne količine posla koji računar obavlja po jedinici vremena;

Smanjenje vremena odziva sistema, tj. smanjenje vremenskog intervala između trenutaka prijema zadataka u kompjuter i vremena prijema rezultata;

Praćenje performansi hardvera i softvera;

Pomoć korisnicima i operaterima u korištenju hardvera i softvera, osiguravajući njihov rad;

Upravljanje programima i podacima tijekom proračuna;

Osiguravanje adaptacije računala, njegove strukturne fleksibilnosti, koja se sastoji u mogućnosti promjene i dopunjavanja novim hardverom i softverom.

Operativni sistem je kompleks sistemskog i pomoćnog softvera. S jedne strane, oslanja se na osnovni kompjuterski softver koji se nalazi u njemu BIOS sistem(osnovni ulazno/izlazni sistem); s druge strane, sama je podrška za softver više visoki nivoi- aplikacija i većina uslužnih aplikacija. Aplikacije operativnog sistema se obično nazivaju programi dizajnirani da rade pod kontrolom ovog sistema.

Glavna funkcija svih operativnih sistema je posredovanje. Sastoji se od pružanja nekoliko tipova interfejsa:

Interfejs između korisnika i hardvera računala (korisnički interfejs);

Interfejs između softvera i hardvera (hardversko-softverski interfejs);

Interfejs između različitih tipova softvera (softverski interfejs).

Čak i za jednu hardversku platformu, kao što je IBM PC, postoji nekoliko operativnih sistema. Razlike između njih se razmatraju u dvije kategorije: interne i eksterne. Unutrašnje razlike karakterišu metode implementacije osnovnih funkcija. Vanjske razlike određuju se dostupnošću i dostupnošću aplikacija datog sistema neophodnih za ispunjavanje tehničkih zahtjeva za određeno radno mjesto.

Glavni kriteriji za pristup odabiru operativnog sistema:

Trenutno postoji veliki broj operativnih sistema, a korisnik je suočen sa zadatkom da odredi koji je operativni sistem bolji od drugih (prema određenim kriterijumima). Očigledno, ne postoje idealni sistemi, svaki od njih ima svoje prednosti i nedostatke. Prilikom odabira operativnog sistema korisnik mora zamisliti kako će mu ovaj ili onaj OS pružiti rješenje za njegove probleme.

Da biste odabrali jedan ili drugi OS, morate znati:

Na kojim hardverskim platformama i kojom brzinom radi OS;

Koji periferni hardver podržava OS;

Koliko OS u potpunosti zadovoljava potrebe korisnika, odnosno koje su funkcije sistema;

Na koji način OS komunicira sa korisnikom, odnosno koliko je interfejs korisniku vizuelan, zgodan, razumljiv i poznat;

Postoje li informativni savjeti, ugrađeni priručnik, itd.;

Kolika je pouzdanost sistema, odnosno njegova otpornost na greške korisnika, kvarove opreme i sl.;

Koje mogućnosti OS pruža za organizovanje mreža?

Da li OS obezbjeđuje kompatibilnost sa drugim operativnim sistemima;

Koji alata ima OS za razvoj aplikativnih programa;

Da li OS podržava različite nacionalne jezike?

Koji poznati aplikativni softverski paketi se mogu koristiti pri radu sa ovim sistemom;

Kako OS štiti informacije i sam sistem.

1. OS koncept. Osnovne funkcije OS-a.

Pod operativnim sistemom se obično podrazumeva skup kontrolnih programa koji deluju kao interfejs između računarskog hardvera i dizajnirani su za najefikasnije korišćenje resursa računarskog sistema i organizaciju pouzdanih proračuna. Bilo koja od softverskih komponenti radi pod kontrolom OS-a i nijedna od softverskih komponenti, osim samog OS-a, nema direktan pristup hardveru.

Glavne funkcije OS-a su:

1. Primanje zadataka ili komandi od korisnika.

2. Primanje i izvršavanje programskih zahtjeva za pokretanje, pauziranje i zaustavljanje drugih programa.

4. Pokretanje programa (prenošenje kontrole na njega, usled čega procesor izvršava program).

5. Identifikacija svih programa i podataka.

6. Osiguravanje rada sistema za upravljanje datotekama i DBMS-a. što povećava efikasnost cjelokupnog softvera.

7. Omogućavanje multiprogramiranja, odnosno izvršavanje 2 ili više programa na 1 procesoru, dajući izgled njihovog istovremenog izvršavanja.

8. Upravljanje ulazno/izlaznim operacijama.

9. Zadovoljite stroga ograničenja u realnom vremenu.??

10. Distribucija memorije, organizacija virtuelne memorije.

11. Planiranje i raspoređivanje zadataka u skladu sa navedenom strategijom i uslužnim disciplinama.

12. Razmjena poruka i podataka između pokrenutih programa.

13. Zaštita programa od međusobnog uticaja. osiguravanje sigurnosti podataka.

14. Pružanje usluga u slučaju kvara sistema.

15. Osiguranje rada programskih sistema.

2. Prekida. Obrada prekida.

Prekidi su mehanizam koji vam omogućava da koordinirate paralelno funkcionisanje pojedinih uređaja računarskog sistema i odgovorite na posebne uslove koji nastaju tokom rada procesora. Prekidi su prisilni prijenos kontrole sa pokrenutog programa na sistem, a preko njega na odgovarajući program za rukovanje prekidom, koji se javlja kada se dogodi određeni događaj. Osnovna svrha uvođenja prekida je implementacija asinhronog režima rada i paralelizacija rada pojedinačnih uređaja računarskog kompleksa. Mehanizam prekida je implementiran u hardveru i softveru.

Strukture sistema prekida mogu biti veoma različite, ali svi imaju zajedničku osobinu - prekid svakako dovodi do promene redosleda kojim se instrukcije izvršavaju od strane procesora. Mehanizam za rukovanje prekidima uključuje sljedeće elemente:

1. Utvrđivanje činjenice prekida (prijem i identifikacija signala prekida).

2. Pohranjivanje stanja prekinutog procesa (stanje procesa je određeno vrijednošću programskog brojača, sadržajem registra procesora, specifikacijom načina rada: korisnički ili privilegirani)

3. Kontrola se hardverski prenosi na program za obradu prekida. U ovom slučaju se početna adresa potprograma za obradu prekida unosi u programski brojač, a iz statusne riječi u odgovarajuće registre.???

4. Spremanje informacija u prekinut program koji nije mogao biti sačuvan upotrebom hardverskih radnji.

5. Obrada prekida. Posao može obaviti ista potprograma na koju je preneta kontrola u 3. koraku, ali se u OS ova obrada najčešće implementira pozivom odgovarajuće funkcije. potprogrami.

6. obnavljanje informacija u vezi sa prekinutim procesom.

7. Vratite se na prekinuti program.

Prva 3 koraka implementirana su u hardveru, a ostali u softveru.

Glavne funkcije prekidačkog mehanizma:

1. Prekinite prepoznavanje ili klasifikaciju.

2. Prenos kontrole na rukovalac prekida.

3. Ispravan povratak na prekinuti program

Prijelaz sa prekinutog programa na obrađivač i nazad treba obaviti što je brže moguće. Jedan od brze metode je koristiti stol za busen. spisak svih prekida dozvoljenih za računar i odgovarajuće adrese. rukovaoci. Za ispravan povratak na prekinuti program, prije prenošenja kontrole na rukovaoce, sadržaj registara procesora se pohranjuje ili u memoriju direktnog pristupa ili na sistemski stog.

Prekinite servisiranje. Prisustvo signala prekida ne mora nužno uzrokovati prekid izvršavanja programa; procesor može imati sistem zaštite od prekida: onemogućavanje sistema prekida ili onemogućavanje ili maskiranje pojedinačnih signala prekida. Kontrola softvera Ova sredstva omogućavaju OS da reguliše obradu signala prekida. Procesor može obraditi prekide odmah po dolasku prekida, odgoditi njihovu obradu neko vrijeme ili ih potpuno zanemariti. Obično se operacije prekida izvode tek nakon što je trenutna naredba završila izvršenje. Budući da se signali prekida javljaju u nasumično vrijeme, u vrijeme prekida može postojati nekoliko signala prekida koji se mogu obraditi samo uzastopno. Za obradu signala prekida u razumnom redoslijedu, dodjeljuju im se prioriteti. Programi, upravljanjem posebnim registrima maski, omogućavaju vam da implementirate različite uslužne discipline:

1) sa relativnim prioritetom. U ovom slučaju, usluga se ne prekida čak i ako postoje zahtjevi sa višim prioritetom. nakon završetka službe ovog zahtjeva(trenutno) uručuje se zahtjev s najvišim prioritetom. Za organizaciju takve discipline potrebno je primijeniti maske na sve ostale prekide u programu za servisiranje ovog zahtjeva ili jednostavno onemogućiti sistem prekida.

2) sa apsolutnim prioritetom. Zadaci sa najvišim prioritetom se uvijek servisiraju. Za implementaciju ove discipline, kada se zahtijeva obrada prekida, svi prekidi niskog prioriteta su maskirani. U ovom slučaju moguć je prekid na više nivoa, odnosno prekid programa usluge prekida. Broj nivoa prekida u ovom režimu varira i zavisi od prioriteta zahteva zasnovanog na principu steka: LCFS - poslednji koji je prvi uslužen, odnosno zahtev sa višim prioritetom može da prekine zahtev sa nižim prioritetom. Kada se pojavi zahtjev za prekid, sistem prekida identificira signal i ako su prekidi omogućeni, kontrola se prenosi na odgovarajući. program za obradu prekida.

Servisne sekcije u kojima je sačuvan kontekst prekinutog zadatka i posljednja sekcija u kojoj se kontekst vraća tako da sistem prekida ne odgovara ponovo na signal zahtjeva za prekid. Ovaj sistem prekida automatski onemogućava prekide, tako da je potrebno ponovo omogućiti ovaj sistem prekida u rutinama prekida. Dakle, dok je centralna sekcija za rukovanje prekidima pokrenuta, prekidi su omogućeni, dok je završna sekcija pokrenuta, potprogram za rukovanje prekidima mora biti onemogućen, a nakon što se kontekst prekinutog zadatka vrati, mora se ponovo omogućiti. Ove radnje se moraju izvesti u svakoj obradi prekida. U mnogim OS 1, odjeljak za rukovanje prekidima je dodijeljen posebnom softverskom modulu koji se zove. supervizor prekida.

3. Koja je razlika između programskih modula sa ponovnim ulaskom i ponovno prekinutih programskih modula? Kako se sprovode.

1. Šta je sistem za upravljanje datotekama (FMS)?

Svrha SUF-a.

Organizacija pogodnijeg pristupa podacima organizovanim kao fajlovi. Umjesto pristupa podacima na niskom nivou – koji označava fizičku adresu svakog zapisa – koristi se logički pristup, koji označava naziv datoteke i zapis u njoj.

Brojni operativni sistemi vam omogućavaju rad sa nekoliko SUF-ova, u ovom slučaju govore o montiranim sistem datoteka. Postoje i operativni sistemi koji rade bez SUF-a, tj. Nijedan sistem za upravljanje datotekama nije potreban sam za sebe; dizajniran je da radi u određenom OS i određenom sistemu datoteka.

2. Eksterni, interni i softverski prekidi.

Prekidi koji se javljaju tokom rada računara. sistemi se mogu podijeliti na eksterne i interne. Eksterni prekidi su uzrokovani asinhronim događajima koji se dešavaju izvan procesa koji se prekida. Primjer - prekid tajmera, prekid tajmera eksternih uređaja, I/O prekid, prekid napajanja, prekid operaterske konzole, prekid sa drugog procesora ili drugog OS-a.

Interni prekidi su uzrokovani događajima koji su povezani s radom procesora i sinhroni su s njegovim operacijama. Na primjer: u slučaju kršenja adresiranja (kada je navedena zabranjena ili nepostojeća adresa) ili pristup segmentu ili stranici koji nedostaje prilikom organiziranja virtualne memorije; ako postoji neiskorištena dvocifrena kombinacija u polju koda operacije; kada se podijeli sa 0; kada narudžba prelije ili nestane; pri otkrivanju paritetnih grešaka, grešaka u radu različitih hardverskih uređaja putem nadzornih sredstava.

Softverski prekida. Ovi prekidi se javljaju kao odgovor na odgovarajuću naredbu prekida, tj. sa ovom komandom procesor izvodi iste radnje kao i sa redovnim internim prekidima. Ovaj mehanizam je posebno uveden kako bi se osiguralo da se prelazak na sistemske programske module dogodi ne samo kao prijelaz na potprogram, već na potpuno isti način kao u redovnim prekidima. Ovo osigurava automatsko prebacivanje procesor u privilegirani način rada sa mogućnošću izvršavanja bilo koje komande. Signali koji uzrokuju prekide generiraju se izvan procesora ili u samom procesoru, a mogu se pojaviti istovremeno. Odabir jednog od njih za obradu vrši se na osnovu prioriteta dodijeljenog svakoj vrsti prekida. Razmatranje prioriteta prekida se može ugraditi u tehnička sredstva, a također određuje OS.

Najbolji članci na ovu temu