De första systemprogrammen i operativsystemet utfördes. Konceptet för operativsystemet. De viktigaste stadierna av utvecklingen av operativsystem

Med tanke på utvecklingen av operativsystemet bör det komma ihåg att skillnaden i tidpunkten för genomförandet av vissa principer för organisation av enskilda operativsystem till deras övergripande erkännande, liksom terminologisk osäkerhet, inte tillåter att ge en exakt kronologi av OS. Det är dock nu ganska rättvist att bestämma de viktigaste milstolparna på vägen för operativsystemets utveckling.

Det finns också olika tillvägagångssätt för att bestämma generationerna i operativsystemet. Det är känt för separation av operativsystemet för generering i enlighet med generationer av datorer och system [,,]. En sådan delning kan inte anses vara helt tillfredsställande, eftersom utvecklingen av OS-organisationsmetoder inom en enda datorgenerering, som framgår av erfarenheterna av deras skapelse, ligger i ett ganska brett sortiment. En annan synvinkel associerar inte en generation av operativsystem med lämpliga e-postgenereringar. Det är till exempel känt att identifiera definitionen av OS-generationerna på nivåerna av EU: s inmatningsspråk, sätten för användningen av centrala processorer, former av drift av system etc.

Tydligen bör det mest lämpliga betraktas som fördelningen av stadierna i utvecklingen av operativsystemet inom ramen för individuella generationer av datorn och flygplanet.

Den första etappen av utvecklingen av systemprogramvaran kan betraktas som användningen av biblioteksprogram, standard och serviceunderrutiner och makron. Begreppet bibliotek av subrutinerna är de tidigaste och går tillbaka till 1949. Med tillkomsten av bibliotek utvecklades det automatiska sättet för deras ackompanjemang - nedladdare och länkredaktörer. Dessa medel användes i den första generationsdatorn, när operativsystem inte existerade som sådana (fig.3.2).

Lusten att eliminera inkonsekvensen mellan utförandet av processorer och hastigheten hos de elektromekaniska ingångsanordningarna, å ena sidan och användningen av tillräckligt snabba enheter på magnetband och trummor (NML och NMB) och sedan på magnetskivor ( NMD) har å andra sidan lett till behovet av att lösa uppdragsbuffra och blockera datautmatningsdata. Särskilda åtkomstmetoder uppstod, som introducerades i objekt av moduler av länkredaktörer (därefter användes principerna för polybroufferisering). För upprätthållande Och underlättande av maskinoperationsprocesser skapade diagnostiska program. Således ett grundläggande system programvara.


Fikon. 3.2.

Med förbättring av datorns prestanda och tillväxten av deras prestanda var bristen på grundläggande programvara (programvara) tydlig. Det finns operativsystem för tidig satsbehandling - bildskärmar. Inom batch Processing Systems i ledtid Eventuellt arbete i paketet (sändning, montering, utförande av det färdiga programmet) Ingen del av systemprogrammet var i RAM, eftersom allt minne lämnades till aktuellt arbete. Då uppträdde övervakningssystemen i vilka bagge Den var uppdelad i tre områden: ett fast område i bildskärmssystemet, ett användarområde och ett gemensamt minnesområde (för lagring av data som objektmoduler kan byta).

Intensiv utveckling av datahanteringsmetoder började, en sådan viktig funktion av operativsystemet, som genomförandet av I / O utan den centrala processens deltagande - den så kallade stanken (från den engelska spolen - samtidig perifer driftsoperation på rad).

Framväxten av nya hårdvaruutvecklingar (1959-1963) - avbrottssystem, tidtagare, kanaler - stimulerade den fortsatta utvecklingen av OS [,]. Executive Systems uppstod, som var en uppsättning program för distribution av datorresurser, anslutningar med operatören, hantering av datorprocessen och styringången. Sådana executive system gjorde det möjligt att genomföra en ganska effektiv form av driften av beräkningssystemet - enstaka batchbehandling. Dessa system gav användarverktygen som kontrollpunkter, logiska timers, förmågan att bygga program Överlagringsstruktur, detektering av överträdelser Programbegränsningar som antagits i system, filhantering, samling av bokföringsinformation etc.

Emellertid kunde singlewware-satsbehandling med en ökning av datorns prestanda inte ge en ekonomiskt acceptabel nivå av driften av maskinerna. Beslutet har blivit multiprogrammering - Metoden att organisera en beräkningsprocess, där det finns flera program i datorns minne, med en processor och för att starta eller fortsätta kontot, krävde ett program inte slutförandet av andra. I multiprogrammediet har problemet med resursallokering och skydd blivit mer akut och svårt.

Teorin om byggsystem under denna period har berikats nära fruktbara idéer. Det fanns olika former av multiprogramoperationslägen, inklusive tidsfördelning - läge som ger arbete multi-terminalsystem. Begreppet virtuellt minne skapades och utvecklades, och sedan virtuella maskiner. Tidseparationsläge tillåtet användaren att interaktivt interagera med sina program, som det var före utseendet av batchbehandlingssystem.

Ett av de första operativsystemen som använder dessa nyaste lösningar var operativ system MSR (Main Management Program) Skapat av Burroughs för sina datorer B5000 1963. Många begrepp och idéer har implementerats i denna OS-standard för många operativsystem (fig.3.3):

  • multiprogrammering;
  • multiprocessorbearbetning;
  • virtuellt minne;
  • möjligheten att felsökning av program på källkällan
  • skriva operativsystemet på hög nivå språk.

CTSS-systemet (kompatibelt tidsdelningssystem) är ett välkänt tidsavskiljningssystem för den perioden - ett kompatibelt tidsavskiljningssystem som utvecklats på Massachusetts Technology Institute (1963) för IBM -7094-datorn. Detta system användes för att utvecklas i samma institut i samband med Bell Labs och General Electric System Separation Systems i nästa generations multics (multiplexerad information och databehandling). Det är anmärkningsvärt att detta operativsystem skrevs huvudsakligen på den höga EPL (den första versionen av PL / 1-språkbolaget IBM).

En av de viktigaste händelserna i operativsystemets historia anses vara att visas 1964 familjen av datorer som heter System / 360 av IBM, och senare system / 370. Det var den första realiseringen av konceptet för en familj och informationskompatibla datorer i världen, som senare blev standard för alla datortillbehör.


Fikon. 3,3.

Det bör noteras att den huvudsakliga formen av användning av datorn både i systemskiljesystemen och i batch Processing Systemshar blivit en multiterminal ordning. Samtidigt har inte bara operatören, men alla användare fått möjlighet att formulera sina uppgifter och hantera deras utförande från sin terminal. Eftersom terminalkomplexen snart blev möjligt att placera på stora avstånd från datorn (tack vare modemanslutningarna), uppträdde fjärruppgiftsinmatningssystem och distansarbete. OS lägger till moduler som implementerar kommunikationsprotokoll.

Vid den här tiden var det en betydande förändring av fördelningen av funktioner mellan hårdvara och mjukvara och datorprogramvara. Operativ system Det blir en "integrerad del av datorn", som om fortsättningen av utrustningen. Processorerna verkade privilegierade ("handledare" i OS / 360) och användar ("uppgift" i OS / 360) driftsätt, ett kraftfullt avbrottssystem, minnesskydd, specialregister för snabba programväxling, virtuella minnesstödverktyg etc.

I början av 70-talet uppträdde det första nätverket OS, vilket möjliggjorde inte bara spridda användare, som i data distanssystem, men också organisera distribuerad lagring och behandling av data mellan datorer som är kopplade till elektriska anslutningar. Arpanet Mo USA är känt. År 1974 tillkännagav IBM skapandet av SNA: s egen nätverksarkitektur för sina mainframes, vilket säkerställer interaktionen mellan typen "terminal terminal", "terminal - dator", "dator - dator". I Europa utvecklades tekniken för byggandet av paketkopplingsnät baserat på protokoll X.25 aktivt.

Vid mitten av 70-talet, tillsammans med mainframes, var mini-datorer utbredd (PDP-11, Nova, HP). Arkitekturen av mini-datorer var mycket lättare, många funktioner av multi-program mainframes var avkortade. Mini-dators operativsystem började göra specialiserade (RSX -11M - tidsfördelning, RT-11 - OC realtid) och inte alltid multiplayer.

En viktig milstolpe i mini-dators historia och i allmänhet i operativsystemets historia var skapandet av UNIX OS. Upplagt av detta system Ken Thompson (Ken Thompson), en av specialisterna i datorer i Bell Labs, som arbetade på multicics-projektet. Faktum är att hans Unix är en stympad enanvändareversion av multicsystemet. Det ursprungliga namnet på det här systemet är unik (uniplexed informations- och datortjänst) - "Primitiv information och datatjänst". Så skämt kallades detta system, eftersom multicics (multiplexed information och datortjänst) är en multiplexinformation och datortjänst. Sedan mitten av 70-talet har den massiva användningen av UNIX OS, skrivet av 90% på C-språk, börjat breda distributionen av C-kompilatorer som gjort UNIX unika toleranta OCS, och eftersom det har levererats med källkoderna, har det blivit Första operativsystemet. Flexibilitet, elegans, kraftfull funktionalitet och öppenhet tillät henne att ta en robust position i alla klasser av datorer - från personlig till superdator.

Tillgången till mini-datorer fungerade som ett incitament att skapa lokala nätverk. I det enklaste LAN, datorer anslutna via seriella portar. Den första nätverksansökan för UNIX OS är ett UUCP-program (Unix till Unix-kopieringsprogram) - dök upp 1976.

Ytterligare utveckling av nätverkssystem gick med TCP / IP-protokollstack. År 1983 antogs han av Mo USA som en standard och användes på ARPANET-nätverket. Samma år var Arpanet uppdelad i Milnet (för den amerikanska militären) och den nya Arpanet, som kallades Internet.

Alla åttiotalet kännetecknas av utseendet av alltmer perfekta versioner av UNIX: Sun OS, HP-UX, IRIX, AIX, etc. För att lösa deras kompatibilitet, POSIX och XPG-standarder, som definierar dessa system för applikationer antogs.

En annan viktig händelse för operativsystemets historia var utseendet i början av 80-talet av persondatorer. Det fungerade som en kraftfull drivkraft för distributionen av lokala nätverk, som ett resultat, stödjande nätverksfunktioner var en förutsättning för PC. Det vänliga gränssnittet, och nätverksfunktionerna uppträdde dock på datorn, inte omedelbart.

Den mest populära versionen av det tidiga utvecklingsstadiet av persondatorer var MS-DOS av Microsoft - enkelstöd, enbärare OS med kommandoradsgränssnitt. Många funktioner som ger användarens bekvämlighet, i detta eller försedda med ytterligare program - Norton Commander, PC Tools, etc., den största inverkan på utvecklingen av PC-programvaran som tillhandahålls driftsmiljö Windows, den första versionen visade sig 1985. Nätverksfunktionerna implementerades också med hjälp av nätverksskal och dök upp i MS-DOS version 3.1. Samtidigt publicerades Microsoft Network Products - MS-Net, och senare LAN-chef, Windows för arbetsgrupp och sedan Windows NT.

En annan anledning var Novell, dess NetWare-produkt är ett operativsystem med inbyggda nätverksfunktioner. NetWare OS tillämpas som

Egenskaper hos kärnan, destinationen, funktionerna i operativsystem. Särskiljande egenskaper hos deras utveckling. Funktioner av resurshanteringsalgoritmer. Moderna koncept och teknik för att designa operativsystem, krav på XXI-talet OS.

Introduktion

1. Evolution OS.

1.1 Första perioden (1945 -1955)

1,2 andra perioden (1955 - 1965)

1,3 tredje period (1965-1980)

1,4 fjärde perioden (1980 - närvarande)

2. Klassificering av OS.

2.1 Funktioner för resurshanteringsalgoritmer

2.2 Funktioner för hårdvaruplattformar

