Utviklingen av operativsystemet til datamaskiner av forskjellige typer. Utviklingen av operativsystemer. De viktigste stadiene i utviklingen. Datamaskiner basert på transistorer. Batch operativsystemer


Den russiske føderasjonens departement for utdanning og vitenskap

Statens utdanningsinstitusjon

høyere profesjonsutdanning

"Magnitogorsk State Technical University

dem. G.I. Nosov"

Institutt for informatikk og informasjonssikkerhet

Test

i faget "Informatikk"

Sammendrag om emnet "Utviklingen av operativsystemer til datamaskiner av forskjellige typer"

Fullført av: elevgruppe 1304006-11-1

Alternativ nummer 13

Sagdetdinov D.F.

Sjekket av: Universitetslektor

Korinchenko G.M.

Magnitogorsk 2014

  • 1. Utviklingen av operativsystemer til datamaskiner av ulike typer
    • 1.2 Fremveksten av multiprogrammerende stormaskinoperativsystemer
  • 2. Oppgave for MathCAD nr. 1 "Konstruksjon av todimensjonale grafer i MathCAD"
    • 2.1 Redegjørelse av oppgaven
    • 2.2Resultat - den resulterende grafen
  • 3. Oppgave for MathCAD nr. 2 "Løse SLAE"
    • 3.1 Redegjørelse av oppgaven
  • 4. Oppgave for MathCAD nr. 3 "Løsning av systemer av ikke-lineære ligninger"
    • 4.1 Redegjørelse av oppgaven
  • 5. Oppgave for MathCAD nr. 4 "Løsning av ikke-lineære ligninger"
    • 5.1 Redegjørelse av oppgaven

1. Utviklingen av operativsystemer til datamaskiner av ulike typer

I nesten et halvt århundre av sin eksistens har operativsystemer (OS) kommet langt, fulle av mange viktige hendelser. Utviklingen av operativsystemer ble sterkt påvirket av fremskritt med å forbedre elementbasen og datautstyr, så mange stadier av utviklingen deres er nært knyttet til fremveksten av nye typer maskinvareplattformer, for eksempel minidatamaskiner eller personlige datamaskiner.

Operativsystemer har gjennomgått en stor utvikling i forbindelse med den nye rollen til datamaskiner i lokale og globale nettverk. Den viktigste faktoren i deres utvikling var Internett.

1.1 Fremveksten av de første operativsystemene

Fødselen av digitale datamaskiner skjedde kort tid etter slutten av andre verdenskrig. På midten av 40-tallet ble de første rørdatabehandlingsenhetene laget.

Programmering på den tiden ble utført utelukkende på maskinspråk. Det var ingen systemprogramvare, bortsett fra biblioteker med matematiske og hjelperutiner, som programmereren kunne bruke for ikke å skrive koder hver gang som beregner verdien av en matematisk funksjon eller kontroll standard enhet input-output.

Operativsystemer har ennå ikke dukket opp, alle oppgavene til organisasjonen databehandlingsprosess ble løst manuelt av hver programmerer fra kontrollpanelet, som var en primitiv input-output enhet bestående av knapper, brytere og indikatorer.

Siden midten av 50-tallet begynte en ny periode i utviklingen av datateknologi, assosiert med fremveksten av en ny teknisk base - halvlederelementer. Hastigheten på prosessorer har økt, volumene av RAM og eksternt minne har økt. Datamaskiner ble mer pålitelige, nå kunne de jobbe kontinuerlig så lenge at de kunne bli betrodd utførelsen av virkelig praktisk viktige oppgaver.

Samtidig ble de første systemene utviklet batchbehandling, som automatiserte hele sekvensen av operatørhandlinger for å organisere beregningsprosessen. Tidlige systemer batch-behandling var prototypen på moderne operativsystemer, de ble de første systemprogrammer, designet ikke for databehandling, men for å administrere databehandlingsprosessen.

Batchbehandlingssystemer har betydelig redusert tiden brukt på hjelpeaktiviteter for å organisere dataprosessen, noe som betyr at enda et skritt er tatt for å øke effektiviteten ved bruk av datamaskiner.

Men ved å gjøre dette mistet brukerprogrammerere direkte tilgang til datamaskinen, noe som reduserte effektiviteten deres - noe som gjorde at enhver retting krevde mye mer tid enn interaktivt arbeid på maskinens konsoll.

1.2 Fremveksten av multiprogrammerende stormaskinoperativsystemer

Den neste viktige perioden i utviklingen av operativsystemer refererer til årene 1965-1975.

På dette tidspunktet, i den tekniske basen til datamaskiner, var det en overgang fra individuelle halvlederelementer som transistorer til integrerte kretser, noe som åpnet veien for neste generasjon datamaskiner.

I løpet av denne perioden ble nesten alle hovedmekanismene som er iboende i moderne operativsystemer implementert:

Multiprogrammering,

multiprosessering,

Støtte multi-terminal multi-user modus,

virtuell hukommelse,

filsystemer,

adgangskontroll,

Nettverksarbeid.

Den revolusjonerende begivenheten på dette stadiet var den industrielle implementeringen av multiprogrammering. Under betingelsene for de kraftig økte egenskapene til datamaskinen til å behandle og lagre data, viste det seg å utføre bare ett program om gangen å være ekstremt ineffektiv. Løsningen var multiprogrammering - en metode for å organisere en dataprosess, der flere programmer var samtidig i datamaskinens minne, vekselvis kjørende på samme prosessor.

Disse forbedringene forbedret effektiviteten til datasystemet betydelig: datamaskinen kunne nå brukes nesten konstant, og ikke mindre enn halvparten av tiden datamaskinen kjørte, slik den var før.

Multiprogrammering ble implementert i to versjoner - i batchbehandling og tidsdelingssystemer.

1.3 Operativsystemer og globale nettverk

På begynnelsen av 70-tallet av forrige århundre dukket de første nettverksoperativsystemene opp, som, i motsetning til multiterminalsystemer, gjorde det mulig ikke bare å spre brukere, men også å organisere distribuert lagring og behandling av data mellom flere datamaskiner koblet sammen med elektriske koblinger .

Ethvert nettverksoperativsystem, på den ene siden, utfører alle funksjonene til det lokale operativsystemet, og på den annen side har det noen ekstra verktøy som lar det samhandle over nettverket med operativsystemene til andre datamaskiner.

Programvaremoduler som implementerer nettverksfunksjoner dukket opp i operativsystemene gradvis, ettersom nettverksteknologier, maskinvare utviklet seg og nye oppgaver som krevde nettverksbehandling dukket opp.

I 1969 startet det amerikanske forsvarsdepartementet arbeidet med å forene superdatamaskinene til forsvars- og forskningssentre i enkelt nettverk. Dette nettverket ble kalt ARPANET og var utgangspunktet for å skape det mest kjente globale nettverket i dag - Internett. ARPANET-nettverket forente datamaskiner forskjellige typer opererer under ulike operativsystemer med tilleggsmoduler som implementerer kommunikasjonsprotokoller som er felles for alle datamaskiner på nettverket.

I 1974 kunngjorde IBM etableringen av sin egen nettverksarkitektur for sine stormaskiner, kalt SNA (System Network Architecture).

Dette lagdelt arkitektur, på mange måter lik standard OSI-modellen som dukket opp noe senere, ga terminal-til-terminal, terminal-til-datamaskin og datamaskin-til-datamaskin interaksjoner over globale koblinger.

1.4 Operativsystemer til minidatamaskiner. De første lokale nettverkene

På midten av 70-tallet, sammen med stormaskiner bred bruk mottatt mini-datamaskiner. De var de første til å utnytte store integrerte kretser, som gjorde det mulig å implementere tilstrekkelig kraftige funksjoner med relativt lav kostnad datamaskin.

Arkitekturen til minidatamaskiner har blitt kraftig forenklet sammenlignet med stormaskiner, noe som gjenspeiles i deres operativsystemer. Mange av funksjonene til multi-program, multi-user mainframe OS har blitt avkortet gitt de begrensede ressursene til minidatamaskiner.

Operativsystemene til minidatamaskiner har ofte blitt spesialiserte, for eksempel kun for sanntidskontroll eller kun for tidsdeling.

En viktig milepæl i historien til minidatamaskiner og generelt i operativsystemets historie var etableringen av UNIX-operativsystemet. Massebruken begynte på midten av 1970-tallet. På dette tidspunktet var UNIX-koden 90 % skrevet på høynivåspråket C.

Tilgjengeligheten av minidatamaskiner og følgelig deres utbredelse i bedrifter fungerte som et kraftig insentiv for å lage lokale nettverk. Bedriften kunne ha råd til å ha flere minidatamaskiner plassert i samme bygning eller til og med i samme rom. Naturligvis var det behov for å utveksle informasjon mellom dem og å dele dyrt periferutstyr.

De første lokale nettverkene ble bygget ved hjelp av ikke-standard kommunikasjonsutstyr, i det enkleste tilfellet, ved direkte å koble serieportene til datamaskiner. Programvaren var også ikke-standard og ble implementert som tilpassede applikasjoner.

1.5 Utvikling av operativsystemer på 80-tallet

De viktigste begivenhetene i dette tiåret inkluderer:

Utvikling av TCP/IP-stakken,

Fremveksten av Internett

Standardisering av lokale nettverksteknologier,

Fremkomsten av personlige datamaskiner

Og operativsystemer for dem.

En fungerende versjon av TCP / IP-protokollstabelen ble opprettet på slutten av 70-tallet.

I 1983 ble TCP/IP-protokollstabelen tatt i bruk av det amerikanske forsvarsdepartementet som en militær standard.

Innføringen av TCP/IP-protokollene i ARPANET ga dette nettverket alle de grunnleggende funksjonene som skiller det moderne Internett.

Hele tiåret var preget av den stadige fremveksten av nye, stadig mer avanserte versjoner av UNIX-operativsystemet. Blant dem var merkede versjoner av UNIX: SunOS, HP-UX, Irix, AIX og mange andre, der datamaskinprodusenter tilpasset kjernekoden og systemverktøyene for maskinvaren deres.

Begynnelsen av 80-tallet er assosiert med en annen viktig hendelse i operativsystemets historie - fremkomsten av personlige datamaskiner.

De fungerte som en kraftig katalysator for den raske veksten av lokale nettverk, og skapte et utmerket materiell grunnlag for dette i form av titalls og hundrevis av datamaskiner som tilhører en bedrift og plassert i samme bygning. Som et resultat har støtte for nettverksfunksjoner blitt en forutsetning for operativsystemet til personlige datamaskiner.

Nettverksfunksjoner ble implementert hovedsakelig av nettverksskall som kjørte på toppen av operativsystemet. Når du arbeider på et nettverk, er det alltid nødvendig å støtte flerbrukermodus, der én bruker er interaktiv, og resten får tilgang til datamaskinressurser over nettverket. I dette tilfellet kreves det at operativsystemet har minst et minimum av funksjonell støtte for flerbrukermodus.

I 1987 produserte en felles innsats mellom Microsoft og IBM det første multi-tasking-operativsystemet for personlige datamaskiner. Intel-prosessor 80286 som drar full nytte av OS/2s beskyttede modus. Dette systemet var godt gjennomtenkt. Den støttet forebyggende multitasking, virtuelt minne, et grafisk brukergrensesnitt og en virtuell maskin for å kjøre DOS-applikasjoner.

På 80-tallet ble hovedstandardene for kommunikasjonsteknologier for lokale nettverk tatt i bruk: i 1980 - Ethernet, i 1985 - Token Ring, på slutten av 80-tallet - FDDI. Dette gjorde det mulig å sikre kompatibiliteten til nettverksoperativsystemer på de lavere nivåene, samt å standardisere OS-grensesnittet med nettverksadapterdrivere.

1.6 Funksjoner i det nåværende utviklingsstadiet av operativsystemer

På 90-tallet ble nesten alle operativsystemer som inntar en fremtredende plass på markedet nettverk. Nettverksfunksjoner i dag er innebygd i kjernen av operativsystemet, og er dets integrerte del. Operativsystemer fikk midler til å jobbe med alle viktige teknologier i lokale nettverk, samt midler til å lage sammensatte nettverk.

Operativsystemer bruker metodene til å multiplekse flere protokollstabler, på grunn av hvilke datamaskiner kan støtte samtidig nettverksbygging med heterogene klienter og servere.

I andre halvdel av 1990-tallet økte alle operativsystemprodusenter kraftig støtten for Internett-verktøy. I tillegg til selve TCP / IP-stakken begynte pakken å inkludere verktøy som implementerer slike populære tjenester Internett som telnet, ftp, DNS og web.

Påvirkningen fra Internett ble også manifestert i det faktum at datamaskinen har blitt fra en ren dataenhet til et kommunikasjonsmiddel med avanserte datafunksjoner.

Spesiell oppmerksomhet gjennom det siste tiåret har vært viet til bedriftens nettverksoperativsystemer. Deres videre utvikling er en av de viktigste oppgavene i overskuelig fremtid.

Et bedriftsoperativsystem kjennetegnes ved dets evne til å fungere godt og stabilt i store nettverk, som er typiske for store bedrifter med filialer i dusinvis av byer og muligens i forskjellige land. Slike nettverk er organisk iboende høy grad heterogenitet av programvare og maskinvare, så bedriftens OS må sømløst samhandle med forskjellige typer operativsystemer og fungere på forskjellige maskinvareplattformer.

Opprettelse av en multifunksjonell skalerbar helpdesk er en strategisk retning for OS-utviklingen. En slik tjeneste er nødvendig for å gjøre Internett til en forutsigbar og kontrollert system, for eksempel for å sikre den nødvendige kvaliteten på tjenesten for brukertrafikk, støtte for store distribuerte applikasjoner og bygge et effektivt postsystem.

På nåværende stadium av utviklingen av operativsystemer på forgrunnen sikkerhetsutstyret er ute. Dette skyldes den økte verdien av informasjon som behandles av datamaskiner, samt det økte nivået av trusler som eksisterer når data overføres over nettverk, spesielt offentlige som internett. Mange operativsystemer har i dag avanserte informasjonssikkerhetsverktøy basert på datakryptering, autentisering og autorisasjon.

