Utvecklingen av operativsystemet för datorer av olika typer. Utvecklingen av operativsystem. De viktigaste utvecklingsstadierna. Datorer baserade på transistorer. Batch operativsystem


Ministeriet för utbildning och vetenskap i Ryska federationen

Statens läroanstalt

högre yrkesutbildning

"Magnitogorsk State Technical University

dem. G.I. Nosov"

Institutionen för informatik och informationssäkerhet

Testa

inom disciplinen "Informatik"

Sammanfattning om ämnet "Utvecklingen av operativsystem för datorer av olika typer"

Genomförs av: elevgrupp 1304006-11-1

Alternativ nummer 13

Sagdetdinov D.F.

Kontrolleras av: Universitetslektor

Korinchenko G.M.

Magnitogorsk 2014

  • 1. Utvecklingen av operativsystem för datorer av olika slag
    • 1.2 Framväxten av multiprogrammerande stordatoroperativsystem
  • 2. Uppgift för MathCAD nr 1 "Konstruktion av tvådimensionella grafer i MathCAD"
    • 2.1 Redogörelse för uppgiften
    • 2.2Resultat - den resulterande grafen
  • 3. Uppgift för MathCAD nr 2 "Lösa SLAE"
    • 3.1 Redogörelse för uppgiften
  • 4. Uppgift för MathCAD nr 3 "Lösning av system av olinjära ekvationer"
    • 4.1 Redogörelse för uppgiften
  • 5. Uppgift för MathCAD nr 4 "Lösning av icke-linjära ekvationer"
    • 5.1 Redogörelse för uppgiften

1. Utvecklingen av operativsystem för datorer av olika slag

Under nästan ett halvt sekel av dess existens har operativsystem (OS) kommit långt, fulla av många viktiga händelser. Utvecklingen av operativsystem påverkades i hög grad av framsteg för att förbättra elementbasen och datorutrustning, så många stadier av deras utveckling är nära relaterade till framväxten av nya typer av hårdvaruplattformar, såsom minidatorer eller persondatorer.

Operativsystem har genomgått en stor utveckling i samband med datorernas nya roll i lokala och globala nätverk. Den viktigaste faktorn i deras utveckling var Internet.

1.1 Framväxten av de första operativsystemen

Födelsen av digitala datorer inträffade strax efter andra världskrigets slut. I mitten av 40-talet skapades de första rördatorenheterna.

Programmering vid den tiden utfördes uteslutande på maskinspråk. Det fanns ingen systemprogramvara, förutom bibliotek med matematiska rutiner och hjälprutiner, som programmeraren kunde använda för att inte skriva koder varje gång som beräknar värdet av någon matematisk funktion eller kontroll standardanordning input-output.

Operativsystem har ännu inte dykt upp, alla organisationens uppgifter beräkningsprocessen löstes manuellt av varje programmerare från kontrollpanelen, som var en primitiv input-output-enhet bestående av knappar, omkopplare och indikatorer.

Sedan mitten av 1950-talet började en ny period i utvecklingen av datorteknik, förknippad med uppkomsten av en ny teknisk bas - halvledarelement. Processorernas hastighet har ökat, volymerna RAM och externt minne har ökat. Datorer blev mer pålitliga, nu kunde de arbeta kontinuerligt så länge att de kunde anförtros utföra verkligt praktiskt viktiga uppgifter.

Samtidigt utvecklades de första systemen satsvis bearbetning, som automatiserade hela sekvensen av operatörsåtgärder för att organisera beräkningsprocessen. Tidiga system batchbearbetning var prototypen för moderna operativsystem, de blev de första systemprogram, designad inte för databehandling, utan för att hantera beräkningsprocessen.

Batchbearbetningssystem har avsevärt minskat tiden som ägnas åt hjälpaktiviteter för att organisera beräkningsprocessen, vilket innebär att ytterligare ett steg har tagits för att öka effektiviteten i användningen av datorer.

Däremot förlorade användarprogrammerare direkt åtkomst till datorn, vilket minskade deras effektivitet - vilket gjorde att alla korrigeringar krävde mycket mer tid än interaktivt arbete vid maskinens konsol.

1.2 Framväxten av multiprogrammerande stordatoroperativsystem

Nästa viktiga period i utvecklingen av operativsystem avser åren 1965-1975.

Vid denna tidpunkt, i den tekniska basen av datorer, skedde en övergång från individuella halvledarelement som transistorer till integrerade kretsar, vilket öppnade vägen för nästa generation av datorer.

Under denna period implementerades nästan alla huvudmekanismer som är inneboende i moderna operativsystem:

Multiprogrammering,

multibearbetning,

Stöd för flera terminaler för flera användare,

virtuellt minne,

filsystem,

åtkomstkontroll,

Nätverksarbete.

Den revolutionerande händelsen i detta skede var den industriella implementeringen av multiprogrammering. Under villkoren för datorns kraftigt ökade kapacitet för att bearbeta och lagra data, visade sig exekveringen av endast ett program åt gången vara extremt ineffektivt. Lösningen var multiprogrammering - en metod för att organisera en beräkningsprocess, där flera program fanns samtidigt i datorns minne, växelvis exekverande på samma processor.

Dessa förbättringar förbättrade beräkningssystemets effektivitet avsevärt: datorn kunde nu användas nästan konstant, och inte mindre än halva tiden som datorn var igång, som den var tidigare.

Multiprogrammering implementerades i två versioner - i batchbearbetning och tidsdelningssystem.

1.3 Operativsystem och globala nätverk

I början av 70-talet av förra seklet dök de första nätverksoperativsystemen upp, som, till skillnad från multiterminalsystem, gjorde det möjligt att inte bara sprida användare utan också organisera distribuerad lagring och bearbetning av data mellan flera datorer anslutna med elektriska länkar .

Varje nätverksoperativsystem, å ena sidan, utför alla funktionerna i det lokala operativsystemet, och å andra sidan har det några ytterligare verktyg som gör att det kan interagera över nätverket med operativsystemen på andra datorer.

Mjukvarumoduler som implementerar nätverksfunktioner dök upp i operativsystem gradvis, allt eftersom nätverksteknologier och datorhårdvara utvecklades, och nya uppgifter som krävde nätverksbearbetning dök upp.

1969 inledde det amerikanska försvarsdepartementet ett arbete för att förena superdatorerna från försvars- och forskningscentra i enda nätverk. Detta nätverk kallades ARPANET och var startpunkten för att skapa det mest kända globala nätverket idag - Internet. ARPANET-nätverket förenade datorer olika typer fungerar under olika operativsystem med tillagda moduler som implementerar kommunikationsprotokoll som är gemensamma för alla datorer i nätverket.

1974 tillkännagav IBM skapandet av sin egen nätverksarkitektur för sina stordatorer, kallad SNA (System Network Architecture).

Detta skiktad arkitektur, som på många sätt liknar OSI-standardmodellen som dök upp något senare, gav terminal-till-terminal, terminal-till-dator och dator-till-dator-interaktioner över globala länkar.

1.4 Operativsystem för minidatorer. De första lokala nätverken

I mitten av 70-talet, tillsammans med stordatorer bred användning fått minidatorer. De var de första att dra nytta av stora integrerade kretsar, vilket gjorde det möjligt att implementera tillräckligt kraftfulla funktioner med relativt låg kostnad dator.

Arkitekturen för minidatorer har förenklats avsevärt jämfört med stordatorer, vilket återspeglas i deras operativsystem. Många av funktionerna i multi-program, multi-användar stordator OS har trunkerats med tanke på de begränsade resurserna hos minidatorer.

Operativsystemen för minidatorer har ofta blivit specialiserade, till exempel endast för realtidskontroll eller endast för tidsdelning.

En viktig milstolpe i minidatorernas historia och i allmänhet i operativsystemens historia var skapandet av operativsystemet UNIX. Dess massanvändning började i mitten av 1970-talet. Vid det här laget var UNIX-koden till 90 % skriven på högnivåspråket C.

Tillgången till minidatorer och följaktligen deras förekomst i företag fungerade som ett kraftfullt incitament för att skapa lokala nätverk. Företaget hade råd att ha flera minidatorer placerade i samma byggnad eller till och med i samma rum. Naturligtvis fanns det ett behov av att utbyta information mellan dem och att dela på dyr kringutrustning.

De första lokala nätverken byggdes med hjälp av icke-standardiserad kommunikationsutrustning, i det enklaste fallet, genom att direkt ansluta datorernas seriella portar. Programvaran var också icke-standard och implementerades som anpassade applikationer.

1.5 Utveckling av operativsystem på 80-talet

De viktigaste händelserna under detta decennium inkluderar:

Utveckling av TCP/IP-stacken,

Internets framväxt

Standardisering av lokala nätverkstekniker,

Tillkomsten av persondatorer

Och operativsystem för dem.

En fungerande version av TCP/IP-protokollstacken skapades i slutet av 70-talet.

1983 antogs TCP/IP-protokollstacken av det amerikanska försvarsdepartementet som en militär standard.

Införandet av TCP/IP-protokollen i ARPANET gav detta nätverk alla grundläggande funktioner som utmärker det moderna Internet.

Hela decenniet präglades av den ständiga uppkomsten av nya, allt mer avancerade versioner av UNIX-operativsystemet. Bland dem fanns märkesvaror av UNIX: SunOS, HP-UX, Irix, AIX och många andra, där datortillverkare anpassade kärnkoden och systemverktygen för sin hårdvara.

Början av 80-talet är förknippad med en annan viktig händelse i operativsystemets historia - tillkomsten av persondatorer.

De fungerade som en kraftfull katalysator för den snabba tillväxten av lokala nätverk och skapade en utmärkt materiell grund för detta i form av tiotals och hundratals datorer som tillhör ett företag och placerade i samma byggnad. Som ett resultat har stöd för nätverksfunktioner blivit en förutsättning för persondatorers operativsystem.

Nätverksfunktioner implementerades huvudsakligen av nätverksskal som kördes ovanpå operativsystemet. När du arbetar på ett nätverk är det alltid nödvändigt att stödja fleranvändarläge, där en användare är interaktiv, och resten har tillgång till datorresurser över nätverket. I det här fallet måste operativsystemet ha åtminstone ett visst minimum av funktionellt stöd för fleranvändarläge.

År 1987 producerade en gemensam ansträngning mellan Microsoft och IBM det första multi-tasking operativsystemet för persondatorer. Intel-processor 80286 som drar full nytta av OS/2:s skyddade läge. Detta system var väl genomtänkt. Den stödde förebyggande multitasking, virtuellt minne, ett grafiskt användargränssnitt och en virtuell maskin för att köra DOS-applikationer.

På 80-talet antogs huvudstandarderna för kommunikationsteknik för lokala nätverk: 1980 - Ethernet, 1985 - Token Ring, i slutet av 80-talet - FDDI. Detta gjorde det möjligt att säkerställa kompatibiliteten hos nätverksoperativsystem på lägre nivåer, samt att standardisera OS-gränssnittet med nätverkskortsdrivrutiner.

1.6 Funktioner i det nuvarande utvecklingsstadiet av operativsystem

På 90-talet blev nästan alla operativsystem som intar en framträdande plats på marknaden nätverksanslutna. Nätverksfunktioner idag är inbyggda i kärnan av operativsystemet, som är dess integrerade del. Operativsystem fick möjlighet att arbeta med alla större tekniker för lokala nätverk, såväl som medlen för att skapa sammansatta nätverk.

Operativsystem använder sättet att multiplexera flera protokollstackar, vilket gör att datorer kan stödja samtidig nätverkskoppling med heterogena klienter och servrar.

Under andra hälften av 1990-talet ökade alla operativsystemstillverkare kraftigt stödet för Internetverktyg. Förutom själva TCP/IP-stacken började paketet innehålla verktyg som implementerar sådant populära tjänster Internet som telnet, ftp, DNS och webb.

Internets inflytande visade sig också i det faktum att datorn har förvandlats från en ren datorenhet till ett kommunikationsmedel med avancerade beräkningsmöjligheter.

Särskild uppmärksamhet har under det senaste decenniet ägnats åt företagsnätverksoperativsystem. Deras vidareutveckling är en av de viktigaste uppgifterna inom överskådlig framtid.

Ett företagsoperativsystem kännetecknas av dess förmåga att fungera bra och stabilt i stora nätverk, som är typiska för stora företag med filialer i dussintals städer och, möjligen, i olika länder. Sådana nätverk är organiskt inneboende hög grad heterogenitet mellan mjukvara och hårdvara, så företagets OS måste sömlöst interagera med olika typer av operativsystem och fungera på olika hårdvaruplattformar.

Skapande av en multifunktionell skalbar kundtjänstär en strategisk riktning för OS-utvecklingen. En sådan tjänst behövs för att göra Internet till ett förutsägbart och kontrollerat system, till exempel för att säkerställa den erforderliga tjänstekvaliteten för användartrafik, stöd för stora distribuerade applikationer och bygga ett effektivt e-postsystem.

På nuvarande stadium av utvecklingen av operativsystem på förgrund säkerhetsutrustningen är ute. Detta beror på det ökade värdet av information som bearbetas av datorer, samt den ökade nivån av hot som finns när data överförs över nätverk, särskilt offentliga sådana som Internet. Många operativsystem har idag avancerade informationssäkerhetsverktyg baserade på datakryptering, autentisering och auktorisering.