2.3 Funktioner för applikationer

2.4 Funktioner för byggnadsmetoder

3. Moderna begrepp och teknik för utformning av operativsystem, krav på XXI-talet

Slutsats

Lista över begagnad litteratur

Introduktion

Historien om någon bransch av vetenskap eller teknik gör det möjligt för inte bara att tillgodose naturlig nyfikenhet, utan också djupare att förstå kärnan i denna branschens huvudsakliga prestationer, för att förverkliga de befintliga trenderna och korrekt utvärdera utsikterna för vissa utvecklingsanvisningar. I nästan ett halvt sekel av dess existens har operativsystem passerat en svår väg mättad med många viktiga händelser. En stor inverkan på utvecklingen av operativsystemen hade framgång för att förbättra elementbas- och datorutrustningen, så många steg i utvecklingen av operativsystem är nära relaterade till framväxten av nya typer av hårdvaruplattformar, såsom mini-datorer eller persondatorer. Allvarlig utveckling, operativsystem har genomgått på grund av den nya rollen som datorer i lokala och globala nätverk. Den viktigaste faktorn i utvecklingen av OS var Internet. Eftersom det här nätverket förvärvar funktionerna i en universell masskommunikation blir OS enklare och lättanvänd, inkluderar utvecklade media supportverktyg, utrustade med tillförlitligt skyddsmedel.

Syftet med kursarbetet är en beskrivning och analys av utvecklingen av operativsystem.

Det inställda målet löses av följande uppgifter:

Tänk på den historiska aspekten av uppkomsten av operativsystem;

Tilldela och överväga stegen i utvecklingen av operativsystem.

Det bör noteras att faktum inte var tillräckligt täckt av litteraturen, vilket gjorde det svårt att studera.

Under studien genomfördes en kort analys av sådana källor som material på platsen http://www.microsoft.com/rus, materialet i Windows NT Magazine Magazine och andra.

Arbetet består av tre administrationschefer, fängelse och litteratur av den använda litteraturen.

1 . Evolution OS.

1.1 Första perioden (1945 -1955)

Det är känt att datorn uppfanns av den engelska matematik Charles Babidium i slutet av artonhundratalet. Dess "analytiska maskin" kunde inte bara tjäna, eftersom tekniken för den tiden inte uppfyllde kraven för tillverkning av delar av den exakta mekaniken som var nödvändiga för datorteknik. Det är också känt att den här datorn inte hade ett operativsystem.

Några framsteg när det gäller att skapa digitala databaser inträffade efter andra världskriget. I mitten av 40-talet skapades de första lampproduktionsenheterna. Vid den tiden deltog samma grupp människor i designen och i drift och i programmering av datormaskinen. Det var ganska forskningsarbete inom beräkningsteknik, och inte användningen av datorer som ett verktyg för att lösa några praktiska uppgifter från andra tillämpade områden. Programmering utfördes uteslutande i motorn. Det fanns inget tal om operativsystem, alla uppgifter för organisationen av beräkningsprocessen löstes för hand av varje programmerare från kontrollpanelen. Det fanns ingen annan systemprogramvara än bibliotek av matematiska och service subrutiner.

1.2 Andra perioden (1955 - 1965)

Från mitten av 50-talet började en ny period i utvecklingen av datorutrustning i samband med tillkomsten av den nya tekniska basen - halvledarelement. Andra generations datorer har blivit mer tillförlitliga, nu kunde de kontinuerligt arbeta så länge så att de kunde åläggas genomförandet av verkligt praktiskt taget viktiga uppgifter. Det var under denna period att personalen separerades på programmerare och operatörer, operativa punkter och utvecklare av datorer.

Dessa år uppträdde första algoritmiska språk, och följaktligen de första systemprogrammen - kompilatorer. Kostnaden för processorns tid har ökat, vilket krävde en minskning av den icke-produktiva tiden som spenderas mellan lanseringen av programmen. De första satsbehandlingssystemen uppträdde, vilket helt enkelt automatiserade lanseringen av ett program efter en annan och därigenom ökade processorns laddningsfaktor. Batchbehandlingssystem var en prototyp av moderna operativsystem, de blev de första systemprogrammen som är utformade för att hantera dataprocessen. Under genomförandet av batchbehandlingssystem utvecklades ett formaliserat uppgiftshanteringsspråk, med vilket programmeraren rapporterade till systemet och operatören, vilken typ av arbete han vill utföra på datorn. En kombination av flera uppgifter, som regel, i form av ett däck av punkteringar, fick namnet på uppgiftspaketet.

1.3 Tredje perioden (1965-1980)

Nästa viktiga utvecklingsperiod av datormaskiner hänvisar till 1965-1980. Vid denna tidpunkt inträffade en övergång från separata halvledarelement av typen av transistorer till integrerade chips, som gav mycket stora möjligheter till den nya, tredje generationen av datorer till de integrerade kretsarna, i den tekniska databasen.

För denna period är skapandet av familjer av programvara och kompatibla maskiner också karakteristiska. Den första familjen av programvara och kompatibla maskiner byggda på integrerade kretsar var serien av IBM / 360-maskiner. Byggd i början av 60-talet har denna familj väsentligt överskridit andra generationens maskiner enligt pris / prestandakriterium. Snart har tanken på programvara och kompatibla bilar blivit allmänt erkänd.

Programvarukompatibilitet krävs och kompatibilitet för operativsystem. Sådana operativsystem skulle behöva arbeta på stora och små datorsystem, med ett stort antal olika kringutrustning, inom det kommersiella fältet och inom vetenskaplig forskning. Operativsystem byggda med avsikt att tillgodose alla dessa motsägelsefulla krav visade sig vara extremt komplexa "monster". De bestod av många miljoner assembler som skrivits av tusentals programmerare och innehöll tusentals fel som orsakade ett oändligt korrigeringsflöde. I varje ny version av operativsystemet korrigerades ett fel och andra introducerades.

Samtidigt, trots de oordnade dimensionerna och många problem, OS / 360 och de övriga tredje generationens maskiner av de tredje generationens operativsystem verkligen uppfyller de flesta konsumentkraven. Den viktigaste uppnåendet av operativsystemet av denna generation var genomförandet av multiprogrammering. Multiprogrammering är ett sätt att organisera en beräkningsprocess, där flera program växelvis utförs på en processor. Medan ett program utför en I / O-operation, är processorn inte ledig, eftersom det hände med ett sekventiellt programkörning (enkelprogramläge) och utför ett annat program (multi-programläge). Samtidigt laddas varje program i sitt område av RAM, kallad avsnitt.

Annan innovation - Spling (spolning). Stenling vid den tiden definierades som ett sätt att organisera en beräkningsprocess, i enlighet med vilken uppgifterna lästes från stanskortet i takt i takt där de dök upp i datortrummet och då när Nästa uppgift slutfördes, det nya jobbet från disken laddades in i den släppta sektionen.

Tillsammans med multiprogramens implementering av batchbehandlingssystem har en ny OS-typ dykt upp - tids separationssystem. En utföringsform av multiprogrammering, som används i tidsavskiljningssystem, syftar till att skapa för varje enskild användare illusionen av den enda användningen av datormaskinen.

1.4 Fjärde perioden (1980 - Nuvarande)

Nästa period i utvecklingen av operativsystem är förknippad med uppkomsten av stora integrerade kretsar (BIS). Under dessa år har det varit en kraftig ökning av graden av integration och billigt chip. Datorn har blivit tillgänglig för en separat person, och den eran av persondatorer har kommit. Ur synvinkel av arkitektur skiljer sig persondatorer inte från klassen av minicomputers som PDP-11, men priset var signifikant annorlunda. Om minicomputern har gett möjlighet att ha sin egen databehandling i företaget eller universitetet, gjorde den persondator det möjligt för en separat person.

Datorer har blivit allmänt använt av icke-specialister, vilket krävde utvecklingen av "vänlig" programvara, det slutade med kaste av programmerare.

Marknaden för operativsystem dominerade två system: MS-DOS och UNIX. Den enkla användaren MS-DOS OS användes i stor utsträckning för datorer baserade på Intel 8088 mikroprocessorer och sedan 80286, 80386 och 80486. Multiprogrammultiplayer UNIX dominerades i det icke-Intel-datormediet, speciellt byggt på grundval av högpresterande RISC-processorer.

I mitten av 80-talet började nätverket av persondatorer som arbetar under kontroll av nätverk eller distribuerat OS växa snabbt.

I nätverk måste användarna vara medvetna om tillgängligheten av andra datorer och bör göra logisk inmatning till en annan dator för att använda sina resurser, huvudsakligen filer. Varje maskin i nätverket utför sitt eget lokala operativsystem, vilket skiljer sig från en autonom dator, närvaron av ytterligare verktyg som gör det möjligt för datorn att fungera på nätverket. Network OS har inte grundläggande skillnader från en processordator. Det innehåller nödvändigtvis programstöd för nätverksgränssnittsenheter (nätverksadapterdrivrutin), såväl som medel för fjärrloggning till andra nätverksdatorer och användningsmedel för fjärrfiler, men dessa tillägg ändrar inte signifikant strukturen hos operativsystemet själv.

2. OS-klassificering

Operativsystem kan variera med funktionerna i genomförandet av interna kontrollalgoritmer för datorns huvudresurser (processorer, minnesenheter), funktioner i de använda designmetoderna, typer av hårdvaruplattformar, användningsområden och många andra egenskaper.

Nedan är klassificeringen av operativsystemet för flera de mest grundläggande tecknen.

2.1 Funktioner av resurshanteringsalgoritmer

Effektiviteten av hela nätverkssystemet som helhet beror på effektiviteten hos de kontrollerande algoritmerna för att hantera lokala resurser på datorn. Därför som karaktäriserar nätverket OS, leder därför de viktigaste funktionerna i genomförandet av OS-funktionerna hos processorer, minne, de externa enheterna hos den autonoma datorn. Till exempel, beroende på funktionerna hos den använda processorns styralgoritm, är operativsystem uppdelade i multi-tasking och unresolution, multiplayer och enanvändare, system som stöder multiplaccessing och inte stöder det i multiprocessor och enprocessor.

Stöd multitasking. Genom antalet utövade uppgifter kan operativsystem delas upp i två klasser:

urladdning (till exempel MS-DOS, MSX) och

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

Oral OS uppfyller i princip programmet för att ge en virtuell maskin till användaren, vilket gör en enklare och bekväm användarinteraktionsprocess med en dator. OS OS innehåller perifera kontroller, filhanteringsverktyg, användarkommunikationsverktyg.

Multitasking OS, förutom följande funktioner, kontrollera delade resurser, till exempel en processor, RAM, filer och externa enheter.

Stöd multiplayer-läge. Med antalet samtidiga körningar är OS uppdelat i:

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

multiplayer (UNIX, Windows NT).

Huvudskillnaden mellan multiplayer-system från enstaka användare är tillgängligheten av medel för att skydda information för varje användare från obehörig åtkomst hos andra användare. Det bör noteras att inte varje multitasking-system är ett multiplayer, och inte varje enkelsäge OS är oavsett.

Obesting och avlindning av multitasking. Den viktigaste delade resursen är processorns tid. Metoden för distribution av processorns tid mellan flera samtidiga existerande processer i systemet (eller trådar) bestämmer i stor utsträckning de specifika specifikationerna i operativsystemet. Bland de många befintliga alternativen för implementering av multitasking kan två grupper av algoritmer särskiljas:

icke-livskraftig multitasking (NetWare, Windows 3.x);

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

Huvudskillnaden mellan de flerspektiv som är förskjutnings- och icke-föreskrivande utföringsformer är graden av centralisering av processplaneringsmekanismen. I det första fallet är mekanismen för planeringsprocesser helt koncentrerad i operativsystemet, och i det andra fördelat mellan system- och applikationsprogrammen. När den aktiva multitasking utförs, utförs den aktiva processen tills han själv, på eget initiativ inte betalar operativsystemhanteringen för att processen från köen är ute av kön. När multitasking är förskjutet, tas beslutet att byta processorn från en process till en annan av operativsystemet, och inte själva aktiva processen.