Moderne operativsystemer er iboende i multiplattform, det vil si muligheten til å jobbe på helt forskjellige typer datamaskiner. Mange operativsystemer har spesialutgaver for å støtte klyngearkitekturer for høy ytelse og feiltoleranse.

De siste årene har den langsiktige trenden med å øke bekvemmeligheten av menneskelig arbeid med en datamaskin blitt videreutviklet. Effektiviteten til menneskelig arbeid blir hovedfaktoren som bestemmer effektiviteten til datasystemet som helhet.

Bekvemmeligheten med interaktivt arbeid med en datamaskin øker stadig ved å inkludere avanserte grafiske grensesnitt i operativsystemet som bruker lyd- og videobilder sammen med grafikk. Brukergrensesnittet til operativsystemet blir mer og mer intelligent, styrer menneskelige handlinger i typiske situasjoner og tar rutinemessige beslutninger for ham.

2. Oppgave for MathCAD nr. 1 "Konstruksjon av todimensjonale grafer i MathCAD"

2.1 Redegjørelse av oppgaven

Lag to grafer. Vis en tabell med verdier for en funksjon gitt i en parametrisk form.

Tabell 1

Innledende data

2.2 Resultat - resulterende graf

Figur 1 - Oppgave 1

3. Oppgave for MathCAD nr. 2 "Løse SLAE"

3.1 Redegjørelse av oppgaven

Finn en SLAE-løsning:

1. bruke invers matrise;

2. bruke den innebygde lsolve-funksjonen;

3. ved å bruke Given-Find-databehandlingsenheten.

3.2 Resultat - gjennomført løsning

Figur 2 - Oppgave 2

4. Oppgave for MathCAD nr. 3 "Løsning av systemer av ikke-lineære ligninger"

4.1 Redegjørelse av oppgaven

Løs et system med ikke-lineære ligninger.

Konstruer grafer over funksjoner som definerer likningene til systemet.

Kontroller grafisk riktigheten av løsningen.

operativsystem nettverk mathcad

4.2 Resultat - gjennomført løsning

Figur 3 - Oppgave 3

5. Oppgave for MathCAD nr. 4 "Løsning av ikke-lineære ligninger"

5.1 Redegjørelse av oppgaven

Finn en løsning på en ikke-lineær ligning:

1. bruke den innebygde rotfunksjonen;

2. Med innebygd polyroots funksjon;

5.2 Resultat - gjennomført løsning

Figur 4 - Oppgave 4

Lignende dokumenter

    Funksjoner i det nåværende utviklingsstadiet av operativsystemer. Formål med operativsystemer, deres hovedtyper. Operativsystemer til minidatamaskiner. Prinsippet for drift av en matriseskriver, design og reproduksjon av vilkårlige tegn for dem.

    semesteroppgave, lagt til 23.06.2011

    Grunnleggende konsepter om operativsystemer. Typer moderne operativsystemer. Historien om utviklingen av operativsystemer til Windows-familien. Kjennetegn på operativsystemene til Windows-familien. Ny funksjonalitet til Windows 7-operativsystemet.

    semesteroppgave, lagt til 18.02.2012

    Evolusjon og klassifisering av OS. nettverksoperativsystemer. Minnehåndtering. Moderne konsepter og teknologier for utforming av operativsystemer. UNIX-familien av operativsystemer. Novell nettverksprodukter. Microsoft Network OS.

    kreativt arbeid, lagt til 11.07.2007

    Kjennetegn på essensen, formålet, funksjonene til operativsystemer. Karakteristiske trekk ved deres utvikling. Funksjoner av ressursstyringsalgoritmer. Moderne konsepter og teknologier for utforming av operativsystemer, krav til OS fra XXI århundre.

    semesteroppgave, lagt til 01.08.2011

    Historien om utvikling og forbedring av Microsoft-operativsystemer, deres egenskaper og kjennetegn fra systemer av andre merker, fordeler og ulemper. State of the art og Microsofts operativsystemfunksjoner og perspektiver.

    sammendrag, lagt til 22.11.2009

    Formål og hovedfunksjoner til operativsystemer. Laster programmer som skal kjøres inn i RAM. Service på alle I/O-operasjoner. Evolusjon, klassifisering av operativsystemer. Dannelse av lønn, sortering på avdeling.

    semesteroppgave, lagt til 17.03.2009

    Formål, klassifisering, sammensetning og formål med operativsystemkomponenter. Utvikling av komplekse informasjonssystemer, programvarepakker og individuelle applikasjoner. Kjennetegn på operativsystemene Windows, Linux, Android, Solaris, Symbian OS og Mac OS.

    semesteroppgave, lagt til 19.11.2014

    Konseptet og grunnleggende funksjoner til operativsystemer, deres typiske struktur og operasjonsprinsipp. En kort historie om dannelsen og utviklingen av Windows-operativsystemer, deres varianter og generelle egenskaper, grunnleggende krav til maskinvare.

    presentasjon, lagt til 07.12.2011

    Grunnleggende konsepter for operativsystemer. Synkronisering og kritiske områder. Signaler og interaksjon mellom prosesser. Minnehåndtering. Enhetsdrivere. Funksjoner av moderne operativsystemer. Sentral prosessor, klokke og tidtakerbrikker.

    opplæring, lagt til 24.01.2014

    Konseptet med operativsystemer, deres klassifisering og varianter, særtrekk og grunnleggende egenskaper. Innholdet i operativsystemene, rekkefølgen av interaksjon og formålet med deres komponenter. Organisasjon diskplass. Beskrivelse av moderne OS.

ALL-RUSSISK KORRESPONDENS FINANSIELL OG ØKONOMISK INSTITUTT

AVDELING FOR AUTOMATISK BEHANDLING AV ØKONOMISK INFORMASJON

KURSARBEID

ved disiplin « Informatikk »

"Formålet, utviklingen og klassifiseringen av operativsystemer"

Utfører:

Smertin Nikolai Olegovich

Spesialitetsledelse av organisasjonen

Gruppe 2 (TNF)

Rekordboknummer 10MMD46177 Head:

Khokhlova Olga Alexandrovna

Arkhangelsk - 2011

Introduksjon……………………………………………………………………………………… 3

1. Formål, utvikling og klassifisering av operativsystemer…………… 4

Introduksjon……………………………………………………………………………… 4

1.1. Formål med operativsystemer……………………………………….. 5

1.2. Klassifisering av operativsystemer……………………………………… 11

1.3. Utviklingen av operativsystemer………………………………………………. tretten

Konklusjon……………………………………………………………………………… 15

2. Praktisk del………………………………………………………………………………...16

2.1. Generelle kjennetegn ved oppgaven ………………………………………………….. 16

2.2. Beskrivelse av løsningsalgoritmen………………………………………………….. 18

Referanser………………………………………………………………………………21

Applikasjoner………………………………………………………………………. 22

Introduksjon

Velge et tema kontrollarbeid"Formålet, utviklingen og klassifiseringen av operativsystemer" skyldes det faktum at operativsystemer er en av de viktigste komponentene i moderne datamaskiner, og i mangel av av denne komponenten, den personlige datamaskinen slik vi kjenner den i dag blir til en vanlig skrivemaskin. Takket være de nyeste operativsystemene blir arbeid på en personlig datamaskin enkelt og tilgjengelig for alle.

Under kontrollarbeidet vil spørsmålene om utnevnelse av operativsystemer som et kompleks av sammenhengende systemprogrammer bli avslørt; definerer de grunnleggende kravene til operativsystemer; de funksjonene som er iboende i alle operativsystemer er uthevet; Hovedklassifiseringen utføres og spørsmålet om historien om opprettelsen av systemer avsløres.

I den praktiske delen av testen, på grunnlag av de første dataene, vil en lønnsliste for organisasjonen bli dannet. Under den praktiske delen vil regnearket MS Excel brukes, masteren pivottabeller og diagrammer, utforsket mulighetene til VIEW()-funksjonen.

Arbeid utført på Intel Pentium IV PC - 2,4 GHz/ 1024 MbRAM/ 80 GbHDD/ RW/DVD 52x32x52x/ FDD 1,44

Følgende programmer ble brukt til å utføre arbeidet:

1. Operativsystem - Microsoft Windows XP Professional

2. Tekstredigerer"MSWord - 2007"

3. Regnearkprosessor "MSExcel-2007"

1. Formål, utvikling og klassifisering av operasjonsstuer

systemer.

Plan

Introduksjon

1.1. Formål med operativsystemer

1.2. Klassifisering av operativsystemer

1.3. Utviklingen av operativsystemer

Konklusjon

Introduksjon

De første PC-ene hadde ikke operativsystem og så ut som spillkonsoller: når datamaskinen var koblet til nettverket, fikk prosessoren tilgang til ROM-en, som inneholdt et program for å støtte et enkelt programmeringsspråk. Ved å koble en båndopptaker til en datamaskin var det mulig å laste ned et tredjepartsprogram. Det nedlastede programmet deaktiverte ROM-en og deretter ble datamaskinen kontrollert av det nedlastede programmet.

Et alvorlig behov for operativsystemer oppsto da diskstasjoner begynte å bli koblet til personlige datamaskiner. En diskstasjon skiller seg fra en båndopptaker ved at den er en enhet med fri tilgang, mens en båndopptaker er en enhet med sekvensiell tilgang. Ethvert program kan lastes fra en magnetisk disk. Derfor har oppstartskommandoer blitt veldig komplekse. Det var nødvendig å angi spornummeret og nummeret til sektoren der tingen som skal lastes befinner seg. Utgangen er funnet. Det ble skrevet et program som oversetter navnene på programmer og filer til spor- og sektornummer. En person kunne laste ned det han trengte, bare ved å bruke navnene. Dette programmet ble diskoperativsystemet.

Senere utviklet operativsystemene seg parallelt med maskinvare og ble et sett med programmer som utfører to funksjoner: å gi brukeren bekvemmeligheten til en virtuell maskin og øke effektiviteten ved å bruke en datamaskin med rasjonell styring av ressursene. Ulike datamodeller bruker operativsystemer med forskjellige arkitekturer og muligheter. De krever forskjellige ressurser for å operere. De yter varierende grad av service for programmering og arbeid med ferdige programmer.

1.1 Formål med operativsystemer

Operativsystem er et kompleks av sammenhengende systemprogrammer, hvis formål er å organisere interaksjonen mellom en bruker og en datamaskin, administrere ressursene til et datasystem for å bruke dem mest effektivt. Operativsystemet fungerer som et bindeledd mellom maskinvaren på den ene siden og kjørbare programmer, samt brukeren på den andre siden. Operativsystemet kan kalles en programvareutvidelse av datamaskinens kontrollenhet. Operativsystemet skjuler komplekse unødvendige detaljer om maskinvareadministrasjon fra brukeren, og danner et lag mellom dem, som et resultat av at folk blir frigjort fra det svært tidkrevende arbeidet med å organisere interaksjon med maskinvare.

Hovedkravet til operativsystemet er den vanskelige oppgaven med å organisere effektiv deling av ressurser mellom flere prosesser, og denne kompleksiteten genereres hovedsakelig av den tilfeldige forekomsten av forespørsler om ressursforbruk. I et flerprogramsystem dannes køer av forespørsler fra samtidig kjøring av programmer til delte datamaskinressurser: prosessor, minneside, skriver, disk. Operativsystemet organiserer betjeningen av disse køene iht forskjellige algoritmer: førstemann til mølla, prioritert basert, round robin, etc.

Et moderne OS trenger vanligvis å støtte flerprogrambehandling, virtuelt minne, et grafisk brukergrensesnitt med flere vinduer og mange andre nødvendige funksjoner og tjenester. I tillegg til disse kravene til funksjonell fullstendighet, stilles det ikke mindre viktige driftskrav til operativsystemer:

· Utvidbarhet. Mens maskinvare blir foreldet i løpet av få år, kan levetiden til operativsystemer måles i flere tiår. Derfor endres operativsystemer alltid evolusjonært over tid, og disse endringene er mer betydningsfulle enn maskinvareendringer. Endringer i operativsystemet består vanligvis av å anskaffe nye funksjoner, for eksempel støtte for nye typer eksterne enheter eller nye nettverksteknologier. Hvis OS-koden er skrevet på en slik måte at tillegg og endringer kan gjøres uten å krenke systemets integritet, kalles et slikt OS utvidbart. Utvidbarhet oppnås gjennom den modulære strukturen til OS, der programmer bygges fra et sett med separate moduler som kun samhandler gjennom et funksjonelt grensesnitt;

portabilitet. Ideelt sett bør OS-koden være lett portabel fra én type prosessor til en annen type prosessor, og fra en maskinvareplattform (som ikke bare er forskjellig i type prosessor, men også i måten all maskinvare er organisert) av én type til en annen type maskinvareplattform. Bærbare operativsystemer har flere implementeringsalternativer for forskjellige plattformer, denne egenskapen til OS kalles også multiplattform;

· Kompatibilitet. Det er flere "langlivede" populære operativsystemer som det er utviklet et bredt spekter av applikasjoner for. Noen av dem er veldig populære. Derfor, for en bruker som av en eller annen grunn flytter fra ett OS til et annet, er det svært attraktivt å kunne kjøre en kjent applikasjon i det nye operativsystemet. Hvis et OS har midler til å kjøre applikasjonsprogrammer skrevet for andre operativsystemer, sies det å være kompatibelt med disse operativsystemene. Det er nødvendig å skille mellom kompatibilitet på nivå med binære koder og kompatibilitet på nivå kildekode. Konseptet med kompatibilitet inkluderer også støtte for brukergrensesnitt til andre operativsystemer;

· Pålitelighet og feiltoleranse. Systemet skal være beskyttet mot både interne og eksterne feil, feil og feil. Handlingene skal alltid være forutsigbare, og applikasjoner skal ikke kunne skade OS. Påliteligheten og feiltoleransen til et operativsystem bestemmes først og fremst av de arkitektoniske beslutningene som ligger til grunn for det, samt kvaliteten på implementeringen (feilsøkt kode). I tillegg er det viktig om operativsystemet inkluderer programvarestøtte for maskinvarefeiltoleranse, for eksempel diskmatriser eller kilder avbruddsfri strømforsyning;