Moderna operativsystem är inneboende i multiplatform, det vill säga förmågan att arbeta på helt olika typer av datorer. Många operativsystem har specialutgåvor för att stödja klusterarkitekturer för hög prestanda och feltolerans.

På senare år har den långsiktiga trenden att öka bekvämligheten med mänskligt arbete med en dator utvecklats ytterligare. Effektiviteten av mänskligt arbete blir den viktigaste faktorn som bestämmer effektiviteten hos datorsystemet som helhet.

Bekvämligheten med interaktivt arbete med en dator ökar hela tiden genom att inkludera avancerade grafiska gränssnitt i operativsystemet som använder ljud och videobilder tillsammans med grafik. Operativsystemets användargränssnitt blir mer och mer intelligent, styr mänskliga handlingar i typiska situationer och fattar rutinmässiga beslut åt honom.

2. Uppgift för MathCAD nr 1 "Konstruktion av tvådimensionella grafer i MathCAD"

2.1 Redogörelse för uppgiften

Bygg två grafer. Visa en värdetabell för en funktion som ges i en parametrisk form.

bord 1

Inledande data

2.2 Resultat - resulterande graf

Bild 1 - Uppgift 1

3. Uppgift för MathCAD nr 2 "Lösa SLAE"

3.1 Redogörelse för uppgiften

Hitta en SLAE-lösning:

1. använda invers matris;

2. använda den inbyggda lsolve-funktionen;

3. med hjälp av Given-Find-beräkningsenheten.

3.2 Resultat - färdig lösning

Bild 2 - Uppgift 2

4. Uppgift för MathCAD nr 3 "Lösning av system av olinjära ekvationer"

4.1 Redogörelse för uppgiften

Lös ett system av olinjära ekvationer.

Konstruera grafer över funktioner som definierar systemets ekvationer.

Kontrollera grafiskt att lösningen är korrekt.

operativsystem nätverk mathcad

4.2 Resultat - färdig lösning

Bild 3 - Uppgift 3

5. Uppgift för MathCAD nr 4 "Lösning av icke-linjära ekvationer"

5.1 Redogörelse för uppgiften

Hitta en lösning på en icke-linjär ekvation:

1. använda den inbyggda rotfunktionen;

2. Med inbyggd polyroots-funktion;

5.2 Resultat - färdig lösning

Bild 4 - Uppgift 4

Liknande dokument

    Funktioner i det nuvarande utvecklingsstadiet av operativsystem. Syftet med operativsystem, deras huvudtyper. Operativsystem för minidatorer. Principen för drift av en matrisskrivare, design och reproduktion av godtyckliga tecken för dem.

    terminsuppsats, tillagd 2011-06-23

    Grundläggande begrepp om operativsystem. Typer av moderna operativsystem. Historien om utvecklingen av Windows-familjens operativsystem. Egenskaper hos operativsystemen i Windows-familjen. Ny funktionalitet i operativsystemet Windows 7.

    terminsuppsats, tillagd 2012-02-18

    Evolution och klassificering av OS. nätverksoperativsystem. Minneshantering. Moderna koncept och teknologier för att designa operativsystem. UNIX-familjen av operativsystem. Novell nätverksprodukter. Microsoft Network OS.

    kreativt arbete, tillagt 2007-11-07

    Egenskaper för operativsystemets väsen, syfte, funktioner. Utmärkande drag för deras utveckling. Funktioner hos resurshanteringsalgoritmer. Moderna koncept och teknologier för att designa operativsystem, krav för OS av XXI-talet.

    terminsuppsats, tillagd 2011-08-01

    Historien om utveckling och förbättring av Microsofts operativsystem, deras egenskaper och särskiljande egenskaper från system av andra märken, fördelar och nackdelar. Nuvarande tillstånd och Microsofts funktioner och perspektiv.

    abstrakt, tillagt 2009-11-22

    Syfte och huvudfunktioner för operativsystem. Laddar program som ska köras i RAM. Betjänar alla I/O-operationer. Evolution, klassificering av operativsystem. Lönebildning, sortering på avdelning.

    terminsuppsats, tillagd 2009-03-17

    Syfte, klassificering, sammansättning och syfte med operativsystemkomponenter. Utveckling av komplexa informationssystem, mjukvarupaket och individuella applikationer. Egenskaper hos operativsystemen Windows, Linux, Android, Solaris, Symbian OS och Mac OS.

    terminsuppsats, tillagd 2014-11-19

    Operativsystems koncept och grundläggande funktioner, deras typiska struktur och funktionsprincip. En kort historik över bildandet och utvecklingen av Windows-operativsystem, deras sorter och allmänna egenskaper, grundläggande krav för hårdvara.

    presentation, tillagd 2011-12-07

    Grundläggande begrepp för operativsystem. Synkronisering och kritiska områden. Signaler och interaktion mellan processer. Minneshantering. Drivrutiner för enheter. Funktioner hos moderna operativsystem. Centralprocessor, klocka och timerchips.

    handledning, tillagd 2014-01-24

    Konceptet med operativsystem, deras klassificering och varianter, särdrag och grundläggande egenskaper. Innehållet i operativsystem, ordningen för interaktion och syftet med deras komponenter. Organisation disk utrymme. Beskrivning av modernt operativsystem.

ALLRYSKA KORRESPONDENS FINANSIELLA OCH EKONOMISKA INSTITUTE

AVDELNING FÖR AUTOMATISK BEHANDLING AV EKONOMISK INFORMATION

KURSARBETE

genom disciplin « Informatik »

"Syftet, utvecklingen och klassificeringen av operativsystem"

Testamentsexekutor:

Smertin Nikolai Olegovich

Specialitetsledning av organisationen

Grupp 2 (TNF)

Rekordbok nummer 10MMD46177 Huvud:

Khokhlova Olga Alexandrovna

Archangelsk - 2011

Inledning……………………………………………………………………………………… 3

1. Syfte, utveckling och klassificering av operativsystem………… 4

Inledning……………………………………………………………………………… 4

1.1. Syfte med operativsystem……………………………………….. 5

1.2. Klassificering av operativsystem……………………………………… 11

1.3. Utvecklingen av operativsystem………………………………………………. tretton

Slutsats……………………………………………………………………………… 15

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

2.1. Allmänna egenskaper för uppgiften………………………………………………….. 16

2.2. Beskrivning av lösningsalgoritmen………………………………………………….. 18

Referenser………………………………………………………………………………………21

Ansökningar………………………………………………………………………………. 22

Introduktion

Ämnesval kontrollarbete"Syftet, utvecklingen och klassificeringen av operativsystem" beror på det faktum att operativsystem är en av de viktigaste komponenterna i moderna datorer, och i avsaknad av denna komponent, persondatorn som vi känner den idag håller på att förvandlas till en konventionell skrivmaskin. Tack vare de senaste operativsystemen blir arbetet på en persondator enkelt och tillgängligt för alla.

Under kontrollarbetet kommer frågorna om utnämningen av operativsystem som ett komplex av inbördes relaterade systemprogram att avslöjas; definierar de grundläggande kraven för operativsystem; de funktioner som är inneboende i alla operativsystem är markerade; huvudklassificeringen utförs och frågan om historiken för skapandet av system avslöjas.

I den praktiska delen av testet, på basis av de initiala uppgifterna, kommer en lönelista för organisationen att bildas. Under den praktiska delen kommer kalkylbladet MS Excel att användas, master pivottabeller och diagram, utforskade möjligheterna med funktionen VIEW().

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

Följande program användes för att utföra arbetet:

1. Operativsystem - Microsoft Windows XP Professional

2. Textredigerare"MSWord - 2007"

3. Kalkylarksprocessor "MSExcel-2007"

1. Syfte, utveckling och klassificering av operationssalar

system.

Planen

Introduktion

1.1. Syfte med operativsystem

1.2. Klassificering av operativsystem

1.3. Utvecklingen av operativsystem

Slutsats

Introduktion

De första PC-datorerna hade inget operativsystem och såg ut som spelkonsoler: när datorn var ansluten till nätverket fick processorn åtkomst till ROM, som innehöll ett program för att stödja ett enkelt programmeringsspråk. Genom att koppla en bandspelare till en dator gick det att ladda ner ett tredjepartsprogram. Det nedladdade programmet inaktiverade ROM och sedan styrdes datorn av det nedladdade programmet.

Ett allvarligt behov av operativsystem uppstod när diskenheter började kopplas till persondatorer. En diskenhet skiljer sig från en bandspelare genom att den är en enhet med fri tillgång, medan en bandspelare är en enhet för sekventiell åtkomst. Alla program kan laddas från en magnetisk skiva. Därför har startkommandon blivit mycket komplexa. Det var nödvändigt att ange spårnumret och numret på den sektor där det som måste laddas är beläget. Utgången har hittats. Ett program skrevs som översätter namnen på program och filer till spår- och sektornummer. En person kunde ladda ner det han behövde, med bara namnen. Detta program blev skivoperativsystemet.

Senare utvecklades operativsystemen parallellt med hårdvaran och blev en uppsättning program som utför två funktioner: att ge användaren bekvämligheten med en virtuell maskin och öka effektiviteten av att använda en dator med rationell hantering av dess resurser. Olika datormodeller använder operativsystem med olika arkitekturer och möjligheter. De kräver olika resurser för att fungera. De tillhandahåller varierande grad av service för programmering och arbete med färdiga program.

1.1 Syfte med operativsystem

Operativ systemär ett komplex av inbördes relaterade systemprogram, vars syfte är att organisera en användares interaktion med en dator, hantera resurserna i ett datorsystem för att använda dem mest effektivt. Operativsystemet fungerar som en länk mellan datorhårdvaran, å ena sidan, och körbara program, samt användaren, å andra sidan. Operativsystemet kan kallas en mjukvaruförlängning av datorns styrenhet. Operativsystemet döljer komplexa onödiga detaljer om hårdvaruhantering från användaren och bildar ett lager mellan dem, vilket leder till att människor befrias från det mycket tidskrävande arbetet med att organisera interaktion med datorhårdvara.

Huvudkravet för operativsystemet är den svåra uppgiften att organisera en effektiv delning av resurser mellan flera processer, och denna komplexitet genereras främst av den slumpmässiga karaktären av förekomsten av förfrågningar om resursförbrukning. I ett multiprogrammeringssystem bildas köer av applikationer från att samtidigt köra program till delade datorresurser: processor, minnessida, skrivare, disk. Operativsystemet organiserar betjäningen av dessa köer enligt olika algoritmer: först till kvarn, prioritetsbaserad, round robin, etc.

Ett modernt operativsystem behöver vanligtvis stödja flerprogramsbehandling, virtuellt minne, ett grafiskt användargränssnitt med flera fönster och många andra nödvändiga funktioner och tjänster. Utöver dessa krav på funktionell fullständighet ställs inte mindre viktiga driftskrav på operativsystem:

· Utbyggbarhet. Medan datorhårdvara blir föråldrad på några år, kan operativsystemens livslängd mätas i decennier. Därför förändras operativsystem alltid evolutionärt över tiden, och dessa förändringar är mer betydande än hårdvaruförändringar. Ändringar av operativsystemet består vanligtvis av att skaffa nya funktioner, såsom stöd för nya typer av externa enheter eller ny nätverksteknik. Om OS-koden är skriven på ett sådant sätt att tillägg och ändringar kan göras utan att kränka systemets integritet, så kallas ett sådant OS förlängbart. Utökningsbarhet uppnås genom OS:s modulära struktur, där program byggs från en uppsättning separata moduler som endast interagerar genom ett funktionellt gränssnitt;

portabilitet. Helst bör OS-koden vara lätt att bära från en typ av processor till en annan typ av processor och från en hårdvaruplattform (som skiljer sig inte bara i typen av processor, utan också i hur all datorhårdvara är organiserad) av en typ till en annan typ av hårdvaruplattform. Bärbara operativsystem har flera implementeringsalternativ för olika plattformar, denna egenskap hos operativsystemet kallas även multiplattform;

· Kompatibilitet. Det finns flera "långlivade" populära operativsystem för vilka ett brett utbud av applikationer har utvecklats. Vissa av dem är mycket populära. För en användare som av en eller annan anledning flyttar från ett OS till ett annat är det därför mycket attraktivt att kunna köra en välbekant applikation i det nya operativsystemet. Om ett operativsystem har möjlighet att köra applikationsprogram skrivna för andra operativsystem, sägs det vara kompatibelt med dessa operativsystem. Det är nödvändigt att skilja mellan kompatibilitet på nivån för binära koder och kompatibilitet på nivån källkod. I begreppet kompatibilitet ingår även stöd för användargränssnitt för andra operativsystem;

· Tillförlitlighet och feltolerans. Systemet måste skyddas från både interna och externa fel, fel och fel. Dess handlingar ska alltid vara förutsägbara och applikationer ska inte kunna skada operativsystemet. Tillförlitligheten och feltoleransen för ett operativsystem bestäms i första hand av de arkitektoniska beslut som ligger till grund för det, såväl som kvaliteten på dess implementering (avbuggad kod). Dessutom är det viktigt om operativsystemet inkluderar mjukvarustöd för hårdvarufeltolerans, såsom diskarrayer eller källor avbrottsfri strömförsörjning;