Multi-Trial Support. En viktig egenskap hos operativsystem är förmågan att parallellisera datorer inom en uppgift. Multi-line OS delar processorns tid inte mellan uppgifter, men mellan deras enskilda grenar (trådar).

Multiprocessing. En annan viktig egenskap hos operativsystemet är frånvaro eller närvaro av i den - multiprocessing. Multiprocessing leder till komplikationen av alla resurshanteringsalgoritmer.

Numera blir det allmänt accepterat genom att introducera i OS-funktionerna för stöd för multiprocessordatabehandling. Sådana funktioner finns i Sululesis 2.x operativsystem. Sun, Open Server 3.X Santa Crus Operations, OS / 2 Company IBM, Windows NT, Microsoft och NetWare 4.1 Firmor of Novell.

Multiprocessor OS kan klassificeras enligt metoden att organisera beräkningsprocessen i ett system med multiprocessorarkitektur: Asymmetrisk OS och symmetrisk OS. Den asymmetriska OS är helt exekverad endast på en av systemprocessorerna, distribuerar tillämpade uppgifter från andra processorer. Det symmetriska OS är helt decentraliserat och använder hela poolen av processorer, som skiljer dem mellan system och tillämpade uppgifter.

Ovanför egenskaperna hos operativsystem som rör endast en typ av resursprocessor beaktades. En viktig inverkan på operativsystemets utseende som helhet, om möjligheten att använda sig av ett område eller annat, funktioner och andra delsystem för hantering av lokala resurser är delsystem för minneshantering, filer, I / O-enheter.

Särskilda specifikationer manifesterar sig i hur det implementerar nätverksfunktioner: erkännande och omdirigerar till ett nätverk av förfrågningar till avlägsna resurser, sänder meddelanden över nätverket, exekverar fjärransökningar. Vid implementering av nätverksfunktioner uppstår ett komplex av uppgifter som är förknippade med den distribuerade naturen av lagring och databehandling på nätverket: Referensinformation om alla resurser och servrar som är tillgängliga på nätverket, adressering av interaktiva processer, vilket garanterar tillgångens genomskinlighet, data replikering, kopior, stödjande data.

2. 2 Funktioner hos hårdvaruplattformar

Egenskaperna hos operativsystemets direkta inflytande är den hårdvara som den är orienterad. Efter typ av utrustning, operativsystem för persondatorer, mini-datorer, mainframes, kluster och datanät drivs. Bland de listade typerna av datorer kan det uppstå både enprocessoralternativ och multiprocessor. I vilket fall som helst återspeglas detaljerna för hårdvaran, som regel i specifika system.

Självklart är OS stora bilen mer komplex och funktionell än datorns operatör. Så, i operativsystemet, är funktionerna i flödesplaneringsfunktionen hos de utförda uppgifterna uppenbarligen genom att använda komplexa prioriterade discipliner och kräver större datorkraft än i de persondatorer. Situationen är liknande och andra funktioner.

Nätverket OS har i sin sammansättning meddelandet mellan datorer över kommunikationslinjer som är helt onödiga i det autonoma OS. Baserat på dessa meddelanden stöder nätverket OS separation av datorresurser mellan fjärranslutna användare som är anslutna till nätverket. För att behålla meddelandefunktioner innehåller Network OS speciella programkomponenter 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 operativsystemet själv, liksom de applikationer som stöds av den, kan utföras parallellt med enskilda systemprocessorer. Den parallella operationen av enskilda delar av operativsystemet skapar ytterligare problem för utvecklarna av operativsystemet, eftersom det i det här fallet är mycket svårare att säkerställa en överenskommen tillgång till enskilda processer till de allmänna systemstabellerna, eliminera effekten av racing och andra oönskade konsekvenser av asynkronarbete.

Övriga krav presenteras för kluster operativsystem. Klustret är en dåligt associerad uppsättning av flera beräkningssystem som arbetar tillsammans för att utföra allmänna applikationer och den enhetliga systembaserade användaren. Tillsammans med den speciella utrustningen för funktion av klustersystem behövs också programstöd av operativsystemet, vilket huvudsakligen kommer ner för att synkronisera tillgången till delade resurser, detektera misslyckanden och dynamisk omkonfiguration av systemet. En av de första utvecklingen inom området Cluster Technologies var lösningarna av digital utrustning baserat på VAX-datorer. Nyligen ingick detta företag ett avtal med Microsoft Corporation om utvecklingen av klusterteknik med hjälp av Windows NT. Flera företag erbjuder Unix-baserade kluster.

Tillsammans med operativsystemet fokuserade på en helt definierad typ av hårdvaruplattform, det finns operativsystem som är speciellt utformade på ett sådant sätt att de enkelt kan överföras från en dator till en dator med en annan typ, det så kallade mobila operativsystemet. Det mest slående exemplet på ett sådant operativsystem är det populära Unix-systemet. I dessa system är maskinvaresberoende platser noggrant lokaliserade, så vid överföring av systemet till en ny plattform, skrivs de bara om. Ett verktyg som underlättar överföringen av resten av operativsystemet, är att skriva den på ett maskinoberoende språk, till exempel på C, som utvecklades för programmering av operativsystem.

2. 3 Funktioner i användningsområden

Multitasking OS är uppdelade i tre typer i enlighet med de utvecklingskriterier som används i deras utveckling:

batchbehandlingssystem (till exempel OC EC),

tidseparation (UNIX, VMS),

realtidssystem (QNX, RT / 11).

Batchbehandlingssystem var avsedda att lösa problem i den huvudsakliga beräkningscyden som inte kräver att resultaten snabbt erhåller. Huvudmålet och kriteriet för effektiviteten av batchbehandlingssystem är den maximala kapaciteten, det vill säga lösningen av det maximala antalet uppgifter per tidsenhet. För att uppnå detta mål i batchbehandlingssystem används följande funktionsschema: i början av arbetet bildas uppgiftspaketet, varje uppgift innehåller ett systemresursbehov. Från det här paketet av uppgifter bildas en multiprogramblandning, det vill säga många samtidigt utförda uppgifter. För samtidig exekvering väljs uppgifter som har olika resurskrav, så att en balanserad belastning av alla enheter av datormaskinen säkerställs. I en multiprogramblandning är exempelvis den samtidiga närvaron av beräkningsuppgifter och uppgifter med intensiv införingsterminal företrädesvis. Valet av en ny uppgift från uppgiftspaketet beror således på den interna situationen som viks i systemet, det vill säga den "gynnsamma" uppgiften är vald. Därför är det i en sådan eller är det omöjligt att se till att det är möjligt att utföra en eller annan uppgift under en viss tid. I paketbehandlingssystem sker processorn från att utföra en uppgift att utföra en annan endast om den aktiva uppgiften i sig vägrar processorn, till exempel på grund av behovet av att utföra en I / O-operation. Därför kan en uppgift under lång tid ta processorn, vilket gör det omöjligt att utföra interaktiva uppgifter. Således är användarinteraktionen med den beräkningsmaskin där paketbehandlingssystemet är installerat, det kommer till det faktum att det ger uppgiften, ger den en avsändare-operatör, och i slutet av dagen efter utförandet av hela uppgiften paketet tar emot resultatet. Självklart minskar en sådan order effektiviteten hos användaren.

Tidseparationssystem är utformade för att korrigera den främsta bristen på batchbehandlingssystem - isolering av användarprogrammeraren från processen att utföra sina uppgifter. Varje användarseparationssystem är försedd med en terminal från vilken den kan utföra en dialog med sitt program. Eftersom i systemseparationssystemen tilldelas varje uppgift endast en kvantitet av processortiden, ingen uppgift upptar en processor under lång tid och svarstiden är acceptabel. Om kvanten väljs nog, utgör alla användare samtidigt på samma maskin intrycket att var och en bara använder bilen. Det är uppenbart att tidseparationssystemen har en mindre bandbredd än satsvis bearbetningssystem, eftersom varje användaruppgift tas, och inte den som är "fördelaktigt" system, och dessutom finns det övergående kostnader för datakraft till mer Frekvent växlingsprocessor med en uppgift för uppgiften. Kriteriet för effektiviteten av tidsavskiljningssystemen är inte den maximala genomströmningen, utan användarens bekvämlighet och effektivitet.

Realtidssystem används för att styra olika tekniska objekt, t.ex. maskin, satellit, vetenskaplig experimentell installation eller tekniska processer, såsom en galvanisk linje, domänprocess etc. I alla dessa fall finns det en extremt tillåten tid under vilken ett eller ett annat program som styr objektet, annars kan en olycka kan uppstå: satelliten kommer ut ur synlighetszonen, de experimentella data som kommer från sensorerna kommer att gå vilse , den galvaniska beläggningens tjocklek är inte att motsvara normen. Således är effektivitetskriteriet för realtidssystem deras förmåga att motstå förutbestämda tidsintervaller mellan lanseringen av programmet och erhålla resultatet (kontrollexponering). Den här tiden kallas systemreaktionstiden, och den motsvarande egenskapen hos systemet är reaktivitet. För dessa system är multiprogramblandningen en fast uppsättning tidigare utvecklade program, och valet av programmet som ska utföras utförs på grundval av objektets nuvarande tillstånd eller i enlighet med schemat för planerat arbete.

Vissa operativsystem kan kombinera egenskaperna hos system med olika typer, till exempel, en del av uppgifterna kan utföras i paketbehandlingsläge, och en del är i realtid eller i tidsavskiljningsläge. I sådana fall kallas satsvis bearbetningsläge ofta som ett bakgrundsläge.

2. 4 Funktioner av byggnadsmetoder

När man beskriver operativsystemet anges funktionerna i sin strukturella organisation och de grundläggande begreppen på grundval av grunden ofta.

Dessa grundläggande begrepp omfattar:

Metoder för att bygga ett systemkärnan - en monolitisk kärna eller ett minoritetsstrategi. De flesta operativsystem använder en monolitisk kärna, som är sammansatt som ett program som fungerar i ett privilegierat läge och med snabba övergångar från ett förfarande till ett annat, som inte kan bytas från det privilegierade läget till användaren och vice versa. Ett alternativ är att bygga ett operativsystem baserat på en mikrokernel som också fungerar i privilegierat läge och utför endast de minsta funktionerna för att styra utrustningen, medan funktionerna på högre nivå OS utförs av specialiserade OS-komponenter - servrar som arbetar i användarläge. Med denna konstruktion arbetar OS långsammare, eftersom det ofta är möjligt att övergångar mellan det privilegierade läget och användaren, men systemet erhålls mer flexibelt - dess funktioner kan justeras, modifiera eller smala, lägga till, modifiera eller exkludera användareservrar . Dessutom är servrar väl skyddade från varandra, som alla användarprocesser.

Konstruktionen av operativsystemet baserat på ett objektorienterat tillvägagångssätt gör det möjligt att använda alla sina fördelar, väl beprövade på applikationsnivån, inuti operativsystemet, nämligen: ackumulering av framgångsrika lösningar i form av standardobjekt, förmågan För att skapa nya föremål baserade på arvsmekanismen, gott dataskydd på grund av deras inkapsling i objektets interna strukturer, vilket gör data som är otillgängliga för obehörig användning från utsidan, strukturen av systemet bestående av en uppsättning väldefinierade föremål .

Närvaron av flera applikationsmiljöer gör det möjligt att samtidigt utföra applikationer som utvecklats för flera operativsystem. Många moderna operativsystem stöder MS-DOS, Windows, UNIX (POSIX), OS / 2, eller åtminstone en del delmängd från den här populära uppringningen samtidigt. Begreppet flera tillämpade miljöer implementeras helt enkelt i operativsystemet baserat på en mikrokare.

