1 käyttöjärjestelmien luokitus. Käyttöjärjestelmä: käyttöjärjestelmien tarkoitus ja luokitus. Windows-käyttöjärjestelmän yleiset ominaisuudet ja perusmekanismit. Tiivistelmä: Käyttöjärjestelmien luokittelu

Henkilökohtaisen tietokoneohjelmiston perusta on käyttöjärjestelmä, joka on palvelun ja järjestelmän kokonaisuus ohjelmistokomponentit, joka tarjoaa ihmisen ja tietokoneen välistä vuorovaikutusta ja muiden ohjelmien suorittamista. Toisaalta se liittyy läheisesti perusasioihin ohjelmisto tietokone sisältyy BIOSiin, mutta se itse toimii tukina ohjelmille enemmän korkeatasoinen- sovelletut, samoin kuin useimmat sovelletut ohjelmat. Tietokoneen käyttöön edellytys on käyttöjärjestelmän läsnäolo sen kiintolevyllä. Kun laite käynnistetään, se luetaan kovalevy ja se on kirjoitettu RAM-muistiin, Tämä prosessi kutsutaan lataamiseksi. Koska nyt on olemassa monia erilaisia ​​​​järjestelmiä, joiden tarkoituksena on ratkaista erityisiä ja yleisiä ongelmia, on melko luonnollista, että käyttöjärjestelmät luokitellaan. Viedään hänet lyhyesti.

Käyttöjärjestelmien luokittelu riippuu ohjausalgoritmien toteutusominaisuuksista käyttöalueittain ja tietokoneresurssien mukaan. Riippuen algoritmista prosessorin ohjaus on tapana jakaa OS yksi- ja monitehtäväksi, yhden prosessorin ja usean prosessorin, yhden käyttäjän ja paikallisiksi.

Käyttöjärjestelmien luokittelu samanaikaisesti suoritettujen tehtävien lukumäärän mukaan: moniajo ja yksitehtävä. Yhden tehtävän järjestelmät käyttävät tiedostojen jakamisominaisuuksia oheislaitteiden kanssa sekä keinoja kommunikoida käyttäjien kanssa. Moniajojärjestelmät käyttävät samoja työkaluja kuin yhden tehtävän järjestelmät, mutta ne hallitsevat jaettujen resurssien jakoa: RAM, prosessori, ulkoiset laitteet ja tiedostot.

Tyypit moniajon käyttöalueittain: tietojenkäsittelyjärjestelmät sisään erätila, reaaliaikaiset ja ajanjakojärjestelmät. Erätietojen käsittelyjärjestelmien päätarkoitus on ratkaista ongelmia, jotka eivät vaadi nopea kuitti tulos. Heidän päätavoitteensa on ratkaista suurin määrä tehtäviä aikayksikköä tai maksimikohtaa kohti Tällaisten järjestelmien avulla saavutetaan korkea tuottavuus, kun ratkaistaan ​​suuria määriä ongelmia, mutta ne vähentävät tehokkuutta tilaustyötä interaktiivisessa tilassa. Aikajakojärjestelmät varaavat pienen määrän aikaa kunkin tehtävän suorittamiseen, joten mikään tehtävä ei ole pitkä aika Ei vie CPU:ta. Valitulla vähimmäisajalla se voi luoda vaikutelman useiden tehtävien samanaikaisesta suorittamisesta. Pienemmän kaistanleveyden ansiosta tällaiset järjestelmät antavat käyttäjälle mahdollisuuden työskennellä interaktiivisesti erittäin tehokkaasti. Reaaliaikaisia ​​järjestelmiä käytetään ohjaamaan teknistä kohdetta tai tekninen prosessi.

Käyttöjärjestelmien luokittelu samanaikaisesti työskentelevien käyttäjien lukumäärän mukaan: usean ja yhden käyttäjän. Monen käyttäjän järjestelmissä jokaisella käyttäjällä on mahdollisuus räätälöidä järjestelmän käyttöliittymä itse, eli heillä on mahdollisuus luoda omia pikakuvakkeita, yksittäisiä värimalleja jne. Tällaisilla järjestelmillä on myös keinoja suojata tietoja muiden käyttäjien pääsyltä.

Moniprosessorityökalujen läsnäolo järjestelmässä on tärkein ominaisuus, samanlaisia ​​työkaluja on tarjolla Net Waressa, OS/2:ssa ja Windows NT:ssä.

Koska olemme tottuneet käyttämään Windows-järjestelmää, saatat olla huolissasi sen luokittelusta. Eli pääasiallinen toiminta Windows-järjestelmät joita käytimme tavallisille käyttäjille ovat Windows 95, 98, NT, XP, Seven.

Käyttöjärjestelmä on suunniteltu ohjaamaan suoritusta käyttäjäohjelmat, tietokoneiden laskentaresurssien suunnittelu ja hallinta.

Käyttöjärjestelmä toisaalta toimii rajapintana tietokonelaitteiston ja käyttäjän välillä hänen tehtäviensä kanssa, toisaalta se on tarkoitettu tehokas käyttö laskentajärjestelmäresurssit ja luotettavan laskennan järjestäminen.

Tiedostonhallintajärjestelmät on suunniteltu järjestämään enemmän helppo pääsy tiedostoiksi järjestettyihin tietoihin.

Sijasta matalan tason pääsy Tiettyjen fyysisten osoitteiden omaaviin tietoihin tiedostonhallintajärjestelmä sallii loogisen pääsyn määrittämällä tiedostonimen.

Mitään tiedostonhallintajärjestelmää ei ole olemassa yksinään - se on suunniteltu toimimaan tietyssä käyttöjärjestelmässä ja tietyn tiedostojärjestelmän kanssa. Toisin sanoen tiedostonhallintajärjestelmä voidaan luokitella käyttöjärjestelmäksi.

Mutta johtuen siitä, että:

  • 1) useiden käyttöjärjestelmien avulla voit työskennellä useiden tiedostojärjestelmien kanssa (joko yksi useista tai useita kerralla); ja ylimääräinen tiedostojärjestelmä voidaan asentaa (eli ne ovat itsenäisiä);
  • 2) yksinkertaisin käyttöjärjestelmä voi toimia ilman tiedostojärjestelmät; tiedostonhallintajärjestelmät on allokoitu erilliseen ryhmään järjestelmäohjelmat.