· Säkerhet. Ett modernt operativsystem måste skydda data och andra resurser i ett datorsystem från obehörig åtkomst. För att operativsystemet ska ha säkerhetsegenskapen måste det åtminstone inkludera medel för att fastställa användarnas laglighet, ge legala användare differentierade åtkomsträttigheter till resurser och även ha fixering av alla händelser "misstänkta" för säkerheten för systemet. Säkerhetsegenskapen är särskilt viktig för nätverksoperativsystem. I sådana operativsystem läggs uppgiften att skydda data som sänds över nätverket till åtkomstkontrolluppgiften;

· Prestanda. Operativsystemet måste ha bra prestanda och svarstid, så långt hårdvaruplattformen tillåter. OS-prestandan påverkas av många faktorer, bland vilka de viktigaste är OS-arkitekturen, variationen av funktioner, kvaliteten på kodprogrammering, förmågan att köra OS på en högpresterande (multiprocessor) plattform;

Med tanke på utvecklingen av operativsystem kommer vi först och främst att överväga utvecklingens historia datorsystem, eftersom datorhårdvara (hårdvara) och mjukvara (mjukvara) har utvecklats tillsammans och utövar ömsesidigt inflytande på varandra.

Uppkomsten av nya tekniska förmågor ledde till ett genombrott i skapandet av bekväma, effektiva och säkra program, och nya idéer inom programområdet stimulerade sökandet efter nya tekniska lösningar. Det är dessa kriterier bekvämlighet, effektivitet och säkerhet– spelat rollen som faktorer för naturligt urval i utvecklingen av datorsystem.

Det finns fyra perioder av utveckling av datorteknik och operativsystem, vi kommer att överväga dem mer i detalj.

1. Första perioden (1945–1955)

Lampa bilar. Inga operativsystem

Vi kommer att börja studiet av utvecklingen av datorsystem med tillkomsten av elektroniska datorsystem (om man utelämnar historien om mekaniska och elektriska mekaniska anordningar). De första stegen i utvecklingen av elektroniska datorer togs i slutet av andra världskriget. I mitten av 1940-talet skapade de först rörberäkningsanordningar och principen för ett program lagrat i en maskins minne uppstod (John Von Neumann, juni 1945).

På den tiden deltog samma grupp människor i design, drift och programmering av datorn. Det var mer ett forskningsarbete inom datorområdet, snarare än den regelbundna användningen av datorer som ett verktyg för att lösa eventuella praktiska problem från andra tillämpade områden. Programmering utfördes uteslutande på maskinspråk. Handla om operativsystem det var inget snack, alla uppgifter i organisationen av beräkningsprocessen löstes manuellt av varje programmerare från kontrollpanelen. Endast en användare kunde vara vid konsolen.

Programmet laddades in i maskinens minne i bästa fall från en kortlek med hålkort och vanligtvis med en växlingspanel. Datorsystemet utförde endast en operation åt gången (ingång-utdata eller faktisk beräkning). Programmen felsöktes från kontrollpanelen genom att studera tillståndet för maskinens minne och register.

I slutet av denna period dyker den första systemmjukvaran upp: 1951-1952. det finns prototyper av de första kompilatorerna med symboliska språk (Fortran etc.), och 1954 utvecklade Nat Rochester en assembler för IBM-701.

En betydande del av tiden ägnades åt att förbereda lanseringen av programmet, och själva programmen kördes strikt sekventiellt. Detta driftsätt kallas sekventiell bearbetning data .

I allmänhet kännetecknas den första perioden av de extremt höga kostnaderna för datorsystem, deras lilla antal och låga användningseffektivitet.

2. Andra perioden (1955–början av 60-talet)

Datorer baserade på transistorer. Batch operativsystem

Sedan mitten av 50-talet började nästa period i utvecklingen av datorteknik, i samband med uppkomsten av en ny teknisk bas - halvledarelement. Ansökan transistorer istället för ofta utbrända elektroniska rör ledde det till en ökad tillförlitlighet hos datorer. Maskiner kan nu köras kontinuerligt tillräckligt länge för att kunna utföra praktiska uppgifter. Datorernas elförbrukning minskar, kylsystemen förbättras. Datorerna har blivit mindre. Kostnaderna för drift och underhåll av datorutrustning har minskat. Användningen av datorer av kommersiella företag började.

Samtidigt sker en snabb utveckling av algoritmiska språk ( LISP, COBOL, ALGOL-60, PL-1 etc.). Dyka upp första riktiga kompilatorer, länkare, bibliotek av matematiska och tjänstesubrutiner. Förenklar programmeringsprocessen. Det finns ingen anledning att debitera samma personer för hela processen att utveckla och använda datorer. Det är under denna period som uppdelning av personal i programmerare och operatörer, underhållsspecialister och utvecklare av datorer.

Stor elektronisk räknemaskin BESM-6

Processen att köra program förändras. Nu tar användaren med sig programmet med indata i form av en kortlek med hålkort och anger de nödvändiga resurserna. En sådan kortlek kallas uppgifter. Operatören laddar uppgiften i maskinens minne och startar den för exekvering. Resultatet skrivs ut på skrivaren och användaren får tillbaka det efter en (ganska lång) tid.

Ändring av de begärda resurserna gör att exekveringen av program avbryts, som ett resultat CPU ofta ledig. För att öka effektiviteten i att använda datorn börjar jobb med liknande resurser samlas ihop, vilket skapar ett jobbpaket.

Den första batchbearbetningssystem , som helt enkelt automatiserar lanseringen av ett program från ett paket efter det andra och därmed ökar belastningsfaktorn processor.

Vid implementering batchbearbetningssystem var utvecklad formaliserat jobbkontrollspråk, med vilken programmeraren berättade för systemet och operatören vilket arbete han ville göra på datorn.

batchbearbetningssystem blev prototypen för modern operativsystem, de var de första systemprogrammen utformade för att styra beräkningsprocessen

3. Tredje perioden (tidigt 60-tal - 1980)

Datorer baserade på integrerade kretsar. Första multitasking-operativsystemet

Nästa viktiga period i utvecklingen av datorer går tillbaka till början av 1960-talet - 1980. Då genomgick den tekniska basen en övergång från individuella halvledarelement av typen transistorer Till integrerade kretsar. Datortekniken blir mer pålitlig och billigare. Komplexiteten och antalet uppgifter som löses av datorer växer. Ökad produktivitet processorer.

Att öka effektiviteten av att använda processortiden hämmas av den låga hastigheten hos mekaniska in- och utmatningsenheter (en snabb hålkortsläsare kan behandla 1200 hålkort per minut, skrivare skriver ut upp till 600 rader per minut). Istället för att direkt läsa in ett parti uppgifter från hålkort i minnet, börjar de använda dess preliminära inspelning, först på magnetband och sedan på disk. När inmatning krävs under ett jobb läses den från disk. På liknande sätt kopieras först utdatainformationen till systembuffert och skrivs till band eller disk och skrivs ut först efter att jobbet är klart.

I början utfördes faktiska I/O-operationer off-line, det vill säga med andra, enklare, fristående datorer. I framtiden börjar de exekveras på samma dator som utför beräkningar, det vill säga i on-line-läge. Detta tillvägagångssätt kallas spolning(Förkortning av Samtidig perifer drift på nätet ) eller personsökningspumpningsdata. Introduktionen av pump-pump-tekniken i batchsystem gjorde det möjligt att kombinera de verkliga I/O-operationerna för ett jobb med utförandet av ett annat jobb, men krävde utvecklingen anordning avbryter att meddela processor slutförandet av dessa operationer.

Magnetband var sekventiell åtkomstanordningar, det vill säga information lästes från dem i den ordning som den spelades in. Utseendet på en magnetisk skiva, för vilken ordningen för att läsa information inte är viktig, det vill säga direktåtkomstenheter, Ledde till ytterligare utveckling datorsystem. Vid bearbetning av ett parti uppgifter på magnetband bestämdes ordningen i vilken uppgifterna påbörjades av i vilken ordning de matades in. Vid bearbetning av ett parti jobb på en magnetisk skiva dök upp möjligheten att välja nästa uppgift som ska utföras. Batchsystem de börjar schemalägga uppgifter: beroende på tillgängligheten av de begärda resurserna, hur brådskande beräkningarna är, etc. en eller annan uppgift väljs för kontot.

Ytterligare ökad effektivitet vid användning processor uppnåddes genom multiprogrammering . Tanken bakom multiprogrammering är denna: medan ett program gör en I/O-operation, CPU går inte på viloläge, eftersom det hände i enkelprogramsläge, utan kör ett annat program. När en I/O-operation avslutas, CPUåtergår till körningen av det första programmet.

Denna idé påminner om beteendet hos en lärare och elever på ett prov. Medan en elev (programmet) funderar på svaret på frågan (I/O-operationen), kommer läraren ( CPU) lyssnar på en annan elevs svar (beräkningar). Naturligtvis kräver denna situation närvaro av flera elever i rummet. På samma sätt kräver multiprogrammering att ha flera program i minnet samtidigt. I det här fallet laddas varje program in i sin egen del av RAM-minnet, som kallas en partition, och bör inte påverka exekveringen av ett annat program. (Eleverna sitter vid separata bord och uppmanar inte varandra.)

Tillkomsten av multiprogrammering kräver en verklig revolution i datorsystemets struktur. speciell roll spelar här hårdvarustöd(många hårdvaruinnovationer dök upp i det föregående utvecklingsstadiet), vars viktigaste funktioner listas nedan.

  • Implementering av försvarsmekanismer .
    Program bör inte ha oberoende tillgång till resursallokering, vilket leder till privilegierade och oprivilegierade kommandon. Privilegerade kommandon, såsom I/O-kommandon, kan endast utföras operativ system. Hon sägs köra i privilegierat läge. Överföring av kontroll från applikationsprogram till OSåtföljd av ett kontrollerat regimskifte. Dessutom är det ett minnesskydd som gör att man kan isolera konkurrerande användarprogram från varandra, och OS- från användarprogram.
  • Tillgänglighet avbryter .
    Extern avbryter meddela OS att en asynkron händelse har inträffat, såsom slutförandet av en I/O-operation.
    Inre avbryter (nu ofta kallad exceptionella situationer) inträffar när exekveringen av ett program har lett till en situation som kräver ingripande OS, till exempel en division med noll eller ett försök till säkerhetsintrång.
  • Utveckling av parallellism i arkitektur .
    Direkt minnesåtkomst och organisationen av I/O-kanaler gjorde det möjligt att frigöra centralen CPU från rutinverksamheten.

Inte mindre viktigt i organisationen av multiprogrammering roll operativ system . Hon ansvarar för följande operationer.

  • Gränssnittsorganisation mellan applikationsprogrammet och OS med hjälp systemsamtal.
  • Kö jobb i minnet och urval processor ett av jobben krävde användningsplanering processor.
  • Växla från en uppgift till en annan kräver att innehållet i de register och datastrukturer som krävs för att slutföra jobbet sparas, med andra ord sammanhanget för att säkerställa att beräkningarna fortsätter korrekt.
  • Eftersom minnet är en begränsad resurs behövs strategier minneshantering, det vill säga det krävs för att effektivisera processerna för att placera, ersätta och hämta information från minnet.
  • Organisation av informationslagring på externa medier i form av filer och ger åtkomst till en specifik fil endast till vissa kategorier av användare.
  • Eftersom program kan behöva göra auktoriserade datautbyten måste de göra det tillhandahålla kommunikationsmedel.
  • För korrekt datautbyte, tillåta konfliktsituationer som uppstår när man arbetar med olika resurser och sörjer för samordning av program för sina åtgärder, dvs. förse systemet med synkroniseringsverktyg.

Multiprogrammeringssystem har gjort det möjligt för fler effektiv användning systemresurser (t.ex. processor, minne, kringutrustning), men de fanns kvar omgång. Användaren kunde inte direkt interagera med uppgiften och var tvungen att förutse allt med hjälp av kontrollkort. möjliga situationer. Felsökningsprogram var fortfarande tidskrävande och krävde att man undersökte flersidiga utskrifter av innehållet i minne och register, eller använde felsökningsutskrift.

Utseende katodstråleskärmar och att ompröva möjligheterna att använda tangentbord satte en lösning på detta problem.

Den logiska förlängningen av multiprogrammeringssystem blev tidsdelning system, eller tidsdelningssystem . I dem CPU växlar mellan uppgifter inte bara under I/O-operationer, utan helt enkelt efter att en viss tid har gått. Dessa växlar sker så ofta att användare kan interagera med sina program medan de körs, dvs interaktivt. Som ett resultat blir det möjligt för flera användare att arbeta samtidigt på samma datorsystem. Varje användare måste ha minst ett program i minnet för detta.

För att minska gränserna för antalet arbetande användare introducerades idén ofullständig placering av det körbara programmet i RAM. Huvuddelen av programmet finns på disken, och fragmentet som behöver köras för tillfället kan laddas in i RAM, och det onödiga kan laddas ner till disken. Detta implementeras med hjälp av virtuell minnesmekanism . Den största fördelen med denna mekanism är skapandet av illusionen av obegränsat dator-RAM.