Den distribuerade organisationen av operativsystemet gör att du kan förenkla användarnas arbete och programmerare i nätverksmiljöer. I det distribuerade OS implementeras mekanismer som gör det möjligt för användaren att representera och uppleva nätverket i form av en traditionell enprocessordator. Karaktäristiska egenskaper hos den distribuerade organisationen OS är: Förekomsten av en enhetlig referenstjänst för delade resurser, en enda tidstjänst, med hjälp av fjärrkontrollmekanismen (RPC) för den transparenta distributionen av programvaruprocedurer för maskiner, multi-peer-bearbetning som tillåter Du skapar beräkningarna i en uppgift och utföra denna uppgift omedelbart på flera nätverksdatorer, liksom andra distribuerade tjänster.

3. Moderna koncept och teknik för att designa operativsystem, krav påXxi århundrade

Operativsystemet är kärnnätverksprogrammet, det skapar en miljö för att exekvera applikationer och varierar i många avseenden, vilka användbara egenskaper använder dessa applikationer som har. Tänk i detta avseende att kraven ska vara nöjda med det moderna operativsystemet.

Det är uppenbart att huvudbehovet för operativsystemet är möjligheten att utföra grundläggande funktioner: effektiv resurshantering och tillhandahålla ett användarvänligt gränssnitt för användar- och applikationsprogram. Modernt OS måste som regel genomföra multiprogrambehandling, virtuellt minne, byte, bibehålla ett flerfärgsgränssnitt, samt utföra många andra, absolut nödvändiga funktioner. Förutom dessa funktionella krav åläggs inte mindre viktiga marknadskrav på operativsystem. Dessa krav inkluderar:

· Extensibility. Koden måste skrivas på ett sådant sätt att du enkelt kan lägga till tillägg och ändringar om det krävs, och inte störa systemets integritet.

· Portabilitet. Koden bör enkelt överföras från processorn av samma typ till processorn för en annan typ och från hårdvaruplattformen (som innehåller tillsammans med typen av processor och metoden att organisera all datorhårdvara) av samma typ på hårdvaran plattform av en annan typ.

· Tillförlitlighet och feltolerans. Systemet måste skyddas från både interna och externa fel, misslyckanden och misslyckanden. Dess åtgärder bör alltid vara förutsägbara, och ansökningar bör inte kunna skada operativsystemet.

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

· Säkerhet. OS bör ha medel för att skydda resurserna för en användare från andra.

· Prestanda. Systemet måste ha så bra hastighet och reaktionstid som maskinvaruplattformen tillåter.

Tänk på några av dessa krav mer detaljerat.

SträckbarhetMedan hårdvarudelen av datorn är föråldrad i flera år kan operativsystemets livslängd mätas av årtionden. Ett exempel är UNIX OS. Därför är operativsystem alltid evolutionära över tiden, och dessa förändringar är mer signifikanta än förändringar i hårdvara. OS-ändringar brukar förvärva nya egenskaper. Till exempel, med hjälp av nya enheter, till exempel CD-ROM, kan du kommunicera med nya typnät, som stöder lovande teknik, till exempel ett grafiskt användargränssnitt eller en objektorienterad mjukvarumiljö, mer än en processor. Att spara kodens integritet, oavsett förändringar som bidrog till operativsystemet är huvudsyftet med utvecklingen.

Extensibility kan uppnås med den modulära strukturen i operativsystemet, där programmen är byggda från uppsättningen av enskilda moduler som endast interagerar via funktionsgränssnittet. Nya komponenter kan läggas till operativsystemet med en modulär väg, 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 förlängbarhet. Objekt är abstrakta datatyper över vilka endast de åtgärder som tillhandahålls av en speciell uppsättning objektfunktioner kan utföras. Objekt låter dig hantera systemresurser enhetligt. Att lägga till nya objekt förstör inte befintliga objekt och kräver inte ändringar i befintlig kod.

Utmärkt expansionsmöjligheter ger ett tillvägagångssätt för OS-struktureringsprogrammet med en klient-server-typ med en mikronukleus-teknik. I enlighet med detta tillvägagångssätt närmar sig OS, som en uppsättning av ett privilegierat hanteringsprogram och en uppsättning okomprimerade servertjänster. Huvuddelen av OS kan förbli oförändrad medan nya servrar kan läggas till eller de gamla förbättras.

Fjärrprocedursamtal Verktyg (RPC) Aktivera även OS-funktionaliteten. Nya programprocedurer kan läggas till någon nätverksmaskin och omedelbart registrera applikationsprogrammen på andra nätverksmaskiner.

Vissa operativsystem för att förbättra Extensibility Stöd nedladdade drivrutiner som kan läggas till systemet under dess funktion. Nya filsystem, enheter och nätverk kan stödjas genom att skriva drivrutinen, filsystemdrivrutinen eller transportföraren och ladda den i systemet.

PortabilitetKravet på källansvarigheten är nära relaterad till töjbarheten. Extensitet gör det möjligt att förbättra operativsystemet, medan portabilitet gör det möjligt att flytta hela systemet till maskinen baserat på en annan processor eller maskinvaruplattform, vilket gör det möjligt att små ändringar i koden. Även om OS ofta beskrivs antingen som bärbart eller som oacceptabelt, är bärbarheten inte ett binärt tillstånd. Frågan är inte om systemet kan överföras, och hur lätt det kan göras. Att skriva ett bärbart operativsystem är liknande att skriva någon bärbar kod - du måste följa några regler.

För det första måste det mesta av koden skrivas på språket, som är tillgängligt på alla maskiner där du vill överföra systemet. Detta innebär vanligtvis att koden måste skrivas på högnivå språk, företrädesvis standardiserad, till exempel i S. Det program som skrivs på monteraren är inte bärbart, om du inte har för avsikt att överföra den till en maskin med kommandokompatibilitet med din.

För det andra bör det beaktas i vilken fysisk miljö programmet måste överföras. Olika utrustning kräver olika lösningar när man skapar ett operativsystem. Till exempel kan OS, byggt på 32-bitars adresser, överföras till maskinen med 16-bitars adresser (förutom med enorma svårigheter).

För det tredje är det viktigt att minimera eller, om möjligt, utesluta de delar av koden som direkt interagerar med hårdvara. Beroende på utrustningen kan ha många former. Några uppenbara beroende av beroendet inkluderar direkta manipulerande register och annan hårdvara.

För det fjärde, om hårdvaruberoende koden inte helt kan uteslutas, måste den isoleras i flera välplacerade moduler. Den hårdvaruberoende koden ska inte distribueras över hela systemet. Till exempel kan du dölja den hårdvaruberoende strukturen i den programvara som är specificerade abstrakta typdata. Andra systemmoduler kommer att fungera med dessa data, och inte med utrustning med hjälp av en uppsättning av vissa funktioner. När operativsystemet överförs ändras endast dessa data och de funktioner som manipuleras.

För enkel transmission OS måste följande krav uppfyllas när det utvecklas:

· Bärbart språk på hög nivå. De flesta av de överförda OS skrivs i C (ANSI X3.159-1989 Standard). Utvecklarna är utvalda från eftersom den är standardiserad, och eftersom C-kompilatorerna är allmänt tillgängliga. Assemblaren används endast för de delar av systemet, som direkt ska interagera med utrustningen (till exempel avbrottshanterare) eller för delar som kräver maximal hastighet (till exempel heltal aritmetisk förhöjd noggrannhet). I det här fallet bör den oacceptabla koden noggrant isoleras i de komponenter där den används.

· Processorisolering. Vissa OS-delar med låg nivå måste ha tillgång till processorberoende datastrukturer och register. I det här fallet måste koden som gör detta innehålla i små moduler som kan ersättas med liknande moduler för andra processorer.

· Isolering plattform. Beroendet av plattformen är skillnaderna mellan olika tillverkares arbetsstationer, byggt på samma processor (till exempel MIPS R4000). En programnivå måste anges, abstraktionsutrustningen (cacher, I / O-avbrottsregulatorer, etc.), tillsammans med skiktet av lågnivåprogram, så att högnivarkoden inte behöver ändras vid överföring från en plattform till en annan.

KompatibilitetEn aspekt av kompatibilitet är OS-förmågan att utföra program som skrivs för andra operativsystem eller för tidigare versioner av det här operativsystemet, liksom för en annan hårdvaruplattform.

Du måste dela med binära kompatibilitetsproblem och kompatibilitet på källansökningsnivå. Binär kompatibilitet uppnås när du kan ta det exekverbara programmet och köra det för att utföra på ett annat operativsystem. Detta kräver: Kompatibilitet på processorns kommandonivå, kompatibilitet på systemets samtal och till och med på nivån på bibliotekssamtal, om de är dynamiskt bindande.

Kompatibilitet på källkods-texterna kräver närvaro av motsvarande kompilator som en del av programvaran, såväl som kompatibilitet på bibliotekets och systemsamtal. Detta kräver att de befintliga källtekterna i en ny modul.

Kompatibilitet på källtextens nivå är viktig huvudsakligen för applikationsutvecklare, som alltid är tillgängliga om bortskaffande av dessa källtexter. Men för slutanvändare är endast binär kompatibilitet av praktisk betydelse, eftersom de endast i det här fallet kan använda samma kommersiella produkt som levereras i form av en binär exekverbar kod, i olika driftsmiljöer och olika maskiner.

Oavsett om ett nytt OS har binär kompatibilitet eller kompatibilitet för källtexter med befintliga system beror på många faktorer. Det viktigaste av dem är den processorns arkitektur där det nya operativsystemet fungerar. Om processorn till vilken OS överförs, använder samma uppsättning kommandon (eventuellt med vissa tillägg) och samma adresser, kan binär kompatibilitet uppnås ganska enkelt.

Det är mycket svårare att uppnå binär kompatibilitet mellan processorer baserat på olika arkitekturer. För att en dator ska kunna utföra de andra programmen (till exempel ett DOS-program på Mac), ska den här datorn fungera med maskinlag som ursprungligen är oförståeliga för det. Till exempel måste en processor av typ 680x0 på Mac utföra en binär kod som är utformad för 80x86-processor i PC. 80x86-processorn har sina egna lagavkodare, register och intern arkitektur. 680x0-processorn förstår inte binärkoden 80x86, så det måste välja varje kommando, avkoda det för att bestämma vad det är avsett och sedan utföra en ekvivalent subrutin som skrivs för 680x0. Eftersom även 680x0 inte är samma register, flaggor och en intern aritmetisk logisk enhet, som i 80x86, måste det efterlikna alla dessa element med hjälp av sina register eller minne. Och det måste försiktigt reproducera resultaten från varje kommando, vilket kräver speciellt skriftliga subrutiner för 680x0, vilket garanterar att tillståndet för emulerade register och flaggor efter att ha utfört varje kommando kommer att vara exakt samma som på den verkliga 80x86.

Detta är ett enkelt, men mycket långsamt arbete, eftersom mikrokoden inuti 80x86-processorn utförs på en mycket snabbare nivå än de externa 680x0 externa kommandona. Under utförandet av ett 80x86-kommando till 680x0 kan den reala 80x86 utföra dussintals kommandon. Följaktligen, om processorns producerande emulering inte är så snabb att kompensera för alla förluster i emulering, kommer programmen som utförs under emulering att vara mycket långsam.

Utgången i sådana fall är användningen av så kallade tillämpade medier. Med tanke på att den huvudsakliga delen av programmet, som regel, utgör kraven från biblioteksfunktioner, simulerar applikationsmiljön det helt skriftliga biblioteksfunktionerna med hjälp av biblioteket av funktionerna i ett liknande syfte, och de återstående kommandona emulerar varje separat.