· Sikkerhet. Et moderne OS må beskytte data og andre ressurser i et datasystem mot uautorisert tilgang. For at operativsystemet skal ha sikkerhetsegenskapen, må det i det minste inkludere midler for å fastslå lovligheten til brukere, gi lovlige brukere differensierte tilgangsrettigheter til ressurser, og også ha fiksering av alle hendelser "mistenkelige" for sikkerheten til system. Sikkerhetsegenskapen er spesielt viktig for nettverksoperativsystemer. I slike operativsystemer legges oppgaven med å beskytte data som sendes over nettverket til tilgangskontrolloppgaven;

· Opptreden. Operativsystemet må ha god ytelse og responstid, så langt maskinvareplattformen tillater det. OS-ytelsen påvirkes av mange faktorer, blant dem de viktigste er OS-arkitekturen, mangfoldet av funksjoner, kvaliteten på kodeprogrammering, muligheten til å kjøre OS på en høyytelses (multi-prosessor) plattform;

Med tanke på utviklingen av operativsystemer, vil vi først og fremst vurdere utviklingshistorien datasystemer, fordi maskinvare (maskinvare) og programvare (programvare) har utviklet seg sammen, og utøver gjensidig innflytelse på hverandre.

Fremveksten av nye tekniske evner førte til et gjennombrudd innen å lage praktiske, effektive og trygge programmer, og friske ideer på programområdet stimulerte søket etter nye tekniske løsninger. Det er disse kriteriene bekvemmelighet, effektivitet og sikkerhet- spilte rollen som faktorer for naturlig utvalg i utviklingen av datasystemer.

Det er fire perioder med utvikling av datateknologi og operativsystemer, vi vil vurdere dem mer detaljert.

1. Første periode (1945–1955)

Lampebiler. Ingen operativsystemer

Vi vil begynne studiet av utviklingen av datasystemer med bruken av elektroniske datasystemer (utenom historien til mekanisk og elektrisk mekaniske enheter). De første skrittene i utviklingen av elektroniske datamaskiner ble tatt på slutten av andre verdenskrig. På midten av 1940-tallet skapte de først rørdatabehandlingsenheter og prinsippet om et program lagret i en maskins minne dukket opp (John Von Neumann, juni 1945).

På den tiden deltok den samme gruppen mennesker i design, drift og programmering av datamaskinen. Det var mer et forskningsarbeid innen databehandling, snarere enn vanlig bruk av datamaskiner som et verktøy for å løse eventuelle praktiske problemer fra andre anvendte områder. Programmering ble utført utelukkende på maskinspråk. Om operativsystemer det var ikke snakk, alle oppgaver i organiseringen av beregningsprosessen ble løst manuelt av hver programmerer fra kontrollpanelet. Bare én bruker kunne være på konsollen.

Programmet ble lastet inn i maskinens minne i beste tilfelle fra en kortstokk med hullkort, og vanligvis ved hjelp av et bryterpanel. Datasystemet utførte bare én operasjon om gangen (input-output eller faktisk beregning). Programmene ble feilsøkt fra kontrollpanelet ved å studere tilstanden til maskinens minne og registre.

På slutten av denne perioden dukker den første systemprogramvaren opp: i 1951-1952. det er prototyper av de første kompilatorene med symbolske språk (Fortran etc.), og i 1954 utvikler Nat Rochester en assembler for IBM-701.

En betydelig del av tiden ble brukt på å forberede lanseringen av programmet, og selve programmene ble utført strengt sekvensielt. Denne driftsmodusen kalles sekvensiell behandling data .

Generelt er den første perioden preget av de ekstremt høye kostnadene for datasystemer, deres lave antall og lave brukseffektivitet.

2. Andre periode (1955–begynnelsen av 60-tallet)

Datamaskiner basert på transistorer. Batch operativsystemer

Siden midten av 50-tallet begynte neste periode i utviklingen av datateknologi, assosiert med fremveksten av en ny teknisk base - halvlederelementer. applikasjon transistorer i stedet for ofte utbrente elektroniske rør, førte det til en økning i påliteligheten til datamaskiner. Maskiner kan nå kjøre kontinuerlig lenge nok til å ha praktiske oppgaver. Strømforbruket til datamaskiner reduseres, kjølesystemene forbedres. Datamaskiner har blitt mindre. Kostnadene for drift og vedlikehold av datautstyr har gått ned. Bruken av datamaskiner av kommersielle firmaer begynte.

Samtidig er det en rask utvikling av algoritmiske språk ( LISP, COBOL, ALGOL-60, PL-1 etc.). vises første ekte kompilatorer, linkere, biblioteker av matematiske og tjenesteunderrutiner. Forenkler programmeringsprosessen. Det er ikke nødvendig å belaste de samme personene med hele prosessen med å utvikle og bruke datamaskiner. Det er i denne perioden det inndeling av personell i programmerere og operatører, vedlikeholdsspesialister og utviklere av datamaskiner.

Stor elektronisk regnemaskin BESM-6

Prosessen med å kjøre programmer er i endring. Nå bringer brukeren programmet med inndata i form av en kortstokk med hullkort og spesifiserer de nødvendige ressursene. Et slikt dekk kalles oppgaver. Operatøren laster oppgaven inn i maskinens minne og starter den for utførelse. Resultatet skrives ut på skriveren, og brukeren får det tilbake etter litt (ganske lang) tid.

Endring av de forespurte ressursene fører til at kjøringen av programmer blir suspendert, som et resultat prosessor ofte inaktiv. For å øke effektiviteten ved bruk av datamaskinen, begynner jobber med lignende ressurser å samles sammen, og skaper en jobbpakke.

Den første batchbehandlingssystemer , som ganske enkelt automatiserer lanseringen av det ene programmet fra en pakke etter den andre og dermed øker belastningsfaktoren prosessor.

Ved implementering batchbehandlingssystemer var utviklet formalisert jobbkontrollspråk, som programmereren fortalte systemet og operatøren med hvilket arbeid han ønsket å gjøre på datamaskinen.

batchbehandlingssystemer ble prototypen til moderne operativsystemer, de var de første systemprogrammene designet for å kontrollere dataprosessen

3. Tredje periode (tidlig på 60-tallet - 1980)

Datamaskiner basert på integrerte kretser. Første multitasking OS

Den neste viktige perioden i utviklingen av datamaskiner går tilbake til tidlig på 1960-tallet - 1980. På den tiden gjennomgikk den tekniske basen en overgang fra individuelle halvlederelementer av typen transistorer Til integrerte kretser. Datateknologi blir mer pålitelig og billigere. Kompleksiteten og antallet oppgaver som løses av datamaskiner vokser. Økt produktivitet prosessorer.

Å øke effektiviteten ved bruk av prosessortid hindres av den lave hastigheten til mekaniske input-output-enheter (en rask hullkortleser kan behandle 1200 hullkort per minutt, skrivere kan skrive ut opptil 600 linjer per minutt). I stedet for å lese en gruppe oppgaver fra hullkort direkte inn i minnet, begynner de å bruke den foreløpige innspillingen, først på magnetbånd og deretter på disk. Når inndata kreves under en jobb, leses den fra disk. På samme måte blir utdatainformasjonen først kopiert til systembuffer og skrevet til tape eller disk, og skrevet ut først etter at jobben er fullført.

I begynnelsen ble faktiske I/O-operasjoner utført off-line, det vil si ved bruk av andre, enklere, frittstående datamaskiner. I fremtiden begynner de å bli utført på samme datamaskin som utfører beregninger, det vil si i online-modus. Denne tilnærmingen kalles spole(kort for Samtidig perifer operasjon på nettet ) eller personsøkingspumpedata. Introduksjonen av pumpe-pumpe-teknikken i batch-systemer gjorde det mulig å kombinere den virkelige I/O-operasjonen til en jobb med utførelse av en annen jobb, men krevde utvikling apparater avbryter si i fra prosessor fullføring av disse operasjonene.

Magnetiske bånd var sekvensielle tilgangsenheter, det vil si at informasjon ble lest fra dem i den rekkefølgen den ble tatt opp. Utseendet til en magnetisk disk, for hvilken rekkefølgen på lesing av informasjon ikke er viktig, det vil si enheter med direkte tilgang, Førte til videre utvikling datasystemer. Ved behandling av en gruppe oppgaver på et magnetbånd, ble rekkefølgen oppgavene ble startet i bestemt av rekkefølgen de ble lagt inn i. Ved behandling av en gruppe jobber på en magnetisk disk dukket opp muligheten til å velge neste oppgave som skal utføres. Batchsystemer de begynner å planlegge oppgaver: avhengig av tilgjengeligheten til de forespurte ressursene, det haster med beregningene, etc. en eller annen oppgave er valgt for kontoen.

Ytterligere økt effektivitet ved bruk prosessor ble oppnådd gjennom multiprogrammering . Ideen bak multiprogrammering er denne: mens ett program gjør en I/O-operasjon, prosessor ikke inaktiv, som det skjedde i enkeltprogrammodus, men kjører et annet program. Når en I/O-operasjon avsluttes, prosessor går tilbake til kjøringen av det første programmet.

Denne ideen minner om oppførselen til en lærer og studenter på en eksamen. Mens en student (programmet) tenker på svaret på spørsmålet (I/O-operasjonen), lærer læreren ( prosessor) lytter til svaret til en annen elev (beregninger). Naturligvis krever denne situasjonen tilstedeværelse av flere studenter i rommet. På samme måte krever multiprogrammering å ha flere programmer i minnet samtidig. I dette tilfellet blir hvert program lastet inn i sin egen del av RAM, kalt en partisjon, og bør ikke påvirke kjøringen av et annet program. (Elevene sitter ved separate bord og spør ikke hverandre.)

Fremkomsten av multiprogrammering krever en reell revolusjon i strukturen til datasystemet. spesiell rolle spiller her maskinvarestøtte(mange maskinvareinnovasjoner dukket opp på forrige utviklingsstadium), de viktigste funksjonene er listet opp nedenfor.

  • Implementering av forsvarsmekanismer .
    Programmer skal ikke ha uavhengig tilgang til ressursallokering, noe som fører til privilegert og uprivilegert kommandoer. Privilegerte kommandoer, for eksempel I/O-kommandoer, kan bare utføres operativsystem. Hun sies å kjøre i privilegert modus. Overføring av kontroll fra applikasjonsprogram til OS ledsaget av et kontrollert regimeskifte. I tillegg er det en minnebeskyttelse som lar deg isolere konkurrerende brukerprogrammer fra hverandre, og OS- fra brukerprogrammer.
  • Tilgjengelighet avbryter .
    Utvendig avbryter gi beskjed OS at en asynkron hendelse har skjedd, for eksempel fullføring av en I/O-operasjon.
    Innvendig avbryter (nå ofte referert til som eksepsjonelle situasjoner) oppstår når gjennomføringen av et program har ført til en situasjon som krever intervensjon OS, for eksempel en deling med null eller et forsøk på sikkerhetsbrudd.
  • Utvikling av parallellitet i arkitektur .
    Direkte minnetilgang og organisering av I/O-kanaler gjorde det mulig å frigjøre sentralen prosessor fra rutineoperasjoner.

Ikke mindre viktig i organiseringen av multiprogrammering rolle operativsystem . Hun er ansvarlig for følgende operasjoner.

  • Grensesnittorganisering mellom søknadsprogrammet og OS med hjelp systemanrop.
  • Kø jobber i minnet og fremheving prosessor en av jobbene krevde bruksplanlegging prosessor.
  • Bytte fra en oppgave til en annen krever lagring av innholdet i registrene og datastrukturene som er nødvendige for å fullføre jobben, med andre ord konteksten for å sikre at beregningene fortsetter riktig.
  • Siden minne er en begrenset ressurs, trengs strategier Minnehåndtering, det vil si at det kreves for å effektivisere prosessene med å plassere, erstatte og hente informasjon fra minnet.
  • Organisering av informasjonslagring på eksterne medier i form av filer og gir tilgang til en bestemt fil kun til visse kategorier av brukere.
  • Siden programmer kan trenge å foreta autorisert utveksling av data, må de det gi kommunikasjonsmidler.
  • For korrekt datautveksling, tillate konfliktsituasjoner som oppstår når du arbeider med ulike ressurser og sørger for koordinering av programmene for deres handlinger, dvs. gi systemet synkroniseringsverktøy.

Multiprogrammeringssystemer har gjort det mulig for flere effektiv bruk systemressurser (f.eks. prosessor, minne, periferiutstyr), men de ble værende parti. Brukeren kunne ikke samhandle direkte med oppgaven og måtte forutse alt ved hjelp av kontrollkort. mulige situasjoner. Feilsøkingsprogrammer var fortsatt tidkrevende og krevde å undersøke flersidige utskrifter av innholdet i minne og registre, eller bruke feilsøkingsutskrift.

Utseende katodestråleskjermer og å revurdere mulighetene for å bruke tastaturer satte en løsning på dette problemet.

Den logiske utvidelsen av multiprogrammeringssystemer ble tidsdeling systemer, eller tidsdelingssystemer . I dem prosessor bytter mellom oppgaver ikke bare for varigheten av I/O-operasjoner, men ganske enkelt etter at en viss tid har gått. Disse bryterne skjer så ofte at brukere kan samhandle med programmene deres mens de kjører, dvs. interaktivt. Som et resultat blir det mulig for flere brukere å jobbe samtidig på samme datasystem. Hver bruker må ha minst ett program i minnet for dette.

For å redusere grensene for antall arbeidsbrukere ble ideen introdusert ufullstendig plassering av det kjørbare programmet i RAM. Hoveddelen av programmet er på disken, og fragmentet som må utføres for øyeblikket kan lastes inn i RAM, og det unødvendige kan lastes ned tilbake til disken. Dette implementeres vha virtuell minnemekanisme . Den største fordelen med denne mekanismen er opprettelsen av illusjonen av ubegrenset datamaskin-RAM.