V tidsdelningssystem användaren kunde effektivt felsöka programmet i interaktivt läge och skriva information till disk utan att använda hålkort, utan direkt från tangentbordet. Tillkomsten av onlinefiler ledde till behovet av att utveckla avancerade filsystem.

Parallellt med den interna utvecklingen av datorsystem skedde även deras externa utveckling. Före denna period datorkomplex var i allmänhet oförenliga. Alla hade sina egna operativ system, dess kommandosystem, etc. Som ett resultat måste ett program som framgångsrikt kördes på en typ av maskin skrivas om helt och felsöka för att köras på en annan typ av maskin. I början av den tredje perioden, idén om att skapa familjer av programvarukompatibla maskiner verkar under detsamma operativ system.

Den första familjen av mjukvarukompatibla datorer byggd på integrerade kretsar, blev en serie maskiner IBM/360. Denna familj utvecklades i början av 60-talet och var betydligt överlägsen andra generationens maskiner när det gäller pris/prestanda. Den följdes av en rad PDP-datorer, inkompatibla med IBM-linjen, och PDP-11 blev den bästa modellen i den.

Styrkan hos "en familj" var samtidigt dess svaghet. Möjligheter detta koncept (närvaron av alla modeller: från minidatorer till jättemaskiner; ett överflöd av olika kringutrustning; olika miljöer; olika användare) gav upphov till en komplex och krånglig operativ system. Miljontals rader av sammansättningsspråk, skrivna av tusentals programmerare, innehöll många fel, vilket orsakade en kontinuerlig ström av publikationer om dem och försök att rätta till dem.

Bara i operativ system OS/360 innehöll över 1000 kända buggar. Men idén om standardisering operativsystem introducerades allmänt i användarnas medvetande och fick sedan aktiv utveckling.

4. Fjärde perioden (från 1980 till idag)

Personliga datorer. Klassiska, nätverksanslutna och distribuerade system

Nästa period i utvecklingen av datorsystem är förknippad med tillkomsten av stor integrerade kretsar(BIS) . Under dessa år skedde en kraftig ökning av graden av integration och en minskning av kostnaden för mikrokretsar. Datorn, som inte skiljer sig i arkitektur från PDP-11, har blivit tillgänglig för en individ när det gäller pris och användarvänlighet, och inte för en avdelning på ett företag eller universitet. Persondatorernas era har kommit.

Från början var persondatorer avsedda att användas av en användare i ett enda programläge, vilket ledde till försämring av arkitekturen hos dessa datorer och deras operativsystem(Särskilt behovet av att skydda filer och minne, schemalägga jobb etc. har försvunnit).

Datorer började användas inte bara av specialister, vilket krävde utvecklingen av "vänlig" programvara.

Men tillväxten i komplexiteten och variationen av uppgifter lösta på persondatorer, behovet av att förbättra tillförlitligheten i deras arbete ledde till återupplivandet av nästan alla funktioner som är karakteristiska för arkitekturen hos stora datorsystem.

I mitten av 1980-talet började nätverk av datorer, inklusive persondatorer, utvecklas snabbt. nätverk eller distribuerade operativsystem.

V nätverksoperativsystem användare kan komma åt andras resurser nätverksdator, bara de borde veta om sin närvaro och kunna göra det. Varje maskin i nätverket kör sin egen lokal operativ system, till skillnad från operativ system offline dator närvaron av ytterligare verktyg (programvarustöd för nätverksgränssnittsenheter och tillgång till fjärrresurser), men dessa tillägg ändrar inte strukturen operativ system.

distribuerat system , tvärtom, ser ut som ett vanligt autonomt system. Användaren vet inte och bör inte veta var hans filer är lagrade - på den lokala eller fjärranslutna maskinen - och var hans program körs. Han kanske inte alls vet om hans dator är ansluten till nätverket. Inre struktur distribuerat operativsystem har betydande skillnader från autonoma system.

I framtiden självständig OS vi kommer att kalla klassisk operativsystem.

Efter att ha granskat utvecklingsstadierna för datorsystem kan vi urskilja sex huvudfunktioner som framförde det klassiska OS i evolutionsprocessen:

  • Jobbschemaläggning och användning processor.
  • Tillhandahålla program med kommunikationsmedel och synkronisering.
  • Minneshantering.
  • Filsystemhantering.
  • I/O-hantering.
  • säkerhet

Var och en av ovanstående funktioner implementeras vanligtvis som ett delsystem, vilket är en strukturell komponent OS. I varje operativ system dessa funktioner implementerades naturligtvis på sitt eget sätt, i olika volymer. De var inte ursprungligen tänkt som komponenter operativsystem, men dök upp i utvecklingsprocessen, eftersom datorsystem blev bekvämare, effektivare och säkrare.

Utvecklingen av mänskligt skapade datorsystem har tagit denna väg, men ingen har ännu bevisat att detta är det enda möjliga sättet för deras utveckling. OS existerar eftersom deras existens för närvarande är ett rimligt sätt att använda datorsystem. Övervägande av de allmänna principerna och algoritmerna för implementeringen av deras funktioner är innehållet i de flesta av vår kurs, som sekventiellt kommer att beskriva de listade delsystemen.

För att sammanfatta temat "Utveckling av operativsystem" föreslås en kort tabell, som anger de viktigaste milstolparna i utvecklingen av datorteknik och operativsystem.

Period OS utveckling
före 1955 På 1800-talet föreslog Charles Babage idén om en dator. Men den tidens teknik kunde inte tillhandahålla tillverkning av precisionsmekaniska delar som var nödvändiga för denna maskin. Och hans "analytiska motor" kunde aldrig fungera.I mitten av 40-talet. 1900-talet lampberäkningsenheter dök upp. Det var mer ett forskningsarbete inom datateknikens område, och inte användningen av datorer som ett verktyg för att lösa eventuella praktiska problem.

Programmeringen av sådana datorer utfördes uteslutande på maskinspråk, och alla uppgifter för att organisera beräkningsprocessen löstes manuellt av varje programmerare från kontrollpanelen. Det fanns ingen systemprogramvara, förutom bibliotek med matematiska och tjänsteunderrutiner.

1955 - 1965 Framväxten av en ny teknisk bas - halvledarelement. Andra generationens datorer blev mer pålitliga, nu kunde de arbeta kontinuerligt så länge att de kunde anförtros utföra verkligt praktiskt viktiga uppgifter. Under dessa år, den första algoritmiska språk, och de första systemprogrammen - kompilatorer.

Kostnaden för processortid har ökat, vilket krävde en minskning av den improduktiva tiden mellan programlanseringar. Den första batchbearbetningssystem, som helt enkelt automatiserade lanseringen av det ena programmet efter det andra, och därmed ökade processorns belastningsfaktor. Batch-bearbetningssystem var prototypen av moderna operativsystem, de blev de första systemprogrammen designade för att styra beräkningsprocessen.

1965 - tidigt 70-tal. I den tekniska basen skedde en övergång från individuella halvledarelement som transistorer till integrerade kretsar. Denna period kännetecknas också av skapandet av familjer av programvarukompatibla maskiner. Den första familjen av mjukvarukompatibla maskiner byggda på integrerade kretsar var IBM/360-serien av maskiner.

Programvarukompatibilitet krävs och operativsystemskompatibilitet system. Sådana operativsystem måste köras på stora och små datorsystem med olika kringutrustning och tillhandahålla ett datorsystem inom det kommersiella området och inom området vetenskaplig forskning. OS som passade räkningen var skrymmande, komplexa och fulla av buggar, vilket orsakade en oändlig ström av korrigeringar.

Ett exempel på ett sådant operativsystem är OS / 360 (IBM). Under denna period implementerades nästan alla huvudmekanismer som är inneboende i modernt operativsystem: multiprogrammering, multiprocessing, stöd för multi-terminal multi-användarläge, virtuellt minne, åtkomstkontroll, nätverk. Multiprogrammeringär en metod för att organisera en beräkningsprocess där flera program omväxlande körs på en processor. Multiprogrammering har implementerats i batchbearbetningssystem och i tidsdelningssystem.

För att kunna arbeta med en dator för ett stort antal användare, multiterminalsystem, när varje användare arbetar på sin egen terminal. Multiterminalläge har använts i både tidsdelningssystem och batchbearbetningssystem. Samtidigt kunde både användare och operatör skapa sina egna uppgifter och hantera deras utförande från sin terminal. I multiprogrammeringsläge laddas varje program in i sitt eget RAM-område, kallat sektion.

En annan innovation i den tredje generationens maskiner är spolning(spooling) - en metod för att organisera en datorprocess, i enlighet med vilken uppgifter lästes från hålkort till disk i den takt som de dök upp i datorcentret, och sedan, när nästa uppgift var slutförd, en ny uppgift från disken laddades in i den frigjorda partitionen. Vid denna tidpunkt blev operativsystemet en integrerad del av datorer, som tog över de flesta åtgärderna för att organisera datorprocessen.

70-1980-talet I början av 70-talet. de första prototyperna dök upp nätverksoperativsystem, som, till skillnad från operativsystem med flera terminaler, gjorde det möjligt att inte bara sprida användare utan också att organisera distribuerad lagring och bearbetning av data mellan flera datorer anslutna med elektriska länkar.

I mitten av 70-talet. minidatorer blev utbredda: Nova, PDP-11, HP. Deras arkitektur har blivit mycket enklare, vilket har förenklat operativsystemen. OS-minidatorer började göras specialiserade, till exempel endast för realtidskontroll (RT11 för PDP-11) eller endast för att upprätthålla tidsdelning. Dessa operativsystem var inte flera användare.

1980 - 90-talet Denna period i utvecklingen av operativsystem är förknippad med tillkomsten av stora integrerade kretsar (LSI). Under dessa år skedde en kraftig ökning av graden av integration och en minskning av kostnaden för mikrokretsar. Datorn blev tillgänglig för en individ, och eran personliga datorer. Funktionellt skilde de sig inte från PDP-11 minidatorer, men deras pris var betydligt lägre. Detta gjorde att nästan varje person, och inte en avdelning eller institut, kunde ha sin egen dator.

Datorer började användas av icke-specialister, vilket krävde "vänlighet" från programvaran. Operativsystemmarknaden dominerades under dessa år av två system: MS-DOS och Unix. Operativsystemet MS-DOS med ett program för en användare användes ofta för datorer baserade på Intel 8088-mikroprocessorn och sedan 80286, 80386 och 80486 mikroprocessorer.

Hela decenniet har förbättrat detta operativsystem, som ett resultat av vilket dess nya varianter började dyka upp: SunOS, HP-UX, Irix, AIX. Den betydande spridningen av persondatorer fungerade som en katalysator för den snabba tillväxten av lokala nätverk. En annan viktig utveckling under detta decennium var framväxten av TCP/IP-protokollstacken, framväxten av Internet, standardiseringen av lokala nätverksteknologier och den mer intensiva utvecklingen av nätverksoperativsystem (OS-Net av Nowell, OS / 2 av Microsoft och IBM).

Det nuvarande skedet av OS-utveckling På 1990-talet blev nästan alla operativsystem nätverksoperativsystem, som kunde arbeta med heterogena klienter och servrar och stödja verktyg för att arbeta med Internet. Det finns specialiserade nätverksoperativsystem utformade uteslutande för att utföra kommunikationsuppgifter, till exempel, iOS-system Cisco Systems-företag som arbetar med routrar.

En speciell plats ges till företagsoperativsystem, de får huvudrollen i utvecklingen av operativsystemet inom en snar framtid. Ett sådant operativsystem bör fungera stabilt i stora nätverk av stora företag. Företagssystem kännetecknas av hög grad av skalbarhet, nätverksstöd, avancerade säkerhetsverktyg och förmågan att arbeta i en heterogen miljö. Företagsoperativsystem inkluderar för närvarande Windows 2000, Windows NT och olika Unix-system.

Utvecklingen av operativsystem består av följande steg:

  • Sekventiellt utförande av uppgifter
  • Enkel batchbearbetning
  • Multiprogrammering i batchsystem
  • Tidsindelning
  • Modernt OS

Den första fasen av OS-utveckling

Datortid är mer värdefull än mänsklig tid

  • En användare åt gången arbetar direkt med konsolen
  • Det första "OS" - delade I/O-bibliotek
  • En enkel bildskärm för batchbearbetning - flytta bort användaren från datorn. OS - ett program för att ladda och utföra användaruppgifter och spara resultaten
  • Datakanaler, avbrott, samtidiga I/O och beräkningar
  • Minnesskydd möjliggör multitasking: flera användare delar samma system
  • OS måste hantera interaktion, samtidighet
  • I mitten av 60-talet blir operativsystemen stora och komplexa.
  • OS-området blir en viktig disciplin med sina egna principer

Den andra fasen av OS-utveckling

Människotid är mer värdefull än datortid

  • Interaktiv tidsdelning: Bekvämt filsystem, problem med svarstid
  • Persondatorer: de är billiga, så varje terminal är en PC
  • Nätverket låter dig dela och interagera mellan maskiner
  • Inbäddade enheter: Datorer placeras i Mobiltelefoner, stereospelare, TV-apparater osv.
  • Hur mycket komplexa tidsdelningsalgoritmer som behövs där.

Nuvarande och framtida OS

Framtiden ligger i den vetenskapliga utvecklingen av operativsystemet

  • Mycket litet operativsystem (för mobila enheter)
  • Mycket stort operativsystem (datacenter, cloud computing)