Överensstämmelse med POSIX-standarder är också ett sätt att tillhandahålla kompatibilitet med programvara och användargränssnitt. Under andra hälften av 80-talet började amerikanska myndigheter att utveckla posix som standarder för levererad utrustning vid ingående av statsavtal i datorregionen. POSIX är "gränssnittet för det bärbara operativsystemet baserat på UNIX." POSIX är en samling av internationella standarder för OS-gränssnitt i stilen av UNIX. Med POSIX-standard (IEEE-standard 1003.1 - 1988) kan du skapa Unix-stilprogram som enkelt kan överföras från ett system till ett annat.

SäkerhetFörutom POSIX-standarden identifierade den amerikanska regeringen också datasäkerhetskrav för ansökningar som användes av regeringen. Många av dessa krav är önskade egenskaper för alla multiplayer-system. Säkerhetsregler definierar egenskaper som resursskyddet för en användare från andra och etablerar kvoter för resurser för att förhindra att en användare förhindrar alla systemresurser (t.ex. minne).

Att säkerställa informationsskydd från obehörig åtkomst är ett obligatoriskt inslag i nätverksoperativsystem. De flesta populära system garanterar graden av datasäkerhet som motsvarar C2-nivån i US Standards-systemet.

Grunderna i säkerhetsstandarderna lades av "kriterier för att bedöma pålitliga datorsystem." Detta dokument publiceras i USA 1983 av National Computer Security Center (NCSC - National Computer Security Center) kallas ofta den orange boken.

I enlighet med kraven i den orange boken på ett säkert sätt beaktas ett sådant system, vilket "genom speciella skyddsmekanismer kontrollerar tillgången till information på ett sådant sätt att endast de behöriga behörigheterna eller processerna som körs på deras räkning kan komma åt läsning , skriv, skapa eller ta bort information. "

Säkerhetsnivåernas hierarki, som ges i den orange boken markerar den lägsta säkerhetsnivån som D, och den högsta som A.

· Klass D innehåller system vars bedömning har avslöjat sin inkonsekvens med kraven i alla andra klasser.

· De viktigaste egenskaperna som är karakteristiska för C-system är: Tillgänglighet av säkerhetsredovisning delsystem och selektiv åtkomstkontroll. Nivån C är uppdelad i 2 Sublayers: C1-nivån som skyddar data från användarfel, men inte från angreppens handlingar och den mer rigorösa nivån C2. På C2-nivån måste den hemliga inloggningen vara närvarande, vilket ger användaridentifiering genom att ange ett unikt namn och lösenord innan de får komma åt systemet. Selektiv åtkomstkontroll som krävs på denna nivå tillåter resursägaren att avgöra vem som har tillgång till resursen och vad han kan göra med det. Ägaren gör det av användaren eller användargruppen som tillhandahålls. Redovisning och observation (revision) - Ge förmåga att upptäcka och åtgärda viktiga säkerhetshändelser eller eventuella försök att skapa, få tillgång till eller ta bort systemresurser. Minnesskydd - är att minnet initialiseras innan den återanvänds. På denna nivå är systemet inte skyddat från användarfel, men hans beteende kan styras av inspelningar i tidningen, lämnas av observation och revision.

Konceptet för operativsystemet

Operativsystemet (OS) är ett komplex av system- och ledningsprogram avsedda för den mest effektiva användningen av alla resurser i beräkningssystemet (SUN) (Computing System - den sammanlänkade uppsättningen hårdvara för datorutrustning och programvara avsedd för informationsbehandling) och Lätt att arbeta med det.

Syftet med OS är organisationen av beräkningsprocessen i beräkningssystemet, den rationella fördelningen av beräkningsresurser mellan de enskilda fasta uppgifterna. Att tillhandahålla användare med många serviceverktyg som underlättar programmeringsprocessen och debugging-uppgifterna. Operativsystemet utför rollen som ett slags gränssnitt (gränssnittet är en uppsättning utrustning och programvara som behövs för att ansluta perifera enheter till pevm) mellan användaren och solen, dvs. OS ger användaren den virtuella solen. Det innebär att OS i stor utsträckning genererar en uppfattning om solens möjligheter, bekvämligheten med att arbeta med det, dess genomströmning. Olika OS på samma tekniska medel kan ge användaren till användaren olika möjligheter att organisera en beräkningsprocess eller automatisk databehandling.

I Sun-programvaran upptar operativsystemet huvudpositionen eftersom det tillhandahåller planering och styrning av hela beräkningsprocessen. Vilken som helst av programkomponenten körs nödvändigtvis OS.

I enlighet med användarvillkoren särskiljs tre OS-lägen: satsbehandling, tidseparation och realtid. I paketbehandlingsläget utföres OS sekventiellt insamlat till uppgiftspaketet. I det här läget har användaren ingen kontakt med datorn, vilket endast erhåller resultaten av beräkningarna. I OS Time-separationsläget utför samtidigt flera uppgifter, anpassning till varje användare till datorn. I realtids OS, ger kontrollobjekt i enlighet med de mottagna ingångssignalerna. Svarstiden för datorn med realtid var på störningseffekten bör vara minimal.



Steg av utveckling av operativsystem

Första perioden (1945 -1955)

Det är känt att datorn uppfanns av den engelska matematik Charles Babidium i slutet av artonhundratalet. Dess "analytiska maskin" kunde inte bara tjäna, eftersom tekniken för den tiden inte uppfyllde kraven för tillverkning av delar av den exakta mekaniken som var nödvändiga för datateknik. Det är också känt att den här datorn inte hade ett operativsystem.

Några framsteg när det gäller att skapa digitala databaser inträffade efter andra världskriget. I mitten av 40-talet skapades de första lampproduktionsenheterna. Vid den tiden deltog samma grupp människor i designen och i drift och i programmering av datormaskinen. Det var ganska forskningsarbete inom beräkningsteknik, och inte användningen av datorer som ett verktyg för att lösa några praktiska uppgifter från andra tillämpade områden. Programmering utfördes uteslutande i motorn. Det fanns inget tal om operativsystem, alla uppgifter för organisationen av beräkningsprocessen löstes för hand av varje programmerare från kontrollpanelen. Det fanns ingen annan systemprogramvara än bibliotek av matematiska och service subrutiner.

Andra perioden (1955 - 1965)

Från mitten av 50-talet började en ny period i utvecklingen av datorutrustning i samband med tillkomsten av den nya tekniska basen - halvledarelement. Andra generations datorer har blivit mer tillförlitliga, nu kunde de kontinuerligt arbeta så länge så att de kunde åläggas genomförandet av verkligt praktiskt taget viktiga uppgifter. Det var under denna period att personalen som delade med programmerare och operatörer, operatörer och utvecklare av databehandlingar inträffade.

Dessa år uppträdde första algoritmiska språk, och följaktligen de första systemprogrammen - kompilatorer. Kostnaden för processorns tid har ökat, vilket krävde en minskning av den icke-produktiva tiden som spenderas mellan lanseringen av programmen. De första satsbehandlingssystemen uppträdde, vilket helt enkelt automatiserade lanseringen av ett program efter en annan och därigenom ökade processorns laddningsfaktor. Batchbehandlingssystem var en prototyp av moderna operativsystem, de blev de första systemprogrammen som är utformade för att hantera dataprocessen. Under genomförandet av batchbehandlingssystem utvecklades ett formaliserat uppgiftshanteringsspråk, med vilket programmeraren rapporterade till systemet och operatören, vilken typ av arbete han vill utföra på datorn. En kombination av flera uppgifter, som regel, i form av ett däck av punkteringar, fick namnet på uppgiftspaketet.

Tredje perioden (1965-1980)

Nästa viktiga utvecklingsperiod av datormaskiner hänvisar till 1965-1980. Vid denna tidpunkt inträffade en övergång från separata halvledarelement av typen av transistorer till integrerade chips, som gav mycket stora möjligheter till den nya, tredje generationen av datorer till de integrerade kretsarna, i den tekniska databasen.

För denna period är skapandet av familjer av programvara och kompatibla maskiner också karakteristiska. Den första familjen av programvara och kompatibla maskiner byggda på integrerade kretsar var serien av IBM / 360-maskiner. Byggd i början av 60-talet har denna familj väsentligt överskridit andra generationsmaskinerna enligt pris / produktionskriterium. Snart har tanken på programvara och kompatibla bilar blivit allmänt erkänd.

Programvarukompatibilitet krävs och kompatibilitet för operativsystem. Sådana operativsystem skulle behöva arbeta på stora och små datorsystem, med ett stort antal olika kringutrustning, inom det kommersiella fältet och inom vetenskaplig forskning. Operativsystem byggda med avsikt att tillgodose alla dessa motsägelsefulla krav visade sig vara extremt komplexa "monster". De bestod av många miljoner assembler som skrivits av tusentals programmerare och innehöll tusentals fel som orsakade ett oändligt korrigeringsflöde. I varje ny version av operativsystemet korrigerades ett fel och andra introducerades.

Trots de obehagliga dimensionerna och många problem har emellertid OS / 360 och de övriga tre generationerna av tredje generationens maskiner verkligen tillgodose de flesta konsumentkraven. Den viktigaste uppnåendet av operativsystemet av denna generation var genomförandet av multiprogrammering. Multiprogrammering är ett sätt att organisera en beräkningsprocess, där flera program växelvis utförs på en processor. Medan ett program utför en I / O-operation, är processorn inte ledig, eftersom det hände med ett sekventiellt programkörning (enkelprogramläge) och utför ett annat program (multi-programläge). Samtidigt laddas varje program i sitt område av RAM, kallad avsnitt.

Annan innovation - Spling (spolning). Stenling vid den tiden definierades som ett sätt att organisera en beräkningsprocess, i enlighet med vilken uppgifterna lästes från stanskortet i takt i takt där de dök upp i datortrummet och då när Nästa uppgift slutfördes, det nya jobbet från disken laddades in i den släppta sektionen.

Tillsammans med multiprogramens implementering av batchbehandlingssystem har en ny OS-typ dykt upp - tids separationssystem. En utföringsform av multiprogrammering, som används i tidsavskiljningssystem, syftar till att skapa för varje enskild användare illusionen av den enda användningen av datormaskinen.

Grundläggande nätverksverktyg.

Linux är ett nätverksoperativsystem. Det innebär att användaren kan skicka filer och arbeta inte bara på sin lokala maskin, men med fjärråtkomst, ta emot och skicka filer, utför vissa åtgärder och på en fjärrmaskin. En omfattande uppsättning nätverksverktyg gör processen att arbeta på en fjärrdator så bekväm som på den lokala datorn.

För att säkerställa säkerhet när du arbetar på en fjärrdator är det värt att använda SSH-verktyget (säkert skal). Naturligtvis måste användaren vara registrerad i det system där det kommer att fungera. I fönstret Terminal emulator måste användaren ange kommandot.

ssh. [E-post skyddad]

var inloggning är användarinloggningsnamnet på värdmaskinen. Ett annat alternativ är:

ssh värd -l user_login

Funktioner i Excel kallas fördefinierade formler med vilka beräkningar utförs i den angivna ordern för angivna värden. I det här fallet kan beräkningarna vara både enkelt och komplexa.

Till exempel kan definitionen av medelvärdet av de fem cellerna beskrivas med formeln: \u003d (A1 + A2 + A3 + A4 + A5) / 5, och kan vara en speciell funktion hos srvNA, vilket kommer att minska uttrycket till nästa art: SRVNow (A1: A5). Som du kan se att istället för att ange i formeln för alla celladresser kan du använda en specifik funktion som pekar på det som ett argument till deras sortiment.

För att arbeta med funktioner i Excel på bandet finns en separat läggning av formeln där alla grundläggande verktyg för att arbeta med dem är belägna.

Du kan välja önskad kategori på bandet i funktionsbiblioteksgruppen i fliken Formel. Efter att ha klickat på pilen, som ligger bredvid var och en av kategorierna, avslöjas listan över funktioner, och när du svänger markören till någon av dem visas ett fönster med sin beskrivning.