V tidsdelingssystemer brukeren var i stand til effektivt å feilsøke programmet i interaktiv modus og skrive informasjon til disk uten å bruke hullkort, men direkte fra tastaturet. Fremkomsten av online-filer førte til behovet for å utvikle avanserte filsystemer.

Parallelt med den interne utviklingen av datasystemer, fant også deres eksterne evolusjon sted. Før denne perioden datakomplekser var generelt uforenlige. Alle hadde sitt eget operativsystem, kommandosystemet, etc. Som et resultat måtte et program som kjørte på én type maskin skrives om og feilsøkes på nytt for å kjøre på en annen type maskin. I begynnelsen av den tredje perioden, ideen om å skape familier av programvarekompatible maskiner opererer under det samme operativsystem.

Den første familien av programvarekompatible datamaskiner bygget på integrerte kretser, ble en serie maskiner IBM/360. Utviklet på begynnelsen av 60-tallet, var denne familien betydelig overlegen andre generasjons maskiner når det gjelder pris / ytelse. Den ble fulgt av en linje med PDP-datamaskiner, inkompatible med IBM-linjen, og PDP-11 ble den beste modellen i den.

Styrken til «én familie» var samtidig dens svakhet. Muligheter dette konseptet (tilstedeværelsen av alle modeller: fra minidatamaskiner til gigantiske maskiner; en overflod av ulike periferiutstyr; ulike miljøer; ulike brukere) ga opphav til en kompleks og tungvint operativsystem. Millioner av linjer med monteringsspråk, skrevet av tusenvis av programmerere, inneholdt mange feil, noe som forårsaket en kontinuerlig strøm av publikasjoner om dem og forsøk på å rette dem.

Bare i operativsystem OS/360 inneholdt over 1000 kjente feil. Imidlertid ideen om standardisering operativsystemer ble bredt introdusert i brukernes sinn og mottok deretter aktiv utvikling.

4. Fjerde periode (fra 1980 til i dag)

Personlige datamaskiner. Klassiske, nettverksbaserte og distribuerte systemer

Den neste perioden i utviklingen av datasystemer er forbundet med fremkomsten av stor integrerte kretser(BIS) . I løpet av disse årene var det en kraftig økning i graden av integrasjon og en nedgang i kostnadene for mikrokretser. Datamaskinen, som ikke skiller seg i arkitektur fra PDP-11, har blitt tilgjengelig for en person når det gjelder pris og brukervennlighet, og ikke for en avdeling ved et foretak eller universitet. Tiden med personlige datamaskiner har kommet.

Opprinnelig var personlige datamaskiner ment å brukes av én bruker i en enkeltprogrammodus, noe som førte til forringelse av arkitekturen til disse datamaskinene og deres operativsystemer(Spesielt behovet for å beskytte filer og minne, planlegge jobber osv. har forsvunnet).

Datamaskiner begynte å bli brukt ikke bare av spesialister, noe som krevde utvikling av "vennlig" programvare.

Imidlertid førte veksten i kompleksiteten og variasjonen av oppgaver løst på personlige datamaskiner, behovet for å forbedre påliteligheten til arbeidet deres til gjenopplivingen av nesten alle funksjoner som er karakteristiske for arkitekturen til store datasystemer.

På midten av 1980-tallet begynte nettverk av datamaskiner, inkludert personlige datamaskiner, å utvikle seg raskt. Nettverk eller distribuerte operativsystemer.

V nettverksoperativsystemer brukere kan få tilgang til ressursene til en annen nettverksdatamaskin, bare de skal vite om deres tilstedeværelse og kunne gjøre det. Hver maskin på nettverket kjører sin egen lokale operativsystem, annerledes enn operativsystem frakoblet datamaskin tilstedeværelsen av tilleggsverktøy (programvarestøtte for nettverksgrensesnittenheter og tilgang til eksterne ressurser), men disse tilleggene endrer ikke strukturen operativsystem.

distribuert system tvert imot ser utad ut som et vanlig autonomt system. Brukeren vet ikke og bør ikke vite hvor filene hans er lagret - på den lokale eller eksterne maskinen - og hvor programmene hans kjøres. Han vet kanskje ikke i det hele tatt om datamaskinen hans er koblet til nettverket. Intern struktur distribuert operativsystem har betydelige forskjeller fra autonome systemer.

I fremtiden, autonom OS vi vil kalle klassisk operativsystemer.

Etter å ha gjennomgått stadiene i utviklingen av datasystemer, kan vi skille seks hovedfunksjoner som fremførte det klassiske OS i utviklingsprosessen:

  • Jobbplanlegging og bruk prosessor.
  • Gi programmer med kommunikasjonsmidler og synkronisering.
  • Minnehåndtering.
  • Filsystemadministrasjon.
  • I/O-administrasjon.
  • Sikkerhet

Hver av funksjonene ovenfor er vanligvis implementert som et delsystem, som er en strukturell komponent OS. I hver operativsystem disse funksjonene ble selvfølgelig implementert på hver sin måte, i forskjellige volumer. De ble ikke opprinnelig tenkt som komponenter operativsystemer, men dukket opp i utviklingsprosessen, ettersom datasystemer ble mer praktiske, effektive og sikre.

Utviklingen av menneskeskapte datasystemer har tatt denne veien, men ingen har ennå bevist at dette er den eneste mulige måten for deres utvikling. OS eksisterer fordi deres eksistens for øyeblikket er en rimelig måte å bruke datasystemer på. Betraktning av de generelle prinsippene og algoritmene for implementering av funksjonene deres er innholdet i det meste av kurset vårt, som sekvensielt vil beskrive de listede undersystemene.

For å oppsummere temaet "Evolusjon av operativsystemer", foreslås en kort tabell, som angir de viktigste milepælene i utviklingen av datateknologi og operativsystemer.

Periode OS utvikling
før 1955 På 1800-tallet foreslo Charles Babage ideen om en datamaskin. Men datidens teknologier kunne ikke gi produksjon av presisjonsmekanikkdeler som var nødvendige for denne maskinen. Og hans "analytiske motor" var aldri i stand til å fungere. På midten av 40-tallet. XX århundre lampedatamaskiner dukket opp. Det var mer et forskningsarbeid innen datateknologi, og ikke bruk av datamaskiner som verktøy for å løse eventuelle praktiske problemer.

Programmeringen av slike datamaskiner ble utført utelukkende på maskinspråk, og alle oppgavene med å organisere dataprosessen ble løst manuelt av hver programmerer fra kontrollpanelet. Det var ingen systemprogramvare, bortsett fra biblioteker med matematiske og tjenesteunderrutiner.

1955 - 1965 Fremveksten av en ny teknisk base - halvlederelementer. Andregenerasjons datamaskiner ble mer pålitelige, nå kunne de jobbe kontinuerlig så lenge at de kunne bli betrodd utførelsen av virkelig praktisk viktige oppgaver. I løpet av disse årene, den første algoritmiske språk, og de første systemprogrammene - kompilatorer.

Kostnaden for prosessortid har økt, noe som krevde en reduksjon i uproduktiv tid brukt mellom programlanseringer. Den første batchbehandlingssystemer, som ganske enkelt automatiserte lanseringen av det ene programmet etter det andre, og dermed økte prosessorens belastningsfaktor. Batchbehandlingssystemer var prototypen til moderne operativsystemer, de ble de første systemprogrammene designet for å kontrollere dataprosessen.

1965 - begynnelsen av 70-tallet. I den tekniske basen var det en overgang fra individuelle halvlederelementer som transistorer til integrerte kretser. Denne perioden er også preget av opprettelsen av familier av programvarekompatible maskiner. Den første familien av programvarekompatible maskiner bygget på integrerte kretser var IBM/360-serien med maskiner.

Programvarekompatibilitet kreves og operativsystemkompatibilitet systemer. Slike operativsystemer måtte kjøre på store og små datasystemer med ulike perifere enheter, og gi et datasystem i det kommersielle feltet og innen vitenskapelig forskning. OSer som passet regningen var klumpete, komplekse og fulle av feil, noe som førte til en endeløs strøm av rettelser.

Et eksempel på et slikt OS er OS / 360 (IBM). I løpet av denne perioden ble nesten alle hovedmekanismene som er iboende i moderne OS implementert: multiprogrammering, multiprosessering, støtte for multi-terminal multi-user mode, virtuelt minne, tilgangskontroll, nettverk. Multiprogrammering er en metode for å organisere en dataprosess der flere programmer vekselvis kjøres på én prosessor. Multiprogrammering er implementert i batchbehandlingssystemer og i tidsdelingssystemer.

For å kunne jobbe med en datamaskin for et stort antall brukere, multiterminalsystemer, når hver bruker jobber på sin egen terminal. Multiterminalmodus har blitt brukt i både tidsdelingssystemer og batchbehandlingssystemer. Samtidig kunne både brukere og operatør lage sine egne oppgaver og administrere deres utførelse fra sin terminal. I multiprogrammeringsmodus lastes hvert program inn i sitt eget RAM-område, kalt seksjon.

En annen innovasjon i maskinene til tredje generasjon er spole(spooling) - en metode for å organisere en databehandlingsprosess, i samsvar med hvilken oppgaver ble lest fra hullkort til disk i det tempoet de dukket opp i datasenteret, og deretter, når neste oppgave ble fullført, en ny oppgave fra disken ble lastet inn i den frigjorte partisjonen. På dette tidspunktet ble operativsystemet en integrert del av datamaskiner, som overtok de fleste handlingene for å organisere dataprosessen.

70-1980-tallet Tidlig på 70-tallet. de første prototypene dukket opp nettverksoperativsystemer, som, i motsetning til multi-terminal operativsystemer, gjorde det mulig ikke bare å spre brukere, men også å organisere distribuert lagring og behandling av data mellom flere datamaskiner koblet sammen med elektriske tilkoblinger.

På midten av 70-tallet. minidatamaskiner ble utbredt: Nova, PDP-11, HP. Arkitekturen deres har blitt mye enklere, noe som har forenklet operativsystemene. Operativsystemet til minidatamaskiner begynte å bli spesialisert, for eksempel bare for sanntidskontroll (RT11 for PDP-11) eller bare for å opprettholde tidsdeling. Disse operativsystemene var ikke flerbruker.

1980 - 90-tallet Denne perioden i utviklingen av operativsystemer er assosiert med bruken av store integrerte kretser (LSI). I løpet av disse årene var det en kraftig økning i graden av integrasjon og en reduksjon i kostnadene for mikrokretser. Datamaskinen ble tilgjengelig for et individ, og epoken personlige datamaskiner. Funksjonelt var de ikke forskjellige fra PDP-11 minidatamaskiner, men prisen deres var betydelig lavere. Dette tillot nesten hver person, og ikke en avdeling eller institutt, å ha sin egen datamaskin.

Datamaskiner begynte å bli brukt av ikke-spesialister, noe som krevde "vennlighet" fra programvaren. Operativsystemmarkedet i disse årene ble dominert av to systemer: MS-DOS og Unix. MS-DOS-operativsystemet med ett program for én bruker ble mye brukt for datamaskiner basert på Intel 8088-mikroprosessoren, og deretter 80286, 80386 og 80486 mikroprosessorer.

I et helt tiår har dette operativsystemet blitt forbedret, som et resultat av at dets nye varianter begynte å dukke opp: SunOS, HP-UX, Irix, AIX. Den betydelige spredningen av personlige datamaskiner fungerte som en katalysator for den raske veksten av lokale nettverk . En annen viktig utvikling i dette tiåret var fremveksten av TCP / IP-protokollstabelen, fremveksten av Internett, standardiseringen av lokalnettverksteknologier og den mer intensive utviklingen av nettverksoperativsystemer (OS-Net av Nowell, OS / 2 av Microsoft og IBM).

Det nåværende stadiet av OS-utvikling På 1990-tallet ble nesten alle operativsystemer nettverksoperativsystemer, i stand til å jobbe med heterogene klienter og servere, og støtteverktøy for å jobbe med Internett. Det er spesialiserte nettverksoperativsystemer designet utelukkende for å utføre kommunikasjonsoppgaver, for eksempel, iOS-system Cisco Systems-firma som jobber med rutere.

En spesiell plass er gitt til bedriftsoperativsystemer, de får hovedrollen i utviklingen av operativsystemet i nær fremtid. Et slikt OS bør fungere stabilt i store nettverk av store bedrifter. Bedriftssystemer kjennetegnes av høy grad av skalerbarhet, nettverksstøtte, avanserte sikkerhetsverktøy og evnen til å jobbe i et heterogent miljø. Bedriftsoperativsystemer inkluderer for tiden Windows 2000, Windows NT og forskjellige Unix-systemer.

Utviklingen av operativsystemer består av følgende stadier:

  • Sekvensiell utførelse av oppgaver
  • Enkel batchbehandling
  • Multiprogrammering i batchsystemer
  • Tidsinndeling
  • Moderne OS

Den første fasen av OS-utvikling

Datamaskintid er mer verdifull enn menneskelig tid

  • Én bruker om gangen jobber direkte med konsollen
  • Det første "OS" - delte I/O-biblioteker
  • En enkel gruppebehandlingsmonitor – flytt brukeren bort fra datamaskinen. OS - et program for å laste og utføre brukeroppgaver og lagre resultatene
  • Datakanaler, avbrudd, samtidig I/O og beregninger
  • Minnebeskyttelse gir mulighet for multitasking: flere brukere deler samme system
  • OS må håndtere interaksjon, samtidighet
  • På midten av 60-tallet blir operativsystemene store og komplekse.
  • OS-feltet blir en viktig disiplin med egne prinsipper

Den andre fasen av OS-utvikling

Menneskelig tid er mer verdifull enn datamaskintid

  • Interaktiv tidsdeling: Praktisk filsystemer, problemer med responstid
  • Personlige datamaskiner: de er billige, så hver terminal er en PC
  • Nettverket lar deg dele og samhandle mellom maskiner
  • Innebygde enheter: Datamaskiner er plassert i Mobil, stereospillere, TV-er osv.
  • Hvor mye komplekse tidsdelingsalgoritmer trengs der.

