Funkcije i struktura sustava Windows i Linux

S sistemskog gledišta, arhitektura OS-a osigurava raspodjelu resursa, upravlja zajedničkim pogonima, mrežama i procesorima, pružajući zajedničke usluge koje zahtijevaju različiti programi za održavanje datoteka, upravljanje procesima, pristup pisaču i zaštitu od virusa za pojedinačne aplikacije.

Princip rada sustava

Većina struktura OS koristi pristup particioniranju slojeva svakog zadatka, uključujući datotečne sustave. Svaka razina odgovorna je za određene radnje. Kada aplikacija zatraži datoteku, prvi se zahtjev šalje logičkom datotečnom sustavu. Sadrži metapodatke za strukture datoteka i direktorije. Ako aplikacija nema potrebne dozvole za pristup datoteci, taj sloj generira pogrešku.


Logički sustavi datoteka također provjeravaju putanju do datoteke. U pravilu, oni su podijeljeni u različite logičke blokove koji su pohranjeni na tvrdom disku i izvađeni s tvrdog diska. Potonji je podijeljen na različite putove i sektore. Stoga, da bi se pohranile i izdvojile datoteke, logički blokovi strukture OS moraju biti mapirani na fizičke blokove. Ovo mapiranje provodi modul organizacije datoteka. On je također odgovoran za upravljanje slobodnim prostorom.
Nakon što je modul za upravljanje datotekama odlučio koji fizički blok zahtijeva aplikacija, prenosi te informacije u osnovni datotečni sustav. Ovaj primarni sustav je odgovoran za izdavanje I /O naredbi za upravljanje za uklanjanje tih blokova. kontroleI /O sadrži kodove koji omogućuju pristup tvrdom disku. Ti su kodovi poznati kao upravljački programi uređaja. I /O kontrole su također odgovorne za obradu prekida.


Tipovi

Postojeća struktura OS-a i sustava dopušta korisničkim aplikacijama interakciju sa hardverom sustava. Budući da je operativni sustav složena struktura, treba ga stvoriti s najvećom pažnjom kako bi se lako mogao koristiti i mijenjati. Jednostavan način da to učinite je da ga napravite u dijelovima. Svaki od tih dijelova treba biti jasno definiran s preciznim ulazima, izlazima i funkcijama. Postoje mnogi operativni sustavi koji imaju prilično jednostavnu strukturu. Počeli su kao mali sustavi i brzo proširili daleko izvan njihovih izvornih nacrta. Uobičajeni primjer za to je MS-DOS.
Moderni sustavi moraju imati modularnu strukturu i OS funkcije, za razliku od MS-DOS-a. To dovodi do veće kontrole nad računalnim sustavom i njegovom primjenom. Modularna struktura će također omogućiti programerima da sakriju informacije prema potrebi i da implementiraju interne postupke kako smatraju prikladnim, bez promjene vanjskih specifikacija. Jedan od načina postizanja modularnosti u operativnom sustavu je pristup na više razina ili stvaranje slojevite strukture. Donji sloj je hardver, a gornji sloj je korisničko sučelje. Slojevi mogu sakriti neke strukture i operacije iz njihovih gornjih slojeva. Jedan problemsa strukturom na više razina je da svaki sloj mora biti pažljivo definiran, jer gornji slojevi mogu koristiti samo funkcionalnost donjeg.

OS projektiranje arhitekture

Dizajn tradicionalno slijedi načelo podjele interesa. Ovo načelo uključuje strukturiranje OS-a u relativno neovisnim dijelovima, koji pružaju jednostavne pojedinačne funkcije, uz zadržavanje složenosti dizajna kontrolera. Osim kontrole složenosti OS-a, ona može utjecati na ključne značajke kao što su pouzdanost ili performanse. Operativni sustav ima različite ovlasti koje mu omogućuju pristup drugim zaštićenim resursima, kao što su fizički uređaji ili programska memorija. Kada se te povlastice daju pojedinim dijelovima koji im trebaju, a ne u cjelini, smanjuje se mogućnost zlouporabe i od slučajnih i od zlonamjernih programa. Neuspjeh u upravljanju sustavom može negativno utjecati na učinkovitost općih troškova povezanih s razmjenom podataka između pojedinih dijelova. Ti se troškovi mogu povećati zajedno s hardverskim mehanizmima koji se koriste za davanje povlastica.

Moderne monolitne konstrukcije