Ange funktioner, såväl som formeln, börjar med tecken på jämlikhet. Efter att funktionen kommer, i form av förkortning från stora bokstäver som anger sitt värde. Därefter anges funktionsargumenten i parentes - data som används för att få resultatet.

Som ett argument, ett visst antal, en oberoende länk till cellen, en hel serie av referenser till värdena eller cellerna, liksom cellerområdet. Samtidigt är vissa funktioner argument text eller nummer, andra - tid och datum.

Många funktioner kan ha flera argument på en gång. I det här fallet separeras var och en av dem från nästa punkt med ett komma. Till exempel, en funktion \u003d produktion (7; a1; 6; b2) anser att produkten av fyra olika nummer som anges i parentes, och innehåller följaktligen fyra argument. I det här fallet är i vårt fall en argument tydligt angivna, och andra är värden för vissa celler.

Också, som ett argument, kan du använda en annan funktion, som i det här fallet kallas nested. Till exempel, en funktion \u003d summor (A1: A5; srvnah (B5: B10)) sammanfattar värdena för cellerna i intervallet från A1 till A5, såväl som medelvärdet av siffrorna som placeras i cellerna B5, B6 , B7, B8, B9 och B10.

Några enkla egenskaper hos argument kan inte vara alls. Så, med hjälp av funktionen \u003d TDATA () kan du få aktuell tid och datum utan att använda några argument.

Inte alla funktioner i Ecxel har en enkel definition, som en funktion att summera upp summeringen av de valda värdena. Några av dem har ett komplext syntaktiskt skrivande, liksom kräver många argument som borde vara de rätta typerna. Ju hårdare funktionen desto svårare är det att ordentligt rita upp. Och utvecklarna har beaktat, inklusive assistentassistentens assistent till användare för användare - Funktioner.

För att kunna ange en funktion med en funktionsguide, klicka på ikonen Infoga funktion (FX) som finns till vänster om formelsträngen.

Sätt i en funktion finns också på bandet ovanifrån i funktionsbiblioteksgruppen i fliken Formel. Ett annat sätt att ringa guiden av funktioner är genvägen på knapparna Shift + F3.

Efter att ha öppnat assistentfönstret är det första du behöver välja en funktionskategori. För att göra detta kan du använda sökfältet eller det fallande listan.

I mitten av fönstret återspeglas listan över funktioner i den valda kategorin, och under - en kort beskrivning av funktionen som är allokerad av markören och certifikatet för sina argument. Förresten kan syftet med funktionen ofta bestämmas med sitt namn.

Genom att göra det nödvändiga urvalet klickar du på OK-knappen, varefter fönstret Funktionsargument kommer att visas.

Diagram

Ganska ofta, numren i tabellen, till och med sorterat av ordentligt, tillåter inte en komplett bild om resultaten av beräkningarna. För att få en visuell representation av resultaten, i MS Excel, finns det möjlighet att bygga diagram av olika typer. Detta kan vara både ett vanligt histogram eller schema och ett kronblad, cirkulärt eller exotiskt bubbeldiagram. Dessutom är det i programmet möjligt att skapa kombinerade diagram från olika slag, vilket sparar dem som en mall för vidare användning.

Figuren i Excel kan placeras antingen på samma ark där bordet redan är placerat, och i det här fallet kallas det "inbäddat" eller på ett separat ark som kommer att kallas "diagramlista".

För att skapa ett diagram baserat på tabulär data markerar du först dessa celler, information från vilken den ska representeras i grafisk form. I det här fallet beror utseendet på diagrammet på den typ av data som valts, som måste vara i kolumner eller linjer. Kolumnernas rubriker måste vara över värdena och strängens rubriker - till vänster om dem.

Sedan, på bandet i fliken Infoga i diagrammatron, välj önskad typ och typ av diagram. För att se en kort beskrivning av en typ eller typ av diagram måste du fördröja muspekaren på den

I nedre högra hörnet av diagrammet är det en liten knapp för att skapa ett diagram med vilket du kan öppna fönstret Insert diagram som visar alla typer, typer och diagrammallar.

Var också uppmärksam på utseendet på ett extra bokmärke på bandet, arbeta med diagram som innehåller tre fler flikar: designer, layout och format.

På fliken Designer kan du ändra typen av diagram, byta sträng och kolumner, lägga till eller radera data, välj dess layout och stil, och flytta även diagrammet till ett annat ark eller annan flikflik.

På fliken Layout är kommandon ordnade att lägga till eller ta bort olika diagramobjekt som enkelt kan formateras med fliken Format.

Fliken Diagram visas automatiskt när du markerar diagrammet och försvinner när du arbetar med andra delar av dokumentet.

Konceptet för operativsystemet. De främsta stadierna av utvecklingen av operativsystem.

Med tanke på utvecklingen av operativsystemet bör man komma ihåg att skillnaden i tidpunkten för genomförandet av vissa principer för att organisera enskilda operativsystem till deras övergripande erkännande, liksom terminologisk osäkerhet, inte tillåter att ge en exakt kronologi av operativsystemet . Det är dock nu ganska rättvist att bestämma de viktigaste milstolparna på vägen för operativsystemets utveckling.

Det finns också olika tillvägagångssätt för att bestämma generationerna i operativsystemet. Det är känt separation av operativsystemet för generering i enlighet med generationer av datorer och system [ 5 , 9 , 10 , 13 ]. En sådan delning kan inte anses vara helt tillfredsställande, eftersom utvecklingen av OS-organisationsmetoder inom en generation av dator, vilket framgår av erfarenheterna av deras skapelse, uppträder i ett ganska brett sortiment. En annan synvinkel associerar inte en generation av operativsystem med lämpliga e-postgenereringar. Det är till exempel känt att identifiera definitionen av OS-generationerna på nivåerna av EMM-ingångsspråket, sätten för användningen av centrala processorer, former av drift av system etc. [ 5 , 13 ].

Tydligen bör det mest lämpliga betraktas som fördelningen av stadierna i utvecklingen av operativsystemet inom ramen för individuella generationer av datorn och flygplanet.

Den första etappen av utvecklingen av systemprogramvaran kan betraktas som användningen av biblioteksprogram, standard och serviceunderrutiner och makron. Begreppet bibliotek av subrutinerna är de tidigaste och går tillbaka till 1949 [ 4 , 17 ]. Med tillkomsten av bibliotek utvecklades det automatiska sättet för deras ackompanjemang - nedladdare och länkredaktörer. Dessa medel användes i den första generationsdatorn, när operativsystem inte existerade som sådana.

Lusten att eliminera inkonsekvensen mellan utförandet av processorer och driftens hastighet av elektromekaniska I / O-enheter å ena sidan och användningen av tillräckligt snabba enheter på magnetband och trummor (NML och NMB) och sedan på magnetiska Skivor (NMD) ledde å andra sidan till behovet av att lösa buffrande uppgifter och blockera data. Särskilda åtkomstmetoder uppstod, som introducerades i objekt av moduler av länkredaktörer (därefter användes principerna för polybroufferisering). Diagnostiska program skapades för att upprätthålla prestanda och underlättande av driftsprocesserna. Således skapades den grundläggande systemprogramvaran.

Med förbättringen av datorns prestanda och tillväxten av deras prestanda blev det klart att den befintliga grundläggande programvaran (programvara) inte räcker. Det finns operativsystem för tidig satsbehandling - bildskärmar. Som en del av paketbehandlingssystemet under utförandet av något arbete i paketet (sändning, montering, utförande av det färdiga programmet), var ingen del av systemprogramvaran i RAM, eftersom allt minne lämnades till aktuellt arbete. Därefter uppträdde övervakningssystemen i vilka RAM var uppdelad i tre områden: ett fast areal av bildskärmssystemet, ett användarområde och ett gemensamt minnesområde (för lagring av data som objektmoduler kan byta).

Intensiv utveckling av datahanteringsmetoder började, en sådan viktig funktion av operativsystemet, som genomförandet av I / O utan den centrala processens deltagande - den så kallade stanken (från den engelska spolen - samtidig perifer driftsoperation på rad).

Framväxten av nya hårdvaruutvecklingar (1959-1963) - avbrottssystem, tidtagare, kanaler - stimulerade den fortsatta utvecklingen av OS [ 4 , 5 , 9 ]. Executive Systems uppstod, som var en uppsättning program för distribution av datorresurser, anslutningar med operatören, hantering av datorprocessen och styringången. Sådana executive system gjorde det möjligt att genomföra en ganska effektiv form av driften av beräkningssystemet - enstaka batchbehandling. Dessa system gav användaren till användaren som kontrollpunkter, logiska timers, förmågan att bygga upp överlagstruppprogram, upptäcka kränkningar av programbegränsningar som antagits i systemet, filhantering, samling av bokföringsinformation etc.

Emellertid kunde singlewware-satsbehandling med en ökning av datorns prestanda inte ge en ekonomiskt acceptabel nivå av driften av maskinerna. Lösningen var multiprogrammering - ett sätt att organisera en datorprocess, där det finns flera program i datorns minne, med en processor, och för början eller fortsättning på kontot, krävde ett program inte fullbordandet av andra. I multiprogrammediet har problemet med resursallokering och skydd blivit mer akut och svårt.

Teorin om att bygga operativsystem under denna period har berikats nära fruktbara idéer. Olika former av multiprogramoperationslägen uppstod, inklusive tidseparationen - läget som ger driften av det multiterminala systemet. Begreppet virtuellt minne skapades och utvecklades, och sedan virtuella maskiner. Tidseparationsläget tillåter att användaren interaktivt interagerar med sina program, eftersom det var före utseendet av batchbehandlingssystem.

Ett av de första operativsystemen som använder dessa nyaste lösningar var MSR-operativsystemet (huvudhanteringsprogrammet) som skapades av Burroughs för sina datorer B5000 1963. I detta operativsystem har många begrepp och idéer genomförts, därefter standard för många operativsystem:

    multiprogrammering;

    multiprocessorbearbetning;

    virtuellt minne;

    möjligheten att felsökning av program på källkällan

    skriva operativsystemet på hög nivå språk.

CTSS-systemet (kompatibelt tidsdelningssystem) har varit ett välkänt Time Division-divisionssystem - ett kompatibelt tidsavskiljningssystem som utvecklats vid Massachusetts Technology Institute (1963) för IBM-7094-datorn [ 37 ]. Detta system användes för att utvecklas i samma institut i samband med Bell Labs och General Electric System Separation Systems i nästa generations multics (multiplexerad information och databehandling). Det är anmärkningsvärt att detta operativsystem skrevs huvudsakligen på den höga EPL (den första versionen av PL / 1-språkbolaget IBM).

En av de viktigaste händelserna i operativsystemens historia anses vara 1964 att datorns datorer kallas system / 360 i företaget IBM, och senare - System / 370 [ 11 ]. Det var den första realiseringen av konceptet för en familj och informationskompatibla datorer i världen, som senare blev standard för alla datortillbehör.

Det bör noteras att den huvudsakliga formen av datoranvändning, både i systemskiljesystemen och i batchbehandlingssystem, har blivit ett multiterminalläge. Samtidigt har inte bara operatören, men alla användare fått möjlighet att formulera sina uppgifter och hantera deras utförande från sin terminal. Eftersom de terminala komplexen snart blev möjligt att placera på stora avstånd från datorn (tack vare modemanslutningarna), uppträdde systemen för fjärrinmatning av uppgifter och distansarbete data. OS lägger till moduler som implementerar kommunikationsprotokoll [ 10 , 13 ].

Vid den här tiden var det en betydande förändring av fördelningen av funktioner mellan hårdvara och datorsoftware. Operativsystemet blir en "integrerad del av datorn", som om den fortsätter utrustningen. Processorerna verkade privilegierade (handledare i OS / 360) och användar (uppgift i OS / 360) driftssätt, ett kraftfullt avbrottssystem, minnesskydd, specialregister för snabba programväxling, virtuella minnesstödverktyg etc.