Nåværende og fremtidig OS

Fremtiden ligger i den vitenskapelige utviklingen av OS

  • Veldig lite OS (for mobile enheter)
  • Veldig stort OS (datasenter, cloud computing)

Kjennetegn på gjeldende OS

  • Enorme millioner linjer med kildekode, 100-1000 årsverk med utvikling
  • Kompleks: asynkron, maskinvareavhengig, ytelsesorientert
  • Dårlig forstått

Retning av forskning

Det dukker stadig opp nye forskningsområder

  • Innebygde systemer (Apples iPod-spiller krevde utvikling av sitt eget enhetlige operativsystem)
  • Sensorsystemer (svært lavt strømforbruk, strenge minnekrav)
  • Peer-to-peer-nettverk
  • Trådløse nettverk
  • Skalerbare systemer, klyngesystemer

Gamle problemer krever nye løsninger

  • Utviklingen av smarttelefoner gjentar utviklingen av PC-en, som gjentok utviklingen av minidatamaskiner, og de, i sin tur, minirammer

Hei Habralyudi!
Ikke mange mennesker vet og ikke mange husker hvordan historien til dataprogramvare begynte - operativsystemer. Det var dette emnet skolegutten valgte for sitt MAN-ovsky-arbeid (MAN - et lite vitenskapsakademi). Det høres slik ut - utviklingen av operativsystemer. Jeg må si med en gang at mer enn 90% er fra Tyrnet, men langt fra å være gravd opp på de 2 første sidene av et Google-søk.

Introduksjon
Datateknologi Nylig har det blitt tatt et betydelig sprang fremover, og snart vil det være umulig å forestille seg livene våre uten hjelp fra en datamaskin. Men uten et operativsystem er en datamaskin bare et sett med brikker. Det er på grunnlag av operativsystemet at alle programmene vi bruker fungerer, det er fra operativsystemet at hastigheten og produktiviteten til arbeidet vårt på datamaskinen først og fremst vil avhenge.

Moderne datamaskin består av en eller flere prosessorer, RAM, disker, skriver, tastatur, mus, skjerm, nettverksgrensesnitt og diverse andre input/output-enheter. Resultatet er et ganske komplekst system. Hvis hver programmerer som lager en applikasjon trenger å forstå alle vanskelighetene ved hvordan alle disse enhetene fungerer, vil han ikke skrive en eneste linje med kode. Dessuten er det en svært vanskelig oppgave å administrere alle disse komponentene og deres optimale bruk. Av denne grunn er datamaskiner utstyrt med et spesielt lag med programvare kalt operativsystemet, hvis oppgave er å administrere brukerprogrammer, samt forvalte alle jernressurser.
Første OS
GM-HAA var det første operativsystemet for datamaskiner. Den ble opprettet i 1955 av Robert Patrick fra General Motors og Owen Mock fra North American Aviation. Den var basert på systemmonitor og kjørte på store maskiner. Hovedfunksjonen til GM-HAA er automatisk utførelse nytt program når det gamle programmet er ferdig.
Fremveksten av platået
I 1972 ble PLATO-systemet utviklet, som hadde en rekke nyvinninger, for eksempel et oransje plasmapanel. Den inkluderte minne- og rastergrafikkfunksjoner. PLATO plasmaskjermen støttet muligheten til raskt å tegne vektorlinjer Mange av innovasjonene introdusert av PLATO OS ble grunnlaget for utviklingen av andre datasystemer. Noen teknologier har for eksempel blitt lånt og forbedret av Apple.
Fremveksten av UNIX
Det første UNIX-systemet ble utviklet i 1969 ved AT&Ts Bell Labs-avdeling. et stort nummer av ulike UNIX-systemer. Noen kjennetegn ved UNIX-systemer inkluderer:
1) Bruke tekstfiler til å konfigurere og administrere systemet;
2) Utbredt bruk av verktøy lansert på kommandolinjen;
3) Interaksjon med brukeren gjennom en virtuell enhet - terminal;
4) Representasjon av fysisk og virtuelle enheter som filer.
Ideene bak UNIX hadde en enorm innvirkning på utviklingen av datamaskinoperativsystemer. UNIX-systemer er nå anerkjent som et av de mest historisk viktige operativsystemene. Dette operativsystemet populariserer ideen om et hierarkisk filsystem med vilkårlig hekkedybde.
linux
Linux ble opprettet i 1991 av Linus Torvalds, en finsk student. Det faktum at Linus umiddelbart etter opprettelsen av operativsystemet la ut kildekoden til operativsystemet sitt på Internett, var avgjørende for Linuxs fremtidige skjebne. Selv om Internett i 1991 ennå ikke var så utbredt som det er i dag, ble det hovedsakelig brukt av folk som har tilstrekkelig teknisk opplæring. Og helt fra starten fikk Torvalds flere interesserte anmeldelser med tilbud om å hjelpe til med utviklingen, noe Linus takket ja til, og etter seks måneder hundrevis ble hundretusenvis av frivillige med i utviklingen.På grunn av at Linux-kildekoder er distribuert fritt og offentlig har et stort antall uavhengige utviklere vært involvert i utviklingen av systemet helt fra starten.
MS-DOS
MS-DOS er Microsofts kommersielle operativsystem for IBM PC-kompatibel personlige datamaskiner. MS-DOS kjører i sanntid på x86-prosessoren. Kun ett program kan kjøres om gangen. MS-DOS ble designet for å tillate brukere å enkelt erstatte den innebygde tolken med tredjeparts kommandolinjetolker som 4DOS.
Windows, hvor uten det

I 1985 dukket den første versjonen av Windows opp, som ikke ble verdsatt av brukerne og ble ignorert. Kanskje fordi det bare kompletterte egenskapene til DOS, faktisk grafisk skall og et tillegg til MS-DOS-pakken.
Over tid forbedret Windows-systemet seg mer og mer, fullverdig grafikk dukket opp, fratok brukere av visjonen systemfiler, ble multitasking-barrieren overvunnet, som lar deg kjøre 2-3 programmer. I 1992, fra øyeblikket fremveksten av Windows 3.1, ifølge mange brukere og fagfolk, ble de nye funksjonene til operativsystemet verdsatt. Siden versjonen av Windos3.1 har operativsystemet fått 32-biters tilgjengelighet til harddisken.
I 1998, 25. juni, kom den nye OC Windows 98 inn på forbrukermarkedet. Fordelen sammenlignet med tidligere prøver var: full integrasjon med Internett, mer avansert grensesnittadministrasjon, ny prosessor Pentium II, AGP grafikkportal, USB-buss.
Parallelt med de forrige startet utviklingen av Windows XP-systemet, hvor det til slutt ble besluttet å forlate 16-bit i systemkjernen og bytte til 32-bit, med ny arkitektur og struktur. Av fordelene med det nye systemet bør følgende bemerkes: dette er det første av systemene med et fullt tilpassbart grensesnitt, introduksjonen av en intelligent startmeny. Også optimalt redesignet panel - PC-kontroll.
Fremveksten av et nytt system etter Widows XP Windows Vista ansett som mest dårlig alternativ etter alle tidligere OS-utgivelser. Det presenteres som en "dressprøve" før Windows 7. Det ser ut til at de gode egenskapene til det nye systemet burde ha interesserte brukere. Slike innovasjoner som innebygd søk, tredimensjonalt Aero-grensesnitt med vakre splash-skjermer, god beskyttelse - ingenting hjalp, alt ble gjort ekstremt mislykket, ifølge brukerne.
Windows 7 har endret seg lite fra Vista annet enn et nytt grensesnitt. Windows-alternativer 7 utgitt 5: Starter Edition, Home Basic, Home Premium, Professional, Ultimate.
Windows 8, i motsetning til forgjengerne, Windows 7 og Windows XP, bruker et nytt grensesnitt kalt Modern(Metro). Det er også et skrivebord i systemet, men allerede i form av en egen applikasjon.

Mobil OS
Nå tiltrekkes den økende interessen til brukere av smarttelefoner på forskjellige operativsystemer: Windows telefon Boda, IOS. De mest populære av dem er IOS og AndroidOS.
iOS
IOS er et mobilt operativsystem basert på Linux-kjernen og utviklet og produsert av det amerikanske selskapet Apple. Den ble opprinnelig utgitt i 2007 for iPhone og iPod Touch. Nå er den installert på alle Apple-enheter. Innovasjoner som Safari-mobilnettleseren, visuell talepost, har det virtuelle tastaturet gjort IOS til et av de mest populære systemene for smarttelefoner.
android
Android er et system som utvikler seg mest dynamisk, designet for smarttelefoner (opprinnelig for kommunikatorer (iPhone og dens berøringsskjerm endret Googles mening)). Det er en forenklet versjon av lignende Windows- og Linux-systemer som brukes på stasjonære PC-er og bærbare datamaskiner, fokusert på berøringsskjermen. Android-plattformen består av et operativsystem, et grensesnitt, grensesnittprogramvare og kraftige applikasjoner.
Google Chrome OS (sky OS)
Chrome OS er posisjonert som et operativsystem for enheter som spenner fra små netbook-er til stasjonære systemer i full størrelse og støtter både x86- og ARM-prosessorarkitekturer.
Det nye Google Chrome OS er åpen kildekode, basert på en optimert Linux-kjerne og drevet av Chrome-nettleseren. Hovedfunksjonen vil være dominansen til nettapplikasjoner over normale funksjoner OS. Nøkkelrolle er gitt til nettleseren.
Strategien med å lage et nytt produkt innebærer en arkitektur som er lite krevende for maskinvareressursene til en personlig datamaskin som brukes til å få tilgang til Internett.
Alle applikasjoner som systemet lanserer er webtjenester. Faktisk utføres alle aktivitetene som foregår på datamaskinen på Internett - det er ikke nødvendig å installere noen offline-applikasjoner. I denne forbindelse krever arbeid i Chrome OS ikke at datamaskinen har kraftige ressurser, fordi alle prosesser ikke startes på selve datamaskinen, men på serverne til de tilsvarende tjenestene.
spåkoner
Brukerens operativsystem blir noe sånt som en nettleser installert på metall. Det moderne klassiske grensesnittet (designet på Xerox PARC og utviklet av Apple for nesten 30 år siden) vil være en saga blott. Mange moderne bestanddeler OS vil rett og slett bli unødvendig, andre vil forlate brukeren og bli til API-tjenester for programmerere. Hovedoppgaven til OS vil være å gi muligheten til å lansere klientdelen av skytjenester. Og fordelene som Microsoft har i dagens OS-verden vil bli kraftig redusert. De må komme opp med nye måter å binde brukere og programmerere til seg selv i et nytt miljø, mer konkurransedyktig enn det nåværende.
Mye avhenger av beslutninger, suksesser og fiaskoer til store programvareselskaper som Microsoft, Google. I motsetning til utviklingen av programvare som vi så på 90- og 2000-tallet, avhenger den nye utviklingen mindre og mindre av maskinvareprodusenter og mer avr.

Ikke skjenn ut for krumning, hvis noe er rettet, ikke banne på forfatteren.

Stikkord: operativsystemer, IT-historie

Introduksjon

1. OS-evolusjon

1.1 Første periode (1945 -1955)

1.2 Andre periode (1955–1965)

1.3 Tredje periode (1965–1980)

1.4 Fjerde periode (1980–i dag)

2. OS-klassifisering

2.1 Funksjoner ved ressursstyringsalgoritmer

2.2 Funksjoner for maskinvareplattformer

2.3 Funksjoner ved bruksområder

2.4 Funksjoner ved byggemetoder

3. Moderne konsepter og teknologier for utforming av operativsystemer, krav til OS av XXI århundre

Konklusjon

Liste over brukt litteratur

Introduksjon

Historien til enhver gren av vitenskap eller teknologi tillater ikke bare å tilfredsstille naturlig nysgjerrighet, men også å bedre forstå essensen av hovedprestasjonene til denne grenen, å realisere de eksisterende trendene og korrekt vurdere utsiktene til visse utviklingsområder. I nesten et halvt århundre av sin eksistens har operativsystemene kommet langt, fulle av mange viktige hendelser. Utviklingen av operativsystemer ble sterkt påvirket av fremskritt med å forbedre elementbasen og datamaskinvare, så mange stadier av OS-utvikling er nært knyttet til fremveksten av nye typer maskinvareplattformer, for eksempel minidatamaskiner eller personlige datamaskiner. Operativsystemer har gjennomgått en stor utvikling i forbindelse med den nye rollen til datamaskiner i lokale og globale nettverk. Den viktigste faktoren i utviklingen av operativsystemet var Internett. Ettersom dette nettverket får egenskapene til en universell massekommunikasjon, operativsystemer blir mer og mer enkle og enkle å bruke, inkluderer avanserte verktøy for støtte for multimedieinformasjon, og er utstyrt med pålitelige sikkerhetsverktøy.

Formålet med dette kursarbeidet er - beskrivelse og analyse av utviklingen av operativsystemer.

Målet nås gjennom følgende oppgaver:

Vurder det historiske aspektet ved fremveksten av operativsystemer;

Identifiser og vurdere stadiene i utviklingen av operativsystemer.

Det skal bemerkes at faktum ikke var tilstrekkelig dekket i litteraturen, noe som gjorde det vanskelig å studere det.

I løpet av studien ble det utført en kort analyse av slike kilder som materiale fra nettstedet http://www.microsoft.com/rus, materiale fra Windows NT Magazine og andre.

Arbeidet består av tre kapitler: innledning, konklusjon og referanseliste.

1 . OS evolusjon

1.1 Første periode (1945 -1955)

Det er kjent at datamaskinen ble oppfunnet av den engelske matematikeren Charles Babage på slutten av det attende århundre. Hans "analytiske motor" kunne egentlig ikke fungere, fordi datidens teknologier ikke oppfylte kravene til fremstilling av presisjonsmekaniske deler som var nødvendige for datateknologi. Det er også kjent at denne datamaskinen ikke hadde et operativsystem.