Egenskaper för nuvarande OS

  • Enorma miljontals rader med källkod, 100-1000 manår av utveckling
  • Komplex: asynkron, hårdvaruberoende, prestandaorienterad
  • Dåligt förstådd

Forskningens inriktning

Nya forskningsområden dyker ständigt upp

  • Inbyggda system (Apples iPod-spelare krävde utvecklingen av ett eget enhetligt operativsystem)
  • Sensorsystem (mycket låg strömförbrukning, snäva minneskrav)
  • Peer-to-peer-nätverk
  • Trådlösa nätverk
  • Skalbara system, klustersystem

Gamla problem kräver nya lösningar

  • Utvecklingen av smartphones upprepar utvecklingen av PC:n, som upprepade utvecklingen av minidatorer, och de i sin tur miniframes

Hej Habralyudi!
Det är inte många som vet och inte många minns hur historien om datorprogram började - operativsystem. Det var detta ämne som skolpojken valde för sitt MAN-ovsky-arbete (MAN - en liten vetenskapsakademi). Det låter så här - utvecklingen av operativsystem. Jag måste säga direkt att mer än 90% är från Tyrnet, men långt ifrån att grävas upp på de första 2 sidorna av en Google-sökning.

Introduktion
Datorteknologier Nyligen har ett betydande steg framåt tagits, och snart kommer det att vara omöjligt att föreställa sig våra liv utan hjälp av en dator. Men utan ett operativsystem är en dator bara en uppsättning chips. Det är på basis av operativsystemet som alla program som vi använder fungerar, det är från operativsystemet som hastigheten och produktiviteten i vårt arbete på datorn i första hand kommer att bero på.

Modern dator består av en eller flera processorer, RAM, diskar, skrivare, tangentbord, mus, bildskärm, nätverksgränssnitt och diverse andra in-/utdataenheter. Resultatet är ett ganska komplext system. Om varje programmerare som skapar en applikation behöver förstå alla krångligheterna i hur alla dessa enheter fungerar, kommer han inte att skriva en enda rad kod. Att hantera alla dessa komponenter och deras optimala användning är dessutom en mycket svår uppgift. Av denna anledning är datorer utrustade med ett speciellt lager av programvara som kallas operativsystemet, vars uppgift är att hantera användarprogram, samt sköta alla järnresurser.
Första OS
GM-HAA var det första operativsystemet för datorer. Den skapades 1955 av Robert Patrick från General Motors och Owen Mock från North American Aviation. Den var baserad på systemmonitor och körde på stora maskiner. Huvudfunktionen för GM-HAA är automatiskt utförande nytt program när det gamla programmet är klart.
Platåns uppkomst
1972 utvecklades PLATO-systemet, som hade en rad innovationer, till exempel en orange plasmapanel. Den inkluderade minnes- och rastergrafikfunktioner. PLATO plasmaskärm stödde förmågan att snabbt rita vektorlinjer.Många av innovationerna som introducerades av PLATO OS blev grunden för utvecklingen av andra datorsystem. Till exempel har vissa tekniker lånats och förbättrats av Apple.
Uppkomsten av UNIX
Det första UNIX-systemet utvecklades 1969 vid AT&T:s Bell Labs-avdelning. Ett stort antal olika UNIX-system. Några utmärkande egenskaper hos UNIX-system inkluderar:
1) Använda textfiler för att konfigurera och hantera systemet;
2) Utbredd användning av verktyg som lanseras på kommandoraden;
3) Interaktion med användaren genom en virtuell enhet - terminal;
4) Representation av fysiska och virtuella enheter som filer.
Idéerna bakom UNIX hade en enorm inverkan på utvecklingen av datoroperativsystem. UNIX-system anses nu vara ett av de historiskt sett viktigaste operativsystemen. Detta operativsystem populariserar idén om ett hierarkiskt filsystem med godtyckligt kapsdjup.
linux
Linux skapades 1991 av Linus Torvalds, en finsk student. Det faktum att Linus omedelbart efter skapandet av operativsystemet publicerade källkoden för sitt operativsystem på Internet var avgörande för Linuxs framtida öde. Även om Internet 1991 ännu inte var så utbrett som det är idag, användes det främst av personer som har tillräcklig teknisk utbildning. Och redan från början fick Torvalds flera intresserade recensioner med erbjudande om att hjälpa till i utvecklingen, vilket Linus tackade ja till, och efter ett halvår hundratals, sedan anslöt sig hundratusentals frivilliga till utvecklingen.På grund av att Linux-källkoder är distribueras fritt och offentligt har ett stort antal oberoende utvecklare varit involverade i utvecklingen av systemet från första början.
MS-DOS
MS-DOS är Microsofts kommersiella operativsystem för IBM PC-kompatibel personliga datorer. MS-DOS körs i realtid på x86-processorn. Endast ett program kan köras åt gången. MS-DOS designades för att tillåta användare att enkelt ersätta den inbyggda tolken med kommandoradstolkar från tredje part som 4DOS.
Windows, där utan det

1985 dök den första versionen av Windows upp, som inte uppskattades av användarna och ignorerades. Kanske för att det bara kompletterade funktionerna i DOS, faktiskt grafiskt skal och ett tillägg till MS-DOS-sviten.
Med tiden förbättrades Windows-systemet mer och mer, fullfjädrad grafik dök upp, berövade användare av visionen systemfiler, var multitasking-barriären övervunnen, vilket gör att du kan köra 2-3 program. År 1992, från det ögonblicket uppkomsten av Windows 3.1, enligt många användare och proffs, uppskattades de nya funktionerna i operativsystemet. Sedan versionen av Windos3.1 har operativsystemet fått 32-bitars åtkomst till hårddisken.
1998, den 25 juni, kom nya OC Windows 98 in på konsumentmarknaden. Fördelen, jämfört med tidigare exempel, var: fullständig integration med Internet, mer avancerad gränssnittshantering, ny processor Pentium II, AGP-grafikportal, USB-buss.
Parallellt med de tidigare påbörjades utvecklingen av Windows XP-systemet, där man slutligen beslutade att överge 16-bitar i systemkärnan och byta till 32-bitar, med ny arkitektur och struktur. Av fördelarna med det nya systemet bör följande noteras: detta är det första av systemen med ett helt anpassningsbart gränssnitt, introduktionen av en intelligent startmeny. Också optimalt omdesignad panel - PC-kontroll.
Framväxten av ett nytt system efter Widows XP Windows Vista anses mest dåligt alternativ efter alla tidigare OS-versioner. Det presenteras som en "dressrepetition" innan Windows 7. Det verkar som att de goda egenskaperna hos det nya systemet borde ha intresserade användare. Sådana innovationer som inbyggd sökning, tredimensionellt Aero-gränssnitt med vackra stänkskärmar, bra skydd - ingenting hjälpte, allt gjordes extremt misslyckat, enligt användarna.
Windows 7 har förändrats lite från Vista förutom ett nytt gränssnitt. Windows-alternativ 7 släppt 5: Starter Edition, Home Basic, Home Premium, Professional, Ultimate.
Windows 8, till skillnad från sina föregångare, Windows 7 och Windows XP, använder ett nytt gränssnitt som heter Modern(Metro). Det finns även ett skrivbord i systemet, men redan i form av en separat applikation.

Mobilt OS
Nu lockas det ökande intresset hos användare av smartphones på olika operativsystem: Windows-telefon Boda, IOS. De mest populära av dem är IOS och AndroidOS.
iOS
IOS är ett mobilt operativsystem baserat på Linux kärna och utvecklad och tillverkad av det amerikanska företaget Apple. Den släpptes ursprungligen 2007 för iPhone och Ipod Touch. Nu är den installerad på alla Apple-enheter. Innovationer som Safari mobil webbläsare, visuell röstbrevlåda, har det virtuella tangentbordet gjort IOS till ett av de mest populära systemen för smartphones.
android
Android är ett system som utvecklas mest dynamiskt, designat för smartphones (ursprungligen för kommunikatörer (iPhone och dess pekskärm ändrade Googles uppfattning)). Det är en förenklad version av liknande Windows- och Linux-system som används på stationära datorer och bärbara datorer, fokuserad på pekskärmen. Android-plattformen består av ett operativsystem, ett gränssnitt, gränssnittsprogramvara och kraftfulla applikationer.
Google Chrome OS (moln OS)
Chrome OS är positionerat som ett operativsystem för enheter som sträcker sig från små netbooks till fullstora datorsystem och stöder både x86- och ARM-processorarkitekturer.
Det nya Google Chrome OS är öppen källkod, baserat på en optimerad Linux-kärna och drivs av webbläsaren Chrome. Huvudfunktionen kommer att vara dominansen av webbapplikationer över normala funktioner OS. Nyckelroll ges till webbläsaren.
Strategin att skapa en ny produkt innebär en arkitektur som inte kräver hårdvaran på en persondator som används för att komma åt Internet.
Alla applikationer som systemet startar är webbtjänster. Faktum är att alla aktiviteter som äger rum på datorn utförs på Internet - det finns inget behov av att installera några offlineapplikationer. I detta avseende kräver arbetet i Chrome OS inte att datorn har kraftfulla resurser, eftersom alla processer inte startas på själva datorn, utan på servrarna för motsvarande tjänster.
spåkvinna
Användarens operativsystem blir ungefär som en webbläsare installerad på ren metall. Det moderna klassiska gränssnittet (designat på Xerox PARC och banbrytande av Apple för nästan 30 år sedan) kommer att vara ett minne blott. Många moderna beståndsdelar OS kommer helt enkelt att bli onödigt, andra kommer att lämna användaren och förvandlas till API-tjänster för programmerare. OS:s huvuduppgift kommer att vara att ge möjligheten att lansera klientdelen av molntjänster. Och fördelarna som Microsoft har i dagens OS-värld kommer att minska kraftigt. De kommer att behöva komma på nya sätt att binda användare och programmerare till sig själva i en ny miljö, mer konkurrenskraftig än den nuvarande.
Mycket beror på beslut, framgångar och misslyckanden från stora mjukvaruföretag som Microsoft, Google. Till skillnad från mjukvaruutvecklingen vi såg på 1990- och 2000-talen, är den nya utvecklingen mindre beroende av hårdvarutillverkare och mer beroende av mjukvarutillverkare för slutanvändare.

Skäll inte ut för krökning, om något rättas till, svär inte på författaren.

Taggar: operativsystem, IT-historik

Introduktion

1. OS-utveckling

1.1 Första perioden (1945 -1955)

1.2 Andra perioden (1955 - 1965)

1.3 Tredje perioden (1965 - 1980)

1.4 Fjärde perioden (1980–nutid)

2. OS-klassificering

2.1 Funktioner hos resurshanteringsalgoritmer

2.2 Funktioner hos hårdvaruplattformar

2.3 Funktioner i användningsområden

2.4 Byggmetoders egenskaper

3. Moderna koncept och teknologier för att designa operativsystem, krav för OS av XXI-talet

Slutsats

Lista över begagnad litteratur

Introduktion

Historien om någon gren av vetenskap eller teknik gör det inte bara möjligt att tillfredsställa naturlig nyfikenhet, utan också att bättre förstå kärnan i de viktigaste resultaten av denna gren, för att inse de befintliga trenderna och korrekt bedöma utsikterna för vissa utvecklingsområden. Under nästan ett halvt sekel av dess existens har operativsystemen kommit långt, fulla av många viktiga händelser. Utvecklingen av operativsystem påverkades i hög grad av framsteg för att förbättra elementbasen och datorutrustning, så många steg i utvecklingen av operativsystemet är nära relaterade till framväxten av nya typer av hårdvaruplattformar, såsom minidatorer eller persondatorer. Operativsystem har genomgått en stor utveckling i samband med datorernas nya roll i lokala och globala nätverk. Den viktigaste faktorn i utvecklingen av operativsystemet var Internet. Eftersom detta nätverk får egenskaperna hos ett universellt Mass kommunikationer, operativsystem blir mer och mer enkla och lättanvända, inkluderar avancerade verktyg för att stödja multimediainformation och är utrustade med tillförlitliga säkerhetsverktyg.

Syftet med detta kursarbete är - beskrivning och analys av utvecklingen av operativsystem.

Målet uppnås genom följande uppgifter:

Tänk på den historiska aspekten av framväxten av operativsystem;

Identifiera och överväga utvecklingsstadierna för operativsystem.

Det bör noteras att detta faktum inte täcktes tillräckligt i litteraturen, vilket gjorde det svårt att studera det.

Under studiens gång gjordes en kort analys av sådana källor som material från webbplatsen http://www.microsoft.com/rus, material från Windows NT Magazine och andra.

Arbetet består av tre kapitel: inledning, avslutning och referenslista.

1 . OS utveckling

1.1 Första perioden (1945 -1955)

Det är känt att datorn uppfanns av den engelske matematikern Charles Babage i slutet av 1700-talet. Hans "analytiska motor" kunde inte riktigt fungera, eftersom den tidens teknologier inte uppfyllde kraven för tillverkning av precisionsmekaniska delar som var nödvändiga för datorteknik. Det är också känt att den här datorn inte hade något operativsystem.