I början av 1970-talet uppträdde det första nätverket OS, vilket möjliggjorde inte bara spridda användare, som i data distanssystem, utan också organisera distribuerad lagring och behandling av data mellan datorer som är kopplade till elektriska anslutningar. Arpanet Mo USA är känt. År 1974 tillkännagav IBM skapandet av SNA: s egen nätverksarkitektur för sina mainframes, vilket säkerställer interaktionen mellan "Terminal Terminal" -typ, "Terminal-Computer", "dator-dator". I Europa utvecklades tekniken för byggandet av paketkopplingsnät baserat på protokoll X.25 aktivt.

Vid mitten av 70-talet, tillsammans med mainframes, var mini-datorer utbredd (PDP-11, Nova, HP). Arkitekturen av mini-datorer var mycket lättare, många funktioner av multi-program mainframes var avkortade. Operativsystemen för mini-datorn började göra specialiserat (RSX-11M - tidsfördelningen, RT-11 - OC realtid) och inte alltid multiplayer.

En viktig milstolpe i mini-dators historia och i allmänhet i operativsystemets historia var skapandet av UNIX OS. Upplagt av detta system Ken Thompson (Ken Thompson), en av specialisterna i datorer i Bell Labs, som arbetade på multicics-projektet. Faktum är att hans Unix är en stympad enanvändareversion av multicsystemet. Det ursprungliga namnet på detta system är UNICS (uniplexed informations- och databehandlingstjänst - primitiv information och datortjänst). Så skämt kallades detta system, eftersom multicics (multiplexed information och datortjänst) är en multiplexinformation och datortjänst. Från mitten av 70-talet distribuerades den massiva användningen av UNIX OS, skrivet av 90% på C-språket, av C-kompilatorerna gjorde UNIX unika OC-bärbara, och eftersom det levererades med källkoderna blev det första öppna operativ system. Flexibilitet, elegans, kraftfull funktionalitet och öppenhet tillät henne att ta en robust position i alla klasser av datorer - från personlig till superdator.

Tillgången till mini-datorer fungerade som ett incitament att skapa lokala nätverk. I det enklaste LAN, datorer anslutna via seriella portar. Den första nätverksansökan för UNIX OS är ett UUCP-program (Unix till Unix-kopieringsprogram) - dök upp 1976.

Ytterligare utveckling av nätverkssystem med TCP / IP-stack: 1983 antogs det av Mo USA som standard och användes på ARPANET-nätverket. Samma år var Arpanet uppdelad i Milnet (för den amerikanska militären) och den nya Arpanet, som kallades Internet.

Alla åttiotalet kännetecknas av utseendet av alltmer perfekta versioner av UNIX: Sun OS, HP-UX, IRIX, AIX, etc. För att lösa deras kompatibilitet, POSIX och XPG-standarder, som definierar dessa system för applikationer antogs.

En annan viktig händelse för operativsystemets historia var uppkomsten av persondatorer i början av 80-talet. De tjänade som en kraftfull drivkraft för distributionen av lokala nätverk, som ett resultat, stödjande nätverksfunktioner var en förutsättning för PC. Men det vänliga gränssnittet och nätverksfunktionerna uppträdde på datorn, inte omedelbart [ 13 ].

Den mest populära versionen av det tidiga utvecklingsstadiet av persondatorer var MS-DOS av Microsoft - enkelstöd, enbärare OS med kommandoradsgränssnitt. Många funktioner som ger bekvämligheten med arbetet till användaren, i detta eller gav ytterligare program - Norton Commander, PC-verktyg etc. Den största effekten på utvecklingen av PC-programvaran tillhandahölls av Windows-operativmiljön, den första versionen av som dök upp 1985. Nätverksfunktionerna implementerades också med hjälp av nätverksskal och dök upp i MS-DOS version 3.1. Samtidigt framträdde Microsoft-nätverksprodukter - MS-Net, och senare - LAN-chef, Windows för arbetsgrupp och sedan Windows NT.

Ett annat sätt gick Novell: dess NetWare-produkt är ett operativsystem med inbyggda nätverksfunktioner. NetWare distribuerades som ett operativsystem för den centrala servern i det lokala nätverket och på grund av specialiseringen av filserverens funktioner gav en hög hastighet av fjärråtkomst och förbättrad datasäkerhet. Detta OS hade dock ett specifikt programmeringsgränssnitt (API), vilket gjorde det svårt att utveckla applikationer.

År 1987 verkade det första multitasking OS för PCS - OS / 2, som utvecklats av Microsoft, med IBM,. Detta var ett väl genomtänkt system med virtuellt minne, ett grafiskt gränssnitt och förmågan att utföra DOS-applikationer. För henne skapades och fick LAN-chefen (Microsoft) och LAN-server (IBM). Dessa skal var sämre i prestanda till NetWare-filservern och förbrukade fler hårdvaru-resurser, men hade viktiga fördelar. De fick utföra några program på servern som utvecklats för OS / 2, MS-DOS och Windows, dessutom var det möjligt att använda den dator som de arbetade som arbetsstation. Det misslyckade marknaden för OS / 2 tillåter inte LAN-chef och LAN-serversystem att fånga en märkbar marknadsandel, men principerna för driften av dessa nätverkssystem hittade i stor utsträckning sin utföringsform på 90-talet.

På 80-talet antogs de viktigaste standarderna för kommunikationsteknik för lokala nätverk: 1980 - Ethernet, 1985-token-ringen, i slutet av 80-talet -FDDI (Fiber distribuerat datagränssnitt), distribuerat dataöverföringsgränssnitt för fiberoptiska kanaler, dubbelrum ring med en markör. Detta gjorde det möjligt att säkerställa kompatibilitet med Network OS på de lägre nivåerna, samt standardisera operativsystem med nätverksadapterdrivrutiner.

För datorer användes inte bara speciellt utformade OS (MS-DOS, NetWare, OS / 2) (MS-DOS, NetWare, OS / 2), men också anpassat befintligt OS, i synnerhet UNIX. Det mest kända systemet av denna typ var UNIX-versionen av Santa Cruz-operation (SCO Unix).

På 90-talet blev nästan alla operativsystem som upptar en märkbar plats på marknaden nätverk. Nätverksfunktionerna är inbäddade i OS-kärnan, som är en integrerad del. Multiplexeringsverktygen används i OS-multiplexeringsprotokollstackarna, på bekostnad av vilka datorer kan upprätthålla samtidigt arbete med heterogena servrar och klienter. Specialiserade OS verkade till exempel Cisco Systems IOS-nätverk OS, som arbetar i routrar. Under andra hälften av 90-talet stärkte alla OS-tillverkare stöd för att arbeta med gränssnitt. Förutom TCP / IP-protokollstacken används de verktyg som implementerar de populära Internet-tjänsterna: Telnet, FTP, DNS, Web, etc.

Särskild uppmärksamhet ägnades åt det senaste decenniet och betalas för närvarande till operativsystem för företagsnätverk. Detta är en av de viktigaste uppgifterna inom överskådlig framtid. Corporate OS bör fungera bra och hållbart i stora nätverk, som är karakteristiska för stora organisationer (företag, banker, etc.), som har separationer i många städer och eventuellt i olika länder. Företaget OS bör enkelt interagera med OS av olika typer och arbeta på olika hårdvaruplattformar. Nu är ledarna i klassen av Corporate OS MS Windows 2000/2003, UNIX och Linux-system, liksom Novell NetWare 6.5.

Vi kommer att överväga historien om utvecklingen av beräknings, inte operativsystem, eftersom hårdvara och programvara utvecklats tillsammans, vilket ger ett ömsesidigt inflytande på varandra. Framväxten av nya tekniska möjligheter ledde till ett genombrott inom området för att skapa praktiska, effektiva och säkra program, och färska idéer i programområdet stimulerade sökandet efter nya tekniska lösningar. Det är dessa kriterier - bekvämlighet, effektivitet och säkerhet - spelade rollen som faktorer för naturligt urval i utvecklingen av beräkningssystem.

Under den första utvecklingsperioden (1945-1955) Eum var en lampmaskin utan operativsystem. De första stegen i utvecklingen av elektroniska databehandlingsmaskiner genomfördes i slutet av andra världskriget. I mitten av 40-talet skapades de första lampproduktionsenheterna och principen om programmet lagrade i maskinens minne (John von Neumann, juni 1945). Vid den tiden deltog samma grupp människor i designen och i drift och i programmering av datormaskinen. Det var ganska forskningsarbete inom beräkningsteknik, och inte regelbunden användning av datorer som ett verktyg för att lösa några praktiska uppgifter från andra tillämpade områden. Programmering utfördes uteslutande i motorn. Det fanns inget tal om operativsystem, alla uppgifter för organisationen av beräkningsprocessen löstes för hand av varje programmerare från kontrollpanelen. Bakom fjärrkontrollen kunde det bara vara en användare. Programmet startade i minnet av bilen i bästa fall från kortets däck och brukar använda omkopplingspanelen.

Computing-systemet utförde samtidigt en operation (ingångsutgång eller faktisk beräkning). Felsökningsprogram utfördes från kontrollpanelen genom att studera minnesläget och maskinregistren. I slutet av denna period visas den första systemprogramvaran: 1951-1952. Det finns exempel på de första kompilatorn från symboliska språk (Fortran et al.), Och 1954 utvecklar Nat Rochester en assembler för IBM-701.

Den väsentliga delen av tiden gick till att förbereda lanseringen av programmet, och programmen själva genomfördes strikt sekventiellt. Ett sådant driftsätt kallas sekventiell databehandling. I allmänhet kännetecknas den första perioden av en extremt hög kostnad för beräkningssystem, deras små mängder och låg effektivitet av användningen.

Från mitten av 50-talet började den andra perioden I utvecklingen av beräkningsteknik som är förknippad med tillkomsten av den nya tekniska basen - halvledarelement. Användningen av transistorer istället för ofta brutna elektroniska lampor har lett till en ökning av datorernas tillförlitlighet. Nu kan bilar kontinuerligt arbeta tillräckligt länge så att du kan tilldela praktiskt taget viktiga uppgifter. Förbrukningen av elberedningsmaskiner minskas, kylsystem förbättras. Datordimensioner minskade. Kostnaden för drift och underhåll av datorutrustning har minskat. Användningen av datorkommunala företag började. Samtidigt finns en snabb utveckling av algoritmiska språk (LISP, COBOL, ALGOL-60, PL-1, etc.). De första riktiga kompilatorerna, länkredaktörer, bibliotek av matematiska och serviceunderrutiner visas. Programmeringsprocessen förenklas. Försvinner behovet av att ta hela processen att utveckla och använda datorer på samma personer. Det är under denna period att personalen är separerad på programmerare och operatörer, specialister i drift och utvecklare av datorer.

Programmet ändrar programprocessen. Nu tar användaren ett program med inmatningsdata i form av ett däck av perfoch-rulle och indikerar de nödvändiga resurserna. Ett sådant däck kallas uppdrag. Operatören laddar uppgiften i maskinens minne och startar den för att utföra den. Utgången som mottas skrivs ut på skrivaren, och användaren tar emot dem tillbaka efter vissa (ganska lång) tid.

Att ändra de begärda resurserna orsakar en upphävande av programkörning, som ett resultat, är processorn ofta tomgång. För att förbättra effektiviteten att använda en datoruppgift med liknande resurser, börja samla ihop, skapa paket av uppgifter.

Den första visas batch Processing Systemssom helt enkelt automatiserar lanseringen av ett program från paketet efter det andra och därigenom ökar processorns laddningsfaktor. Vid implementering av batchbehandlingssystem utvecklades ett formaliserat uppgiftshanteringsspråk, med vilket programmeraren rapporterade till systemet och operatören, vilken typ av arbete det vill utföra på datorn. Batchbehandlingssystem har blivit en prototyp av moderna operativsystem, de var de första systemprogrammen som är utformade för att hantera dataprocessen.