Noen fremskritt i etableringen av digitale datamaskiner skjedde etter andre verdenskrig. På midten av 40-tallet ble de første rørdatabehandlingsenhetene laget. På den tiden deltok den samme gruppen mennesker i design, drift og programmering av datamaskinen. Det var mer et forskningsarbeid innen datateknologi, og ikke bruk av datamaskiner som verktøy for å løse eventuelle praktiske problemer fra andre anvendte områder. Programmering ble utført utelukkende på maskinspråk. Det var ikke snakk om operativsystemer, alle oppgavene med å organisere dataprosessen ble løst manuelt av hver programmerer fra kontrollpanelet. Det var ingen annen systemprogramvare enn biblioteker med matematikk og verktøyrutiner.

1.2 Andre periode (1955–1965)

Siden midten av 50-tallet begynte en ny periode i utviklingen av datateknologi, assosiert med fremveksten av en ny teknisk base - halvlederelementer. Andregenerasjons datamaskiner ble mer pålitelige, nå kunne de jobbe kontinuerlig så lenge at de kunne bli betrodd utførelsen av virkelig praktisk viktige oppgaver. Det var i denne perioden inndelingen av personell i programmerere og operatører, operatører og utviklere av datamaskiner fant sted.

I løpet av disse årene dukket de første algoritmiske språkene opp, og følgelig de første systemprogrammene - kompilatorer. Kostnaden for prosessortid har økt, noe som krevde en reduksjon i uproduktiv tid brukt mellom programlanseringer. De første batchbehandlingssystemene dukket opp som ganske enkelt automatiserte lanseringen av det ene programmet etter det andre og dermed økte prosessorutnyttelsen. Batchbehandlingssystemer var prototypen til moderne operativsystemer, de ble de første systemprogrammene designet for å kontrollere dataprosessen. Under implementeringen av batchbehandlingssystemer ble det utviklet et formalisert jobbkontrollspråk, ved hjelp av hvilket programmereren fortalte systemet og operatøren hvilket arbeid han ønsket å gjøre på datamaskinen. Et sett med flere oppgaver, vanligvis i form av en kortstokk med hullkort, kalles en oppgavepakke.

1.3 Tredje periode (1965–1980)

Den neste viktige perioden i utviklingen av datamaskiner refererer til årene 1965-1980. På denne tiden var det i den tekniske basen en overgang fra individuelle halvlederelementer som transistorer til integrerte kretser, noe som ga mye større muligheter til den nye, tredje generasjonen datamaskiner.

Denne perioden er også preget av opprettelsen av familier av programvarekompatible maskiner. Den første familien av programvarekompatible maskiner bygget på integrerte kretser var IBM/360-serien med maskiner. Denne familien ble bygget på begynnelsen av 60-tallet og var betydelig overlegen andre generasjons maskiner når det gjelder pris / ytelse. Snart ble ideen om programvarekompatible maskiner generelt akseptert.

Programvarekompatibilitet krevde også kompatibilitet av operativsystemer. Slike operativsystemer vil trenge å kjøre på både store og små datasystemer, med et stort og et lite antall forskjellige perifere enheter, i det kommersielle feltet og innen vitenskapelig forskning. Operativsystemer bygget med den hensikt å tilfredsstille alle disse motstridende kravene har vist seg å være ekstremt komplekse monstre. De besto av mange millioner monteringslinjer, skrevet av tusenvis av programmerere, og inneholdt tusenvis av feil, som forårsaket en endeløs strøm av rettelser. Hver nye versjon av operativsystemet fikset noen feil og introduserte andre.

Til tross for sin enorme størrelse og mange problemer, tilfredsstilte OS/360 og andre tredjegenerasjons maskinoperativsystemer som det de fleste forbrukerkrav. Den viktigste prestasjonen til OS denne generasjonen var implementeringen av multiprogrammering. Multiprogrammering er en metode for å organisere en dataprosess der flere programmer vekselvis kjøres på én prosessor. Mens ett program utfører en I/O-operasjon, er ikke prosessoren inaktiv, slik den var da programmene ble utført sekvensielt (enkeltprogrammodus), men kjører et annet program (flerprogrammodus). I dette tilfellet blir hvert program lastet inn i sin egen del av RAM, kalt en partisjon.

En annen innovasjon er spooling. Spooling på den tiden ble definert som en metode for å organisere en dataprosess, i samsvar med hvilke oppgaver ble lest fra hullkort til disk i det tempoet de dukket opp i datasenteret, og deretter, når neste oppgave ble fullført, en ny oppgave fra disken ble lastet inn i den frigjorte partisjonen.

Sammen med flerprogramimplementeringen av batchbehandlingssystemer dukket det opp en ny type OS - tidsdelingssystemer. Multiprogrammeringsvarianten som brukes i tidsdelingssystemer er rettet mot å skape for hver enkelt bruker en illusjon av enestående bruk av en datamaskin.

1.4 Fjerde periode (1980 – nåtid)

Den neste perioden i utviklingen av operativsystemer er assosiert med bruken av store integrerte kretser (LSI). I løpet av disse årene var det en kraftig økning i graden av integrasjon og en reduksjon i kostnadene for mikrokretser. Datamaskinen ble tilgjengelig for et individ, og epoken med personlige datamaskiner har kommet. Fra et arkitektursynspunkt var personlige datamaskiner ikke forskjellig fra klassen av minidatamaskiner som PDP-11, men prisen deres var betydelig forskjellig. Hvis minidatamaskinen gjorde det mulig for en avdeling i en bedrift eller et universitet å ha sin egen datamaskin, så gjorde den personlige datamaskinen det mulig for en enkeltperson.

Datamaskiner ble mye brukt av ikke-spesialister, noe som krevde utvikling av "vennlig" programvare, dette satte en stopper for kasten av programmerere.

Operativsystemmarkedet ble dominert av to systemer: MS-DOS og UNIX. MS-DOS-operativsystemet med ett program for én bruker ble mye brukt for datamaskiner basert på Intel 8088-mikroprosessoren, og deretter 80286, 80386 og 80486 mikroprosessorer.

På midten av 80-tallet begynte nettverk av personlige datamaskiner som kjører under nettverk eller distribuerte operativsystemer å utvikle seg raskt.

I et nettverks-OS må brukere være klar over tilstedeværelsen av andre datamaskiner og må logge på en annen datamaskin for å bruke ressursene, først og fremst filer. Hver maskin på nettverket kjører sitt eget lokale operativsystem, som skiller seg fra operativsystemet til en frittstående datamaskin ved at den har tilleggsfunksjoner som gjør at datamaskinen kan operere på nettverket. Et nettverks-OS har ingen grunnleggende forskjeller fra operativsystemet til en datamaskin med én prosessor. Den inneholder nødvendigvis programvarestøtte for nettverksgrensesnittenheter (driver nettverksadapter), samt verktøy for ekstern pålogging på andre datamaskiner på nettverket og verktøy for tilgang til eksterne filer, men disse tilleggene endrer ikke strukturen til selve operativsystemet nevneverdig.

2. OS-klassifisering

Operativsystemer kan variere i implementeringen av interne algoritmer for å administrere de viktigste datamaskinressursene (prosessorer, minne, enheter), funksjonene til designmetodene som brukes, typene maskinvareplattformer, bruksområder og mange andre egenskaper.

Nedenfor er en klassifisering av OS i henhold til flere av de mest grunnleggende funksjonene.

2.1 Funksjoner av ressursstyringsalgoritmer

Effektiviteten til hele nettverks-OS som helhet avhenger i stor grad av effektiviteten til algoritmene for å administrere lokale datamaskinressurser. Derfor, når du karakteriserer et nettverks-OS, er de viktigste funksjonene i implementeringen av OS-funksjoner for å administrere prosessorer, minne og eksterne enheter til en autonom datamaskin ofte gitt. Så, for eksempel, avhengig av funksjonene til den brukte prosessorkontrollalgoritmen, er operativsystemer delt inn i multitasking og single-tasking, multi-user og single-user, systemer som støtter flertrådsbehandling og ikke støtter det, multi- prosessor- og enkeltprosessorsystemer.

Multitasking-støtte. I henhold til antall samtidig utførte oppgaver, kan operativsystemer deles inn i to klasser:

enkeltoppgave (f.eks. MS-DOS, MSX) og

multitasking (OC EC, OS/2, UNIX, Windows 95).

Operativsystemer med enkeltoppgaver utfører i utgangspunktet funksjonen å gi brukeren en virtuell maskin, noe som gjør det enklere og mer praktisk for brukeren å samhandle med datamaskinen. Operativsystemer med én oppgave inkluderer administrasjonsverktøy for eksterne enheter, filbehandlingsverktøy og brukerkommunikasjonsverktøy.

Multitasking-operativsystemer, i tillegg til funksjonene ovenfor, administrerer deling av delte ressurser som prosessor, RAM, filer og eksterne enheter.

Støtte for flerspillermodus. I henhold til antall samtidige brukere er operativsystemene delt inn i:

enkeltbruker (MS-DOS, Windows 3.x, tidlige versjoner av OS/2);

flerbruker (UNIX, Windows NT).

Hovedforskjellen mellom flerbrukersystemer og enkeltbrukersystemer er tilgjengeligheten av midler for å beskytte hver brukers informasjon mot uautorisert tilgang fra andre brukere. Det bør bemerkes at ikke alle multitasking-systemer er multi-user, og ikke alle single-user OS er single-tasking.

Forebyggende og ikke-forebyggende multitasking. Den viktigste delte ressursen er prosessortid. Måten prosessortiden fordeles på mellom flere prosesser (eller tråder) som eksisterer samtidig i systemet, bestemmer i stor grad spesifikasjonene til operativsystemet. Blant de mange eksisterende alternativene for implementering av multitasking, kan to grupper av algoritmer skilles:

ikke-forebyggende multitasking (NetWare, Windows 3.x);

forebyggende multitasking (Windows NT, OS/2, UNIX).

Hovedforskjellen mellom forebyggende og ikke-forebyggende multitasking er graden av sentralisering av prosessplanleggingsmekanismen. I det første tilfellet er prosessplanleggingsmekanismen helt konsentrert i operativsystemet, og i det andre tilfellet er den fordelt mellom systemet og applikasjonsprogrammene. Ved ikke-preemptive multitasking kjører den aktive prosessen til den på eget initiativ gir kontroll til operativsystemet slik at det velger en annen prosess klar til å kjøre fra køen. Ved forebyggende multitasking tas beslutningen om å bytte prosessor fra én prosess til en annen av operativsystemet, ikke av selve den aktive prosessen.

Multithreading-støtte. En viktig egenskap ved operativsystemer er evnen til å parallellisere beregninger innenfor en enkelt oppgave. Et flertråds OS deler prosessortiden ikke mellom oppgaver, men mellom deres separate grener (tråder).

Multiprosessering. Annen viktig eiendom OS er fraværet eller tilstedeværelsen i det av midler for å støtte multiprosessering - multiprosessering. Multiprosessering fører til komplikasjonen av alle ressursstyringsalgoritmer.

I dag er det i ferd med å bli generelt akseptert å introdusere støttefunksjoner for multiprosessering i operativsystemet. Slike funksjoner er tilgjengelige i Suns Solaris 2.x, Santa Crus Operations' Open Server 3.x, IBMs OS/2, Microsofts Windows NT og Novells NetWare 4.1.

Multiprosessoroperativsystemer kan klassifiseres i henhold til måten databehandlingsprosessen er organisert i et system med multiprosessorarkitektur: asymmetriske operativsystemer og symmetriske operativsystemer. Et asymmetrisk OS kjører utelukkende på bare én av systemets prosessorer, og fordeler påførte oppgaver på tvers av resten av prosessorene. Et symmetrisk OS er fullstendig desentralisert og bruker hele utvalget av prosessorer, og deler dem mellom system- og applikasjonsoppgaver.

Ovenfor ble OS-karakteristikker knyttet til administrasjon av bare én type ressurs - prosessoren vurdert. En viktig innflytelse på utseendet til operativsystemet som helhet, på muligheten for bruk i et bestemt område, utøves også av funksjonene til andre undersystemer for å administrere lokale ressurser - undersystemer for å administrere minne, filer og input-output enheter.

Spesifisiteten til operativsystemet kommer også til uttrykk i måten det implementerer nettverksfunksjoner på: gjenkjenne og omdirigere forespørsler til eksterne ressurser til nettverket, sende meldinger over nettverket, utføre eksterne forespørsler. Når du implementerer nettverksfunksjoner, oppstår et sett med oppgaver knyttet til den distribuerte naturen til datalagring og -behandling på nettverket: vedlikehold av referanseinformasjon om alle ressurser og servere som er tilgjengelige på nettverket, adressering av samspillende prosesser, sikring av tilgangstransparens, datareplikering, koordinering av kopier , opprettholde datasikkerhet.

2. 2 Funksjoner av maskinvareplattformer

Egenskapene til operativsystemet påvirkes direkte av maskinvaren det er orientert mot. Etter type utstyr skilles operativsystemer til personlige datamaskiner, minidatamaskiner, stormaskiner, klynger og datanettverk. Blant de listede typene datamaskiner kan det være både enprosessorvarianter og flerprosessorvarianter. I alle fall gjenspeiles spesifikasjonene til maskinvare, som regel, i spesifikasjonene til operativsystemer.

Det er klart at operativsystemet til en stor maskin er mer komplekst og funksjonelt enn det til en personlig datamaskin. Derfor, i operativsystemet til store maskiner, er funksjonene for å planlegge flyten av oppgaver som utføres åpenbart implementert ved bruk av komplekse prioriterte disipliner og krever mer datakraft enn i operativsystemet til personlige datamaskiner. Det samme gjelder for andre funksjoner.

Nettverks-operativsystemet inneholder midler for å overføre meldinger mellom datamaskiner over kommunikasjonslinjer, noe som er helt unødvendig i et frittstående operativsystem. Basert på disse meldingene opprettholder nettverks-OS fordelingen av dataressurser mellom eksterne brukere koblet til nettverket. For å støtte meldingsoverføringsfunksjoner inneholder nettverksoperativsystemer spesielle programvarekomponenter som implementerer populære kommunikasjonsprotokoller som IP, IPX, Ethernet og andre.