Huomaa, että erikoiskirjallisuudessa tiedostonhallintajärjestelmät luokitellaan usein käyttöjärjestelmiksi.

Käyttöjärjestelmät eroavat toisistaan ​​tietokoneresurssien hallintaalgoritmien toteutusominaisuuksien ja käyttöalueiden osalta.

Joten prosessorin ohjausalgoritmista riippuen käyttöjärjestelmät jaetaan:

  • · Yksi- ja monitehtävä.
  • · Yhden käyttäjän ja monen käyttäjän.
  • · Yhden prosessorin ja moniprosessorijärjestelmät.
  • · Paikallinen ja verkko.

Samanaikaisesti suoritettavien tehtävien määrän perusteella käyttöjärjestelmät jaetaan kahteen luokkaan:

  • · Single-tasking (MS DOS).
  • · Moniajo (OS/2, Unix, Windows).

Yhden tehtävän järjestelmät käyttävät oheislaitteiden hallintatyökaluja, tiedostonhallintatyökaluja ja kommunikointikeinoja käyttäjien kanssa. Moniajokäyttöjärjestelmät käyttävät kaikkia yhden tehtävän käyttöjärjestelmien ominaisuuksia ja hallitsevat myös jaettujen resurssien jakoa: prosessori, RAM, tiedostot ja ulkoiset laitteet.

Käyttöalueista riippuen moniajokäyttöjärjestelmät jaetaan kolmeen tyyppiin:

  • · Eräkäsittelyjärjestelmät (OS EC).
  • · Aikajakojärjestelmät (Unix, Linux, Windows).
  • · Reaaliaikaiset järjestelmät (RT11).

Eräkäsittelyjärjestelmät on suunniteltu ratkaisemaan ongelmia, jotka eivät vaadi nopeita tuloksia. Eräkäsittelyn käyttöjärjestelmän päätavoite on maksimoida läpijuoksu tai ratkaisu enimmäismäärä tehtäviä aikayksikköä kohden.

Nämä järjestelmät tarjoavat korkea suorituskyky suuria tietomääriä käsiteltäessä, mutta heikentää käyttäjän tehokkuutta interaktiivisessa tilassa.

Aikajakojärjestelmissä jokaiselle tehtävälle on varattu pieni määrä aikaa suoritettavaksi, eikä mikään yksittäinen tehtävä vie prosessoria pitkään. Jos tämä ajanjakso valitaan minimaaliseksi, syntyy useiden tehtävien samanaikainen suorittaminen. Näillä järjestelmillä on pienempi kaistanleveys, mutta ne tarjoavat korkean käyttäjätehokkuuden interaktiivisessa tilassa.

Reaaliaikaisia ​​järjestelmiä käytetään ohjaamaan teknistä prosessia tai teknistä kohdetta, esimerkiksi lentokonetta, työstökonetta jne.

Samanaikaisesti tietokoneella työskentelevien käyttäjien määrän perusteella käyttöjärjestelmät jaetaan yhden käyttäjän (MS DOS) ja usean käyttäjän (Unix, Linux, Windows 95 - XP) käyttöjärjestelmät.

Usean käyttäjän käyttöjärjestelmissä jokainen käyttäjä räätälöi käyttöliittymän itselleen, eli. voi luoda omia pikakuvakkeita, ohjelmaryhmiä, asettaa yksittäisiä väriskeema, siirrä tehtäväpalkki sopivaan paikkaan ja lisää uusia kohteita Käynnistä-valikkoon.

Usean käyttäjän käyttöjärjestelmissä on keinoja suojata jokaisen käyttäjän tiedot muiden käyttäjien luvattomalta käytöltä.

Monen prosessorin ja yhden prosessorin käyttöjärjestelmät. Yksi käyttöjärjestelmän tärkeistä ominaisuuksista on se, että se tukee moniprosessointia. Tällaisia ​​työkaluja on OS/2:ssa, Net Waressa ja Windows NT:ssä. Laskentaprosessin organisoinnin perusteella nämä käyttöjärjestelmät voidaan jakaa epäsymmetrisiin ja symmetrisiin.

Yksi tärkeimmistä tietokoneiden luokittelun piirteistä on niiden jako paikallisiin ja verkkoihin. Paikallisia käyttöjärjestelmiä käytetään erillisissä tietokoneissa tai tietokoneissa, joita käytetään Tietokoneverkot asiakkaana.

Paikalliset käyttöjärjestelmät sisältävät ohjelmiston asiakasosan etäresursseihin ja -palveluihin pääsyä varten. Verkkokäyttöjärjestelmät on suunniteltu hallitsemaan verkkoon kytkettyjen tietokoneiden resursseja jakaminen resursseja. He edustavat tehokkaita työkaluja tiedon saannin eriyttäminen, sen eheys ja muut verkkoresurssien käyttömahdollisuudet.

virustorjuntaohjelmiston järjestelmätiedosto