Nästa viktiga utvecklingsperiod Datormaskiner hänvisar till början av 60-talet - 1980. Vid denna tidpunkt inträffade en övergång från enskilda halvledarelement som transistorer till integrerade chips i den tekniska basen. Datorutrustning blir mer tillförlitlig och billig. Komplexiteten och antalet uppgifter som löses av datorer växer. Processorns prestanda ökar.

En ökning av effektiviteten av att använda processorns tid hindras av de mekaniska I / O-enheternas låga hastighet (den snabba läsaren perflocart kan hantera 1200 perfoklar per minut, skrivare tryckt upp till 600 linjer per minut). Istället för den direkta läsningen av uppgiftspaketet med Perfocars, börjar det använda sin förrekter, först på magnetbandet och sedan till disken. När data krävs under uppgiftsprocessen läses de från disken. På samma sätt kopieras utgången först till systembufferten och spelas in på tejpen eller disken, och den skrivs ut först efter att uppgiften är klar. Inledningsvis utfördes de faktiska I / O-operationerna i off-line-läget, det vill säga med andra, enklare, separata datorer. I framtiden börjar de springa på samma dator som producerar beräkning, det vill säga i onlinet läge. Denna teknik kallas spolning (Reduktion från samtidig perifer drift på rad) eller data pumpning. Införande av pumputrustning till paketsystem gjorde det möjligt att kombinera den faktiska I / O-verksamheten i en uppgift med genomförandet av en annan uppgift, men krävde utvecklingen av avbrottsuppdraget för att meddela processorn om slutet av dessa operationer.

Magnetiska band var seriella åtkomstanordningar, det vill säga informationen lästes från dem i den ordning i vilken den registrerades. Utseendet på en magnetisk skiva för vilken förfarandet för läsinformation inte är viktig, det vill säga, direkta åtkomstanordningar ledde till vidareutveckling av beräkningssystem. Vid bearbetning av ett uppgiftspaket på ett magnetband bestämdes uppgiftsordningen av ordern av deras inmatning. När du bearbetar ett uppgiftspaket på en magnetisk disk har den möjlighet att välja nästa uppgift som utförs. Batchsystem börjar engagera sig planeringsuppgifter: Beroende på tillgängligheten av begärda resurser, brådskande beräkningar etc. Kontot väljer detta eller den uppgiften.

Ytterligare förbättring av processorns effektivitet uppnåddes med multiprogrammering. Idén om multiprogrammering är som följer: hittills ett program utför en I / O-operation, processorn passar inte, eftersom det hände med enkelprogramsläge och utför ett annat program. När I / O-operationen slutar, återgår processorn till utförandet av det första programmet. Denna idé liknar lärarens och studenternas beteende på tentamen. Medan en student (program) funderar på svaret på frågan (I / O-operation), lyssnar läraren (processor) till ett annat elevsvar (beräkningar). Naturligtvis kräver denna situation några studenter i rummet. På samma sätt kräver multiprogrammering närvaron av flera program i minnet samtidigt. Samtidigt laddas varje program i sitt område av RAM, kallat sektion, och bör inte påverka genomförandet av ett annat program (studenter sitter vid enskilda tabeller och inte uppmanar varandra).

Framväxten av multiprogrammering kräver en riktig revolution i datorns struktur. Hårdvaru support spelas av en speciell roll (många maskinvaruinnovationer framträdde i det föregående steget av evolutionen), vars mest väsentliga egenskaper anges nedan.

- Genomförande av skyddsmekanismer . Programmen bör inte ha oberoende tillgång till fördelningen av resurser, vilket leder till utseendet privilegierad och oprivilegierad kommandon. Privilegierade kommandon, till exempel I / O-kommandon, kan endast utföras av operativsystemet. Det sägs att det fungerar i privilegierat läge. Övergångskontrollen från applikationsprogrammet till OS åtföljs av en kontrollerad ändring av läget. Dessutom är det ett minnesskydd som låter dig isolera konkurrerande användarprogram från varandra och OS från användarprogram.

- Förekomsten av avbrott . Externa avbrott meddelas om att en asynkron händelse inträffade, till exempel, en I / O-operation slutfördes. Interna avbrott (nu de kallas exceptionella situationer) uppstår när programmet har lett till en situation som kräver ett OS-intervention, såsom division till noll eller ett försök att bryta mot skydd.

- Utveckling av parallellism i arkitektur . Direkt minnesåtkomst och organisationen av I / O-kanaler gjorde det möjligt att frigöra den centrala processorn från rutinmässiga operationer.

Inte mindre viktigt för att organisera multiprogrammering av operativsystemets roll. Det är ansvarigt för följande åtgärder:

Organisation av gränssnittet mellan applikationsprogrammet och operativsystemet med systemsamtal.

Organisera en kö från uppgifterna i minnet och tilldelningen av processorn till en av de uppgifter som krävs planering av processorns användning.

Att byta från en uppgift till en annan kräver att innehållet i registren och de datastraktioner som krävs för att utföra uppgiften, med andra ord, kontext för att säkerställa att beräkningarna fortsätter att fortsätta att fortsätta.

Eftersom minnet är en begränsad resurs behöver du minneshanteringsstrategier, det vill säga det är nödvändigt att effektivisera processerna för placering, ersättning och provtagning av information från minnet.

Organisation av lagring av information om externa medier i form av filer och tillgång till en viss fil endast till vissa kategorier av användare.

Eftersom programmen kan behöva producera sanktionerade datautbyte är det nödvändigt att ge dem kommunikation.

För rätt datautbyte är det nödvändigt att lösa konfliktsituationer som uppstår vid arbete med olika resurser och samordna samordningen med programmen för sina handlingar, dvs. Stöd ett synkroniseringssystem.

Multiprogramsystem gav möjlighet till effektivare användning av systemresurser (till exempel processor, minne, perifera enheter), men de förblev paket under lång tid. Användaren kunde inte direkt interagera med uppgiften och bör ges med alla möjliga situationer med hjälp av kontrollkort. Felsökningsprogram ockuperade fortfarande mycket tid och krävde studier av flera sidor utskrift av minnesinnehåll och register eller med hjälp av debugging-utskrift.

Utseendet på elektronstrålar visar och omprövar möjligheterna för applicering av tangentborden, ställer in lösningen på detta problem. Logisk expansion av multiprogrammeringssystem Ståltidsdelningssystem, eller time Split Systems. I dem växlar processorn mellan uppgifterna inte bara för tiden för I / O-operationer, utan också helt efter en viss tid. Denna omkoppling sker så ofta att användarna kan interagera med sina program under deras utförande, det vill säga interaktivt. Som ett resultat visas möjligheten att simultan drift av flera användare på ett datorsystem. Varje användare ska ha minst ett minnesprogram. För att minska restriktionerna på antalet arbetsanvändare har tanken på ofullständigt att hitta det exekverbara programmet i RAM introducerats. Huvuddelen av programmet finns på disken och det fragment som måste utföras för tillfället kan laddas i RAM, och det onödiga - rullade tillbaka till disken. Det implementeras med mekanism för virtuellt minne. Den största fördelen med en sådan mekanism är att skapa en illusion av en obegränsad Rast RAM.

I tids separationssystem fick användaren möjlighet att effektivt felsöka programmet i det interaktiva läget och skriva information till disken, utan att använda stanskorten och direkt från tangentbordet. Utseendet på on-line-filer ledde till behovet av att utvecklas utvecklas filsystem.

I parallell inre utveckling av beräkningssystem inträffade deras externa utveckling också. Före början av denna period var beräkningskomplex vanligtvis oförenliga. Var och en har sitt eget operativsystem, sitt systemsystem, etc. Som ett resultat, ett program som har framgångsrikt fungerat på en typ av maskiner, var nödvändigt att helt skriva och uppdatera för att utföra på datorer av en annan typ. I början av den tredje perioden uppträdde tanken att skapa familjer av mjukvarukompatibla maskiner som verkar under kontroll av samma operativsystem. Den första familjen av programvara kompatibla datorerByggd på integrerade chips har IBM / 360 Series Series blivit. Konstruerad i början av 60-talet har denna familj väsentligt överskridit andra generationens maskiner med pris / prestandakriterium. Det följdes av PDP-datorerna som är oförenliga med IBM-linjen, och den bästa modellen i den blev PDP-11.

Kraften i "en familj" var både sin svaghet. De breda möjligheterna för detta koncept (närvaron av alla modeller: från mini-datorer till jätte maskiner; överflöd av en mängd olika kringutrustning; olika omgivningar; olika användare) skapade ett komplext och skrymmande operativsystem. Miljoner av de monterade linjerna som skrivits av tusentals programmerare innehöll många fel som orsakade ett kontinuerligt flöde av publikationer om dem och korrigeringsförsök. Endast i operativsystemet OS / 360 innehöll mer än 1000 kända fel. I alla fall, tanken om standardisering av operativsystem Det introducerades i stor utsträckning i användarmedvetandet och senare fick aktiv utveckling.

Nästa period i evolutionen Beräkningssystem är förknippade med utseendet på stora integrerade kretsar (bis). Weth år (från 1980 till idag) Det har skett en kraftig ökning av graden av integration och minskning av kostnaden för chips. En dator som inte skiljer sig från arkitektur från PDP-11, till priset och användarvänligheten, har blivit tillgänglig för en separat person, inte avdelningen för företaget eller universitetet. Era av persondatorer inträffade. Inledningsvis var persondatorer avsedda att användas av en användare i enkelprogramsläge, vilket resulterade i nedbrytningen av arkitekturen hos dessa datorer och deras operativsystem (i synnerhet försvann behovet av att skydda filer och minne, uppgiftsplanering, etc. .).

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

Ökningen av komplexiteten och mångfalden av uppgifter som löses på persondatorer, behovet av att förbättra tillförlitligheten av sitt arbete ledde till återupplivningen av nästan alla funktioner som är karakteristiska för arkitekturen av stora datorsystem.

I mitten av 80-talet började växa snabbt dator nätverk, inklusive personligt arbete på nätverk eller distribuerade operativsystem.

I nätverksoperativsystem Användare kan komma åt resurserna för en annan nätverksdator, bara de behöver veta om deras tillgänglighet och kunna göra det. Varje maskin på nätverket körs som kör sitt lokala operativsystem, som skiljer sig från operativsystemet hos den autonoma datorn genom närvaro av ytterligare medel (programvarustöd för nätverksgränssnittsenheter och åtkomst till fjärrresurser), men dessa tillägg ändrar inte strukturen av operativsystemet.

Distribuerat system, tvärtom ser ut som ett vanligt autonomt system. Användaren vet inte och borde inte veta vars filer lagras - på en lokal eller fjärrmaskin - och där dess program utförs. Han kanske inte alls, är den ansluten till datorn till nätverket. Den interna strukturen hos det distribuerade operativsystemet har signifikanta skillnader från autonoma system.

I framtiden kommer autonoma operativsystem att ringa klassiska operativsystem.

Efter att ha granskat stadierna av utvecklingen av beräkningssystem kan vi allokera sex grundläggande funktionerVilket utförde klassiska operativsystem i evolutionsprocessen:

Planering av uppgifter och processor användning;

Tillhandahålla program med kommunikation och synkronisering

Minneshantering;

Filsystemhantering;

Inmatningshantering;

säkerhet

Var och en av ovanstående funktioner implementeras vanligtvis som ett delsystem som är en strukturell komponent i OS. I varje operativsystem implementerades dessa funktioner självklart på deras eget sätt i olika volymer. De uppfanns ursprungligen som komponenter i operativsystem och dök upp i utvecklingsprocessen, eftersom beräkningssystem blev alltmer bekväma, effektiva och säkra. Utvecklingen av beräkningssystem som skapats av mannen gick på den här vägen, men ingen har visat att det här är den enda möjliga vägen för deras utveckling. Operativsystem finns, eftersom deras existens är ett rimligt sätt att använda beräkningssystem.