Vissa framsteg i skapandet av digitala datorer skedde efter andra världskriget. I mitten av 40-talet skapades de första rördatorenheterna. På den tiden deltog samma grupp människor i design, drift och programmering av datorn. Det var mer ett forskningsarbete inom datateknikområdet, och inte användningen av datorer som ett verktyg för att lösa eventuella praktiska problem från andra tillämpade områden. Programmering utfördes uteslutande på maskinspråk. Det var ingen fråga om operativsystem, alla uppgifter med att organisera beräkningsprocessen löstes manuellt av varje programmerare från kontrollpanelen. Det fanns ingen annan systemmjukvara än bibliotek med matematik och verktygsrutiner.

1.2 Andra perioden (1955 - 1965)

Sedan mitten av 1950-talet började en ny period i utvecklingen av datorteknik, förknippad med uppkomsten av en ny teknisk bas - halvledarelement. Andra generationens datorer blev mer pålitliga, nu kunde de arbeta kontinuerligt så länge att de kunde anförtros utföra verkligt praktiskt viktiga uppgifter. Det var under denna period som uppdelningen av personal i programmerare och operatörer, operatörer och utvecklare av datorer skedde.

Under dessa år dök de första algoritmiska språken upp, och följaktligen de första systemprogrammen - kompilatorer. Kostnaden för processortid har ökat, vilket krävde en minskning av den improduktiva tiden mellan programlanseringar. De första batchbehandlingssystemen dök upp som helt enkelt automatiserade lanseringen av det ena programmet efter det andra och därmed ökade processoranvändningen. Batch-bearbetningssystem var prototypen av moderna operativsystem, de blev de första systemprogrammen designade för att styra beräkningsprocessen. Under implementeringen av batchbearbetningssystem utvecklades ett formaliserat jobbkontrollspråk, med hjälp av vilket programmeraren berättade för systemet och operatören vilket arbete han ville utföra på datorn. En uppsättning av flera uppgifter, vanligtvis i form av en kortlek med hålkort, kallas ett uppgiftspaket.

1.3 Tredje perioden (1965 - 1980)

Nästa viktiga period i utvecklingen av datorer avser åren 1965-1980. Vid denna tidpunkt skedde i den tekniska basen en övergång från enskilda halvledarelement som transistorer till integrerade kretsar, vilket gav mycket större möjligheter till den nya, tredje generationens datorer.

Denna period kännetecknas också av skapandet av familjer av programvarukompatibla maskiner. Den första familjen av mjukvarukompatibla maskiner byggda på integrerade kretsar var IBM/360-serien av maskiner. Denna familj byggdes i början av 60-talet och var betydligt överlägsen andra generationens maskiner när det gäller pris/prestanda. Snart blev idén om mjukvarukompatibla maskiner allmänt accepterad.

Programvarukompatibilitet krävde också kompatibilitet för operativsystem. Sådana operativsystem skulle behöva köras på både stora och små datorsystem, med ett stort och ett litet antal olika kringutrustning, inom det kommersiella området och inom området för vetenskaplig forskning. Operativsystem byggda med avsikten att uppfylla alla dessa motstridiga krav har visat sig vara extremt komplexa monster. De bestod av många miljoner monteringsrader, skrivna av tusentals programmerare, och innehöll tusentals buggar, vilket orsakade en oändlig ström av korrigeringar. Varje ny version av operativsystemet fixade vissa buggar och introducerade andra.

Men trots sin enorma storlek och många problem tillfredsställde OS/360 och andra tredje generationens maskinoperativsystem som det de flesta konsumentkrav. OS:s viktigaste prestation denna generation var genomförandet av multiprogrammering. Multiprogrammering är en metod för att organisera en datorprocess där flera program omväxlande körs på en processor. Medan ett program utför en I/O-operation är processorn inte inaktiv, som den var när program kördes sekventiellt (enkelprogramsläge), utan kör ett annat program (flerprogramläge). I det här fallet laddas varje program in i sin egen del av RAM-minnet, som kallas en partition.

En annan innovation är spooling. Spooling vid den tiden definierades som en metod för att organisera en datorprocess, i enlighet med vilken uppgifter lästes från hålkort till disk i den takt som de dök upp i datorcentret, och sedan, när nästa uppgift var slutförd, en ny uppgift från disken laddades in i den frigjorda partitionen.

Tillsammans med multiprogramimplementeringen av batchbearbetningssystem dök en ny typ av OS upp - tidsdelningssystem. Multiprogrammeringsvarianten som används i tidsdelningssystem syftar till att skapa för varje enskild användare en illusion av att endast använda en dator.

1.4 Fjärde perioden (1980 - nutid)

Nästa period i utvecklingen av operativsystem är förknippad med tillkomsten av stora integrerade kretsar (LSI). Under dessa år skedde en kraftig ökning av graden av integration och en minskning av kostnaden för mikrokretsar. Datorn blev tillgänglig för en individ, och persondatorernas era har kommit. Ur arkitektursynpunkt skilde sig persondatorer inte från klassen av minidatorer som PDP-11, men deras pris var betydligt annorlunda. Om minidatorn gjorde det möjligt för en institution vid ett företag eller ett universitet att ha en egen dator, så gjorde persondatorn det möjligt för en individ.

Datorer blev allmänt använda av icke-specialister, vilket krävde utveckling av "vänlig" programvara, detta satte stopp för kasten av programmerare.

Operativsystemmarknaden dominerades av två system: MS-DOS och UNIX. Operativsystemet MS-DOS med ett program för en användare användes ofta för datorer baserade på Intel 8088-mikroprocessorn och sedan 80286, 80386 och 80486 mikroprocessorer.

I mitten av 80-talet började nätverk av persondatorer som kördes under nätverk eller distribuerade operativsystem utvecklas snabbt.

I ett nätverksoperativsystem måste användare vara medvetna om förekomsten av andra datorer och måste logga in på en annan dator för att kunna använda dess resurser, främst filer. Varje maskin i nätverket kör sitt eget lokala operativsystem, som skiljer sig från operativsystemet för en fristående dator genom att det har ytterligare funktioner som gör att datorn kan arbeta i nätverket. Ett nätverksoperativsystem har inga grundläggande skillnader från operativsystemet för en enprocessordator. Den innehåller nödvändigtvis mjukvarustöd för nätverksgränssnittsenheter (drivrutin nätverksadapter), samt verktyg för att logga in på andra datorer i nätverket på distans och verktyg för att komma åt fjärrfiler, men dessa tillägg förändrar inte strukturen på själva operativsystemet nämnvärt.

2. OS-klassificering

Operativsystem kan skilja sig åt i implementeringen av interna algoritmer för att hantera de viktigaste datorresurserna (processorer, minne, enheter), funktionerna i designmetoderna som används, typerna av hårdvaruplattformar, användningsområden och många andra egenskaper.

Nedan finns en klassificering av OS enligt flera av de mest grundläggande funktionerna.

2.1 Funktioner hos resurshanteringsalgoritmer

Effektiviteten hos hela nätverksoperativsystemet som helhet beror till stor del på effektiviteten hos algoritmerna för att hantera lokala datorresurser. Därför, när man karakteriserar ett nätverks-OS, ges ofta de viktigaste funktionerna i implementeringen av OS-funktioner för hantering av processorer, minne och externa enheter i en autonom dator. Så, till exempel, beroende på funktionerna i den använda processorkontrollalgoritmen, är operativsystem uppdelade i multitasking och single-tasking, multi-user och single-användare, system som stöder flertrådsbehandling och inte stöder det, multi- processor och enprocessorsystem.

Stöd för multitasking. Beroende på antalet samtidigt körda uppgifter kan operativsystem delas in i två klasser:

single-tasking (t.ex. MS-DOS, MSX) och

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

Operativsystem med en enda uppgift utför i princip funktionen att förse användaren med en virtuell maskin, vilket gör det enklare och bekvämare för användaren att interagera med datorn. Operativsystem med en enda uppgift inkluderar hanteringsverktyg för kringutrustning, filhanteringsverktyg och användarkommunikationsverktyg.

Multitasking-operativsystem, förutom ovanstående funktioner, hanterar delning av delade resurser som processor, RAM, filer och externa enheter.

Stöd för flerspelarläge. Beroende på antalet samtidiga användare är operativsystem indelade i:

enskild användare (MS-DOS, Windows 3.x, tidiga versioner av OS/2);

fleranvändare (UNIX, Windows NT).

Den största skillnaden mellan fleranvändarsystem och enanvändarsystem är tillgången på medel för att skydda varje användares information från obehörig åtkomst av andra användare. Det bör noteras att inte alla multitasking-system är multi-användare, och inte alla single-user OS är single-tasking.

Förebyggande och icke-förebyggande multitasking. Den viktigaste delade resursen är processortid. Sättet på vilket processortid fördelas mellan flera processer (eller trådar) som samtidigt existerar i systemet avgör till stor del OS:s särdrag. Bland de många befintliga alternativen för att implementera multitasking kan två grupper av algoritmer urskiljas:

icke-förebyggande multitasking (NetWare, Windows 3.x);

förebyggande multitasking (Windows NT, OS/2, UNIX).

Huvudskillnaden mellan förebyggande och icke-förebyggande multitasking är graden av centralisering av processschemaläggningsmekanismen. I det första fallet är processschemaläggningsmekanismen helt koncentrerad till operativsystemet, och i det andra fallet är den fördelad mellan systemet och applikationsprogrammen. Vid icke-förebyggande multitasking körs den aktiva processen tills den på eget initiativ ger kontroll till operativsystemet för att det ska kunna välja en annan körklar process från kön. Vid förebyggande multitasking fattas beslutet att byta processor från en process till en annan av operativsystemet, inte av den aktiva processen i sig.

Flertrådsstöd. En viktig egenskap hos operativsystem är förmågan att parallellisera beräkningar inom en enda uppgift. Ett flertrådigt operativsystem delar upp processortiden inte mellan uppgifter, utan mellan deras separata grenar (trådar).

Multiprocessing. Övrig viktig egendom OS är frånvaron eller närvaro i det av medel för att stödja multiprocessing - multiprocessing. Multiprocessing leder till komplikationen av alla resurshanteringsalgoritmer.

Nuförtiden börjar det bli allmänt accepterat att introducera stödfunktioner för flera processer i operativsystemet. Sådana funktioner är tillgängliga i Suns Solaris 2.x, Santa Crus Operations Open Server 3.x, IBMs OS/2, Microsofts Windows NT och Novells NetWare 4.1.

Operativsystem för flera processorer kan klassificeras efter hur beräkningsprocessen är organiserad i ett system med en multiprocessorarkitektur: asymmetriska operativsystem och symmetriska operativsystem. Ett asymmetriskt operativsystem körs helt och hållet på endast en av systemets processorer och fördelar tillämpade uppgifter över resten av processorerna. Ett symmetriskt operativsystem är helt decentraliserat och använder hela poolen av processorer, som delar upp dem mellan system- och applikationsuppgifter.

Ovan övervägdes OS-egenskaper relaterade till hanteringen av endast en typ av resurs - processorn. Ett viktigt inflytande på utseendet på operativsystemet som helhet, på möjligheten att det kan användas i ett visst område, utövas också av funktionerna i andra delsystem för att hantera lokala resurser - delsystem för att hantera minne, filer och input-output enheter.

OS:s specificitet manifesteras också i hur det implementerar nätverksfunktioner: känna igen och omdirigera förfrågningar till fjärrresurser till nätverket, skicka meddelanden över nätverket, exekvera fjärrförfrågningar. Vid implementering av nätverksfunktioner uppstår en uppsättning uppgifter relaterade till den distribuerade karaktären av datalagring och -bearbetning i nätverket: underhålla referensinformation om alla resurser och servrar som finns tillgängliga på nätverket, adressera interagerande processer, säkerställa åtkomsttransparens, datareplikering, koordinera kopior , upprätthålla datasäkerhet.

2. 2 Funktioner hos hårdvaruplattformar

Operativsystemets egenskaper påverkas direkt av hårdvaran som det är orienterat mot. Efter typ av utrustning särskiljs operativsystem för persondatorer, minidatorer, stordatorer, kluster och datornätverk. Bland de listade typerna av datorer kan det finnas både enprocessorvarianter och multiprocessorvarianter. Hur som helst återspeglas hårdvarans särdrag som regel i operativsystemens särdrag.

Uppenbarligen är operativsystemet för en stor maskin mer komplext och funktionellt än på en persondator. Sålunda, i operativsystemet för stora maskiner, implementeras funktionerna för att schemalägga flödet av uppgifter som utförs uppenbarligen genom användning av komplexa prioriterade discipliner och kräver mer datorkraft än i persondatorers operativsystem. Detsamma gäller för andra funktioner.

Nätverksoperativsystemet innehåller medel för att överföra meddelanden mellan datorer över kommunikationslinjer, vilket är helt onödigt i ett fristående operativsystem. Baserat på dessa meddelanden upprätthåller nätverksoperativsystemet fördelningen av datorresurser mellan fjärranvändare ansluten till nätverket. För att stödja funktioner för meddelandeöverföring innehåller nätverksoperativsystem speciella programvarukomponenter som implementerar populära kommunikationsprotokoll som IP, IPX, Ethernet och andra.