Multiprosessorsystemer krever en spesiell organisasjon fra operativsystemet, ved hjelp av hvilken selve operativsystemet, så vel som applikasjonene det støtter, kan kjøres parallelt av de individuelle prosessorene i systemet. Parallelt arbeid separate deler av operativsystemet oppretter ekstra problemer for OS-utviklere, siden det i dette tilfellet er mye vanskeligere å sikre konsekvent tilgang til individuelle prosesser til vanlige systemtabeller, for å eliminere effekten av løp og andre uønskede konsekvenser av asynkron utførelse av arbeid.

Andre krav gjelder for klyngeoperativsystemer. Cluster - en løst koblet samling av flere datasystemer som jobber sammen for å utføre vanlige applikasjoner, og presenteres for brukeren enhetlig system. Sammen med spesiell maskinvare krever funksjonen til klyngesystemer også programvarestøtte fra operativsystemet, som i utgangspunktet koker ned til å synkronisere tilgang til delte ressurser, oppdage feil og dynamisk rekonfigurere systemet. En av de første utviklingene innen klyngeteknologi var Digital Equipments løsninger basert på VAX-datamaskiner. Selskapet inngikk nylig en avtale med Microsoft om å utvikle en klyngeteknologi som bruker Windows NT. Flere selskaper tilbyr klynger basert på UNIX-maskiner.

Sammen med et OS fokusert på helt bestemt type maskinvareplattform, finnes det operativsystemer spesialdesignet slik at de enkelt kan overføres fra en type datamaskin til en annen type datamaskin, det såkalte mobile OS. Det mest slående eksemplet på et slikt operativsystem er det populære UNIX-systemet. I disse systemene er maskinvareavhengige steder nøye lokalisert, slik at når et system porteres til en ny plattform, blir bare de overskrevet. Et verktøy for å gjøre det lettere å portere resten av operativsystemet er å skrive det på et maskinuavhengig språk, for eksempel C, som ble utviklet for programmering av operativsystemer.

2. 3 Funksjoner ved bruksområder

Multitasking-operativsystemer er delt inn i tre typer i henhold til effektivitetskriteriene som brukes i utviklingen:

batchbehandlingssystemer (f.eks. OC EC),

tidsdelingssystemer (UNIX, VMS),

sanntidssystemer (QNX, RT/11).

Batch-behandlingssystemer var ment for å løse problemer av hovedsakelig beregningsmessig karakter som ikke krever raske resultater. Hovedmålet og kriteriet for effektiviteten til batchbehandlingssystemer er maksimal gjennomstrømning, det vil si løsningen av maksimalt antall oppgaver per tidsenhet. For å oppnå dette målet bruker batchbehandlingssystemer følgende operasjonsskjema: i begynnelsen av arbeidet dannes en gruppe oppgaver, hver oppgave inneholder et krav til systemressurser; fra denne gruppen av oppgaver dannes en multiprogramblanding, det vil si et sett med samtidig utførte oppgaver. For samtidig utførelse velges oppgaver som har ulike ressurskrav, slik at det sikres en balansert belastning av alle enheter på datamaskinen; så, for eksempel, i en flerprogramblanding, samtidig tilstedeværelse av dataoppgaver og I/O-intensive oppgaver. Dermed avhenger valget av en ny oppgave fra en gruppe oppgaver av den interne situasjonen i systemet, det vil si at en "lønnsom" oppgave velges. Derfor er det i slike operativsystemer umulig å garantere utførelsen av en bestemt oppgave innen en viss tidsperiode. I batchbehandlingssystemer skjer veksling av prosessoren fra en oppgave til en annen bare hvis den aktive oppgaven i seg selv gir opp prosessoren, for eksempel på grunn av behovet for å utføre en I/O-operasjon. Derfor kan en oppgave ta lang tid på prosessoren, noe som gjør det umulig å utføre interaktive oppgaver. Dermed koker interaksjonen mellom brukeren og datamaskinen som batchbehandlingssystemet er installert på det faktum at han tar med oppgaven, gir den til dispatcher-operatøren, og på slutten av dagen, etter å ha fullført hele batchen av oppgaver, får han resultatet. Åpenbart reduserer denne ordren effektiviteten til brukerens arbeid.

Tidsdelingssystemer er designet for å korrigere hovedulempen med batchbehandlingssystemer - isolasjonen av brukerprogrammereren fra prosessen med å utføre oppgavene sine. Hver bruker av tidsdelingssystemet er utstyrt med en terminal hvorfra han kan føre en dialog med programmet sitt. Siden bare en del av prosessortiden er allokert til hver oppgave i tidsdelingssystemer, tar ingen oppgave prosessoren lenge, og responstiden er akseptabel. Hvis kvantumet er valgt lite nok, får alle brukere som jobber på samme maskin samtidig inntrykk av at hver av dem er den eneste brukeren av maskinen. Det er klart at tidsdelingssystemer har mindre gjennomstrømming enn batchbehandlingssystemer, siden hver oppgave som startes av brukeren aksepteres for utførelse, og ikke en som er "gunstig" for systemet, og i tillegg er det en overhead på datakraft for hyppigere bytting av prosessor fra oppgave til oppgave. Kriteriet for effektiviteten til tidsdelingssystemer er ikke maksimal gjennomstrømning, men brukeropplevelsens bekvemmelighet og effektivitet.

Sanntidssystemer brukes til å kontrollere ulike tekniske objekter, som for eksempel et maskinverktøy, en satellitt, et vitenskapelig eksperimentelt anlegg, eller teknologiske prosesser, som en galvanisk linje, en masovnsprosess, etc. I alle disse tilfellene er det en maksimal tillatt tid hvor et eller annet program som kontrollerer objektet må utføres, ellers kan det oppstå en ulykke: satellitten vil gå ut av synlighetssonen, de eksperimentelle dataene som kommer fra sensorene vil være tapt, vil tykkelsen på det galvaniske belegget ikke samsvare med normen. Effektivitetskriteriet for sanntidssystemer er således deres evne til å tåle på forhånd forhåndsinnstilte intervaller tiden mellom lansering av programmet og mottak av resultatet (kontrollhandling). Denne tiden kalles reaksjonstiden til systemet, og den tilsvarende egenskapen til systemet kalles reaktivitet. For disse systemene er en multiprogramblanding et fast sett med forhåndsutviklede programmer, og valget av et program for utførelse utføres basert på den nåværende tilstanden til objektet eller i samsvar med tidsplanen for planlagt arbeid.

Noen operativsystemer kan kombinere egenskapene til systemer av forskjellige typer, for eksempel kan noen oppgaver utføres i batchbehandlingsmodus, og noen - i sanntids- eller tidsdelingsmodus. I slike tilfeller blir batchbehandlingsmodus ofte referert til som bakgrunnsmodus.

2. 4 Funksjoner av byggemetoder

Når man beskriver et operativsystem, indikeres ofte egenskapene til dets strukturelle organisasjon og de grunnleggende konseptene som ligger til grunn for det.

Disse grunnleggende konseptene inkluderer:

Måter å bygge kjernen i systemet - monolitisk kjerne- eller mikrokjernetilnærming. De fleste operativsystemer bruker en monolittisk kjerne, som er koblet som et enkelt program som kjører i privilegert modus og bruker raske overganger fra en prosedyre til en annen uten å kreve bytte fra privilegert modus til brukermodus og omvendt. Et alternativ er å bygge et OS basert på en mikrokjerne, som også opererer i privilegert modus og kun utfører et minimum avner, mens OS-funksjoner på høyere nivå utføres av spesialiserte OS-komponenter - servere som opererer i brukermodus. Med denne konstruksjonen kjører operativsystemet langsommere, siden overganger mellom privilegert modus og brukermodus ofte utføres, men systemet er mer fleksibelt - funksjonene kan økes, endres eller begrenses ved å legge til, modifisere eller ekskludere brukermodusservere . I tillegg er serverne godt beskyttet mot hverandre, det samme er alle brukerprosesser.

Å bygge et OS basert på en objektorientert tilnærming gjør det mulig å bruke alle fordelene, som har vist seg på applikasjonsnivå, inne i operativsystemet, nemlig: akkumulering av vellykkede løsninger i form av standardobjekter, muligheten til å lage nye objekter basert på eksisterende ved hjelp av arvemekanismen, god beskyttelse av data på grunn av deres innkapsling i objektets interne strukturer, noe som gjør dataene utilgjengelige for uautorisert bruk fra utsiden, strukturen til systemet, bestående av et sett av veldefinerte objekter.

Tilstedeværelsen av flere applikasjonsmiljøer gjør det mulig å kjøre applikasjoner utviklet for flere operativsystemer i ett operativsystem samtidig. Mange moderne operativsystemer støtter samtidig applikasjon MS-DOS-miljøer, Windows, UNIX (POSIX), OS/2 eller i det minste en del av dette populære settet. Konseptet med flere applikasjonsmiljøer er enklest implementert i et OS basert på en mikrokjerne, som ulike servere fungerer på, hvorav noen implementerer applikasjonsmiljøet til et bestemt operativsystem.

Den distribuerte organiseringen av operativsystemet gjør det mulig å forenkle arbeidet til brukere og programmerere i nettverksmiljøer. Det distribuerte operativsystemet implementerer mekanismer som gjør det mulig for brukeren å representere og oppfatte nettverket i form av en tradisjonell datamaskin med én prosessor. De karakteristiske egenskapene til en distribuert OS-organisasjon er: tilstedeværelsen av en enkelt referansetjeneste for delte ressurser, enkelt tjeneste tid, bruken av RPC-mekanismen (Remote Procedure Call) for transparent distribusjon av programprosedyrer mellom maskiner, flertrådsbehandling, som tillater parallellisering av beregninger innenfor en enkelt oppgave og utføring av denne oppgaven på flere nettverksdatamaskiner samtidig, samt tilgjengeligheten av andre distribuerte tjenester.

3. Moderne konsepter og teknologier for utforming av operativsystemer, krav til OSXXIårhundre

Operativsystemet er kjernen i nettverksprogramvare, det skaper miljøet for applikasjoner å kjøre og bestemmer i stor grad hvilke funksjoner disse applikasjonene vil gi brukeren. I denne forbindelse bør du vurdere kravene som et moderne OS må tilfredsstille.

Åpenbart er hovedkravet for et operativsystem evnen til å utføre grunnleggende funksjoner: effektiv ressursadministrasjon og å tilby et praktisk grensesnitt for brukeren og applikasjonsprogrammene. Et moderne operativsystem må som regel implementere multiprogrammering, virtuelt minne, bytte, støtte et flervindusgrensesnitt og utføre mange andre absolutt nødvendige funksjoner. I tillegg til disse funksjonskrav operativsystemer har like viktige markedskrav. Disse kravene inkluderer:

· Utvidbarhet. Koden bør skrives på en slik måte at det er enkelt å gjøre tillegg og endringer om nødvendig, og ikke krenke systemets integritet.

portabilitet. Koden må være lett å flytte fra én type prosessor til en annen type prosessor, og fra en maskinvareplattform (som sammen med prosessortypen inkluderer måten all maskinvare er organisert på) av én type til en annen type maskinvareplattform .

· Pålitelighet og feiltoleranse. Systemet skal være beskyttet mot både interne og eksterne feil, feil og feil. Handlingene skal alltid være forutsigbare, og applikasjoner skal ikke kunne skade OS.

· Kompatibilitet. OS må ha midler til å kjøre applikasjonsprogrammer skrevet for andre operativsystemer. I tillegg må brukergrensesnittet være kompatibelt med eksisterende systemer og standarder.

· Sikkerhet. OS må ha midler til å beskytte ressursene til noen brukere fra andre.

· Opptreden. Systemet skal være så raskt og responsivt som maskinvareplattformen tillater.

La oss se nærmere på noen av disse kravene.

Utvidbarhet Mens maskinvare blir foreldet i løpet av få år, kan levetiden til operativsystemer måles i flere tiår. Et eksempel er UNIX-operativsystemet. Derfor utvikler operativsystemer seg alltid over tid, og disse endringene er mer betydningsfulle enn maskinvareendringer. OS-endringer representerer vanligvis anskaffelsen av nye funksjoner av den. For eksempel støtte for nye enheter som CD-ROM, muligheten til å kommunisere med nye typer nettverk, støtte for lovende teknologier som et grafisk brukergrensesnitt eller objektorientert programvaremiljø, bruk av mer enn én prosessor. Å bevare kodens integritet, uansett hvilke endringer som gjøres i operativsystemet, er hovedmålet med utviklingen.

Utvidbarhet kan oppnås gjennom den modulære strukturen til OS, der programmer bygges fra et sett med separate moduler som kun samhandler gjennom et funksjonelt grensesnitt. Nye komponenter kan legges til operativsystemet på en modulær måte, de utfører arbeidet sitt ved å bruke grensesnitt støttet av eksisterende komponenter.

Å bruke objekter til å representere systemressurser forbedrer også systemutvidbarheten. Objekter er abstrakte datatyper som bare kan manipuleres i henhold til spesialsett objektfunksjoner. Objekter lar deg administrere systemressurser på en konsistent måte. Å legge til nye objekter ødelegger ikke eksisterende anlegg og krever ikke endringer i eksisterende kode.

Utmerkede muligheter for utvidelse er gitt av tilnærmingen til å strukturere OS som en klient-server ved hjelp av mikrokjerneteknologi. I samsvar med denne tilnærmingen er operativsystemet bygget som et sett med privilegerte kontrollprogram og et sett med uprivilegerte servertjenester. Hoveddelen av operativsystemet kan forbli den samme mens nye servere kan legges til eller gamle forbedres.

Remote Procedure Calls (RPC) gir også en mulighet til å utvide funksjonaliteten til operativsystemet. Nye programvarerutiner kan legges til enhver maskin på nettverket og umiddelbart tilgjengelig for applikasjonsprogrammer på andre maskiner på nettverket.