Monolitni dizajn arhitekture ne stvara posebne uvjete za prirodu OS-a. Iako sudjeluje u podjeli problema na poslu, ne ograničava privilegije koje se dodjeljuju određenim dijelovima sustava koje se izvršavaju s maksimalnim privilegijama. Troškovi režijskih komunikacija unutar monolitnog sustava su isti kao i podaci o uslugama unutar bilo kojeg drugogsoftver.
CP /M i DOS su jednostavni primjeri monolitnih operacijskih sustava. To su sustavi koji dijele aplikacije s jednim adresnim prostorom. U CP /M, 16-bitni adresni prostor počinje sa sustavnim varijablama i aplikacijskim područjem i završava se u tri dijela:
  • CCP - upravljački procesor za konzole;
  • BDOS je osnovni operativni sustav;
  • BIOS - Osnovni ulazno /izlazni sustav.
  • U DOS-u, 20-bitni adresni prostor počinje s nizom prekinutih vektora i sistemskih varijabli, nakon čega slijedi rezidentni dio i područje primjene, a završava memorijskim blokom koji koriste grafička kartica i BIOS. Većina modernih sustava, uključujući Linux i Windows strukturu, također se smatraju monolitnim, iako se oni svakako značajno razlikuju od jednostavnih primjera CP /M i DOS-a.

    Višeslojni sustavi

    Dizajn arhitekture operacijskog sustava na više razina pokušava postići pouzdanost strukturiranjem arhitekture u slojeve s različitim povlasticama. Najviše povlaštena razina će uključivati ​​kod povezan s prekidom rukovanja i prebacivanja konteksta, razine iznad koje će pratiti upravljačke programe uređaja, upravljanje memorijom, datotečne sustave, korisničko sučelje i, na kraju, najmanje povlaštenu razinu sadrži aplikacije. MULTICS je upečatljiv primjer višerazinskog sustava razvijenog s 8 slojeva formiranih u zaštitnim prstenovima, čije se granice mogu prelaziti samo kroz specijalizirane upute. Međutim, moderni sustavi ne koriste slojeviti dizajn, jersmatra se ograničenim i zahtijeva posebnu hardversku podršku.

    Mikro jezgra

    Mikronuklearno projektiranje arhitekture sustava osigurava pouzdanost. Povlastice dodijeljene pojedinim dijelovima ograničene su u najvećoj mogućoj mjeri, a odnos između njih ovisi o specijaliziranim mehanizmima koji, ako je potrebno, osiguravaju poštivanje povlastica. Nadžbuk komunikacije unutar sustava s mikročipom može biti viši od opterećenja komunikacije unutar drugog softvera. Istraživanja su pokazala da su ti režijski troškovi podnošljivi. Razvojno iskustvo mikro-jezgre sugerira da bi samo vrlo mali broj pojedinih dijelova sustava trebao imati više privilegija od običnih aplikacija. Dakle, dizajn mikro jezgre vodi do male jezgre sustava, praćene aplikacijama koje pružaju većinu funkcija sustava. MACH je upečatljiv primjer mikrokoda koji je korišten u modernim sustavima, uključujući sustave NextStep i OpenStep, a posebno OS X. Većina istraživačkih sustava također se kvalificira kao operativni sustavi s mikrokrugovima.

    Virtualni hipervizori

    Pokušaji pojednostavljenja održavanja i poboljšanja uporabe sustava s nekoliko nezavisnih aplikacija doveli su do ideje pokretanja nekoliko strojeva koji rade na jednom računalu. Baš kao što kernel osigurava izolirano okruženje za svaku hostiranu aplikaciju, virtualizirani sustavi stvaraju hipervizor koji osigurava izolirano okruženje za svaki hostirani sustav. Hypervisors može bitiimplementiran u arhitekturi sustava na različite načine. Izvorni hipervizor radi na goloj žlijezdi, s postavljenim sustavima koji su viši u strukturi sustava. To vam omogućuje implementaciju učinkovite hardverske sheme, plaćajući cijenu za održavanje određene hardverske implementacije. Prihvaćanje hipervizora djelomično zaobilazi potrebu za specifičnom hardverskom implementacijom, koja se izvodi na drugom sustavu. Struktura sustava počinje s dna glavnog računala, uključuje hipervizor, a zatim gostujući OS, smješten preko hipervizora. Moguća je i kombinacija domaćih i prilagođenih pristupa. Hypervisor može implementirati neke od svojih funkcija na golom hardveru i primijeniti na hostirane sustave kako bi implementirao druge svoje funkcije. Uobičajeni primjer takvog pristupa je uvođenje podrške za virtualizaciju procesora na golom hardveru i korištenje namjenskog OS-a za pristup uređajima koje hipervizor virtualizira za druge hostirane sustave.

    Hibridni operacijski sustavi

    Većina operativnih sustava danas se strogo ne pridržavaju iste arhitekture, već su hibridi nekoliko. Arhitektura Max OSX-a oslanja se na Machov mikročip za osnovne usluge upravljanja sustavom i BSD jezgru za dodatne usluge. Ostale funkcionalnosti OS-a pružaju aplikacijske usluge i dinamički učitani moduli (proširenja kernela):
  • IOS operativni sustav razvio je Apple za iPhone i IPADS. Radi s manje memorije i računalne snage od Max OS X, a podržava sučelje na dodirnom zaslonu i grafiku za male zaslone.
  • Android OS bio jerazvijen za Android-pametne telefone i tablete Open Handset Alliance, prije svega Google. Android je OS otvorenog koda, za razliku od iOS-a, koji je doveo do njegove popularnosti. Android ima Linux strukturu i virtualni stroj Java, optimiziran za male platforme. Android aplikacije razvijene su pomoću prilagođenog razvojnog okruženja Java-for-Android.

    Mikrokrugova i moduli

    Osnovna ideja je da mikro-jezgra uklanja sve ne-bitne usluge iz kernela i umjesto toga ih implementira kao sistemske programe, čime kernel čini što je moguće manjim i učinkovitijim. Mach je bio prvi i najpoznatiji mikro-sklop, a sada je glavna komponenta Mac OSX-a. Windows NT izvorno je bio mikročip, ali je imao problema s performansama (u usporedbi sa sustavom Windows 95). Poboljšane performanse NT 4.0 pomicanjem više usluga u kernel pretvorile su XP u monolitičniju. Drugi primjer mikro-jezgre je QNX, real-time OS za ugrađene sustave. Trenutni razvoj OS-a je objektno orijentiran, s relativno malim kernelom i skupom modula koji se mogu dinamički povezati (na primjer, struktura Solarisa). Moduli su slični slojevima tako da svaki podsustav ima dobro definirane zadatke i sučelja, ali svaki modul može kontaktirati bilo koji drugi modul, eliminirajući problem prolaska kroz nekoliko međuslojeva. Kernel je relativno malen u ovoj arhitekturi, kao što su mikrokrugovi kojima nije potrebna implementacija prijenosa poruka, budući da moduli mogu izravno komunicirati s jednim odjedan po jedan.

    Upravljanje datotečnim sustavom

    Datoteka je skup povezanih informacija. Računala mogu pohraniti datoteke na disk (sekundarna pohrana) za potrebe dugoročnog pohranjivanja. Primjeri nositelja informacija su magnetska vrpca, magnetski disk i optički pogoni poput CD-ova, DVD-ova. Svaki od tih nosača ima svoja svojstva, kao što su brzina, kapacitet, brzina prijenosa podataka i metode pristupa podacima. Sustav datoteka je obično organiziran u direktorije za jednostavnu navigaciju i korištenje. Ti direktoriji mogu sadržavati datoteke i druge direktorije. Glavne aktivnosti operativnog sustava za upravljanje datotekama:
  • Čita ili piše datoteku.
  • Odobriti program za rad s datotekom, što ovisi o čitanju, pisanju, odbijanju.
  • Pruža korisničko sučelje za stvaranje /brisanje datoteka.
  • ​​
  • Pruža sučelje za sigurnosno kopiranje datotečnog sustava.
  • U slučaju distribuiranih sustava koji predstavljaju skup procesora i ne koriste memoriju, periferne uređaje ili sat, operativni sustav upravlja vezom između svih procesa. Nekoliko procesa međusobno djeluje međusobno putem komunikacijskih linija u strukturi mrežnog operativnog sustava, upravljaju strategijama usmjeravanja i povezivanja, kao i pitanjima konkurencije i sigurnosti. Osnovne komunikacijske aktivnosti OS-a:
  • Dva procesa često zahtijevaju prijenos podataka između njih.
  • Oba procesa mogu biti na jednom računalu ili na različitim računalima, ali su povezani putem računalne mreže.
  • Komunikacijamože se implementirati na dva načina: korištenjem zajedničke memorije ili slanjem poruka.
  • Linux funkcionalni operativni sustav

    Ovo je najpoznatiji i najčešće korišteni open source sustav. Mnogi programeri koriste termin Linux za označavanje Linux kernela, kao i skup programa, alata i usluga koji se obično isporučuju s Linux kernelom. Neki korisnici se pozivaju na ovu GNU kolekciju jer mnogi alati uključuju GNU komponente. Iako sve Linux instalacije ne koriste GNU komponente kao dio sustava. Android, na primjer, koristi strukturu Linux kernela i vrlo se malo oslanja na GNU alate. Linux se razlikuje od drugih sustava:
  • Open Source. OS je besplatan i dostupan za javno gledanje, uređivanje korisnika s relevantnim vještinama.
  • Postoji mnogo Linux distribucija koje uključuju različite softverske opcije.
  • Unix i Linux su u velikoj mjeri slični, a Linux je izvorno izrađen na isti način kao i Unix. Oba imaju slične alate za interakciju sa sustavima, alatima za programiranje, izgledom datoteka i drugim ključnim komponentama. Međutim, Unix nije besplatan. Već dugi niz godina stvoreno je nekoliko različitih sustava koji su pokušavali biti unix-ili unix-kompatibilni, ali Linux je bio najuspješniji, daleko nadmašivši svoje prethodnike u popularnosti. Većina Linux kernela je napisana u programskom jeziku C s malim brojem zbirki iz drugih jezika. Svaka distribucijasadrži stotine ili tisuće programa koji se mogu distribuirati s njim i za svaki od tih programa.

    Tipovi Linux datotečnih sustava

    Linux distribucija pruža izbor diskovnog prostora s strukturom datoteka OS-a, od kojih svaka ima posebno značenje. Napredna verzija Extended Filesystem (ext), koja je prvi put razvijena za MINIX. Druga proširena verzija (Ext2) bila je nadograđena verzija. Ext3 je poboljšao performanse, Ext4 je omogućio još naprednije značajke. IBMF datotečni sustav (JFS) razvio je IBM za UNIX AIX. JFS je alternativa Ext4 trenutno i koristi se tamo gdje je potreban stabilan rad kada se koristi vrlo malo resursa. JFS je pogodan za slučajeve kada je snaga procesora ograničena. ReiserFS je predstavljen kao alternativa Ext3 s poboljšanim performansama i naprednim značajkama. Došlo je vrijeme kada je SuSE Linux datoteka po defaultu ReiserFS, ali kasnije, Reiser je napustio posao, a SuSe nije imao drugu mogućnost osim da se vrati u Ext3. ReiserFS dinamički podržava ekstenzije datoteka, što je relativno proširena funkcija, sustavu nedostaje određeno područje izvedbe. XFS je JFS velike brzine koji je dizajniran za paralelnu I /O obradu. NASA je ranije koristila ovu strukturu datotečnog sustava na svojim 300-terabajtnim poslužiteljima za pohranu. Btrfs (B-Tree File System) se usredotočuje na toleranciju na pogreške, upravljanje zabavama, popravak sustava, veliku konfiguraciju za pohranu i još uvijek je u razvoju. Btrfs se ne preporučuje za proizvodnju. Postoji mnogo formata datoteka dostupnih na Linuxu, ali se koriste s njimarad s drugim operacijskim sustavima: VIS, NTFS iz Microsofta, HFS tvrtke Apple. Međutim, rad s strukturom datoteka OS-a može se obaviti u Linuxu pomoću određenih alata, kao što je ntfs-3g, za montiranje NTFS datotečnih sustava koji nisu privilegirani za Linux.

    Procesor. Dijeljenje

    Proces dijeljenja procesora kada su dva ili više programa istovremeno u memoriji naziva se multiprogramiranje. To uključuje korištenje jednog zajedničkog procesora i povećava preuzimanje organiziranjem zadataka. Dodjela OS-a, struktura OS-a povezana s multiprogramiranjem:
  • Sustav istovremeno pohranjuje nekoliko zadataka u memoriju.
  • Ovaj skup je podskup zadataka pohranjenih u spremištu.
  • Sustav odabire i počinje izvoditi jedan od zadataka u memoriji.
  • Multiprogramski operativni sustavi nadziru status svih aktivnih programa i resursa pomoću softvera za upravljanje memorijom kako bi osigurali da CPU nikada neće raditi bez radnih procesa za obradu.
  • Ova shema rada pomaže u učinkovitom korištenju CPU-a.

    Povezane publikacije