Multiprocessorsystem kräver en speciell organisation från operativsystemet, med hjälp av vilken själva operativsystemet, såväl som de applikationer det stödjer, kan exekveras parallellt av systemets individuella processorer. Parallellt arbete separata delar av operativsystemet skapar ytterligare problem för OS-utvecklare, eftersom det i det här fallet är mycket svårare att säkerställa konsekvent åtkomst av individuella processer till vanliga systemtabeller, för att eliminera effekten av raser och andra oönskade konsekvenser av asynkront utförande av arbete.

Andra krav gäller för klusteroperativsystem. Cluster - en löst kopplad samling av flera datorsystem som arbetar tillsammans för att utföra vanliga applikationer och presenteras för användaren enhetligt system. Tillsammans med speciell hårdvara kräver klustersystemens funktion även mjukvarustöd från operativsystemet, vilket i princip går ut på att synkronisera åtkomst till delade resurser, upptäcka fel och dynamiskt omkonfigurera systemet. En av de första utvecklingarna inom området klusterteknologier var Digital Equipments lösningar baserade på VAX-datorer. Företaget ingick nyligen ett avtal med Microsoft om att utveckla en klusterteknologi som använder Windows NT. Flera företag erbjuder kluster baserade på UNIX-maskiner.

Tillsammans med ett OS helt fokuserat viss typ hårdvaruplattform, det finns operativsystem speciellt utformade så att de enkelt kan överföras från en typ av dator till en annan typ av dator, det så kallade mobila OS. Det mest slående exemplet på ett sådant operativsystem är det populära UNIX-systemet. I dessa system är hårdvaruberoende platser noggrant lokaliserade, så att när ett system portas till en ny plattform är det bara de som skrivs över. Ett verktyg för att göra det enklare att porta resten av operativsystemet är att skriva det på ett maskinoberoende språk, till exempel C, som utvecklats för programmering av operativsystem.

2. 3 Funktioner för användningsområden

Multitasking-operativsystem är indelade i tre typer i enlighet med effektivitetskriterierna som används i deras utveckling:

batchbearbetningssystem (t.ex. OC EC),

tidsdelningssystem (UNIX, VMS),

realtidssystem (QNX, RT/11).

Batchbearbetningssystem var avsedda för att lösa problem av mestadels beräkningskaraktär som inte krävde snabba resultat. Huvudmålet och kriteriet för effektiviteten hos batchbearbetningssystem är den maximala genomströmningen, det vill säga lösningen av det maximala antalet uppgifter per tidsenhet. För att uppnå detta mål använder satsbearbetningssystem följande operationsschema: i början av arbetet bildas en sats av uppgifter, varje uppgift innehåller ett krav på systemresurser; från denna sats av uppgifter bildas en multiprogramblandning, det vill säga en uppsättning samtidigt utförda uppgifter. För samtidig exekvering väljs uppgifter som har olika resurskrav, så att en balanserad belastning av alla enheter i datorn säkerställs; så, till exempel, i en flerprogramsblandning, den samtidiga närvaron av datoruppgifter och I/O-intensiva uppgifter. Således beror valet av en ny uppgift från en grupp uppgifter på den interna situationen i systemet, det vill säga en "lönsam" uppgift väljs. Därför är det i sådana operativsystem omöjligt att garantera utförandet av en viss uppgift inom en viss tidsperiod. I batchbearbetningssystem sker en processorväxling från en uppgift till en annan endast om den aktiva uppgiften själv ger upp processorn, till exempel på grund av behovet av att utföra en I/O-operation. Därför kan en uppgift ta lång tid på processorn, vilket gör det omöjligt att utföra interaktiva uppgifter. Användarens interaktion med datorn på vilken batchbehandlingssystemet är installerat handlar om att han tar med uppgiften, ger den till avsändaren och i slutet av dagen, efter att ha slutfört hela batchen av uppgifter får han resultatet. Uppenbarligen minskar denna order effektiviteten i användarens arbete.

Tidsdelningssystem är utformade för att korrigera den största nackdelen med batchbearbetningssystem - isoleringen av användarprogrammeraren från processen att utföra sina uppgifter. Varje användare av tidsdelningssystemet är försedd med en terminal från vilken han kan föra en dialog med sitt program. Eftersom endast en del av processortiden allokeras till varje uppgift i tidsdelningssystem, tar ingen uppgift processorn länge och svarstiden är acceptabel. Om kvantumet väljs tillräckligt litet får alla användare som samtidigt arbetar på samma maskin intrycket att var och en av dem är den enda användaren av maskinen. Det är tydligt att tidsdelningssystem har mindre genomströmning än batchbearbetningssystem, eftersom varje uppgift som startas av användaren accepteras för exekvering, och inte en som är "nyttig" för systemet, och dessutom finns det en overhead på datorkraft för mer frekvent byte av processor från uppgift till uppgift. Kriteriet för effektiviteten hos tidsdelningssystem är inte den maximala genomströmningen, utan användarupplevelsens bekvämlighet och effektivitet.

Realtidssystem används för att styra olika tekniska objekt, såsom till exempel en verktygsmaskin, en satellit, en vetenskaplig experimentanläggning eller tekniska processer, såsom en galvanisk linje, en masugnsprocess, etc. I alla dessa fall finns det en maximalt tillåten tid under vilken ett eller annat program som styr objektet måste köras, annars kan en olycka inträffa: satelliten kommer att gå ut ur siktzonen, experimentdata som kommer från sensorerna kommer att vara förloras, kommer tjockleken på den galvaniska beläggningen inte att följa normen. Effektivitetskriteriet för realtidssystem är alltså deras förmåga att stå emot i förväg förinställda intervall tiden mellan lanseringen av programmet och mottagandet av resultatet (kontrollåtgärd). Denna tid kallas systemets reaktionstid, och motsvarande egenskap hos systemet kallas reaktivitet. För dessa system är en multiprogramblandning en fast uppsättning förutvecklade program, och valet av ett program för exekvering utförs baserat på objektets aktuella tillstånd eller i enlighet med det schemalagda arbetsschemat.

Vissa operativsystem kan kombinera egenskaperna hos olika typer av system, till exempel kan vissa uppgifter utföras i batchbehandlingsläge och andra - i realtids- eller tidsdelningsläge. I sådana fall kallas batchbehandlingsläget ofta som bakgrundsläge.

2. 4 Funktioner av konstruktionsmetoder

När man beskriver ett operativsystem anges ofta funktionerna i dess strukturella organisation och de grundläggande koncepten som ligger bakom det.

Dessa grundläggande begrepp inkluderar:

Sätt att bygga kärnan i systemet - monolitisk kärna eller mikrokärna tillvägagångssätt. De flesta operativsystem använder en monolitisk kärna, som är länkad som ett enda program som körs i privilegierat läge och använder snabba övergångar från en procedur till en annan utan att behöva byta från privilegierat läge till användarläge och vice versa. Ett alternativ är att bygga ett OS baserat på en mikrokärna, som också fungerar i privilegierat läge och endast utför ett minimum av hårdvaruhanteringsfunktioner, medan högre OS-funktioner utförs av specialiserade OS-komponenter - servrar som arbetar i användarläge. Med denna konstruktion fungerar operativsystemet långsammare, eftersom övergångar mellan privilegierat läge och användarläge ofta utförs, men systemet är mer flexibelt - dess funktioner kan ökas, modifieras eller minskas genom att lägga till, modifiera eller exkludera användarlägesservrar . Dessutom är servrarna väl skyddade från varandra, liksom alla användarprocesser.

Att bygga ett OS baserat på ett objektorienterat tillvägagångssätt gör det möjligt att använda alla dess fördelar, som har visat sig på applikationsnivå, inuti operativsystemet, nämligen: ackumuleringen av framgångsrika lösningar i form av standardobjekt, förmågan att skapa nya objekt baserade på befintliga med hjälp av arvsmekanismen, bra skydd av data på grund av deras inkapsling i objektets interna strukturer, vilket gör data otillgängliga för obehörig användning utifrån, strukturen i systemet, bestående av en uppsättning av väldefinierade objekt.

Närvaron av flera applikationsmiljöer gör det möjligt att samtidigt exekvera applikationer utvecklade för flera operativsystem inom ett operativsystem. Många moderna operativsystem stöder samtidig applikation MS-DOS-miljöer, Windows, UNIX (POSIX), OS/2 eller åtminstone någon delmängd av denna populära uppsättning. Konceptet med flera applikationsmiljöer implementeras enklast i ett operativsystem baserat på en mikrokärna, på vilken olika servrar fungerar, varav några implementerar applikationsmiljön för ett visst operativsystem.

Den distribuerade organisationen av operativsystemet gör det möjligt att förenkla arbetet för användare och programmerare i nätverksmiljöer. Det distribuerade operativsystemet implementerar mekanismer som gör det möjligt för användaren att representera och uppfatta nätverket i form av en traditionell dator med en processor. De karakteristiska egenskaperna hos en distribuerad OS-organisation är: närvaron av en enda referenstjänst för delade resurser, enda tjänst tid, användningen av RPC-mekanismen (Remote Procedure Call) för transparent distribution av programprocedurer mellan maskiner, flertrådad bearbetning, vilket möjliggör parallellisering av beräkningar inom en enda uppgift och exekvering av denna uppgift på flera nätverksdatorer samtidigt, samt tillgång till andra distribuerade tjänster.

3. Moderna koncept och teknologier för att designa operativsystem, krav för OSXXIårhundrade

Operativsystemet är kärnan i nätverksprogramvaran, det skapar miljön för applikationer att köra och avgör till stor del vilka funktioner dessa applikationer kommer att ge användaren. Tänk i detta avseende på de krav som ett modernt operativsystem måste uppfylla.

Uppenbarligen är huvudkravet för ett operativsystem förmågan att utföra grundläggande funktioner: effektiv resurshantering och tillhandahållande av ett bekvämt gränssnitt för användaren och applikationsprogrammen. Ett modernt operativsystem måste som regel implementera multiprogrammering, virtuellt minne, byta, stödja ett gränssnitt för flera fönster och även utföra många andra absolut nödvändiga funktioner. Utöver dessa funktionskrav operativsystem har lika viktiga marknadskrav. Dessa krav inkluderar:

· Utbyggbarhet. Koden bör vara skriven på ett sådant sätt att det är lätt att göra tillägg och ändringar vid behov och inte kränka systemets integritet.

portabilitet. Koden måste vara lätt att bära från en typ av processor till en annan typ av processor, och från en hårdvaruplattform (som tillsammans med processortypen inkluderar hur all datorhårdvara är organiserad) av en typ till en annan typ av hårdvaruplattform .

· Tillförlitlighet och feltolerans. Systemet måste skyddas från både interna och externa fel, fel och fel. Dess handlingar ska alltid vara förutsägbara och applikationer ska inte kunna skada operativsystemet.

· Kompatibilitet. OS måste ha möjlighet att köra applikationsprogram skrivna för andra operativsystem. Dessutom måste användargränssnittet vara kompatibelt med befintliga system och standarder.

· Säkerhet. OS måste ha möjlighet att skydda vissa användares resurser från andra.

· Prestanda. Systemet ska vara så snabbt och lyhört som hårdvaruplattformen tillåter.

Låt oss titta närmare på några av dessa krav.

Expanderbarhet Medan datorhårdvara blir föråldrad på några år, kan operativsystemens livslängd mätas i decennier. Ett exempel är UNIX-operativsystemet. Därför utvecklas operativsystem alltid över tiden, och dessa förändringar är mer betydande än hårdvaruförändringar. OS-ändringar representerar vanligtvis förvärvet av nya funktioner genom det. Till exempel stöd för nya enheter som CD-ROM, möjligheten att kommunicera med nya typer av nätverk, stöd för lovande teknologier som ett grafiskt användargränssnitt eller objektorienterad mjukvarumiljö, användning av mer än en processor. Att bevara kodens integritet, oavsett vilka ändringar som görs i operativsystemet, är huvudmålet med utvecklingen.

Utökningsbarhet kan uppnås genom OS:s modulära struktur, där program byggs från en uppsättning separata moduler som endast interagerar genom ett funktionellt gränssnitt. Nya komponenter kan läggas till operativsystemet på ett modulärt sätt, de utför sitt arbete med gränssnitt som stöds av befintliga komponenter.

Att använda objekt för att representera systemresurser förbättrar också systemets utökbarhet. Objekt är abstrakta datatyper som endast kan manipuleras enligt specialuppsättning objektfunktioner. Objekt låter dig hantera systemresurser på ett konsekvent sätt. Att lägga till nya objekt förstör inte befintliga anläggningar och kräver inga ändringar av befintlig kod.

Utmärkta möjligheter till expansion ges av tillvägagångssättet att strukturera operativsystemet som en klient-server med hjälp av mikrokärnteknologi. I enlighet med detta tillvägagångssätt är operativsystemet byggt som en uppsättning privilegierade kontrollprogram och en uppsättning oprivilegierade servertjänster. Huvuddelen av operativsystemet kan förbli densamma medan nya servrar kan läggas till eller gamla förbättras.

Remote Procedure Calls (RPC) ger också en möjlighet att utöka funktionaliteten hos operativsystemet. Nya mjukvarurutiner kan läggas till vilken maskin som helst i nätverket och omedelbart tillgängliga för applikationsprogram på andra maskiner i nätverket.