For å forbedre utvidbarheten støtter noen operativsystemer nedlastbare drivere som kan legges til systemet mens det kjører. Nye filsystemer, enheter og nettverk kan støttes ved å skrive en enhetsdriver, filsystemdriver eller transportdriver og laste den inn i systemet.

Bærbarhet Kravet om kodeportabilitet er nært knyttet til utvidbarhet. Utvidbarhet lar deg forbedre operativsystemet, mens portabilitet lar deg flytte hele systemet til en maskin basert på en annen prosessor eller maskinvareplattform, samtidig som du gjør så få endringer i koden som mulig. Mens OS-er ofte beskrives som enten bærbare eller ikke-bærbare, er ikke portabilitet en binær tilstand. Spørsmålet er ikke om systemet kan porteres, men hvor enkelt det kan gjøres. Å skrive et bærbart operativsystem ligner på å skrive hvilken som helst bærbar kode - du må følge noen regler.

For det første må det meste av koden skrives på et språk som er tilgjengelig på alle maskinene du ønsker å portere systemet til. Dette betyr vanligvis at koden må skrives på et høynivåspråk, fortrinnsvis et standardisert språk som C. Et assemblerspråkprogram er ikke portabelt med mindre du har tenkt å portere det til en maskin som er kommandokompatibel med din.

For det andre er det nødvendig å vurdere i hvilke fysiske omgivelser programmet skal overføres. Ulik maskinvare krever ulike løsninger når du oppretter et OS. For eksempel kan et OS bygget på 32-biters adresser ikke porteres til en maskin med 16-biters adresser (bortsett fra med store vanskeligheter).

For det tredje er det viktig å minimere eller, hvis mulig, eliminere de delene av koden som direkte samhandler med maskinvaren. Maskinvareavhengighet kan ha mange former. Noen åpenbare former for avhengighet inkluderer direkte manipulering av registre og annen maskinvare.

For det fjerde, hvis maskinvareavhengig kode ikke kan elimineres fullstendig, må den isoleres i noen få godt lokaliserte moduler. Maskinvarespesifikk kode trenger ikke å distribueres over hele systemet. For eksempel kan du skjule en enhetsspesifikk struktur i programvaredefinerte data av en abstrakt type. Andre moduler i systemet vil fungere med disse dataene, og ikke med maskinvaren, ved å bruke et sett med noen funksjoner. Når et operativsystem migreres, endres bare dataene og funksjonene som manipulerer dem.

For enkel portabilitet av operativsystemet under utviklingen, må følgende krav oppfylles:

· Bærbart språk på høyt nivå. De fleste bærbare operativsystemer er skrevet i C (ANSI X3.159-1989 standard). Utviklere velger C fordi det er standardisert og fordi C-kompilatorer er allment tilgjengelige. Monteringsenheten brukes kun for de delene av systemet som må samhandle direkte med maskinvaren (for eksempel en avbruddsbehandler) eller for deler som krever topphastighet(for eksempel høypresisjon heltallsaritmetikk). Ikke-bærbar kode må imidlertid isoleres nøye i komponentene der den brukes.

Prosessor isolasjon. Noen lavnivådeler av OS må ha tilgang til prosessorspesifikke datastrukturer og registre. Koden som gjør dette må imidlertid finnes i små moduler som kan erstattes av lignende moduler for andre prosessorer.

Isolering av plattform. Plattformavhengighet ligger i forskjeller mellom arbeidsstasjoner forskjellige produsenter, bygget på samme prosessor (for eksempel MIPS R4000). Det må introduseres et programvarelag som abstraherer maskinvaren (cacher, I/O-avbruddskontrollere osv.) sammen med et lag med lavnivåprogrammer på en slik måte at høynivåkoden ikke trenger å endres når den porteres fra en plattform til en annen.

Kompatibilitet Et aspekt ved kompatibilitet er muligheten til et OS til å kjøre programmer skrevet for andre operativsystemer eller mer. tidlige versjoner dette operativsystemet, så vel som for en annen maskinvareplattform.

Det er nødvendig å skille problemene med binær kompatibilitet og kompatibilitet på nivået av applikasjonens kildekode. Binær kompatibilitet oppnås når du kan ta et kjørbart program og kjøre det på et annet operativsystem. Dette krever: kompatibilitet på nivå med prosessorinstruksjoner, kompatibilitet på nivå med systemanrop, og til og med på nivå med bibliotekanrop hvis de er dynamisk koblet.

Kompatibilitet på kildenivå krever en passende kompilator i programvaren, samt kompatibilitet på nivå med biblioteker og systemanrop. Dette krever rekompilering av den eksisterende kildekoden til en ny kjørbar modul.

Kompatibilitet på kildenivå er viktig hovedsakelig for applikasjonsutviklere som alltid har disse kildene til rådighet. Men for sluttbrukere er kun binær kompatibilitet av praktisk betydning, siden de kun i dette tilfellet kan bruke det samme kommersielle produktet, levert som en binær kjørbar kode, i forskjellige driftsmiljøer og på forskjellige maskiner.

Hvorvidt et nytt OS er binært kompatibelt eller kildekodekompatibelt med eksisterende systemer avhenger av mange faktorer. Den viktigste av dem er arkitekturen til prosessoren som det nye operativsystemet kjører på. Hvis prosessoren som operativsystemet blir portert til bruker samme instruksjonssett (kanskje med noen tillegg) og samme adresseområde, kan binær kompatibilitet oppnås ganske enkelt.

Det er mye vanskeligere å oppnå binær kompatibilitet mellom prosessorer basert på forskjellige arkitekturer. For at en datamaskin skal kjøre en annens programmer (for eksempel et DOS-program på en Mac), må den datamaskinen fungere med maskinkommandoer som den i utgangspunktet ikke forstår. For eksempel bør en prosessor av typen 680x0 på en Mac kjøre binær kode beregnet for en 80x86 prosessor på en PC. 80x86-prosessoren har sin egen instruksjonsdekoder, registre og intern arkitektur. 680x0-prosessoren forstår ikke 80x86-binæren, så den må hente hver instruksjon, dekode den for å finne ut hva den er for, og deretter utføre den tilsvarende subrutinen skrevet for 680x0. Siden 680x0 heller ikke har nøyaktig de samme registrene, flaggene og den interne aritmetiske logiske enheten som 80x86, må den simulere alle disse elementene ved å bruke sine egne registre eller minne. Og den må nøye gjenskape resultatene av hver instruksjon, noe som krever spesialskrevne rutiner for 680x0 for å sikre at tilstanden til de emulerte registrene og flaggene etter at hver instruksjon er utført er nøyaktig den samme som på en ekte 80x86.

Dette er en enkel, men veldig treg jobb, fordi mikrokoden inne i 80x86-prosessoren kjører på et mye raskere nivå enn de som emulerer den. eksterne kommandoer 680x0. Under utførelsen av en 80x86 instruksjon på 680x0, kan en ekte 80x86 utføre dusinvis av instruksjoner. Derfor, hvis prosessoren som utfører emuleringen ikke er rask nok til å kompensere for alle tapene i emuleringen, vil programmene som kjører under emuleringen være veldig trege.

Veien ut i slike tilfeller er å bruke de såkalte applikasjonsmiljøene. Tatt i betraktning at hoveddelen av programmet som regel består av kall til bibliotekfunksjoner, simulerer applikasjonsmiljøet hele bibliotekfunksjonene ved å bruke et forhåndsskrevet bibliotek med funksjoner med lignende formål, og emulerer resten av kommandoene individuelt.

Overholdelse av POSIX-standarder er også et middel for å sikre kompatibiliteten til programmering og brukergrensesnitt. I andre halvdel av 1980-tallet begynte amerikanske offentlige etater å utvikle POSIX som standarder for utstyret som ble levert ved inngåelse av offentlige kontrakter på dataområdet. POSIX er "et bærbart OS-grensesnitt basert på UNIX". POSIX er en samling internasjonale standarder for OS-grensesnitt i UNIX-stil. Ved å bruke POSIX-standarden (IEEE-standard 1003.1 - 1988) kan du lage programmer i UNIX-stil som enkelt kan overføres fra ett system til et annet.

Sikkerhet I tillegg til POSIX-standarden har amerikanske myndigheter også definert krav datasikkerhet for applikasjoner som brukes av myndighetene. Mange av disse kravene er ønskelige funksjoner for ethvert flerbrukersystem. Sikkerhetsregler definerer egenskaper som å beskytte én brukers ressurser fra andre og sette ressurskvoter for å forhindre at en enkelt bruker overtar alle systemressurser (som minne).

Å sikre beskyttelse av informasjon mot uautorisert tilgang er en obligatorisk funksjon for nettverksoperativsystemer. De fleste populære systemene garanterer et datasikkerhetsnivå som tilsvarer nivå C2 i det amerikanske standardsystemet.

Grunnlaget for sikkerhetsstandarder ble lagt av kriteriene for evaluering av pålitelige datasystemer. Dette dokumentet ble publisert i USA i 1983 nasjonalt senter datasikkerhet (NCSC - National Computer Sikkerhetssenter), ofte referert til som Orange Book.

I samsvar med kravene i Orange Book anses et system som sikkert dersom det «kontrollerer tilgang til informasjon gjennom spesielle sikkerhetsmekanismer på en slik måte at bare autoriserte personer eller prosesser som handler på deres vegne kan få tilgang til å lese, skrive, opprette eller slett informasjon."

Hierarkiet av sikkerhetsnivåer gitt i Orange Book merker det laveste sikkerhetsnivået som D og det høyeste som A.

· Klasse D inkluderer systemer hvis evaluering avdekket at de ikke samsvarer med kravene til alle andre klasser.

· Hovedegenskapene som er karakteristiske for C-systemer er: tilstedeværelsen av et delsystem for registrering av sikkerhetsrelaterte hendelser og selektiv tilgangskontroll. Nivå C er delt inn i 2 undernivåer: nivå C1, som beskytter data mot brukerfeil, men ikke mot ondsinnede handlinger, og et strengere nivå C2. På nivå C2 skal det foreligge midler hemmelig inngang, som gir brukerautentisering ved å skrive inn et unikt brukernavn og passord før de får tilgang til systemet. Den selektive tilgangskontrollen som kreves på dette nivået lar ressurseieren bestemme hvem som har tilgang til ressursen og hva de kan gjøre med den. Eieren gjør dette ved å gi tilgangsrettigheter til en bruker eller gruppe brukere. Regnskaps- og overvåkingsverktøy (revisjon) - gir muligheten til å oppdage og registrere viktige sikkerhetsrelaterte hendelser, eller eventuelle forsøk på å opprette, få tilgang til eller slette systemressurser. Minnebeskyttelse - er at minnet initialiseres før det gjenbrukes. På dette nivået er systemet ikke immunt mot brukerfeil, men brukeradferd kan kontrolleres fra loggoppføringer etterlatt av overvåkings- og revisjonsverktøy.

· Nivå B-systemer er basert på merkede data og kategorisering av brukere, det vil si at de implementerer obligatorisk tilgangskontroll. Hver bruker er tildelt en sikkerhetsvurdering og kan bare få tilgang til data i henhold til den vurderingen. Dette nivået, i motsetning til nivå C, beskytter systemet mot feilaktig brukeratferd.

Nivå A er mest høy level sikkerhet krever det, i tillegg til alle kravene på nivå B, et formelt, matematisk begrunnet bevis på at systemet oppfyller sikkerhetskravene.

Ulike kommersielle strukturer (for eksempel banker) understreker behovet regnskapstjeneste, lik det som tilbys av statlige anbefalinger C2. Enhver aktivitet knyttet til sikkerhet kan spores og dermed gjøres rede for. Dette er akkurat det C2 krever og hva bankene vanligvis trenger. Imidlertid er kommersielle brukere generelt uvillige til å betale prisen for ytelse for økt sikkerhet. A-nivå sikkerhet tar opptil 90 % av prosessortiden med sine kontrollmekanismer. Sikrere systemer reduserer ikke bare effektiviteten, men begrenser også antallet tilgjengelige applikasjonspakker som kan kjøres på et slikt system. For eksempel har Solaris-operativsystemet (UNIX-versjon) flere tusen applikasjoner, mens B-tier-motparten bare har hundre.

Konklusjon

Historien til OS har omtrent et halvt århundre. Det ble i stor grad bestemt og er bestemt av utviklingen av elementbasen og datautstyr. De første digitale datamaskinene som dukket opp på begynnelsen av 40-tallet fungerte uten operativsystemer, alle oppgavene med å organisere dataprosessen ble løst manuelt av hver programmerer fra kontrollpanelet

Prototypen til moderne operativsystemer var monitorsystemene på midten av 50-tallet, som automatiserte operatørens handlinger for å fullføre en rekke oppgaver.

I perioden 1965-1975. nesten alle de grunnleggende konseptene som er iboende i moderne operativsystemer ble implementert: multiprogrammering, multiprosessering, multiterminalmodus, virtuelt minne, filsystemer, tilgangskontroll og nettverk

Siden midten av 70-tallet begynte UNIX å bli mye brukt, et operativsystem som var unikt for den tiden, som var relativt enkelt å overføre til ulike typer datamaskiner.

Begynnelsen av 80-tallet er assosiert med bruken av personlige datamaskiner. Dette krevde utvikling av et "vennlig grensesnitt".Personlige datamaskiner bidro til den raske veksten av lokale nettverk, som et resultat av at støtte for nettverksfunksjoner ble en forutsetning for operativsystemet til personlige datamaskiner.

På 90-tallet ble nesten alle operativsystemer som inntar en fremtredende plass på markedet nettverk. OS har fått midler til å jobbe med alle viktige teknologier i lokale (Ethernet, Fast Ethernet, Token Ring, FDDI) og globale (ISDN, ATM) nettverk. Spesiell oppmerksomhet i løpet av det siste tiåret har blitt viet tilr. De kjennetegnes ved deres evne til å jobbe godt og stabilt i store nettverk, som er typiske for store bedrifter, evnen til å jobbe sømløst på ulike maskinvareplattformer.