Funkcije in struktura Windows in Linuxa

S sistemskega vidika arhitektura OS zagotavlja dodeljevanje sredstev, upravlja pogone v skupni rabi, omrežja in procesorje, zagotavlja skupne storitve, ki jih zahtevajo številni različni programi za vzdrževanje datotek, upravljanje procesov, dostop do tiskalnikov in zaščita pred virusi za posamezne aplikacije.

Načelo delovanja sistema

Večina struktur OS uporablja pristop particioniranja do plasti vsake naloge, vključno z datotečnimi sistemi. Vsaka raven je odgovorna za določene ukrepe. Ko aplikacija zahteva datoteko, se prva zahteva pošlje logičnemu datotečnemu sistemu. Vsebuje metapodatke za datotečne strukture in imenike. Če aplikacija nima potrebnih dovoljenj za dostop do datoteke, ta plast ustvari napako.


Logični datotečni sistemi preverijo tudi pot do datoteke. Praviloma so razdeljeni v različne logične bloke, ki so shranjeni na trdem disku in ekstrahirani iz trdega diska. Slednji je razdeljen na različne poti in sektorje. Zato je treba za shranjevanje in ekstrahiranje datotek logične bloke strukture OS preslikati v fizične bloke. To preslikavo izvede modul organizacije datotek. Odgovoren je tudi za upravljanje prostega prostora.
Ko se modul za upravljanje datotek odloči, kateri fizični blok zahteva aplikacija, prenese te informacije v osnovni datotečni sistem. Ta primarni sistem je odgovoren za izdajanje ukazov za upravljanje V /I za odstranitev teh blokov. KontroleV /I vsebuje kode, ki omogočajo dostop do trdega diska. Te kode so znane kot gonilniki naprav. I /O kontrole so odgovorne tudi za obdelavo prekinitev.


Vrste

Obstoječa struktura OS in sistema omogoča uporabniškim aplikacijam interakcijo s strojno opremo sistema. Ker je operacijski sistem kompleksna struktura, ga je treba ustvariti z največjo možno skrbnostjo, da ga je mogoče enostavno uporabljati in spreminjati. Enostaven način za to je ustvariti ga v delih. Vsak od teh delov bi moral biti jasno opredeljen s prefinjenimi vhodi, izhodi in funkcijami. Obstaja veliko operacijskih sistemov, ki imajo dokaj preprosto strukturo. Začeli so se kot majhni sistemi in hitro razširili daleč preko svojih prvotnih načrtov. Običajen primer tega je MS-DOS.
Sodobni sistemi morajo imeti modularno strukturo in funkcije OS, za razliko od MS-DOS. To vodi do večjega nadzora nad računalniškim sistemom in njegovimi aplikacijami. Modularna struktura bo tudi programerjem omogočila, da po potrebi skrijejo informacije in izvedejo notranje postopke, kot se jim zdi primerno, ne da bi spremenili zunanje specifikacije. Eden od načinov za dosego modularnosti v operacijskem sistemu je pristop na več ravneh ali ustvarjanje večplastne strukture. Spodnja plast je strojna oprema, zgornji sloj pa je uporabniški vmesnik. Plasti lahko skrijejo nekatere strukture in operacije iz njihovih zgornjih plasti. En problemz večnivojsko strukturo je treba vsak sloj skrbno definirati, ker lahko zgornje plasti uporabljajo samo funkcionalnost spodnjega sloja.

OS projektiranje arhitekture

Oblikovanje tradicionalno sledi načelu delitve interesov. To načelo vključuje strukturiranje operacijskega sistema v relativno neodvisnih delih, ki zagotavljajo preproste posamezne funkcije, pri čemer se ohranja zapletenost zasnove krmilnika. Poleg nadzora nad kompleksnostjo operacijskega sistema lahko vpliva na ključne funkcije, kot sta zanesljivost ali zmogljivost. Operacijski sistem ima različne pravice, ki mu omogočajo dostop do drugih zaščitenih virov, kot so fizične naprave ali programski pomnilnik. Kadar so te privilegije zagotovljene posameznim delom, ki jih potrebujejo, in ne v celoti, se zmanjša možnost zlorabe tako naključnih kot zlonamernih programov. Neuporaba sistema lahko negativno vpliva na učinkovitost režijskih stroškov, povezanih z izmenjavo podatkov med posameznimi deli. Ti režijski stroški se lahko povečajo v povezavi s strojnimi mehanizmi, ki se uporabljajo za zagotavljanje privilegijev.

Moderne monolitne strukture