För att förbättra utbyggbarheten stöder vissa operativsystem nedladdningsbara drivrutiner som kan läggas till systemet medan det körs. Nya filsystem, enheter och nätverk kan stödjas genom att skriva en enhetsdrivrutin, filsystemdrivrutin eller transportdrivrutin och ladda den i systemet.

Bärbarhet Kravet på kodportabilitet är nära relaterat till utbyggbarhet. Utökningsbarhet låter dig förbättra operativsystemet, medan portabilitet låter dig flytta hela systemet till en maskin baserad på en annan processor eller hårdvaruplattform, samtidigt som du gör så få ändringar i koden som möjligt. Medan operativsystem ofta beskrivs som antingen bärbara eller icke-portabla, är portabilitet inte ett binärt tillstånd. Frågan är inte om systemet kan porteras, utan hur enkelt det kan göras. Att skriva ett bärbart operativsystem liknar att skriva vilken bärbar kod som helst - du måste följa vissa regler.

För det första måste det mesta av koden vara skriven på ett språk som finns tillgängligt på alla maskiner dit du vill porta systemet. Detta innebär vanligtvis att koden måste skrivas på ett högnivåspråk, helst ett standardiserat språk som C. Ett assemblerspråksprogram är inte portabelt om du inte tänker porta det till en maskin som är kommandokompatibel med din.

För det andra är det nödvändigt att överväga i vilken fysisk miljö programmet ska överföras. Olika hårdvara kräver olika lösningar när man skapar ett OS. Till exempel kan ett OS byggt på 32-bitars adresser inte portas till en maskin med 16-bitars adresser (förutom med stor svårighet).

För det tredje är det viktigt att minimera eller, om möjligt, eliminera de delar av koden som direkt interagerar med hårdvaran. Hårdvaruberoende kan ta många former. Några uppenbara former av beroende inkluderar direkt manipulation av register och annan hårdvara.

För det fjärde, om hårdvaruberoende kod inte kan elimineras helt, måste den isoleras i ett fåtal vällokaliserade moduler. Hårdvaruspecifik kod behöver inte distribueras i hela systemet. Till exempel kan du dölja en enhetsspecifik struktur i mjukvarudefinierade data av en abstrakt typ. Andra moduler i systemet kommer att arbeta med dessa data, och inte med hårdvaran, med en uppsättning av vissa funktioner. När ett operativsystem migreras, ändras bara den data och funktionerna som manipulerar dem.

För enkel portabilitet av operativsystemet under dess utveckling måste följande krav uppfyllas:

· Bärbart språk på hög nivå. De flesta bärbara operativsystem är skrivna i C (ANSI X3.159-1989 standard). Utvecklare väljer C för att det är standardiserat och för att C-kompilatorer är allmänt tillgängliga. Montören används endast för de delar av systemet som måste interagera direkt med hårdvaran (till exempel en avbrottshanterare) eller för delar som kräver toppfart(till exempel heltalsaritmetik med hög precision). Icke-bärbar kod måste dock isoleras noggrant inom de komponenter där den används.

Processor isolering. Vissa lågnivådelar av operativsystemet måste ha tillgång till processorspecifika datastrukturer och register. Koden som gör detta måste dock finnas i små moduler som kan ersättas av liknande moduler för andra processorer.

Plattformsisolering. Plattformsberoende ligger i skillnader mellan arbetsstationer olika tillverkare, byggd på samma processor (till exempel MIPS R4000). Ett mjukvarulager måste införas som abstraherar hårdvaran (cachar, I/O-avbrottskontroller etc.) tillsammans med ett lager av lågnivåprogram på ett sådant sätt att högnivåkoden inte behöver ändras när den porteras från en plattform till en annan.

Kompatibilitet En aspekt av kompatibilitet är förmågan hos ett operativsystem att köra program skrivna för andra operativsystem eller mer. tidiga versioner detta operativsystem, såväl som för en annan hårdvaruplattform.

Det är nödvändigt att separera frågorna om binär kompatibilitet och kompatibilitet på nivån för applikationskällkod. Binär kompatibilitet uppnås när du kan ta ett körbart program och köra det på ett annat operativsystem. Detta kräver: kompatibilitet på nivån för processorinstruktioner, kompatibilitet på nivån för systemanrop och till och med på nivån för biblioteksanrop om de är dynamiskt länkade.

Kompatibilitet på källnivå kräver en lämplig kompilator i programvaran, samt kompatibilitet på nivån för bibliotek och systemanrop. Detta kräver att den befintliga källkoden kompileras om till en ny körbar modul.

Kompatibilitet på källnivå är viktig främst för applikationsutvecklare som alltid har dessa källor till sitt förfogande. Men för slutanvändare är endast binär kompatibilitet av praktisk betydelse, eftersom de endast i detta fall kan använda samma kommersiella produkt, levererad som en binär körbar kod, i olika driftsmiljöer och på olika maskiner.

Huruvida ett nytt operativsystem är binärt kompatibelt eller källkodskompatibelt med befintliga system beror på många faktorer. Den viktigaste av dem är arkitekturen för processorn som det nya operativsystemet körs på. Om processorn som operativsystemet porteras till använder samma instruktionsuppsättning (kanske med några tillägg) och samma adressintervall, kan binär kompatibilitet uppnås ganska enkelt.

Det är mycket svårare att uppnå binär kompatibilitet mellan processorer baserade på olika arkitekturer. För att en dator ska kunna köra en annans program (som ett DOS-program på en Mac) måste den datorn fungera med maskinkommandon som den inte förstår från början. Till exempel bör en processor av typen 680x0 på en Mac köra binär kod avsedd för en 80x86-processor på en PC. 80x86-processorn har sin egen instruktionsavkodare, register och intern arkitektur. 680x0-processorn förstår inte 80x86-binären, så den måste hämta varje instruktion, avkoda den för att avgöra vad den är till för och sedan köra motsvarande subrutin som skrivits för 680x0. Eftersom 680x0 inte heller har exakt samma register, flaggor och interna aritmetiska logiska enheter som 80x86, måste den simulera alla dessa element med sina egna register eller minne. Och den måste noggrant reproducera resultaten av varje instruktion, vilket kräver specialskrivna rutiner för 680x0 för att säkerställa att tillståndet för de emulerade registren och flaggorna efter att varje instruktion exekveras är exakt detsamma som på en riktig 80x86.

Detta är ett enkelt, men väldigt långsamt jobb, eftersom mikrokoden inuti 80x86-processorn körs på en mycket snabbare nivå än de som emulerar den. externa kommandon 680x0. Under exekveringen av en 80x86-instruktion på 680x0, kan en riktig 80x86 utföra dussintals instruktioner. Därför, om processorn som utför emuleringen inte är tillräckligt snabb för att kompensera för alla förluster i emuleringen, kommer programmen som körs under emuleringen att vara mycket långsamma.

Utvägen i sådana fall är att använda de så kallade applikationsmiljöerna. Med tanke på att huvuddelen av programmet som regel består av anrop till biblioteksfunktioner, simulerar applikationsmiljön hela biblioteksfunktionerna med hjälp av ett förskrivet bibliotek med funktioner med liknande syfte och emulerar resten av kommandona individuellt.

Överensstämmelse med POSIX-standarder är också ett sätt att säkerställa kompatibiliteten för programmering och användargränssnitt. Under andra hälften av 1980-talet började amerikanska statliga myndigheter utveckla POSIX som standarder för den utrustning som levereras när man slöt statliga kontrakt på datorområdet. POSIX är "ett bärbart OS-gränssnitt baserat på UNIX". POSIX är en samling internationella standarder för OS-gränssnitt i UNIX-stil. Genom att använda POSIX-standarden (IEEE-standard 1003.1 - 1988) kan du skapa UNIX-program som enkelt kan överföras från ett system till ett annat.

Säkerhet Utöver POSIX-standarden har den amerikanska regeringen även definierat krav datorsäkerhet för applikationer som används av regeringen. Många av dessa krav är önskvärda funktioner för alla fleranvändarsystem. Säkerhetsregler definierar egenskaper som att skydda en användares resurser från andra och ställa in resurskvoter för att förhindra en enskild användare från att ta över alla systemresurser (som minne).

Att säkerställa skydd av information från obehörig åtkomst är en obligatorisk funktion i nätverksoperativsystem. De flesta populära systemen garanterar en datasäkerhetsnivå som motsvarar nivå C2 i det amerikanska standardsystemet.

Grunderna för säkerhetsstandarder fastställdes av kriterierna för utvärdering av betrodda datorsystem. Detta dokument, publicerat i USA 1983 nationellt centrum datorsäkerhet (NCSC - National Computer Säkerhetscenter), ofta kallad Orange Book.

I enlighet med kraven i Orange Book anses ett system som säkert om det "kontrollerar tillgången till information genom särskilda säkerhetsmekanismer på ett sådant sätt att endast behöriga personer eller processer som agerar på deras vägnar kan få tillgång till att läsa, skriva, skapa eller radera information. ".

Hierarkin av säkerhetsnivåer som anges i Orange Book anger den lägsta säkerhetsnivån som D och den högsta som A.

· Klass D inkluderar system vars utvärdering visade att de inte uppfyller kraven för alla andra klasser.

· De huvudsakliga egenskaperna för C-system är: närvaron av ett delsystem för registrering av säkerhetsrelaterade händelser och selektiv åtkomstkontroll. Nivå C är uppdelad i 2 undernivåer: nivå C1, som skyddar data från användarfel, men inte från skadliga åtgärder, och en strängare nivå C2. På nivå C2 ska medel finnas hemlig ingång, som ger användarverifiering genom att ange ett unikt användarnamn och lösenord innan de får åtkomst till systemet. Den selektiva åtkomstkontroll som krävs på denna nivå tillåter resursägaren att avgöra vem som har tillgång till resursen och vad de kan göra med den. Ägaren gör detta genom att ge åtkomsträttigheter till en användare eller grupp av användare. Redovisnings- och övervakningsverktyg (revision) - ger möjlighet att upptäcka och registrera viktiga säkerhetsrelaterade händelser, eller alla försök att skapa, komma åt eller ta bort systemresurser. Minnesskydd - är att minnet initieras innan det återanvänds. På den här nivån är systemet inte immunt mot användarfel, men användarbeteende kan kontrolleras från loggposter som lämnas av övervaknings- och revisionsverktyg.

· Nivå B-system är baserade på taggade data och kategorisering av användare, det vill säga de implementerar obligatorisk åtkomstkontroll. Varje användare tilldelas en säkerhetsklassning och kan endast komma åt data enligt den klassificeringen. Denna nivå, till skillnad från nivå C, skyddar systemet från felaktigt användarbeteende.

Nivå A är mest hög nivå säkerhet kräver det, utöver alla krav på nivå B, ett formellt, matematiskt motiverat bevis på att systemet uppfyller säkerhetskraven.

Olika kommersiella strukturer (till exempel banker) betonar behovet redovisningstjänst, liknande den som erbjuds av statliga rekommendationer C2. All aktivitet relaterad till säkerhet kan spåras och därmed redovisas. Det är precis vad C2 kräver och vad banker vanligtvis behöver. Kommersiella användare är dock i allmänhet ovilliga att betala priset för prestanda för ökad säkerhet. Säkerhet på A-nivå tar upp till 90 % av processortiden med sina kontrollmekanismer. Säkrare system minskar inte bara effektiviteten, utan begränsar också avsevärt antalet tillgängliga applikationspaket som kan köras korrekt på ett sådant system. Till exempel har Solaris-operativsystemet (UNIX-version) flera tusen applikationer, medan dess motsvarighet på B-nivå bara har hundra.

Slutsats

OS:s historia har ungefär ett halvt sekel. Det bestämdes till stor del och bestäms av utvecklingen av elementbasen och beräkningsutrustningen. De första digitala datorerna som dök upp i början av 40-talet fungerade utan operativsystem, alla uppgifter för att organisera beräkningsprocessen löstes manuellt av varje programmerare från kontrollpanelen.

Prototypen för moderna operativsystem var monitorsystemen från mitten av 50-talet, som automatiserade operatörens åtgärder för att slutföra en mängd uppgifter.

Under perioden 1965-1975. nästan alla grundläggande begrepp som är inneboende i moderna operativsystem implementerades: multiprogrammering, multibearbetning, multiterminalläge, virtuellt minne, filsystem, åtkomstkontroll och nätverk

Sedan mitten av 70-talet började UNIX användas flitigt, ett OS unikt för den tiden, som var relativt lätt att bära till olika typer av datorer.

Början av 80-talet förknippas med tillkomsten av persondatorer. Detta krävde utveckling av ett "vänligt gränssnitt".Persondatorer bidrog till den snabba tillväxten av lokala nätverk, som ett resultat av att stöd för nätverksfunktioner blev en förutsättning för persondatorers OS.

På 90-talet blev nästan alla operativsystem som intar en framträdande plats på marknaden nätverksanslutna. Operativsystemet har fått möjlighet att arbeta med alla större tekniker för lokala (Ethernet, Fast Ethernet, Token Ring, FDDI) och globala (ISDN, ATM) nätverk. Särskild uppmärksamhet har under det senaste decenniet ägnats åt företagsnätverksoperativsystem. De kännetecknas av sin förmåga att arbeta bra och stabilt i stora nätverk, som är typiska för stora företag, förmågan att arbeta sömlöst på olika hårdvaruplattformar.