Universaalit käyttöjärjestelmät on suunniteltu ratkaisemaan kaikki käyttäjän ongelmat, mutta pääsääntöisesti tietokonejärjestelmän toimintatapa saattaa edellyttää sitä erityisvaatimukset käyttöjärjestelmälle, ts. hänen erikoistumisensa elementteihin.

  • Latausmenetelmällä voit erottaa käynnistettävät käyttöjärjestelmät(enemmistö) ja pysyvät muistijärjestelmät laskentajärjestelmä. Jälkimmäiset ovat yleensä erikoistuneita ja niitä käytetään erikoislaitteiden toiminnan ohjaamiseen (esimerkiksi ballistisen ohjuksen tai satelliitin sisätietokoneessa, tieteellisissä instrumenteissa, automaattiset laitteet eri tarkoituksiin jne.).
  • Ominaisuuksien mukaan resurssienhallintaalgoritmit. Järjestelmän pääresurssi on prosessori, joten luokittelemme sen prosessorin ohjausalgoritmien mukaan, vaikka voit tietysti luokitella käyttöjärjestelmän muistin, syöttö-/tulostuslaitteiden jne. hallintaalgoritmien mukaan.

      Tukee moniajoa (moniohjelmointia). Samanaikaisesti suoritettujen tehtävien määrän perusteella käyttöjärjestelmät jaetaan kahteen luokkaan: yksiohjelma (yksi tehtävä) - esimerkiksi MS-DOS, MSX ja moniohjelma (monitehtävä) - esimerkiksi ES Computer OS , OS/360, OS/2, UNIX, Windows erilainen versiot.

      Yhden ohjelman käyttöjärjestelmät tarjoavat käyttäjälle virtuaalikoneen, mikä tekee käyttäjän vuorovaikutuksesta tietokoneen kanssa yksinkertaisempaa ja mukavampaa. Niissä on myös tiedostojen hallinta, oheislaitteiden hallinta ja käyttäjien viestintäominaisuudet. Moniajokäyttöjärjestelmä Lisäksi he hallitsevat jaettujen resurssien (prosessori, muisti, tiedostot jne.) jakoa, mikä voi merkittävästi lisätä laskentajärjestelmän tehokkuutta.

      Tuki monikäyttäjätilalle. Samanaikaisesti työskentelevien käyttäjien määrän perusteella käyttöjärjestelmät jaetaan: yhden käyttäjän (MS-DOS, Windows 3x, varhaiset versiot OS/2) ja monen käyttäjän (UNIX, Windows NT/2000/2003/XP/Vista).

      Suurin ero monen käyttäjän järjestelmien ja yhden käyttäjän järjestelmien välillä on keinojen saatavuus jokaisen käyttäjän tietojen suojaamiseksi muiden käyttäjien luvattomalta käytöltä. On huomattava, että voi olla yhden käyttäjän moniohjelmajärjestelmä.

      Moniohjelmatyön tyypit. Käyttöjärjestelmän erityispiirteet määräytyvät suurelta osin sen mukaan, miten aika jakautuu useiden samanaikaisesti olemassa olevien prosessien (tai säikeiden) kesken järjestelmässä. Tämän ominaisuuden perusteella voidaan erottaa kaksi algoritmiryhmää: ennaltaehkäisevä moniohjelmointi (Windows3.x, NetWare) ja ennakoiva moniohjelmointi (Windows 2000/2003/XP, OS/2, Unix).

      Ensimmäisessä tapauksessa aktiivinen prosessi suoritetaan, kunnes se itse antaa käyttöjärjestelmän hallinnan. Toisessa tapauksessa käyttöjärjestelmä tekee päätöksen prosessien vaihtamisesta. Moniohjelmointitila on myös mahdollinen, kun käyttöjärjestelmä jakaa prosessoriajan yhden prosessin eri haarojen (säikeet, kuidut) kesken.

      Monikäsittely. Tärkeä käyttöjärjestelmän ominaisuus on moniprosessointituen puuttuminen tai olemassaolo. Tämän ominaisuuden perusteella voimme erottaa käyttöjärjestelmät ilman moniprosessointitukea (Windows 3.x, Windows 95) ja moniprosessointitukea (Solaris, OS/2, UNIX, Windows NT/2000/2003/XP).

      Koska käyttöjärjestelmä on monimutkainen ohjelmistojärjestelmä, se käyttää merkittävän osan tietokoneen resursseista omiin tarpeisiinsa. Käyttöjärjestelmän tehokkuutta arvioidaan usein sen tuottavuuden (suorituskyvyn) perusteella - tietyn ajanjakson aikana suoritettujen käyttäjän tehtävien määrällä, vasteajalla käyttäjän pyyntöön jne.

      Kaikkiin näihin käyttöjärjestelmän suorituskykyindikaattoreihin vaikuttavat monet erilaiset tekijät, joista tärkeimmät ovat käyttöjärjestelmän arkkitehtuuri, sen toimintojen monimuotoisuus, ohjelmakoodin laatu, laitteistoalusta (tietokone) jne.

      Luotettavuus ja vikasietoisuus. Käyttöjärjestelmän on oltava vähintään yhtä luotettava kuin tietokoneen, jossa se toimii. Järjestelmä on suojattava sekä sisäisiltä että ulkoisilta vikoja ja vikoja vastaan. Jos ohjelmassa tai laitteistossa tapahtuu virhe, järjestelmän tulee havaita virhe ja yrittää korjata tilanne tai vähintään, yritä minimoida tämän virheen käyttäjille aiheuttamat vahingot.

      Käyttöjärjestelmän luotettavuus ja vikasietoisuus määräytyvät ensisijaisesti arkkitehtonisia ratkaisuja, sen taustalla, sekä ohjelmakoodin virheenkorjaus (käyttöjärjestelmän tärkeimmät viat ja epäonnistumiset johtuvat pääasiassa ohjelmistovirheet sen moduuleissa). Lisäksi on tärkeää, että tietokoneessa on varmuuskopio levytaulukoita, lähteet katkeamaton virtalähde jne. sekä ohjelmistotuki näille työkaluille.

      Turvallisuus (turvallisuus). Kukaan käyttäjä ei halua muiden käyttäjien häiritä häntä. Käyttöjärjestelmän on suojeltava käyttäjiä sekä muiden ihmisten virheiden vaikutuksilta että haitallisilta häirintäyrityksiltä (luvaton pääsy). Tätä tarkoitusta varten käyttöjärjestelmällä tulee olla ainakin todennuskeinot - käyttäjien laillisuuden määrittäminen, valtuutus - laillisten käyttäjien luomien resurssien käyttöoikeudet ja auditointi - kaikkien järjestelmälle mahdollisesti vaarallisten tapahtumien tallentaminen.

      Suojausominaisuudet ovat erityisen tärkeitä verkkokäyttöjärjestelmissä. Tällaisissa käyttöjärjestelmissä verkon kautta lähetettyjen tietojen suojaamisen tehtävä lisätään kulunvalvontatehtävään.

    • Ennustettavuus. Vaatimukset, joita käyttäjä voi asettaa järjestelmälle, ovat useimmissa tapauksissa arvaamattomia. Samalla käyttäjä haluaa, että palvelu ei juurikaan muutu odotetun ajan kuluessa. Erityisesti kun ohjelmaa suoritetaan järjestelmässä, käyttäjällä tulee olla likimääräinen käsitys ohjelmasta saatujen kokemusten perusteella siitä, milloin tuloksia odotetaan saatavan.
    • Laajennettavuus. Toisin kuin tietokonelaitteistot hyödyllinen elämä käyttöjärjestelmiä mitataan vuosikymmeninä. Esimerkkinä ovat UNIX-käyttöjärjestelmä ja MS-DOS. Käyttöjärjestelmät muuttuvat ajan myötä, yleensä hankkimalla uusia ominaisuuksia, kuten tukea uudentyyppisille ulkoisille laitteille tai uusille verkkoteknologiat. Jos ohjelmakoodi OS-moduulit on kirjoitettu siten, että lisäyksiä ja muutoksia voidaan tehdä loukkaamatta järjestelmän eheyttä, jolloin tällaista käyttöjärjestelmää kutsutaan laajennettavaksi. Käyttöjärjestelmä voi olla laajennettavissa, jos sen luomista ohjasivat modulaarisuuden, toiminnallisen redundanssin, toiminnallisen selektiivisyyden ja parametrisen monipuolisuuden periaatteet.
    • Siirrettävyys. Ihannetapauksessa käyttöjärjestelmän koodin tulisi olla helposti siirrettävissä yhdestä prosessorista toisen tyyppiselle prosessorityypille ja yhdestä laitteisto-alustusta toisen tyyppiselle laitealustalle (jotka eivät eroa vain prosessorin tyypistä, vaan myös tavasta, jolla tietokonelaitteisto on järjestetty). Kannettavissa käyttöjärjestelmissä on useita toteutusvaihtoehtoja eri alustoilla, tätä käyttöjärjestelmän ominaisuutta kutsutaan myös monialustainen. Tämä ominaisuus saavutetaan, koska suurin osa käyttöjärjestelmästä on kirjoitettu korkean tason kielellä (esimerkiksi C, C++ jne.) ja se voidaan helposti siirtää toiseen tietokoneeseen (koneriippumaton osa) ja pieni osa käyttöjärjestelmästä (ydinohjelmat) on koneriippuvainen ja kehitetty sisään konekieli toinen tietokone.
    • Yhteensopivuus. On olemassa useita "pitkäikäisiä" suosittuja käyttöjärjestelmiä (UNIX, MS-DOS, Windows3.x, Windows NT, OS/2), joille on kehitetty laaja valikoima sovelluksia. Käyttöjärjestelmästä toiseen siirtyvälle käyttäjälle mahdollisuus käyttää sovelluksiaan uudessa käyttöjärjestelmässä on erittäin houkutteleva. Jos käyttöjärjestelmä pystyy suorittamaan muille käyttöjärjestelmille kirjoitettuja sovellusohjelmia, se on yhteensopiva näiden järjestelmien kanssa. On tehtävä ero binääriyhteensopivuuden ja binääriyhteensopivuuden välillä. lähdetekstejä. Lisäksi yhteensopivuuden käsitteeseen sisältyy myös tuki muiden käyttöjärjestelmien käyttöliittymille.
    • Sopivuus. Käyttöjärjestelmän työkalujen tulee olla yksinkertaisia ​​ja joustavia, ja sen toiminnan logiikan tulee olla käyttäjälle selkeä. Nykyaikaiset käyttöjärjestelmät keskittyvät tarjoamaan käyttäjälle mahdollisimman mukavaa työskentelyä niiden kanssa. Tarpeellinen ehto Tämä johtui graafisen käyttöliittymän läsnäolosta käyttöjärjestelmässä ja kaikenlaisista ohjatuista toiminnoista - ohjelmista, jotka automatisoivat käyttöjärjestelmän toimintojen aktivoinnin, yhteyden oheislaitteet, asennus, konfigurointi ja itse käyttöjärjestelmän käyttö.
    • Skaalautuvuus. Jos käyttöjärjestelmän avulla voit ohjata tietokonetta eri numero prosessorit, jotka tarjoavat lineaarisen (tai melkein niin) lisäyksen suorituskyvyssä prosessorien määrän kasvaessa, tällainen käyttöjärjestelmä on skaalautuva. Skaalautuva käyttöjärjestelmä toteuttaa symmetrisen moniprosessoinnin. Skaalautumiseen liittyy klusteroinnin käsite - kahden (tai useamman) moniprosessoritietokoneen yhdistäminen järjestelmään. Totta, klusteroinnin tavoitteena ei ole niinkään skaalautuvuus kuin järjestelmän korkean käytettävyyden varmistaminen.
    • On huomattava, että tietyn käyttöjärjestelmän sovellusalueesta riippuen myös sitä koskevien vaatimusten koostumus voi muuttua.

      Valmistajat voivat tarjota käyttöjärjestelmiään eri kokoonpanoissa, jotka eroavat hinnasta ja suorituskyvystä. Microsoft myy esimerkiksi:

      • Windows 2003 Server (jopa 4 prosessoria) – pienille ja keskisuurille yrityksille;
      • Windows 2003 Advanced Server (jopa 8 prosessoria, 2-solmuklusteri) – keskisuurille ja suurille yrityksille;
      • Windows 2003 DataCenter Server (16-32 prosessoria, 4-solmuklusteri) - erityisen suurille yrityksille.
  • 1. Resurssienhallintaalgoritmien ominaisuudet

    a. Moniajo ja yksitehtävä. Multitasking jaetaan ennaltaehkäisevään (prosessi voidaan väkisin poistaa palvelusta) moniajoon ja ei-ennaltaehkäisevään moniajoon.

    b. Yksi- ja monen käyttäjän

    c. Järjestelmät, jotka tukevat monisäikeistä käsittelyä ja ne, jotka eivät tue

    d. Moniprosessori ja yksi prosessori. Moniprosessorikäyttöjärjestelmät voidaan luokitella sen mukaan, miten laskentaprosessi on järjestetty symmetriseen ja epäsymmetriseen (epäsymmetrinen - kaikki pääasiat ovat yhdellä prosessorilla, loput - toisella; symmetriset - kaikki on yhdellä prosessorilla)

    2. Laitteistoalustan ominaisuudet

    a. Henkilökohtaiset tietokoneet b. Mini tietokoneet

    c. Keskusyksiköt d. Klusterit e. Tietokoneverkot

    3. Käyttöalueiden ominaisuudet

    a. Eräkäsittelyjärjestelmä – tehtäville se laskee luonteen, pääkriteeri tehokkuus – suurin suoritusteho

    b. Ajanjakojärjestelmä – jokaiselle tehtävälle on varattu tietty aikalohko – Käyttäjäystävällisyys

    c. Reaaliaikainen järjestelmä – Kestää etenemisen määrätyillä aikaväleillä aika ohjelman käynnistämisen ja tuloksen saamisen välillä, tämä aika on järjestelmän reaktioaika, järjestelmän vastaava ominaisuus on reaktiivisuus (pääasiallinen tehokkuuden kriteeri)

    4. Rakennusmenetelmien ominaisuudet

    a. Järjestelmäytimen organisointitavan perusteella erotetaan monoliittinen ydin tai mikroydin (melkein kaikissa käyttöjärjestelmissä, mutta ei puhtaassa muodossaan).

    b. Toimiva ja oliokäyttöjärjestelmä - mitä käsitteitä käytettiin käyttöjärjestelmää kirjoitettaessa

    c. Useiden sovellusympäristöjen läsnäolo (esimerkiksi Windowsissa kaikki toimii DOS:sta)

    d. OS kanssa hajautettu organisaatio

    MODERNI KÄYTTÖJÄRJESTELMÄT

    1. MS-DOS on yleisimmin käytetty käyttöjärjestelmä henkilökohtaiset tietokoneet. Siinä on graafinen käyttöliittymä, mutta DOS-ohjelmien käytettävissä oleva muistiraja on 640 K. Toinen "musta pallo" DOSia vastaan ​​on monitoimien täydellinen puute. DOS on suunniteltu ajamaan vain yhtä ohjelmaa kerrallaan

    2. Windows 3.1x - Tarjoaa mahdollisuuden työskennellä kaikkien MS-DOS-sovellusohjelmien kanssa ( tekstinkäsittelijät,DBMS, laskentataulukoita jne.). Windows 3.1 voi toimia yhdessä kolmesta tilasta: Real (todellinen), Standart (standardi), 386 Enhanced (laajennettu)

    3. Windows 95 - Mahdollisuus käyttää 16-bittisiä Windows-sovelluksia, vanhoja DOS-ohjelmia ja vanhempia laiteajureita todellinen tila ja samalla yhteensopiva todellisten 32-bittisten sovellusten ja 32-bittisten ohjaimien kanssa virtuaalisia laitteita.



    4. Windows NT on palvelinkäyttöjärjestelmä, joka on suunniteltu käytettäväksi työasema(Nopea prosessori ja vähintään 16 Mt RAM-muistia vaaditaan hyväksyttävän suorituskyvyn saavuttamiseksi). Oma sovellusohjelmia Meille on varattu 2 Gt erityistä osoiteavaruutta 64 K rajalta 2 Gt:iin (ensimmäiset 64 K ovat täysin saavuttamattomissa)

    5. OS/2 Warp on uusi käyttöjärjestelmä graafiset käyttöliittymät käyttöliittymä (GUI), kun taas Windows on graafinen käyttöliittymä, joka toimii DOS:n päällä. OS/2 on täysin suojattu käyttöjärjestelmä, joka tekee muistiristiriidoista ohjelmien välillä mahdotonta. OS/2 pystyy ajamaan useita sovellusohjelmia samanaikaisesti.

    OS virtuaalikoneena ja resurssienhallintajärjestelmänä. OS tehtävät

    OS virtuaalikoneena

    Nykyään käyttäjä tai ohjelmoija voi ratkaista ongelmansa onnistuneesti ilman perusteellista tietämystä laitteisto tietokoneeseen etkä ehkä edes tiedä prosessorin komentojärjestelmää Laitteisto voidaan rakentaa hierarkian muodossa, jonka jokainen taso on virtuaalikone, jossa on oma käyttöliittymä - Laitteisto - käyttöjärjestelmä - järjestelmäkirjastot - sovellusohjelmisto käyttöliittymänä käyttäjän ja tietokoneen välillä (virtuaalikone). käyttöjärjestelmän kehittämisessä abstraktiota käytetään laajalti, mikä on tärkeä yksinkertaistamismenetelmä ja antaa sinun keskittyä järjestelmien korkean tason komponenttien vuorovaikutukseen jättäen huomiotta niiden toteutuksen yksityiskohdat. Tässä mielessä käyttöjärjestelmä on käyttöliittymä käyttäjän ja tietokoneen välillä.

    Useimpien tietokoneiden arkkitehtuuri on samalla tasolla koneohjelmat erittäin hankalaa sovellusohjelmien kirjoittamiseen. Esimerkiksi levyn kanssa työskentely vaatii tietoa sisäinen laite hänen elektroniset komponentit– ohjain komentojen syöttämiseen levyn kiertoa, raitojen etsimistä ja muotoilua sekä luku- ja kirjoitussektoreita varten. Keskimääräinen ohjelmoija ei pysty ottamaan huomioon kaikkia laitteiston ominaisuuksia (laiteohjainkehitys), mutta hänellä on oltava yksinkertainen korkean tason abstrakti esitys levytilasta tiedostojoukona.



    TIEDOSTO voidaan avata lukemista tai kirjoittamista varten ja käyttää tietojen hankkimiseen tai nollaamiseen, minkä jälkeen se voidaan sulkea. Tämä on helpompaa kuin miettiä levypäiden siirtämisen tai moottorin toiminnan organisoinnin yksityiskohtia. Samoin yksinkertaisten abstraktioiden avulla piilotetaan ohjelmoijalta kaikki yksityiskohdat ajastimen keskeytysten järjestämisestä, muistinhallinnasta jne. Käyttöjärjestelmä esitetään käyttäjälle käyttöliittymänä tai virtuaalikoneena, jonka kanssa on helpompi työskennellä kuin suoraan tietokonelaitteiston kanssa.

    OS resurssienhallintana.

    Käyttöjärjestelmä on suunniteltu hallitsemaan kaikkia erittäin monimutkaisen tietokonearkkitehtuurin osia. Esimerkiksi kun useat samassa tietokoneessa käynnissä olevat ohjelmat yrittävät tulostaa samanaikaisesti tulostimelle ilman käyttöjärjestelmän ohjausta, rivit ja sivut muodostuvat sekamelskaa. Käyttöjärjestelmä estää tämän kaaoksen puskuroimalla levylle tulostamiseen tarkoitettuja tietoja ja järjestämällä tulostusjonon. Usean käyttäjän tietokoneissa tarve hallita ja suojata resursseja on vieläkin ilmeisempi. Resurssinhallintajärjestelmä järjestää ja ohjaa prosessorin, muistin ja muiden resurssien jakautumista eri ohjelmien välillä. Käyttöjärjestelmä on käyttäjien ja heidän ohjelmiensa suoja. Työskennellä yhdessä Useat saman lentokoneen käyttäjät aiheuttavat ongelman turvallisten toimintojensa järjestämisessä. On tarpeen varmistaa, että tiedot tallennetaan levylle, jotta kukaan ei voi poistaa tai vahingoittaa muiden tiedostoja. Joidenkin käyttäjien sovellusten ei pitäisi häiritä muiden käyttäjien sovelluksia, ja on myös tarpeen estää lentokoneiden luvaton käyttöyritykset. Tämän toiminnon suorittaa käyttöjärjestelmä järjestäjänä turvallista työtä käyttäjät ja heidän ohjelmansa Käyttöjärjestelmä on jatkuvasti käynnissä tietokoneessa oleva ohjelma. Monissa nykyaikaisissa käyttöjärjestelmissä tietokoneessa on kuitenkin jatkuvasti käynnissä vain osa käyttöjärjestelmästä , jota yleensä kutsutaan käyttöjärjestelmän ytimeksi.

    Että. On monia näkemyksiä siitä, mikä käyttöjärjestelmä on. Sille on mahdotonta antaa riittävän tiukkaa määritelmää. On helpompi sanoa ei, mikä käyttöjärjestelmä on, vaan mitä se on tarkoitettu ja mitä se tekee. Tämän asian selventämiseksi on hyödyllistä tarkastella laskentajärjestelmien kehityshistoriaa.

    Käyttöjärjestelmä suorittaa monia toimintoja, jotka on yleensä ryhmitelty käyttöjärjestelmän hallitseman resurssin tyypin tai tietyn tehtävän mukaan, joka koskee kaikentyyppisiä resursseja. Nykyaikaisesta moniajosta monikäyttäjäkäyttöjärjestelmästä voidaan erottaa seuraavat toiminnot: prosessinhallinta, muistinhallinta, tiedostojen hallinta ja ulkoisia laitteita, tietosuoja ja hallinta, sovellusohjelmointirajapinta, käyttöliittymä Yleisin lähestymistapa käyttöjärjestelmän jäsentämiseen on jakaa kaikki sen moduulit kahteen ryhmään:

    ydin - moduulit, jotka suorittavat käyttöjärjestelmän päätoiminnot, ratkaisevat järjestelmän sisäiset laskentaprosessin organisointiongelmat, kuten kontekstin vaihtaminen, muistin hallinta, keskeytysten käsittely, työskentely ulkoisten laitteiden kanssa jne. toteuttavat komponentit lisätoimintoja OS - kaikenlaiset apuohjelmat tai apuohjelmat

    Kaikki olemassa olevat (ja tällä hetkellä käyttämättömät) käyttöjärjestelmät voidaan luokitella useiden eri kriteerien mukaan. Pysähdytään tärkeimpiin luokituskriteereihin.

      Käyttöjärjestelmät jaetaan käyttötarkoituksensa perusteella yleisiin ja erikoistuneisiin. Erikoistuneet käyttöjärjestelmät toimivat pääsääntöisesti kiinteän ohjelman (toiminnallisten tehtävien) kanssa. Tällaisten järjestelmien käyttö johtuu siitä, että universaalia käyttöjärjestelmää ei voida käyttää tehokkuuteen, luotettavuuteen, turvallisuuteen jne. liittyvistä syistä sekä ratkaistavien tehtävien erityispiirteistä.

    Universaalit käyttöjärjestelmät on suunniteltu ratkaisemaan kaikki käyttäjän ongelmat, mutta pääsääntöisesti tietokonejärjestelmän toimintatapa voi asettaa käyttöjärjestelmälle erityisiä vaatimuksia, ts. hänen erikoistumisensa elementteihin.

      Latausmenetelmän perusteella voidaan erottaa käynnistettävät käyttöjärjestelmät (enemmistö) ja järjestelmät, jotka sijaitsevat pysyvästi tietokonejärjestelmän muistissa. Jälkimmäiset ovat pääsääntöisesti erikoistuneet ja niitä käytetään erikoislaitteiden toiminnan ohjaamiseen (esimerkiksi ballistisen ohjuksen tai satelliitin digitaalisessa tietokoneessa, tieteellisissä instrumenteissa, automaattisissa laitteissa eri tarkoituksiin jne.).

      Perustuu resurssienhallintaalgoritmien ominaisuuksiin. Järjestelmän pääresurssi on prosessori, joten luokittelemme sen prosessorin ohjausalgoritmien mukaan, vaikka voit tietysti luokitella käyttöjärjestelmän muistin, syöttö-/tulostuslaitteiden jne. hallintaalgoritmien mukaan.

      Tukee moniajoa (moniohjelmointia). Samanaikaisesti suoritettujen tehtävien määrän perusteella käyttöjärjestelmät jaetaan kahteen luokkaan: yksiohjelma (yksi tehtävä) - esimerkiksi MS-DOS, MSX ja moniohjelma (monitehtävä) - esimerkiksi ES Computer OS , OS/360, OS/2, UNIX, Windows eri versioita.

    Yhden ohjelman käyttöjärjestelmät tarjoavat käyttäjälle virtuaalikoneen, mikä tekee käyttäjän vuorovaikutuksesta tietokoneen kanssa yksinkertaisempaa ja mukavampaa. Niissä on myös tiedostojen hallinta, oheislaitteiden hallinta ja käyttäjien viestintäominaisuudet. Moniajokäyttöjärjestelmät hallitsevat myös jaettujen resurssien (prosessori, muisti, tiedostot jne.) jakamista, mikä voi parantaa merkittävästi laskentajärjestelmän tehokkuutta.

      Tuki monikäyttäjätilalle. Samanaikaisesti työskentelevien käyttäjien määrän perusteella käyttöjärjestelmät jaetaan yhden käyttäjän (MS-DOS, Windows 3x, OS/2:n varhaiset versiot) ja usean käyttäjän (UNIX, Windows NT/2000/2003/XP/Vista) käyttöjärjestelmät.

    Suurin ero monen käyttäjän järjestelmien ja yhden käyttäjän järjestelmien välillä on keinojen saatavuus jokaisen käyttäjän tietojen suojaamiseksi muiden käyttäjien luvattomalta käytöltä. On huomattava, että voi olla yhden käyttäjän moniohjelmajärjestelmä.

      Moniohjelmatyön tyypit. Käyttöjärjestelmän erityispiirteet määräytyvät suurelta osin sen mukaan, miten aika jakautuu useiden samanaikaisesti olemassa olevien prosessien (tai säikeiden) kesken järjestelmässä. Tämän ominaisuuden perusteella voidaan erottaa kaksi algoritmiryhmää: ennaltaehkäisevä moniohjelmointi (Windows3.x, NetWare) ja ennakoiva moniohjelmointi (Windows 2000/2003/XP, OS/2, Unix).

    Ensimmäisessä tapauksessa aktiivinen prosessi jatkuu, kunnes se luovuttaa käyttöjärjestelmän hallinnan. Toisessa tapauksessa käyttöjärjestelmä tekee päätöksen prosessien vaihtamisesta. Moniohjelmointitila on myös mahdollinen, kun käyttöjärjestelmä jakaa prosessoriajan yhden prosessin eri haarojen (säikeet, kuidut) kesken.

      Monikäsittely. Tärkeä käyttöjärjestelmän ominaisuus on moniprosessointituen puuttuminen tai olemassaolo. Tämän ominaisuuden perusteella voimme erottaa käyttöjärjestelmät ilman moniprosessointitukea (Windows 3.x, Windows 95) ja moniprosessointitukea (Solaris, OS/2, UNIX, Windows NT/2000/2003/XP).

    Moniprosessorikäyttöjärjestelmät luokitellaan laskentaprosessin organisointimenetelmän mukaan epäsymmetrisiin käyttöjärjestelmiin (suoritetaan yhdellä prosessorilla, sovellustehtävät jaetaan muiden prosessorien kesken) ja symmetrisiin käyttöjärjestelmiin (hajautettu järjestelmä).

      Käyttöalueen ja toimintamuodon mukaan. Tyypillisesti tässä erotetaan kolme tyyppiä niiden kehittämisessä käytettyjen suorituskriteerien mukaisesti:

      eräkäsittelyjärjestelmät (OS/360, OC EC);

      ajanjakojärjestelmät (UNIX, VMS);

      reaaliaikaiset järjestelmät (QNX, RT/11).

    Ensimmäiset oli tarkoitettu pääasiassa laskennallisten ongelmien ratkaisemiseen, jotka eivät vaatineet nopeita tuloksia. Kriteeri tällaisen käyttöjärjestelmän luomiselle on suurin suoritusteho kaikkien tietokoneresurssien hyvällä kuormituksella. Tällaisissa järjestelmissä käyttäjä poistetaan tietokoneesta.

    Ajanjakojärjestelmät tarjoavat mukavuutta ja tehokkuutta käyttäjälle, jolla on päätelaite ja joka voi käydä dialogia ohjelmansa kanssa.

    Reaaliaikaiset järjestelmät on suunniteltu ohjaamaan teknisiä kohteita (työstökone, satelliitti, tekninen prosessi, esim. masuuni jne.), joissa objektia ohjaavien ohjelmien suorittamiselle on aikaraja.

      Laitteistoalustan mukaan (tyyppi tietokone teknologia), joille ne on tarkoitettu, käyttöjärjestelmät on jaettu seuraaviin ryhmiin.

      Käyttöjärjestelmät älykorteille. Jotkut heistä voivat hallita vain yhtä tapahtumaa, kuten sähköistä maksamista. Jotkut älykortit ovat JAVA-suuntautuneita ja sisältävät tulkin virtuaalikone JAVA. JAVA-sovelmat ladataan kortille ja JVM-tulkki suorittaa ne. Jotkut näistä korteista voivat hallita useita JAVA-sovelmia samanaikaisesti, mikä johtaa moniajoon ja aikataulutuksen tarpeeseen.

      Sulautetut käyttöjärjestelmät. Hallitse taskutietokoneet(lialm OS, Windows CE – Consumer Electronics – kodinkoneet), matkapuhelimet, televisiot, mikroaaltouunit ja niin edelleen.

      Henkilökohtaisten tietokoneiden käyttöjärjestelmät, esimerkiksi Windows 9.x, Windows XP, Linux, Mac-käyttöjärjestelmän kymmenes versio jne.

      Pientietokoneiden käyttöjärjestelmät, esimerkiksi RT-11 PDP-11:lle - reaaliaikainen käyttöjärjestelmä, RSX-11 M PDP-11:lle - aikajakokäyttöjärjestelmä, UNIX PDP-7:lle.

      Mainframe (suuri kone) käyttöjärjestelmät, kuten OS/390, johdettu OS/360:sta (IBM). Tyypillisesti keskustietokoneen käyttöjärjestelmä tarjoaa kolmea tyyppistä ylläpitoa samanaikaisesti: eräkäsittely, tapahtumien käsittely (esimerkiksi tietokannan kanssa työskentely, lentolippujen varaus, pankeissa työskentely) ja ajan jakaminen.

      Palvelimen käyttöjärjestelmät, esimerkiksi UNIX, Windows 2000, Linux. Soveltamisala – LAN, alueellisia verkkoja, Intranet, Internet.

      Klusterikäyttöjärjestelmät. Klusteri on löyhästi kytketty kokoelma useita tietokonejärjestelmiä, jotka toimivat yhdessä yleisiä sovelluksia ja esitetään käyttäjälle yhtenä järjestelmänä, esimerkiksi Windows 2000 Cluster Server, Windows 2008 Server, Sun Cluster (peruskäyttöjärjestelmä - Solaris).

    Aloitetaan tutustuminen UNIX-arkkitehtuuriin ottamalla huomioon sellaisia ​​luontaisia ​​tunnusomaisia ​​käsitteitä kuin standardointi ja moniajo:

    Standardointi

    Monimuotoisuudesta huolimatta UNIX-versiot, koko perheen perusta on pohjimmiltaan identtinen arkkitehtuuri ja joukko vakiorajapintoja (UNIXissa lähes kaikki on standardoitua - järjestelmäkansioiden ja tiedostojen sijainnista järjestelmäkutsuliittymään ja peruslaiteajurien luetteloon). Kokenut järjestelmänvalvoja pystyy ylläpitämään toista versiota ilman suuria vaikeuksia, kun taas käyttäjille siirtyminen toiseen järjestelmään ei välttämättä ole havaittavissa ollenkaan. Järjestelmäohjelmoijille tällaisten standardien ansiosta he voivat keskittyä täysin ohjelmointiin tuhlaamatta aikaa tietyn järjestelmän toteutuksen arkkitehtuurin ja ominaisuuksien tutkimiseen.

    Moniajo

    UNIX-järjestelmässä useita prosesseja (tehtäviä) voi olla käynnissä samanaikaisesti, eikä niiden määrää ole loogisesti rajoitettu, ja järjestelmässä voi olla useita yhden ohjelman osia samanaikaisesti. Erityisen muistinhallintamekanismin ansiosta jokainen prosessi kehittyy omassa suojatussa osoiteavaruudessaan, mikä takaa turvallisuuden ja riippumattomuuden muista prosesseista. Eri järjestelmän toiminnot sallia prosessien synnyttää uusia prosesseja, lopettaa prosesseja, synkronoida prosessivaiheiden suorittamista ja hallita reagointia erilaisten tapahtumien esiintymiseen.

    UNIXin kaksi pilaria: tiedostot ja prosessit

    Pääleikkaussalissa on kaksi pääosastoa UNIX-järjestelmät joita käyttäjän on työstettävä - tiedostot ja prosessit. Nämä objektit liittyvät vahvasti toisiinsa, ja yleensä niiden kanssa työskentelyn organisointi määrää käyttöjärjestelmän arkkitehtuurin.

    Kaikki käyttäjätiedot tallennetaan tiedostoihin; Oheislaitteita käytetään luku- ja kirjoitustoiminnolla erikoistiedostoja; Ohjelman suorituksen aikana käyttöjärjestelmä lukee suoritettavan koodin tiedostosta muistiin ja siirtää ohjauksen siihen.

    Toisaalta kaikki toiminnalliset toiminnot määräytyvät asiaankuuluvien prosessien suorittamisen perusteella. Erityisesti levyllä olevien tiedostojen käyttö on mahdotonta, jos tiedostoalijärjestelmä Käyttöjärjestelmällä (joukko prosesseja, jotka käyttävät tiedostoja) ei ole tarvittavaa koodia muistissa tätä varten.

    Pikakatsaus UNIX-arkkitehtuuriin

    Esitys 2-02: Kurkistus UNIX-arkkitehtuuriin

    Yleisin katsaus UNIX-arkkitehtuuriin paljastaa kaksitasoisen järjestelmämallin, joka koostuu käyttäjästä ja järjestelmäosasta (ytimen) (katso Kuva 1.20, "UNIX-käyttöjärjestelmän arkkitehtuuri"). Ydin on suoraan vuorovaikutuksessa tietokonelaitteiston kanssa eristäen sovellusohjelmat (käyttöjärjestelmän käyttäjäosan prosessit) arkkitehtuurinsa ominaisuuksista. Ytimessä on joukko palveluita, jotka tarjotaan sovellusohjelmille järjestelmäkutsujen kautta. Siten järjestelmässä voidaan erottaa kaksi etuoikeustasoa: järjestelmätaso (erikoisoikeudet pääkäyttäjä) ja käyttäjätaso (kaikkien muiden käyttäjien oikeudet). Lisätietoja kulunvalvonnasta käsitellään seuraavissa luvuissa (Luku 3, UNIX-käyttöjärjestelmän suojaus).

    Kuva 1.20. UNIX-käyttöjärjestelmän arkkitehtuuri

    Daemonit ovat tärkeä osa järjestelmäohjelmia. Daemon on prosessi, joka suorittaa tietyn toiminnon järjestelmässä ja joka käynnistetään järjestelmän käynnistyksen yhteydessä ja jota ei ole liitetty mihinkään käyttäjäpäätteeseen. Daemonit tarjoavat käyttäjille tiettyjä palveluita, joista esimerkkejä ovat järjestelmäloki, verkkopalvelin jne. Windows NT -käyttöjärjestelmän ja uudempien versioiden demonien analogi ovat järjestelmäpalveluita.

    Esitys 2-03: UNIX-ydin

    UNIX-käyttöjärjestelmässä on klassinen monoliittinen ydin (katso "Käyttöjärjestelmän arkkitehtuuri"), josta voidaan erottaa seuraavat pääosat:

    Tiedoston alijärjestelmä

    Ytimen rakenteita pääsee käsiksi tiedostoliittymän kautta.

    Prosessien hallinta

    Tämä sisältää prosessien rinnakkaissuorittamisen (ajoitus ja lähettäminen), prosessin virtuaalisen muistin ja prosessien välisen vuorovaikutuksen (signaalit, viestijonot jne.) hallinnan.

    Laitteistoajurit

    Laiteohjaimet on jaettu merkkiin ja lohkoon ulkoisen laitteen tyypin mukaan. Jokaiselle laitteelle määritellään joukko mahdollisia toimintoja (avaus, lukeminen jne.). Lohkolaitteet tallennetaan välimuistiin erityisellä sisäisellä puskurinhallintamekanismilla.

    Kuva 1.21. UNIX-käyttöjärjestelmän ydin

    Koska UNIX erottaa selvästi laitteistosta riippumattoman osan, tämä käyttöjärjestelmäperhe voidaan siirtää uusille laitteistoalustoille pienin kustannuksin.

    Voidaan nähdä, että UNIX-käyttöjärjestelmän ydin on klassikko moniajolle, monen käyttäjän käyttöjärjestelmälle, joten sitä käytetään laajasti järjestelmäohjelmoinnin ja käyttöjärjestelmäteorian opetuksessa.