Monolitna zasnova arhitekture ne ustvarja posebnih pogojev za naravo OS. Čeprav sodeluje pri delitvi problemov pri delu, ne omejuje privilegijev, podeljenih določenim delom sistema, ki se izvajajo z največjimi privilegiji. Stroški režijskih komunikacij znotraj monolitnega sistema so enaki kot podatki o storitvah znotraj katerega koli drugegaprogramske opreme.
CP /M in DOS sta preprosta primera monolitnih operacijskih sistemov. To so sistemi, ki delijo aplikacije z enim naslovnim prostorom. V CP /M se 16-bitni naslovni prostor začne s sistemskimi spremenljivkami in področjem uporabe ter se konča s tremi deli:
  • CCP - ukazni procesor;
  • BDOS je osnovni operacijski sistem;
  • BIOS - osnovni vhodno /izhodni sistem.
  • V DOS-u se 20-bitni naslovni prostor začne z nizom prekinitvenih vektorjev in sistemskih spremenljivk, ki mu sledi rezidenčni del in območje aplikacije ter konča s pomnilniškim blokom, ki ga uporabljajo grafična kartica in BIOS. Večina sodobnih sistemov, vključno z Linuxom in strukturo Windows, veljajo tudi za monolitne, čeprav se zagotovo bistveno razlikujejo od preprostih primerov CP /M in DOS.

    Večplastni sistemi

    Zasnova arhitekture operacijskega sistema na več ravneh poskuša doseči zanesljivost s strukturiranjem arhitekture v plasti z različnimi privilegiji. Najbolj privilegirana raven bo vključevala kodo, povezano s prekinjanjem in preklapljanjem kontekstov, zgornje ravni, ki bodo sledile gonilnikom naprav, upravljanju pomnilnika, datotečnim sistemom, uporabniškemu vmesniku in na koncu najmanj privilegirani ravni, vsebujejo aplikacije. MULTICS je presenetljiv primer sistema na več ravneh, ki je bil razvit z 8 plasti, oblikovanimi v zaščitnih obročkih, katerih meje je mogoče prečkati le skozi specializirana navodila. Vendar pa sodobni sistemi ne uporabljajo večplastne zasnove, keršteje se, da je omejen in zahteva posebno strojno podporo.

    Oblikovanje mikro jedra

    Mikronuklearna zasnova arhitekture sistema zagotavlja zanesljivost. Privilegiji, dodeljeni posameznim delom, so v največji možni meri omejeni, odnos med njimi pa je odvisen od specializiranih mehanizmov, ki po potrebi zagotavljajo spoštovanje privilegijev. Nadgradnja komunikacije znotraj sistema z mikročipom je lahko višja od režije komunikacije znotraj druge programske opreme. Študije so pokazale, da so ti režijski stroški obvladljivi. Razvojne izkušnje mikro jedra kažejo, da bi moralo imeti le zelo malo posameznih delov sistema več privilegijev kot navadne aplikacije. Tako načrtovanje mikro jedra vodi v majhno sistemsko jedro, ki ga spremljajo aplikacije, ki zagotavljajo večino funkcij sistema. MACH je presenetljiv primer mikrokode, ki je bila uporabljena v sodobnih sistemih, vključno s sistemi NextStep in OpenStep, in zlasti OS X. Večina raziskovalnih sistemov se prav tako šteje za operacijske sisteme mikrovezja.

    Virtualni hipervizorji

    Poskusi poenostavitve vzdrževanja in izboljšanja uporabe sistemov z več neodvisnimi aplikacijami so privedli do zamisli o vodenju več strojev, ki se izvajajo na enem računalniku. Tako kot jedro zagotavlja izolirano okolje za vsako gostujočo aplikacijo, virtualizirani sistemi ustvarijo hipervizor, ki zagotavlja izolirano okolje za vsak gostujoči sistem. Hipervizorji so lahkov arhitekturi sistema na različne načine.
    Izvorni hipervizor deluje na goli žlezi, s postavljenimi sistemi, ki so v strukturi sistema višji. To vam omogoča izvajanje učinkovite strojne sheme, ki plača ceno za vzdrževanje določene izvedbe strojne opreme. Sprejemanje hipervizorja delno zaobide potrebo po specifični izvedbi strojne opreme, ki se izvaja na drugem sistemu. Struktura sistema se začne z dna gostitelja, vključuje hipervizor in nato gostiteljski operacijski sistem, nameščen nad hipervizorjem. Možna je tudi kombinacija domačih in prilagojenih pristopov. Hipervizor lahko nekatere svoje funkcije izvaja na samo strojni opremi in se uporablja za gostujoče sisteme za izvajanje drugih funkcij. Običajen primer tega pristopa je uvedba podpore za virtualizacijo procesorjev na golo strojno opremo in uporaba namenskega OS za dostop do naprav, ki jih hipervizor virtualizira za druge gostiteljske sisteme.

    Hibridni operacijski sistemi

    Večina operacijskih sistemov danes ni popolnoma v skladu z isto arhitekturo, ampak so hibridi več. Arhitektura Max OSX je odvisna od Machovega mikročipa za osnovne storitve upravljanja sistema in jedra BSD za dodatne storitve. Druge funkcije operacijskega sistema zagotavljajo aplikacijske storitve in dinamično naložljivi moduli (razširitve jedra):
  • Operacijski sistem IOS je razvil Apple za iPhone in IPADS. Deluje z manj pomnilnika in računalniške moči kot Max OS X in podpira vmesnik na zaslonu na dotik in grafiko za majhne zaslone.
  • Android OS je bilrazvit za Android-pametne telefone in tablice Open Handset Alliance, predvsem Google. Android je odprtokodni OS, za razliko od iOS-a, ki je pripeljal do njegove priljubljenosti. Android ima strukturo Linux in virtualni stroj Java, optimiziran za majhne platforme. Aplikacije za Android so razvite z uporabo razvojnega okolja po meri Java za Android.
  • Mikro vezja in moduli

    Osnovna zamisel je, da je mikro jedro odstraniti vse nebistvene storitve iz jedra in jih namesto tega uporabiti kot sistemske programe, s čimer postane jedro čim manjše in učinkovitejše. Mach je bilo prvo in najbolj znano mikrovezje, zdaj pa je glavna komponenta Mac OSX-a. Windows NT je bil prvotno mikročip, vendar je imel težave z zmogljivostjo (v primerjavi z Windows 95). Izboljšana zmogljivost NT 4.0 s premikanjem več storitev v jedro je XP spremenila v bolj monolitno. Drug primer mikro jedra je QNX, operacijski sistem v realnem času za vgrajene sisteme. Trenutni razvoj operacijskega sistema je objektno usmerjen, z relativno majhnim jedrom in nizom modulov, ki jih je mogoče dinamično povezati (npr. Struktura Solarisa). Moduli so podobni slojem, saj ima vsak podsistem dobro definirane naloge in vmesnike, vendar pa se lahko vsak modul poveže z drugim modulom, s čimer odpravi problem prehoda skozi več vmesnih slojev. Jedro je v tej arhitekturi sorazmerno majhno, kot mikrovezja, ki jih ne potrebuje za prenos sporočil, saj lahko moduli neposredno komunicirajo z enim odenega za drugim.

    Upravljanje z datotečnim sistemom

    Datoteka je zbirka povezanih informacij. Računalniki lahko shranjujejo datoteke na disk (sekundarni pomnilnik) za dolgoročne namene shranjevanja. Primeri nosilcev informacij so magnetni trak, magnetni disk in optični diskovni pogoni, kot so CD-ji, DVD-ji. Vsak od teh prevoznikov ima svoje lastnosti, kot so hitrost, zmogljivost, hitrost prenosa podatkov in metode dostopa do podatkov. Datotečni sistem je običajno organiziran v imenike za preprosto navigacijo in uporabo. Ti imeniki lahko vsebujejo datoteke in druge imenike. Glavne dejavnosti operacijskega sistema za upravljanje datotek:
  • bere ali zapisuje datoteko.
  • Dovoli program za delo z datoteko, ki je odvisna od branja, pisanja in zavrnitve.
  • Zagotavlja uporabniški vmesnik za ustvarjanje /brisanje datotek.
  • ​​
  • Zagotavlja vmesnik za varnostno kopiranje datotečnega sistema.
  • V primeru porazdeljenih sistemov, ki predstavljajo niz procesorjev in ne uporabljajo pomnilnika, zunanjih naprav ali ure, operacijski sistem upravlja povezavo med vsemi procesi. Več procesov med seboj komunicira preko komunikacijskih linij v strukturi omrežnega operacijskega sistema, obravnava strategije usmerjanja in povezovanja, pa tudi vprašanja konkurence in varnosti. Osnovne komunikacijske dejavnosti OS:
  • Dva procesa pogosto zahtevata prenos podatkov med njimi.
  • Oba postopka sta lahko na enem računalniku ali na različnih računalnikih, vendar sta povezana prek računalniškega omrežja.
  • Sporočilolahko izvajate na dva načina: z uporabo skupnega pomnilnika ali s pošiljanjem sporočil.
  • Funkcionalni operacijski sistem Linux

    To je najbolj znan in najbolj uporabljen odprtokodni sistem. Mnogi programerji uporabljajo izraz Linux za označevanje jedra Linuxa, kot tudi niz programov, orodij in storitev, ki so običajno dobavljeni z jedrom Linuxa. Nekateri uporabniki se sklicujejo na to zbirko GNU, ker veliko orodij vključuje komponente GNU. Čeprav ne vse Linux namestitve uporabljajo komponente GNU kot del sistema. Android, na primer, uporablja strukturo jedra Linuxa in zelo malo se zanaša na orodja GNU. Linux se razlikuje od drugih sistemov:
  • Open Source. OS je brezplačen in dostopen za javno gledanje, urejanje uporabnikov z ustreznimi veščinami.
  • Obstaja veliko distribucij Linuxa, ki vključujejo različne možnosti programske opreme.
  • Unix in Linux sta v veliki meri podobna in dejansko je bil Linux prvotno ustvarjen na enak način kot Unix. Oba imata podobna orodja za interakcijo s sistemi, programskimi orodji, postavitvami datotek in drugimi ključnimi komponentami. Vendar Unix ni brezplačen. Že vrsto let je bilo ustvarjenih več različnih sistemov, ki so poskušali biti podobni Unixu ali Unixu, vendar je bil Linux najuspešnejši, kar je daleč presegalo priljubljenost svojih predhodnikov. Večina jedra Linuxa je napisana v programskem jeziku C z majhnim številom zbirk iz drugih jezikov. Vsaka distribucijavsebuje več sto ali tisoč programov, ki se lahko distribuirajo z njim in za vsakega od teh programov.

    Vrste datotečnih sistemov Linux

    Distribucija Linuxa omogoča izbiro prostora na disku z datotečno strukturo OS, od katerih ima vsak poseben pomen. Napredna različica razširjenega datotečnega sistema (ext), ki je bila prvič razvita za MINIX. Druga razširjena različica (Ext2) je bila nadgrajena različica. Ext3 je dodal izboljšano zmogljivost, Ext4 pa še bolj napredne funkcije. IBM je za UNIX AIX razvil JFS (Journaled File System). Trenutno je JFS alternativa Ext4 in se uporablja tam, kjer je potrebno zelo stabilno delo pri uporabi zelo malo virov. JFS je primeren za primere, kjer je moč procesorja omejena. ReiserFS je bil uveden kot alternativa Ext3 z izboljšano zmogljivostjo in naprednimi funkcijami. Včasih je bila SuSE Linux datoteka privzeto ReiserFS, kasneje pa je Reiser zapustil podjetje, SuSe pa ni imel druge možnosti, kot da se vrne v Ext3. ReiserFS dinamično podpira razširitve datotek, kar je relativno razširjena funkcija, sistemu manjka določeno področje delovanja. XFS je hitri JFS, ki je zasnovan za vzporedno obdelavo I /O. NASA je prej uporabljala to strukturo datotečnega sistema na svojih 300-terabajtnih strežnikih za shranjevanje. Datotečni sistem B-Tree (Btrfs) se osredotoča na odpornost na napake, upravljanje zabave, popravilo sistema, veliko konfiguracijo shranjevanja in je še v razvoju. Btrfs ni priporočljivo za proizvodnjo. Na Linuxu je na voljo veliko formatov datotek, ki pa se uporabljajo zdelo z drugimi OS: VIS, NTFS od Microsofta, HFS od Apple. Vendar pa lahko delo z datotečno strukturo operacijskega sistema poteka v Linuxu z uporabo določenih orodij, kot je ntfs-3g, za namestitev datotečnih sistemov NTFS, ki niso privilegirani za Linux.

    Procesor. Deljenje

    Postopek souporabe procesorja, če sta v spominu hkrati dva ali več programov, se imenuje multiprogramiranje. Vključuje uporabo enega samega skupnega procesorja in povečuje število prenosov z organiziranjem nalog. Dodelitev OS, struktura OS, povezana z multiprogramiranjem:
  • Sistem hkrati shrani več nalog v pomnilnik.
  • Ta niz je podskupina nalog, shranjenih v bazenu.
  • Sistem izbere in začne izvajati eno od nalog v pomnilniku.
  • Multiprogramski operacijski sistemi spremljajo stanje vseh aktivnih programov in virov s pomočjo programske opreme za upravljanje pomnilnika, da zagotovijo, da CPU nikoli ne bo deloval brez delovnih procesov za obdelavo.
  • Ta shema dela pomaga učinkovito uporabljati CPE.

    Sorodne publikacije