De eerste systeemprogramma's van het besturingssysteem werden uitgevoerd. Het concept van het besturingssysteem. De belangrijkste stadia van de ontwikkeling van besturingssystemen

Gezien de evolutie van het OS, moet rekening worden gehouden met het verschil in het tijdstip van de implementatie van sommige beginselen van organisatie van individuele besturingssystemen tot hun algemene erkenning, evenals terminologische onzekerheid, niet toestaan \u200b\u200bom een \u200b\u200bnauwkeurige chronologie van het besturingssysteem. Het is echter vrij eerlijk om de belangrijkste mijlpalen op het pad van de evolutie van besturingssystemen te bepalen.

Er zijn ook verschillende benaderingen voor het bepalen van de generaties van het besturingssysteem. Het staat bekend om de scheiding van het besturingssysteem voor generatie in overeenstemming met generaties computermachines en -systemen [,,]. Zo'n divisie kan niet als volledig bevredigend worden beschouwd, als de ontwikkeling van OS-organisatiemethoden binnen een enkele computergeneratie, zoals afgebeeld door de ervaring van hun creatie, ligt in een vrij breed bereik. Een ander gezichtspunt associeert geen generatie besturingssysteem met geschikte e-mailgeneraties. Het is bijvoorbeeld bekend om de definitie van de OS-generaties op het niveau van de EU-invoertaal te identificeren, de modi van het gebruik van centrale processors, vormen van werking van systemen, enz.

Blijkbaar moet het meest geschikt worden beschouwd als de toewijzing van de stadia van de ontwikkeling van het besturingssysteem in het kader van individuele generaties van de computer en het vliegtuig.

De eerste fase van de ontwikkeling van systeemsoftware kan worden beschouwd als het gebruik van bibliotheekprogramma's, standaard- en service-subroutines en macro's. Het concept van bibliotheken van de subroutines is de vroegste en dateert uit 1949. Met de komst van bibliotheken werden de automatische middelen van hun begeleiding ontwikkeld - Downloader en Link-editors. Deze fondsen werden gebruikt in de eerste generatiecomputer, wanneer besturingssystemen niet als zodanig bestonden (fig.3.2).

De wens om de inconsistentie tussen de prestaties van verwerkers en de snelheid van de ingang van de elektromechanische invoerapparaten, enerzijds en het gebruik van voldoende snelle schijven op magnetische tapes en drums (NML en NMB), en vervolgens op magnetische schijven ( NMD) heeft daarentegen geleid tot de noodzaak om taken te lossen die bufferen en data-ontladingsgegevens blokkeren. Speciale toegangsmethoden ontstonden, die werden geïntroduceerd in objecten van modules van link-editors (vervolgens werden de principes van polyboufferisatie gebruikt). Voor performance behouden En het faciliteren van machinebedieningsprocessen creëerde diagnostische programma's. Dus een basisstelsel software.


Fig. 3.2.

Met de verbetering van de prestaties van de computer en de groei van hun uitvoering, was het gebrek aan basissoftware (software) duidelijk. Er zijn besturingssystemen voor vroege batchverwerking - monitoren. Binnen batchverwerkingssystemen in doorlooptijd Elk werk in het pakket (uitzending, assemblage, uitvoering van het voltooide programma) Geen enkel deel van de systeemsoftware was in RAM, omdat al het geheugen aan het huidige werk werd verstrekt. Vervolgens verschenen de monitorystemen waarin rAM Het was verdeeld in drie gebieden: een vast gedeelte van het monitorsysteem, een gebruikersgebied en een gemeenschappelijk geheugengebied (voor het opslaan van gegevens die objectmodules kunnen uitwisselen).

Intensieve ontwikkeling van gegevensbeheermethoden begon, een dergelijke belangrijke functie van het besturingssysteem, als de implementatie van I / O zonder de deelname van het centrale proces - de zogenaamde stank (van de Engelse spoel - gelijktijdige perifere bediening bedrijfsbewerking op lijn).

De opkomst van nieuwe hardware-ontwikkelingen (1959-1963) - onderbrekingssystemen, timers, kanalen - stimuleerde de verdere ontwikkeling van OS [,]. Executive Systems ontstonden, die een reeks programma's waren voor de distributie van computerbronnen, verbindingen met de operator, beheren van het computerproces en de uitvoer-output. Dergelijke uitvoerende systemen maakten het mogelijk om een \u200b\u200bredelijk effectieve vorm van werking van het computersysteem te implementeren - enkele stralingsbatchverwerking. Deze systemen gaven de gebruikershulpmiddelen, zoals controlepunten, logische timers, de mogelijkheid om programma's te bouwen overlay-structuur, detectie van overtredingen Programmabeperkingen die zijn goedgekeurd systeem, bestandsbeheer, Verzameling van boekhoudkundige informatie, enz.

De batchverwerking van één strelen met een verhoging van de prestaties van de computer kon echter geen economisch aanvaardbaar niveau van werking van de machines verschaffen. De beslissing is geworden multiprogramming - de methode om een \u200b\u200bcomputerproces te organiseren, waarin verschillende programma's zijn in het geheugen van de computer, met één processor en om het account te starten of voort te zetten, heeft één programma geen voltooiing van anderen nodig. In het Multiprogram-medium is het probleem van de toewijzing en de bescherming van de hulpbronnen acuter en moeilijker geworden.

De theorie van de bouw van besturingssystemen tijdens deze periode is verrijkt in de buurt van vruchtbare ideeën. Er waren verschillende vormen van bedieningsmodi van meerdere multiprogram, waaronder tijdscheiding - MODUS DIE WERK OP ZIJN multi-Terminal System. Het concept van virtueel geheugen is gemaakt en ontwikkeld, en vervolgens virtuele machines. Tijdscheidingsmodus liet de gebruiker interactief communiceren met zijn programma's, zoals vóór het uiterlijk van batchverwerkingssystemen was.

Een van het eerste besturingssysteem met behulp van deze nieuwste oplossingen was besturingssysteem MSR (hoofdbeheerprogramma) gemaakt door Burroughs voor zijn computers B5000 in 1963. Veel concepten en ideeën zijn in deze OS-standaard geïmplementeerd voor veel besturingssystemen (fig.3.3):

  • multiprogramming;
  • verwerking van multiprocessor;
  • virtueel geheugen;
  • de mogelijkheid om programma's in de brontaal te debuggen;
  • het besturingssysteem schrijven in taal op hoog niveau.

Het CTSS-systeem (Compatible Time Sharing System) is een bekend tijdscheidingssysteem van die periode - een compatibel tijdscheidingssysteem ontwikkeld op het Massachusetts Institute of Technology (1963) voor de IBM -7094-computer. Dit systeem werd gebruikt om te ontwikkelen in hetzelfde instituut in combinatie met Bell Labs en General Electric System Separation Systems of the Next Generation Multics (Multiplexed Information and Computing Service). Het is opmerkelijk dat dit besturingssysteem voornamelijk op het hoge niveau van EPL (de eerste versie van het PL / 1-taalbedrijf IBM) is geschreven.

Een van de belangrijkste gebeurtenissen in de geschiedenis van besturingssystemen wordt beschouwd als in 1964 het gezin van computers genaamd Systeem / 360 door IBM en later systeem / 370. Het was de eerste realisatie van het concept van een familie- en informatie-compatibele computers in de wereld, die later standaard werd voor alle bedrijven in de computerindustrie.


Fig. 3.3.

Opgemerkt moet worden dat de belangrijkste vorm van gebruik van de computer zowel in de systeemscheidingssystemen en in batchverwerkingssystemenis een multi-terminale regime geworden. Tegelijkertijd hebben niet alleen de operator, maar alle gebruikers de mogelijkheid ontvangen om hun taken te formuleren en hun uitvoering van hun terminal te beheren. Omdat de terminalcomplexen al snel mogelijk werden om op grote schaal van de computer te plaatsen (dankzij de modem-telefoonverbindingen), verschenen externe taakinvoersystemen en telewerkende gegevens. Het OS voegt modules toe die communicatieprotocollen implementeren.

Tegen die tijd was er een aanzienlijke verandering in de verdeling van functies tussen hardware- en software- en computersoftware. Besturingssysteem Het wordt een "integraal onderdeel van de computer", alsof de voortzetting van de apparatuur. De processors verschenen bevoorrecht ("Supervisor" in OS / 360) en gebruiker ("Taak" in OS / 360) -modi, een krachtig onderbrekingssysteem, geheugenbeveiliging, speciale registers voor snel programma-schakelaars, virtuele geheugenondersteunende hulpmiddelen, enz.

Aan het begin van de jaren 70 verscheen het eerste netwerk-OS, dat niet alleen dispersale gebruikers toestond, zoals in gegevensteleworksystemen, maar ook gedistribueerde opslag en verwerking van gegevens organiseren tussen computers die zijn verbonden door elektrische aansluitingen. Arpanet Mo USA is bekend. In 1974 heeft IBM de oprichting van de eigen netwerkarchitectuur voor zijn mainframes aangekondigd, wat zorgt voor de interactie van het type "terminal - terminal", "terminal - computer", "computer - computer". In Europa werd de technologie van de bouw van pakketschakelnetwerken op basis van protocollen X.25 actief ontwikkeld.

Tegen het midden van de jaren 70 waren Mini-computers samen met mainframes wijdverspreid (pdp-11, Nova, HP). De architectuur van mini-computers was veel gemakkelijker, veel functies van mainframes met meerdere programma's werden afgekapt. Mini-computer besturingssystemen begonnen gespecialiseerd (RSX -11M - tijdscheiding, RT-11 - OC real-time) en niet altijd multiplayer.

Een belangrijke mijlpaal in de geschiedenis van mini-computers en in het algemeen in de geschiedenis van besturingssystemen was het creëren van het UNIX OS. Geplaatst door dit systeem Ken Thompson (Ken Thompson), een van de specialisten in computers in Bell Labs, die aan het Multics-project werkte. Zijn UNIX is eigenlijk een afgeknotte versie met één-gebruikers van het MultiS-systeem. De oorspronkelijke naam van dit systeem is Unics (Uniplexed Information and Computing Service) - "Primitive Information and Computer Service". Dus de grap werd dit systeem genoemd, omdat multics (gemultiplexte informatie en computerservice) een multiplexinformatie en een computerservice is. Sinds het midden van de jaren 70 is het enorme gebruik van UNIX OS, geschreven met 90% in C-taal, een brede distributie van C-compilers gemaakt UNIX-unieke tolerante OC's, en aangezien het bij de broncodes is geleverd, is het de eerste besturingssysteem. Flexibiliteit, elegantie, krachtige functionaliteit en openheid lieten haar een robuuste positie in alle klassen van computers maken - van persoonlijk tot supercomputer.

De beschikbaarheid van mini-computers diende als een stimulans om lokale netwerken te maken. In het eenvoudigste LAN, computers verbonden via seriële poorten. De eerste netwerkaanvraag voor UNIX OS is een UUCP-programma (Unix to Unix Copy Program) - verscheen in 1976.

Verdere ontwikkeling van netwerksystemen ging met TCP / IP-protocolstapel. In 1983 werd hij door de MO VS geadopteerd als standaard en gebruikt op het Arpanet-netwerk. In hetzelfde jaar was Arpanet verdeeld in Milnet (voor het Amerikaanse leger) en de nieuwe Arpanet, die internet werd genoemd.

Alle jaren tachtig worden gekenmerkt door het verschijnen van steeds perfectere versies van UNIX: Sun OS, HP-UX, IRIX, AIX, enz. Om hun compatibiliteit, POSIX- en XPG-normen op te lossen, die deze systemen voor aanvragen definiëren.

Een andere belangrijke gebeurtenis voor de geschiedenis van besturingssystemen was het uiterlijk in de vroege jaren 80 van Personal Computers. Het diende als een krachtige impuls voor de distributie van lokale netwerken, waardoor het ondersteunen van netwerkfuncties een vereiste voor pc was. De vriendelijke interface en de netwerkfuncties verschenen echter op de pc, niet meteen.

De meest populaire versie van de ontwikkelingsfase van het vroege stadium van Personal Computers was MS-DOS van Microsoft - Single-Strares, Single-User OS met opdrachtregelinterface. Veel functies die het gemak van de gebruiker verschaffen, in dit of voorzien van aanvullende programma's - de Norton Commander, pc-tools, enz., De grootste impact op de ontwikkeling van de verstrekte pc-software werkomgeving Windows, waarvan de eerste versie in 1985 verscheen. Netwerkfuncties werden ook geïmplementeerd met behulp van netwerkschillen en verschenen in MS-DOS-versie 3.1. Tegelijkertijd werden Microsoft Network Products - MS-Net gepubliceerd en later - LAN Manager, Windows for Workgroup, en vervolgens Windows NT.

Een andere reden was Novell, het NetWare-product is een besturingssysteem met ingebouwde netwerkfuncties. NetWare OS toegepast als

Kenmerken van de essentie, bestemming, functies van besturingssystemen. Onderscheidende kenmerken van hun evolutie. Kenmerken van algoritmen voor resourcemanagement. Moderne concepten en technologieën voor het ontwerpen van besturingssystemen, vereisten voor het XXI Century OS.

Invoering

1. Evolution OS.

1.1 eerste periode (1945 -1955)

1.2 Tweede periode (1955 - 1965)

1.3 Derde periode (1965 - 1980)

1.4 Vierde periode (1980 - heden)

2. Classificatie van OS.

2.1 Kenmerken van algoritmen voor resourcemanagement

2.2 Kenmerken van hardwareplatforms

2.3 Kenmerken van applicaties

2.4 Kenmerken van bouwmethoden

3. Moderne concepten en technologieën voor het ontwerp van besturingssystemen, vereisten voor de XXI-eeuw

Conclusie

Lijst van gebruikte literatuur

Invoering

De geschiedenis van elke industrie van wetenschap of technologie maakt het niet alleen om te voldoen aan natuurlijke nieuwsgierigheid, maar ook dieper om de essentie van de belangrijkste prestaties van deze industrie te begrijpen, om de bestaande trends te realiseren en de vooruitzichten voor bepaalde ontwikkelingsvorming correct te beoordelen. Al bijna een halve eeuw van zijn bestaan \u200b\u200bhebben besturingssystemen een moeilijk pad verzadigd met veel belangrijke gebeurtenissen. Een enorme impact op de ontwikkeling van besturingssystemen had succes bij het verbeteren van de elementbasis- en computermateriaal, dus veel stadia van de ontwikkeling van het besturingssysteem zijn nauw verwant aan de opkomst van nieuwe soorten hardwareplatforms, zoals mini-computers of persoonlijke computers. Serieuze evolutie, besturingssystemen zijn ondergaan als gevolg van de nieuwe rol van computers in lokale en wereldwijde netwerken. De belangrijkste factor bij de ontwikkeling van het OS was het internet. Aangezien dit netwerk de kenmerken van een universele massacommunicatie verwerft, wordt OS steeds eenvoudiger en gebruiksvriendelijk, inclusief ontwikkelde media-ondersteuningsinstrumenten, uitgerust met een betrouwbare beschermingsmiddelen.

Het doel van deze cursuswerk is een beschrijving en analyse van de evolutie van besturingssystemen.

Het ingestelde doel is opgelost door de volgende taken:

Overweeg het historische aspect van de opkomst van besturingssystemen;

Woesten en overweeg de stappen van de evolutie van besturingssystemen.

Opgemerkt moet worden dat het feit onvoldoende bedekt was in de literatuur, waardoor het moeilijk was om te studeren.

In de loop van de studie werd een korte analyse van dergelijke bronnen uitgevoerd als de materialen van de site http://www.microsoft.com/rus, de materialen van het Windows NT Magazine Magazine en anderen.

Het werk bestaat uit drie toedieningshoofden, gevangenisstraf en literatuur van de gebruikte literatuur.

1 . Evolution OS.

1.1 Eerste periode (1945 -1955)

Het is bekend dat de computer is uitgevonden door de Engelse wiskunde Charles Babidium aan het einde van de achttiende eeuw. De "analytische machine" kan niet, maar echt verdienen, omdat technologieën van die tijd niet aan de vereisten voldoen voor de vervaardiging van delen van de nauwkeurige mechanica die nodig waren voor computertechnologie. Het is ook bekend dat deze computer geen besturingssysteem had.

Sommige vooruitgang bij het maken van digitale computermachines vond plaats na de Tweede Wereldoorlog. In het midden van de 40 werden de eerste lampjescomputingen gemaakt. In die tijd nam dezelfde groep mensen deel aan het ontwerp, en in gebruik en bij het programmeren van de computermachine. Het was eerder onderzoekswerk op het gebied van computingtechnologie en niet het gebruik van computers als een hulpmiddel om praktische taken uit andere toegepaste gebieden op te lossen. Programmering werd uitsluitend in de motor uitgevoerd. Er waren geen speech over besturingssystemen, alle taken van de organisatie van het computerproces werden met de hand opgelost door elke programmeur van het bedieningspaneel. Er was geen andere systeemsoftware dan bibliotheken van wiskundige en service-subroutines.

1.2 Tweede periode (1955 - 1965)

Vanaf het midden van de jaren 50 begon een nieuwe periode in de ontwikkeling van computermateriaal geassocieerd met de komst van de nieuwe technische basis - halfgeleiderelementen. De computers van de tweede generatie zijn betrouwbaarder geworden, nu konden ze continu zo lang werken, zodat ze kunnen worden opgelegd aan de uitvoering van echt praktisch belangrijke taken. In deze periode was het personeel gescheiden op programmeurs en operators, operationele punten en ontwikkelaars van computermachines.

Deze jaren verschenen de eerste algoritmische talen, en bijgevolg de eerste systeemprogramma's - Compilers. De kosten van de processortijd is toegenomen, die een daling van de niet-productieve tijd heeft besteed tussen de lancering van de programma's. De eerste batchverwerkingssystemen verschenen, die eenvoudigweg de lancering van één programma's na het andere automatiseerde en daardoor de laadfactor van de processor verhoogd. Batchverwerkingssystemen waren een prototype van moderne besturingssystemen, ze werden de eerste systeemprogramma's die zijn ontworpen om het computerproces te beheren. Tijdens de implementatie van batchverwerkingssystemen is een geformaliseerde taakbeheertaal ontwikkeld, waarmee de programmeur aan het systeem en de operator is gerapporteerd, wat voor soort werk wil hij optreden op de computer. Een combinatie van verschillende taken, in de regel, in de vorm van een dek van puncturen, ontving de naam van het taakpakket.

1.3 Derde Periode (1965 - 1980)

De volgende belangrijke periode van ontwikkelingsperiode van computermachines verwijst naar 1965-1980. Op dit moment heeft een overgang van afzonderlijke halfgeleiderelementen van het type transistoren tot geïntegreerde chips, die veel grote kansen gaf voor de nieuwe, derde generatie computers aan de geïntegreerde schakelingen, in de technische database.

Voor deze periode is het creëren van families van software- en compatibele machines ook kenmerk. De eerste familie van software en compatibele machines gebouwd op geïntegreerde circuits was de reeks IBM / 360-machines. In het begin van de jaren 60 heeft dit gezin de tweede generatiemachines aanzienlijk overschreden volgens het criterium van de prijs / prestatie. Binnenkort is het idee van software en compatibele auto's algemeen erkend geworden.

Software-compatibiliteit vereist en compatibiliteit van besturingssystemen. Dergelijke besturingssystemen zouden moeten werken aan grote en kleine computersystemen, met een groot aantal diverse randapparatuur, in het commerciële veld en op het gebied van wetenschappelijk onderzoek. Besturingssystemen gebouwd met de bedoeling om aan al deze tegenstrijdige eisen te voldoen, bleek zeer complexe "monsters". Ze bestonden uit vele miljoenen assembler-lijnen geschreven door duizenden programmeurs en bevatten duizenden fouten die een eindeloze correctiestroom veroorzaakten. In elke nieuwe versie van het besturingssysteem werden één fouten gecorrigeerd en werden andere geïntroduceerd.

Tegelijkertijd, ondanks de ongewenste afmetingen en vele problemen, OS / 360 en de andere tweelingmachines van de besturingssystemen van de derde generatie voldoen echt aan de meeste consumentenvereisten. De belangrijkste prestatie van het besturingssysteem van deze generatie was de implementatie van multiprogramming. Multiprogramming is een manier om een \u200b\u200bcomputerproces te organiseren, waarin verschillende programma's afwisselend op één processor worden uitgevoerd. Terwijl één programma een I / O-bewerking uitvoert, is de processor niet inactief, omdat het gebeurt met een sequentiële uitvoering (single-software-modus) en een ander programma uitvoert (multi-software-modus). Tegelijkertijd wordt elk programma geladen in zijn RAM-gebied, sectie genaamd.

Andere innovatie - splen (spooling). Merenling in die tijd werd gedefinieerd als een werkwijze voor het organiseren van een computerproces, in overeenstemming met welke de taken van de punch-kaart in het tempo in het tempo waren gelezen waarin ze in de kamer van het computercentrum verschenen, en dan, wanneer de De volgende taak is voltooid, de nieuwe taak van de schijf werd in het vrijgegeven gedeelte geladen.

Samen met de implementatie van multiprogram van implementatie van batchverwerkingssystemen, is een nieuw besturingssysteem verschenen - tijdscheidingssysteem. Een uitvoeringsvorm van multiprogramming, gebruikt in tijdscheidingssystemen, wil voor elke individuele gebruiker de illusie van het enige gebruik van de computermachine creëren.

1.4 Vierde periode (1980 - heden)

De volgende periode in de evolutie van besturingssystemen is geassocieerd met de opkomst van grote geïntegreerde schakelingen (BIS). Gedurende deze jaren is er een sterke toename geweest in de mate van integratie en goedkope chip. De computer is beschikbaar voor een aparte persoon en het tijdperk van personal computers is gekomen. Vanuit het oogpunt van architectuur verschilden personal computers niet van de klasse van minicomputers zoals PDP-11, maar de prijs was significant anders. Als de minicomputer de mogelijkheid heeft gegeven om zijn eigen computerautomaat te hebben in de onderneming of universiteit, maakte de personal computer het mogelijk voor een aparte persoon.

Computers zijn op grote schaal gebruikt door niet-specialisten, die de ontwikkeling van "Vriendelijke" software eisten, het een einde maakt aan de kaste van programmeurs.

De markt van besturingssystemen domineerde twee systemen: MS-DOS en UNIX. Het Single-Strare Single-User MS-DOS-OS werd op grote schaal gebruikt voor computers op basis van Intel 8088-microprocessors en vervolgens 80286, 80386 en 80486. De multiplay-multiplayer Unix werd gedomineerd in het niet-Intel-computermedium, dat speciaal is gebouwd op basis van High-performance risc-processors.

In het midden van de jaren 80 begonnen de netwerken van personal computers die onder de controle van het netwerk of de gedistribueerde OS actief zijn, snel groeien.

In netwerken moeten gebruikers op de hoogte zijn van de beschikbaarheid van andere computers en moeten logische invoer naar een andere computer maken om zijn bronnen te gebruiken, voornamelijk bestanden. Elke machine op het netwerk voert zijn eigen lokaal besturingssysteem uit, dat verschilt van een autonome computer, de aanwezigheid van extra tools waarmee de computer aan het netwerk kan werken. Netwerk OS heeft geen fundamentele verschillen uit een computer met één processor. Het bevat noodzakelijkerwijs softwareondersteuning voor netwerkinterface-apparaten (netwerkadapterstuurprogramma), evenals middelen voor op afstand inloggen op andere netwerkcomputers en toegang tot externe bestanden, maar deze toevoegingen veranderen de structuur van het besturingssysteem zelf niet significant.

2. OS-classificatie

Besturingssystemen kunnen variëren met de kenmerken van de implementatie van intern bedieningsalgoritmen voor de hoofdbronnen van de computer (processors, geheugen, apparaten), functies van de gebruikte ontwerpmethoden, typen hardwareplatforms, gebruiksgebieden en vele andere eigenschappen.

Hieronder staat de classificatie van het besturingssysteem voor verschillende de meest elementaire tekens.

2.1 Kenmerken van algoritmen voor resourcemanagement

De effectiviteit van het volledige netwerkbesturingssysteem als geheel hangt af van de effectiviteit van de controlerende algoritmen voor het beheren van lokale bronnen van de computer. Daarom, het karakteriseren van het netwerk OS, leidt vaak de belangrijkste kenmerken van de implementatie van de besturingsfuncties van processors, geheugen, de externe apparaten van de autonome computer. Afhankelijk van de functies van het gebruikte processorbesturingsalgoritme, zijn besturingssystemen onderverdeeld in multi-tasking en niet-onrustig, multiplayer en single-gebruiker, systemen die multiprocessing ondersteunen en niet ondersteunen in multiprocessor en single-processorsystemen.

Ondersteun multitasking. Door het aantal gelijktijdig uitgevoerde taken kunnen besturingssystemen worden onderverdeeld in twee klassen:

ontlading (bijvoorbeeld MS-DOS, MSX) en

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

ORAL OS Voldoet het programma in feite om een \u200b\u200bvirtuele machine aan de gebruiker te bieden, waardoor een eenvoudigere en handige gebruikerinteractieproces met een computer wordt gemaakt. OS OS bevat perifere bedieningselementen, hulpmiddelen voor bestandsbeheer,en.

Multitasking OS, naast de volgende functies, regel gedeelde bronnen, zoals een processor, RAM, bestanden en externe apparaten.

Ondersteuning Multiplayer-modus. Door het aantal gelijktijdig lopende gebruikers, is OS verdeeld in:

single-user (MS-DOS, Windows 3.x, vroege versies van OS / 2);

multiplayer (Unix, Windows NT).

Het belangrijkste verschil tussen multiplayer-systemen van Eén gebruiker is de beschikbaarheid van het beschermen van informatie van elke gebruiker van ongeoorloofde toegang van andere gebruikers. Opgemerkt moet worden dat niet elk multitaskersysteem een \u200b\u200bmultiplayer is, en niet elk besturingssysteem met één gebruiker is niet los.

Obsting en afwikkeling van multitasking. De belangrijkste gedeelde bron is de processortijd. De methode van distributie van processortijd tussen verschillende gelijktijdige bestaande processen in het systeem (of threads) bepaalt grotendeels de details van het besturingssysteem. Onder de vele bestaande opties voor het implementeren van multitasking, kunnen twee groepen algoritmen worden onderscheiden:

niet-levensvatbare multitasking (Netware, Windows 3.x);

displacing Multitasking (Windows NT, OS / 2, Unix).

Het belangrijkste verschil tussen de multi-tasking-verplaatsing en niet-prescriptieve uitvoeringsvormen is de mate van centralisatie van het planningsmechanisme van de processen. In het eerste geval is het mechanisme voor planningsprocessen volledig geconcentreerd in het besturingssysteem en in de tweede - verdeeld tussen de systeem- en toepassingsprogramma's. Wanneer de actieve multitasking wordt uitgevoerd, wordt het actieve proces uitgevoerd totdat hij zelf, op eigen initiatief, het besturingssysteembeheer niet zal betalen om ervoor te zorgen dat het proces uit de wachtrij buiten de wachtrij is. Wanneer de multitasking wordt verplaatst, wordt het besluit om de processor van het ene proces naar het andere te schakelen door het besturingssysteem, en niet het actieve proces zelf.

Multi-proefondersteuning. Een belangrijke eigenschap van besturingssystemen is het vermogen om binnen één taak te parallellaliseren. De multi-line OS deelt de processortijd niet tussen taken, maar tussen hun individuele takken (threads).

Multiprocessing. Een ander belangrijke eigenschap van het OS is de afwezigheid of aanwezigheid van multiprocessor-verwerkingshulpmiddelen erin - multiprocessing. Multiprocessing leidt tot de complicatie van alle algoritmen voor resourcemanagement.

Tegenwoordig wordt het algemeen aanvaard door in te voeren in de besturingsfuncties van ondersteuning voor het verwerken van gegevens met multiprocessor. Dergelijke functies zijn verkrijgbaar in Sulesis 2.x-besturingssystemen. Zon, Open Server 3.x Santa Crus Operations, OS / 2 Company IBM, Windows NT, Microsoft en NetWare 4.1 Bedrijven van Novell.

Multiprocessor OS kan worden geclassificeerd volgens de methode om het computerproces in een systeem met multiprocessor-architectuur te organiseren: asymmetrisch OS en Symmetric OS. Het asymmetrische besturingssysteem wordt volledig uitgevoerd op een van de systeemprocessors, het distribueren van toegepaste taken door andere verwerkers. Het symmetrische besturingssysteem is volledig gedecentraliseerd en gebruikt de volledige pool van processors, scheidt ze tussen systeem en toegepaste taken.

Boven de kenmerken van OS gerelateerd aan het beheren van slechts één type resourceprocessor werden overwogen. Een belangrijke impact op het uiterlijk van het besturingssysteem als geheel, over de mogelijkheid van het gebruik in één gebied of een andere, functies en andere subsystemen voor het beheren van lokale bronnen zijn subsystemen voor geheugenbeheer, bestanden, I / O-apparaten.

De details van het OS manifesteert zich in hoe het netwerkfuncties implementeert: herkenning en omleid naar een netwerk van verzoeken aan externe bronnen, het verzenden van berichten via het netwerk, het uitvoeren van externe verzoeken. Bij het implementeren van netwerkfuncties, wordt een complex van taken geassocieerd met de gedistribueerde aard van opslag- en gegevensverwerking op het netwerk: referentie-informatie over alle resource en servers die beschikbaar zijn op het netwerk, het aanpakken van interactieve processen, waardoor toegangsransparantie, gegevensreplicatie, kopieën, kopieën, ondersteunende gegevens.

2. 2 Kenmerken van hardwareplatforms

De eigenschappen van het besturingssysteem directe invloed zijn de hardware waaraan het is georiënteerd. Op type apparatuur, besturingssystemen van personal computers, mini-computers, mainframes, clusters en computernetwerken onderscheiden. Onder de vermeldde typen computers kan zowel opties als multiprocessor optreden. In ieder geval wordt de details van de hardware, in de regel weerspiegeld in de details van besturingssystemen.

Het is duidelijk dat het OS-grote auto complexer en functioneel is dan de computer van de pc. Dus, in het besturingssysteem, worden de functies van de flowplanningsfunctie van de uitgevoerde taken duidelijk geïmplementeerd door het gebruik van complexe prioritaire disciplines en vereisen een groter computervermogen dan in de personal computers. De situatie is vergelijkbare en andere functies.

Het netwerk-OS heeft in de samenstelling van de messaging tussen computers over communicatielijnen die volledig onnodig zijn in het autonome besturingssysteem. Op basis van deze berichten ondersteunt het netwerk-OS de scheiding van computerbronnen tussen externe gebruikers die op het netwerk zijn aangesloten. Om Messaging-functies te handhaven, bevat Network OS speciale softwarecomponenten die populaire communicatieprotocollen implementeren, zoals IP, IPX, Ethernet en anderen.

Multiprocessor-systemen vereisen een speciale organisatie uit het besturingssysteem, met behulp waarvan het besturingssysteem zelf, evenals de door IT ondersteunde aanvragen, parallel kan worden uitgevoerd met individuele systeemverwerkers. De parallelle werking van individuele delen van het OS maakt extra problemen voor de ontwikkelaars van het OS, omdat het in dit geval veel moeilijker is om de overeengekomen toegang van individuele processen naar de algemene systeemtafels te waarborgen, het effect van racen en andere ongewenst te elimineren Gevolgen van asynchrone werk.

Andere vereisten worden gepresenteerd aan clusterbesturingssystemen. Het cluster is een slecht geassocieerde set van verschillende computersystemen die samenwerken om algemene toepassingen uit te voeren en de Unified System-gebaseerde gebruiker. Samen met de speciale uitrusting voor het functioneren van clustersystemen is software-ondersteuning ook nodig door het besturingssysteem, dat voornamelijk naar beneden komt om de toegang tot gedeelde bronnen te synchroniseren, fouten en dynamische herconfiguratie van het systeem te detecteren. Een van de eerste ontwikkelingen op het gebied van clustertechnologieën was de oplossingen van digitale uitrusting op basis van VAX-computers. Onlangs concludeerde dit bedrijf een overeenkomst met Microsoft Corporation over de ontwikkeling van clustertechnologie met behulp van Windows NT. Verschillende bedrijven bieden unix-gebaseerde clusters.

Samen met het OS gericht op een volledig gedefinieerd type hardwareplatform, zijn er besturingssystemen die speciaal zijn ontworpen op een zodanige manier dat ze gemakkelijk kunnen worden overgedragen van een computer met één type naar een computer van een ander type, het zogenaamde mobiele besturingssysteem. Het meest opvallende voorbeeld van een dergelijk besturingssysteem is het populaire Unix-systeem. In deze systemen zijn hardware-afhankelijke plaatsen zorgvuldig gelokaliseerd, dus bij het overbrengen van het systeem naar een nieuw platform, worden ze alleen herschreven. Een tool die de overdracht van de rest van het besturingssysteem vergemakkelijkt, is om het te schrijven op een machine-onafhankelijke taal, bijvoorbeeld op C, die is ontwikkeld voor het programmeren van besturingssystemen.

2. 3 Kenmerken van gebruiksgebieden

Multitasking OS zijn onderverdeeld in drie soorten in overeenstemming met de ontwikkelingscriteria die worden gebruikt in hun ontwikkeling:

batchverwerkingssystemen (bijvoorbeeld OC EC),

tijdscheiding (Unix, VMS),

real-time systemen (QNX, RT / 11).

Batchverwerkingssystemen waren bedoeld om problemen op te lossen in de belangrijkste computationele aard die niet snel nodig is om resultaten te verkrijgen. Het hoofddoel en het criterium voor de effectiviteit van batchverwerkingssystemen is de maximale capaciteit, dat wil zeggen, de oplossing van het maximale aantal taken per tijdseenheid. Om dit doel te bereiken in batchverwerkingssystemen, wordt het volgende functioneerschema gebruikt: aan het begin van het werk wordt het taakpakket gevormd, elke taak bevat een eis van systeembronnen; Uit dit pakket taken wordt een multiprogrammengsel gevormd, dat wil zeggen, veel tegelijkertijd taken uitgevoerd. Voor gelijktijdige uitvoering worden taken geselecteerd die verschillende hulpbronnenvereisten hebben, zodat een evenwichtige lading van alle apparaten van de computermachine is gewaarborgd; Bijvoorbeeld, in een multiprogrammengsel, de gelijktijdige aanwezigheid van computertaken en taken met intensieve inbrengterminal bij voorkeur. De keuze van een nieuwe taak uit het taakpakket is dus afhankelijk van de interne situatie die in het systeem in het systeem is ingeschakeld, dat wil zeggen, de "gunstige" taak is geselecteerd. Daarom is het in zo'n of, het is onmogelijk om ervoor te zorgen dat het mogelijk is om een \u200b\u200bof andere taak voor een bepaalde periode uit te voeren. In pakketverwerkingssystemen, schakelen van de processor van het uitvoeren van één taak om een \u200b\u200bander uit te voeren als de actieve taak zelf de processor weigert, bijvoorbeeld vanwege de noodzaak om een \u200b\u200bI / O-operatie uit te voeren. Daarom kan één taak lange tijd om de processor te nemen, waardoor het onmogelijk is om interactieve taken uit te voeren. Dus de gebruikersinteractie met de computermachine waarop het pakketverwerkingssysteem is geïnstalleerd, komt het neer op het feit dat het de taak brengt, geeft het een dispatcher-operator en aan het einde van de dag na uitvoering van de volledige taak Pakket ontvangt het resultaat. Uiteraard vermindert een dergelijke bevel de efficiëntie van de gebruiker.

Tijdscheidingssystemen zijn ontworpen om het belangrijkste gebrek aan batchverwerkingssystemen te corrigeren - isolatie van de gebruiker-programmeur uit het proces van het uitvoeren van zijn taken. Elk gebruikersscheidingssysteem is voorzien van een terminal waaruit het een dialoog met zijn programma kan uitvoeren. Aangezien elke taak in de systeemscheidingssystemen slechts een tijdum van processortijd is toegewezen, heeft geen taak een processor voor een lange tijd, en de responstijd is aanvaardbaar. Als het kwantum voldoende is geselecteerd, vormen alle gebruikers die tegelijkertijd op dezelfde machine werken, de indruk dat elk van hen alleen de auto gebruikt. Het is duidelijk dat de tijdscheidingssystemen een kleinere bandbreedte hebben dan batchverwerkingssystemen, aangezien elke taak van de gebruiker wordt genomen, en niet degene die "gunstig" systeem is, en bovendien zijn er bovendien de kosten van computermacht Frequente schakelprocessor met een taak voor een taak. Het criterium voor de effectiviteit van de tijdscheidingssystemen is niet de maximale doorvoer, maar het gemak en de efficiëntie van de gebruiker.

Real-time systemen worden gebruikt om verschillende technische objecten, zoals machine, satelliet, wetenschappelijke experimentele installatie- of technologische processen, zoals een galvanische lijn, het domeinproces, enz. In al deze gevallen is er een uiterst toegestane tijd gedurende welke een of een ander programma dat het object controleert, anders moet een ongeluk optreden: de satelliet zal uit de zichtbaarheidszone komen, de experimentele gegevens die uit de sensoren komen, zullen verloren gaan , de dikte van de galvanische coating is niet overeen met de norm. Het effectiviteitscriterium voor real-time systemen is dus hun vermogen om de vooraf bepaalde tijdsintervallen te weerstaan \u200b\u200btussen de lancering van het programma en het verkrijgen van het resultaat (controle-belichting). Deze tijd wordt de systeemreactietijd genoemd en het bijbehorende eigenschap van het systeem is reactiviteit. Voor deze systemen is het mengselmengsel een vaste set eerder ontwikkelde programma's en wordt de selectie van het uitvoering uitgevoerd op basis van de huidige status van het object of in overeenstemming met het schema van gepland werk.

Sommige besturingssystemen kunnen de eigenschappen van systemen van verschillende typen combineren, bijvoorbeeld, een deel van de taken kunnen worden uitgevoerd in de pakketverwerkingsmodus en deel bevindt zich in realtime of in de tijdsscheidingsmodus. In dergelijke gevallen wordt de batchverwerkingsmodus vaak een achtergrondmodus genoemd.

2. 4 Kenmerken van bouwmethoden

Bij het beschrijven van het besturingssysteem worden de kenmerken van de structurele organisatie en de basisconcepten op zijn basis vaak aangegeven.

Deze basisconcepten omvatten:

Methoden voor het bouwen van een System-kernel - een monolithische kern of een minderheidsbenadering. De meeste OS maakt gebruik van een monolithische kernel, die is gecomponeerd als één programma dat in een bevoorrechte modus werkt en het gebruik van snelle overgangen van de ene procedure naar de andere, die niet kan worden geschakeld van de bevoorrechte modus naar de gebruiker en vice versa. Een alternatief is om een \u200b\u200bbesturingssysteem te bouwen op basis van een MicroKernel die ook in de bevoorrechte modus werkt en alleen de minimale functies uitvoert voor het besturen van de apparatuur, terwijl de functies van het OS hogere niveaus worden uitgevoerd door gespecialiseerde OS-componenten - servers die actief zijn in de gebruikersmodus. Met deze constructie werkt OS langzamer, omdat het vaak mogelijk is aan overgangen tussen de bevoorrechte modus en de gebruiker, maar het systeem wordt flexibeler verkregen - zijn functies kunnen worden aangepast, wijzigen of smal, het toevoegen, wijzigen of exclusief gebruikersmodusservers . Bovendien zijn servers goed beschermd tegen elkaar, zoals gebruikersprocessen.

De constructie van het besturingssysteem op basis van een objectgeoriënteerde aanpak maakt het mogelijk om al zijn voordelen te gebruiken, goed bewezen op het toepassingsniveau, in het besturingssysteem, namelijk: de accumulatie van succesvolle oplossingen in de vorm van standaardobjecten, het vermogen Om nieuwe objecten te creëren op basis van het overervingmechanisme, goede gegevensbescherming vanwege hun inkapseling in de interne structuren van het object, waardoor gegevens ontoegankelijk zijn voor ongeoorloofd gebruik van buitenaf, de structuur van het systeem dat bestaat uit een reeks goed gedefinieerde objecten .

De aanwezigheid van verschillende applicatiesomgevingen maakt het tegelijkertijd mogelijk in het kader van hetzelfde besturingssysteem om applicaties uit te voeren die zijn ontwikkeld voor verschillende besturingen. Veel moderne besturingssystemen ondersteunen MS-DOS, Windows, Unix (POSIX), OS / 2, of op zijn minst een subset van deze populaire nummers tegelijkertijd. Het concept van meerdere toegepaste omgevingen wordt eenvoudigweg geïmplementeerd in het besturingssysteem op basis van een microker, waarover verschillende servers werken, waarvan een deel daarvan wordt geïmplementeerd door een toegepaste omgeving van een bepaald besturingssysteem.

Met de gedistribueerde organisatie van het besturingssysteem kunt u het werk van gebruikers en programmeurs in netwerkomgevingen vereenvoudigen. In het gedistribueerde besturingssysteem worden mechanismen geïmplementeerd die de gebruiker in staat stellen om het netwerk weer te geven en waarnemen in de vorm van een traditionele een-processorcomputer. Kenmerkende kenmerken van de gedistribueerde organisatie OS zijn: de aanwezigheid van een uniforme referentiedienst voor gedeelde bronnen, een enkele tijdsdienst, met behulp van de afroepmechanisme op afstand (RPC) voor de transparante verdeling van softwareprocedures voor machines, multi-peer-verwerking die het toelaat U kunt de berekeningen binnen één taak paralleiden en deze taak onmiddellijk uitvoeren op meerdere netwerkcomputers, evenals andere gedistribueerde services.

3. Moderne concepten en technologieën voor het ontwerpen van besturingssystemen, vereisten voorXxi eeuw

Het besturingssysteem is de kernnetwerksoftware, het creëert een omgeving voor het uitvoeren van applicaties en varieert in veel opzichten, welke nuttige eigenschappen deze toepassingen gebruiken om te hebben. Overweeg in dit verband de vereisten om tevreden te zijn met het moderne besturingssysteem.

Het is duidelijk dat de belangrijkste vereiste voor het besturingssysteem de mogelijkheid is om basisfuncties uit te voeren: efficiënt resourcebeheer en een gebruiksvriendelijke interface voor gebruikers- en toepassingsprogramma's. Modern OS moet in de regel multiprogram-verwerking, virtueel geheugen, swap implementeren, een multi-color-interface onderhouden, evenals vele andere, absoluut noodzakelijke functies uitvoeren. Naast deze functionele vereisten worden geen minder belangrijke marktvereisten opgelegd aan besturingssystemen. Deze vereisten omvatten:

· Extensibiliteit. De code moet op een zodanige manier worden geschreven dat u eenvoudig toevoegingen en wijzigingen kunt toevoegen als het vereist is en de integriteit van het systeem niet verstoort.

· Draagbaarheid. De code moet gemakkelijk worden overgedragen van de processor van hetzelfde type naar de processor van een ander type en van het hardwareplatform (dat omvat samen met het type processor en de methode om alle computerhardware te organiseren) van hetzelfde type op de hardware platform van een ander type.

· Betrouwbaarheid en fouttolerantie. Het systeem moet worden beschermd tegen zowel interne als externe fouten, storingen en storingen. De acties moeten altijd voorspelbaar zijn, en aanvragen moeten het OS niet kunnen beschadigen.

· Compatibiliteit. Het besturingssysteem moet middelen hebben voor het uitvoeren van applicaties die zijn geschreven voor andere besturingssystemen. Bovendien moet de gebruikersinterface compatibel zijn met bestaande systemen en normen.

· Veiligheid. Het besturingssysteem moet middelen hebben om de middelen van één gebruikers van anderen te beschermen.

· Prestatie. Het systeem moet zo goede snelheid en reactietijd hebben als het hardwareplatform toestaat.

Overweeg enkele van deze vereisten in meer detail.

UitbreidbaarheidTerwijl het hardware-deel van de computer in verschillende jaren verouderd is, kan de nuttige levensduur van besturingssystemen met decennia worden gemeten. Een voorbeeld is Unix OS. Daarom zijn besturingssystemen altijd evolutionair in de loop van de tijd, en deze veranderingen zijn belangrijker dan veranderingen in de hardware. OS-veranderingen verwerven meestal nieuwe eigenschappen. Bijvoorbeeld, het ondersteunen van nieuwe apparaten, zoals CD-ROM, de mogelijkheid om te communiceren met nieuwe type netwerken, die veelbelovende technologieën ondersteunt, zoals een grafische gebruikersinterface of een objectgeoriënteerde softwareomgeving, meer dan één processor. Het opslaan van de integriteit van de Code, welke wijzigingen aan het besturingssysteem hebben bijgedragen, is het belangrijkste doel van de ontwikkeling.

Extensibiliteit kan worden bereikt door de modulaire structuur van het besturingssysteem, waarin de programma's zijn opgebouwd uit de reeks afzonderlijke modules die alleen via de functie-interface communiceren. Nieuwe componenten kunnen aan het besturingssysteem worden toegevoegd door een modulair pad, ze voeren hun werk uit met behulp van interfaces die worden ondersteund door bestaande componenten.

Het gebruik van objecten om systeembronnen weer te geven, verbetert ook de systeemextensibiliteit. Objecten zijn abstracte gegevenstypen waarover alleen die acties die worden geboden door een speciale set objectfuncties kunnen worden uitgevoerd. Met objecten kunt u systeemmiddelen uniform beheren. Het toevoegen van nieuwe objecten vernietigt geen bestaande objecten en vereist geen wijzigingen in de bestaande code.

Uitstekende uitzettingsmogelijkheden biedt een benadering van de OS-structureringssoftware met behulp van een client-servertype met behulp van een Micronucleus-technologie. In overeenstemming met deze aanpak benadert het OS-benadering, als een reeks van een bevoorrechte managementprogramma en een reeks onbeperkte serverdiensten. Het hoofdgedeelte van het OS kan ongewijzigd blijven terwijl er nieuwe servers kunnen worden toegevoegd of het oude is verbeterd.

Remote Procedure Call Tools (RPC) Schakel ook de OS-functionaliteit in. Nieuwe programmaprocedures kunnen aan een netwerkmachine worden toegevoegd en de toepassingsprogramma's onmiddellijk inschrijven op andere netwerkmachines.

Sommige OS om de ondersteuning van extensibiliteit te verbeteren ondersteunen gedownloade stuurprogramma's die tijdens de bewerking aan het systeem kunnen worden toegevoegd. Nieuwe bestandssystemen, apparaten en netwerken kunnen worden ondersteund door het stuurprogramma van het apparaat, het stuursysteembestuurder of de transportbestuurder te schrijven en het in het systeem te laden.

DraagbaarheidDe eis van porterability van de Code is nauw verwant aan de extensibiliteit. Uitbreidbaarheid Hiermee kunt u het besturingssysteem verbeteren, terwijl de draagbaarheid het mogelijk maakt om het volledige systeem naar de machine te verplaatsen op basis van een ander processor- of hardwareplatform, waardoor het mogelijk is aan kleine wijzigingen in de code. Hoewel het besturingssysteem vaak als draagbaar of als ondraaglijk wordt beschreven, is draagbaarheid geen binaire staat. De vraag is niet of het systeem kan worden overgedragen en in hoe gemakkelijk het kan worden gedaan. Het schrijven van een draagbaar besturingssysteem is vergelijkbaar met het schrijven van een draagbare code - u moet enkele regels volgen.

Ten eerste moeten de meeste code in de taal worden geschreven, die beschikbaar is op alle machines waarin u het systeem wilt overdragen. Dit betekent meestal dat de code in het hoogste niveau moet worden geschreven, bij voorkeur gestandaardiseerd, bijvoorbeeld in S. Het programma geschreven op de assembler is niet draagbaar, tenzij u het van plan bent om het over te brengen naar een machine met opdrachtcompatibiliteit met uw.

Ten tweede moet rekening worden gehouden in welke fysieke omgeving het programma moet worden overgedragen. Verschillende apparatuur vereist verschillende oplossingen bij het maken van een OS. OS, gebouwd op 32-bits adressen, kan bijvoorbeeld niet worden overgebracht naar de machine met 16-bits adressen (behalve met enorme moeilijkheden).

Ten derde is het belangrijk om die delen van de Code te minimaliseren of, indien mogelijk, die rechtstreeks met hardware communiceren. Afhankelijkheid van de apparatuur kan vele vormen hebben. Sommige duidelijke vormen van afhankelijkheid omvatten directe manipulerende registers en andere hardware.

Ten vierde, als de Hardware-afhankelijke code niet volledig kan worden uitgesloten, moet het in verschillende goed gelokaliseerde modules worden geïsoleerd. De hardware-afhankelijke code mag niet over het hele systeem worden gedistribueerd. U kunt bijvoorbeeld de hardware-afhankelijke structuur verbergen in de software-opgegeven abstract type gegevens. Andere systeemmodules werken met deze gegevens, en niet met apparatuur met behulp van een set van enkele functies. Wanneer het besturingssysteem wordt overgedragen, zijn alleen deze gegevens en de functies die worden gemanipuleerd.

Voor eenvoudig verzendsysteem moeten de volgende vereisten worden voldaan bij het ontwikkelen van IT:

· Draagbare taal op hoog niveau. Het grootste deel van het overgedragen besturingssysteem zijn geschreven in de C (ANSI X3.159-1989-standaard). De ontwikkelaars worden gekozen uit omdat het gestandaardiseerd is en omdat de C-compilers op grote schaal beschikbaar zijn. De assembler wordt alleen gebruikt voor die delen van het systeem, die rechtstreeks met de apparatuur moet communiceren (bijvoorbeeld onderbreking van de handler) of voor onderdelen die maximale snelheid vereisen (bijvoorbeeld, geheel getal rekenkundige verhoogde nauwkeurigheid). In dit geval moet de ondraaglijke code zorgvuldig geïsoleerd in die componenten waar het wordt gebruikt.

· Processorisolatie. Sommige OS-onderdelen met een laag niveau moeten toegang hebben tot processor-afhankelijke gegevensstructuren en registers. In dit geval moet de code die dit doet in kleine modules aanwezig zijn die kunnen worden vervangen door vergelijkbare modules voor andere verwerkers.

· Isolatieplatform. De afhankelijkheid van het platform is de verschillen tussen de werkstations van verschillende fabrikanten, gebouwd op dezelfde processor (bijvoorbeeld MIPS R4000). Er moet een programmavieniveau worden ingevoerd, de abstractioning-apparatuur (caches, I / O-onderbrekingscontrollers, enz.), Samen met de laag van programma's met lage level, zodat de code op hoog niveau niet hoeft te veranderen bij het overbrengen van één platform naar de andere.

CompatibiliteitEen aspect van compatibiliteit is de OS-mogelijkheid om programma's uit te voeren die is geschreven voor ander besturingssysteem of voor eerdere versies van dit besturingssysteem, evenals voor een ander hardwareplatform.

U moet binaire compatibiliteitsproblemen en -compatibiliteit op het niveau van de bronaanvraag delen. Binaire compatibiliteit wordt bereikt wanneer u het uitvoerbare programma kunt nemen en deze wilt uitvoeren op een ander besturingssysteem. Dit vereist: Compatibiliteit op het opdrachtniveau van de processor, compatibiliteit op het niveau van systeemgesprekken en zelfs op het niveau van de bibliotheekoproepen, als ze dynamisch bindend zijn.

Compatibiliteit op het niveau van bronteksten vereist de aanwezigheid van de overeenkomstige compiler als onderdeel van de software, evenals compatibiliteit op het niveau van bibliotheek- en systeemgesprekken. Dit vereist het opnieuw compileren van de bestaande bronteksten in een nieuwe module.

Compatibiliteit op het niveau van bronteksten is voornamelijk belangrijk voor toepassingsontwikkelaars, die altijd beschikbaar zijn over de beschikking van deze bronteksten. Maar voor eindgebruikers is alleen binaire compatibiliteit van praktisch belang, omdat ze alleen in dit geval hetzelfde commercieel product kunnen gebruiken dat wordt geleverd in de vorm van een binaire uitvoerbare code, in verschillende bedieningsomgevingen en verschillende machines.

Of een nieuw besturingssysteem binaire compatibiliteit of compatibiliteit van bronteksten heeft met bestaande systemen is afhankelijk van vele factoren. De belangrijkste van hen is de architectuur van de processor waarop het nieuwe besturingssysteem werkt. Als de processor naar welk besturingssysteem wordt overgedragen, gebruikt u dezelfde reeks opdrachten (mogelijk met enkele toevoegingen) en hetzelfde aantal adressen, dan kan binaire compatibiliteit vrij eenvoudig worden bereikt.

Het is veel moeilijker om binaire compatibiliteit tussen processors op basis van verschillende architecturen te bereiken. Om voor één computer de andere programma's uit te voeren (bijvoorbeeld een DOS-programma op Mac), moet deze computer werken met machineteams die er oorspronkelijk onbegrijpelijk zijn. Een processor van Type 680x0 op Mac moet bijvoorbeeld een binaire code uitvoeren die is ontworpen voor 80x86-processor op pc. De 80x86-processor heeft zijn eigen teamdecoders, registers en interne architectuur. De 680x0-processor begrijpt de binaire code 80x86 niet, dus het moet elke opdracht kiezen, het decoderen om te bepalen wat het is bedoeld en voert vervolgens een gelijkwaardige subroutine uit voor 680x0. Aangezien ook 680x0 niet precies dezelfde registers, vlaggen en een interne rekenkundige logische inrichting is, moet het in 80x86 al deze elementen imiteren met behulp van zijn registers of geheugen. En het moet de resultaten van elke opdracht zorgvuldig reproduceren, die speciaal geschreven subroutines voor 680x0 vereist, garanderen dat de toestand van geëmuleerde registers en vlaggen na het uitvoeren van elke opdracht precies hetzelfde is als op de echte 80x86.

Dit is een eenvoudig, maar zeer langzaam werk, aangezien de microcode binnen de 80x86-processor op een veel sneller niveau wordt uitgevoerd dan de externe 680x0 externe opdrachten. Tijdens de uitvoering van One 80x86-opdracht tot 680x0, kan de Real 80x86 tientallen opdrachten uitvoeren. Als de processor producerende emulatie niet zo snel is om te compenseren voor alle verliezen in emulatie, zullen programma's die worden uitgevoerd onder emulatie erg traag.

Uitgang in dergelijke gevallen is het gebruik van zogenaamde toegepaste media. Gezien het hoofdgedeelte van het programma, in de regel, vormt de oproepen van bibliotheekfuncties, de toepassingsomgeving simuleert de volledig geschreven bibliotheekfuncties met behulp van de bibliotheek van de functies van een soortgelijk doel, en emuleren de resterende opdrachten elk afzonderlijk.

Naleving van POSIX-normen is ook een middel om compatibiliteit van software- en gebruikersinterfaces te bieden. In de tweede helft van de jaren 80 begonnen de Amerikaanse overheidsinstanties Posix te ontwikkelen als normen voor geleverde apparatuur aan het sluiten van overheidscontracten in de computerregio. Posix is \u200b\u200bde "interface van het draagbare besturingssysteem op basis van UNIX." Posix is \u200b\u200been verzameling internationale normen van OS-interfaces in de stijl van Unix. Met behulp van POSIX-standaard (IEEE-standaard 1003.1 - 1988) Hiermee kunt u UNIX-stijlprogramma's maken die gemakkelijk kunnen worden overgedragen van het ene systeem naar de andere.

VeiligheidNaast de POSIX-norm identificeerde de Amerikaanse regering ook computerzekeringsvereisten voor toepassingen die door de overheid worden gebruikt. Veel van deze vereisten zijn gewenste eigenschappen voor elk multiplayer-systeem. Beveiligingsregels definiëren eigenschappen zoals de resourcebescherming van één gebruiker van anderen en het vaststellen van quota's voor middelen om te voorkomen dat één gebruiker alle systeembronnen (zoals geheugen) voorkomen.

Zorgen voor informatiebescherming tegen ongeautoriseerde toegang is een verplichte functie van netwerkbesturingssystemen. De meeste populaire systemen garanderen de mate van gegevensbeveiliging die overeenkomt met het C2-niveau in het Amerikaanse normen-systeem.

De basis van veiligheidsnormen werden gelegd op "Criteria voor het beoordelen van betrouwbare computersystemen." Dit document gepubliceerd in 1983 in de Verenigde Staten door het National Computer Security Center (NCSC - National Computer Security Center) wordt vaak het Orange Book genoemd.

In overeenstemming met de vereisten van het sinaasappelboek van veilig, wordt een dergelijk systeem overwogen, wat "door speciale beschermingsmechanismen de toegang tot informatie op een zodanige manier bestuurt dat alleen de juiste persoonsrechten of -processen die namens hen worden uitgevoerd, kunnen lezen , schrijf, maken of verwijderen van informatie. "..

De hiërarchie van beveiligingsniveaus, gegeven in het oranje boek, markeert het laagste beveiligingsniveau als D, en de hoogste - als A.

· De klasse D omvat systemen waarvan de beoordeling hun inconsistentie heeft onthuld met de vereisten van alle andere klassen.

· De belangrijkste eigenschappen die kenmerkend zijn voor C-systemen zijn: beschikbaarheid van subsystemen voor beveiligingsprogramma's en selectieve toegangscontrole. Het niveau C is verdeeld in 2 sublyers: het C1-niveau dat gegevens beschermt tegen gebruikersfouten, maar niet van de acties van aanvallers en het meer rigoureuze niveau C2. Op het C2-niveau moet de geheime aanmelding aanwezig zijn, en biedt gebruikersidentificatie door een unieke naam en wachtwoord in te voeren voordat ze toegang hebben tot het systeem. Selectieve toegangscontrole vereist op dit niveau Hiermee kan de eigenaar van het resources bepalen wie toegang heeft tot de bron en wat hij ermee kan doen. De eigenaar maakt het door de verstrekte gebruiker of gebruikersgroep. Boekhouding en observatie (auditing) - Geef de mogelijkheid om belangrijke beveiligingsgebeurtenissen te detecteren en op te lossen, of alle pogingen om systeembronnen te maken, te openen of te verwijderen. Geheugenbescherming - is dat het geheugen wordt geïnitialiseerd voordat deze wordt hergebruikt. Op dit niveau is het systeem niet beschermd tegen gebruikersfouten, maar zijn gedrag kan worden gecontroleerd door opnames in het tijdschrift, links door observatie en auditing.

Het concept van het besturingssysteem

Het besturingssysteem (OS) is een complex van systeem- en managementprogramma's die zijn bedoeld voor het meest efficiënte gebruik van alle bronnen van het computersysteem (zon) (computersysteem - de onderling verbonden set van hardware voor computerapparatuur en software die bestemd is voor informatieverwerking) en werkgemak ermee.

Het doel van het OS is de organisatie van het computationele proces in het computationele systeem, de rationele verdeling van de rekenbronnen tussen de individuele vaste taken; Gebruikers bieden met talloze servicetools die het programmeringsproces en debugging-taken vergemakkelijken. Het besturingssysteem voert de rol van een soort interface uit (de interface is een set apparatuur en software die nodig is om perifere apparaten aan te sluiten op de PEVM) tussen de gebruiker en de zon, d.w.z. Het OS biedt de gebruiker de virtuele zon. Dit betekent dat het OS grotendeels een idee genereert van de mogelijkheden van de zon, het gemak van het werken ermee, de doorvoer ervan. Verschillende besturingssysteem op dezelfde technische middelen kunnen de gebruiker de gebruiker verschillende mogelijkheden bieden voor het organiseren van een computerproces of geautomatiseerde gegevensverwerking.

In de Sun-software neemt het besturingssysteem de hoofdpositie in, omdat het planning biedt en het hele computerproces beheert. Elk van de softwarecomponent is noodzakelijkerwijs besturingssysteem.

In overeenstemming met de toepassingsvoorwaarden worden drie OS-modi onderscheiden: batchverwerking, tijdscheiding en realtime. In Packet-verwerkingsmodus voert het besturingssysteem opeenvolgend in het taakpakket op. In deze modus heeft de gebruiker geen contact met de computer en verkrijgt alleen de resultaten van de berekeningen. In de OS Time Separation-modus voert tegelijkertijd verschillende taken uit, aangepast aan elke gebruiker aan de computer. Biedt in real-time besturingsobjecten in overeenstemming met de ontvangen ingangssignalen. De responstijd van de computer met real-time was op het verstorende effect minimaal.



Stadia van ontwikkeling van besturingssystemen

Eerste periode (1945 -1955)

Het is bekend dat de computer is uitgevonden door de Engelse wiskunde Charles Babidium aan het einde van de achttiende eeuw. De "analytische machine" kan niet, maar echt verdienen, omdat technologieën van die tijd niet aan de vereisten voldoen voor de vervaardiging van delen van de exacte mechanica die nodig waren voor computertechnologie. Het is ook bekend dat deze computer geen besturingssysteem had.

Sommige vooruitgang bij het maken van digitale computermachines vond plaats na de Tweede Wereldoorlog. In het midden van de 40 werden de eerste lampjescomputingen gemaakt. In die tijd nam dezelfde groep mensen deel aan het ontwerp, en in gebruik en bij het programmeren van de computermachine. Het was eerder onderzoekswerk op het gebied van computingtechnologie en niet het gebruik van computers als een hulpmiddel om praktische taken uit andere toegepaste gebieden op te lossen. Programmering werd uitsluitend in de motor uitgevoerd. Er waren geen speech over besturingssystemen, alle taken van de organisatie van het computerproces werden met de hand opgelost door elke programmeur van het bedieningspaneel. Er was geen andere systeemsoftware dan bibliotheken van wiskundige en service-subroutines.

Tweede periode (1955 - 1965)

Vanaf het midden van de jaren 50 begon een nieuwe periode in de ontwikkeling van computermateriaal geassocieerd met de komst van de nieuwe technische basis - halfgeleiderelementen. De computers van de tweede generatie zijn betrouwbaarder geworden, nu konden ze continu zo lang werken, zodat ze kunnen worden opgelegd aan de uitvoering van echt praktisch belangrijke taken. Gedurende deze periode dat het personeel van de programmeurs en exploitanten, operators en ontwikkelaars van computermachines deelnam.

Deze jaren verschenen de eerste algoritmische talen, en bijgevolg de eerste systeemprogramma's - Compilers. De kosten van de processortijd is toegenomen, die een daling van de niet-productieve tijd heeft besteed tussen de lancering van de programma's. De eerste batchverwerkingssystemen verschenen, die eenvoudigweg de lancering van één programma's na het andere automatiseerde en daardoor de laadfactor van de processor verhoogd. Batchverwerkingssystemen waren een prototype van moderne besturingssystemen, ze werden de eerste systeemprogramma's die zijn ontworpen om het computerproces te beheren. Tijdens de implementatie van batchverwerkingssystemen is een geformaliseerde taakbeheertaal ontwikkeld, waarmee de programmeur aan het systeem en de operator is gerapporteerd, wat voor soort werk wil hij optreden op de computer. Een combinatie van verschillende taken, in de regel, in de vorm van een dek van puncturen, ontving de naam van het taakpakket.

Derde Periode (1965 - 1980)

De volgende belangrijke periode van ontwikkelingsperiode van computermachines verwijst naar 1965-1980. Op dit moment heeft een overgang van afzonderlijke halfgeleiderelementen van het type transistoren tot geïntegreerde chips, die veel grote kansen gaf voor de nieuwe, derde generatie computers aan de geïntegreerde schakelingen, in de technische database.

Voor deze periode is het creëren van families van software- en compatibele machines ook kenmerk. De eerste familie van software en compatibele machines gebouwd op geïntegreerde circuits was de reeks IBM / 360-machines. In het begin van de jaren 60 heeft dit gezin de tweede generatiemachines aanzienlijk overschreden volgens het prijs / productiecriterium. Binnenkort is het idee van software en compatibele auto's algemeen erkend geworden.

Software-compatibiliteit vereist en compatibiliteit van besturingssystemen. Dergelijke besturingssystemen zouden moeten werken aan grote en kleine computersystemen, met een groot aantal diverse randapparatuur, in het commerciële veld en op het gebied van wetenschappelijk onderzoek. Besturingssystemen gebouwd met de bedoeling om aan al deze tegenstrijdige eisen te voldoen, bleek zeer complexe "monsters". Ze bestonden uit vele miljoenen assembler-lijnen geschreven door duizenden programmeurs en bevatten duizenden fouten die een eindeloze correctiestroom veroorzaakten. In elke nieuwe versie van het besturingssysteem werden één fouten gecorrigeerd en werden andere geïntroduceerd.

Ondanks de ongewikkelde afmetingen en vele problemen, hebben OS / 360 en de andere drie-generatie machines van de derde generatie machines inderdaad voldoen aan de meeste consumentenvereisten. De belangrijkste prestatie van het besturingssysteem van deze generatie was de implementatie van multiprogramming. Multiprogramming is een manier om een \u200b\u200bcomputerproces te organiseren, waarin verschillende programma's afwisselend op één processor worden uitgevoerd. Terwijl één programma een I / O-bewerking uitvoert, is de processor niet inactief, omdat het gebeurt met een sequentiële uitvoering (single-software-modus) en een ander programma uitvoert (multi-software-modus). Tegelijkertijd wordt elk programma geladen in zijn RAM-gebied, sectie genaamd.

Andere innovatie - splen (spooling). Merenling in die tijd werd gedefinieerd als een werkwijze voor het organiseren van een computerproces, in overeenstemming met welke de taken van de punch-kaart in het tempo in het tempo waren gelezen waarin ze in de kamer van het computercentrum verschenen, en dan, wanneer de De volgende taak is voltooid, de nieuwe taak van de schijf werd in het vrijgegeven gedeelte geladen.

Samen met de implementatie van multiprogram van implementatie van batchverwerkingssystemen, is een nieuw besturingssysteem verschenen - tijdscheidingssysteem. Een uitvoeringsvorm van multiprogramming, gebruikt in tijdscheidingssystemen, wil voor elke individuele gebruiker de illusie van het enige gebruik van de computermachine creëren.

Basic Network Utilities.

Linux is een netwerkbesturingssysteem. Dit betekent dat de gebruiker bestanden kan verzenden en niet alleen op de lokale machine werken, maar bestanden op afstand gebruiken, ontvangen en verzenden, een aantal acties en op een externe machine uitvoeren. Een uitgebreide reeks netwerkhulpprogramma's maakt het proces van het werken op een externe computer zo handig als op de lokale computer.

Om zekerheid te waarborgen bij het werken op een externe computer, is het de moeite waard om het SSH-hulpprogramma (beveiligde schaal) te gebruiken. Natuurlijk moet de gebruiker worden geregistreerd in het systeem waar het gaat werken. In het venster Terminal Emulator moet de gebruiker de opdracht invoeren.

ssh. [E-mail beveiligd]

waar login de naam van de gebruiker inloggen op de hostmachine. Een andere optie is:

ssh host -l user_login

Functies in Excel worden vooraf gedefinieerde formules genoemd met welke berekeningen worden uitgevoerd in de opgegeven volgorde voor opgegeven waarden. In dit geval kunnen de berekeningen zowel eenvoudig als complex zijn.

De definitie van de gemiddelde waarde van de vijf cellen kan bijvoorbeeld worden beschreven door de formule: \u003d (A1 + A2 + A3 + A4 + A5) / 5, en kan een speciale functie van de SRVNA zijn, die de uitdrukking zal verminderen naar de volgende soort: SRVNOV (A1: A5). Zoals u kunt zien in plaats van in de formule van alle celadressen in te voeren, kunt u een specifieke functie gebruiken, naar hem wijzen als een argument voor hun bereik.

Om met functies in Excel op de tape te werken, is er een aparte invoering van de formule waarop alle basistools voor het werken met hen zich bevinden.

U kunt de gewenste categorie op het lint selecteren in de Function Library Group in het tabblad Formule. Nadat u op de pijl hebt geklikt, bevindt zich naast elk van de categorieën, de lijst met functies onthuld, en wanneer u de cursor naar een van deze beweegt, verschijnt er een venster met zijn beschrijving.

Het invoeren van functies, evenals de formule, begint met het teken van gelijkheid. Nadat de functie komt, in de vorm van afkorting van grote letters die de waarde aangeven. Vervolgens worden de functie-argumenten tussen haakjes aangegeven - gegevens die worden gebruikt om het resultaat te verkrijgen.

Als een argument, een specifiek nummer, een onafhankelijke link naar de cel, een hele reeks verwijzingen naar de waarden of cellen, evenals het bereik van cellen. Tegelijkertijd zijn sommige functies argumenten tekst of cijfers, anderen - tijd en datum.

Veel functies kunnen verschillende argumenten tegelijkertijd hebben. In dit geval wordt elk van hen gescheiden van het volgende punt met een komma. Een functie \u003d productie (7; A1; 6; B2) beschouwt bijvoorbeeld het product van vier verschillende cijfers die tussen haakjes zijn opgegeven en bevat dienovereenkomstig vier argumenten. In dit geval zijn in ons geval een argumenten duidelijk aangegeven en andere zijn waarden van bepaalde cellen.

Ook, als een argument, kunt u een andere functie gebruiken, die in dit geval genest wordt genoemd wordt. Bijvoorbeeld een functie \u003d bedragen (A1: A5; SRVNAH (B5: B10)) vat de waarden van de cellen samen in het bereik van A1 tot A5, evenals de gemiddelde waarde van de getallen die in cellen B5, B6 zijn geplaatst , B7, B8, B9 en B10.

Sommige eenvoudige kenmerken van argumenten zijn misschien helemaal niet. Dus, met behulp van de functie \u003d TDATA () kunt u de huidige tijd en datum krijgen zonder gebruik te maken van argumenten.

Niet alle functies in ECXEL hebben een eenvoudige definitie, als een functie van het samenvatten van de sommatie van de geselecteerde waarden. Sommigen van hen hebben een complex syntactisch schrijven, evenals veel argumenten vereisen die de juiste typen zouden moeten zijn. Hoe moeilijker de functie, hoe moeilijker het is om op de juiste manier op te stellen. En de ontwikkelaars zijn in aanmerking genomen, inclusief de assistent-assistent-assistent aan gebruikers voor gebruikers - Master of Functions.

Om een \u200b\u200bfunctie te beginnen met het invoeren van een functiewizard, klikt u op het invoegenfunctiepictogram (FX) aan de linkerkant van de Formule-string.

Plaats ook een functie op de tape van boven in de Function Library Group in het tabblad Formule. Een andere manier om de wizard van functies te bellen is de snelkoppeling van de SHIFT + F3-toetsen.

Na het openen van het assistent-venster is het eerste wat u hoeft te doen een functiecategorie. Om dit te doen, kunt u het zoekveld of de dalende lijst gebruiken.

In het midden van het venster wordt de lijst met functies van de geselecteerde categorie weerspiegeld en hieronder - een korte beschrijving van de functie die is toegewezen door de cursor en het certificaat voor haar argumenten. Trouwens, het doel van de functie kan vaak door zijn naam worden bepaald.

Door de benodigde selectie te maken, klikt u op de knop OK, waarna het venster Functie-argumenten verschijnt.

Grafiek

Heel vaak laten de cijfers in de tabel, zelfs op de juiste manier gesorteerd, geen volledig beeld op de resultaten van de berekeningen. Om een \u200b\u200bvisuele weergave van de resultaten te behalen, is er in MS Excel de mogelijkheid om diagrammen van verschillende typen te bouwen. Dit kan zowel een normaal histogram of planning en een bloemblad, cirkelvormige of exotische bubble-grafiek zijn. Bovendien is het in het programma mogelijk om gecombineerde diagrammen uit verschillende typen te maken en ze als sjabloon op te slaan voor verder gebruik.

Het cijfer in Excel kan op hetzelfde vel worden geplaatst waar de tabel al is geplaatst, en in dit geval wordt het "ingebed" of op een apart blad genoemd dat "grafieklijst" wordt genoemd.

Als u een grafiek op basis van tabelgegevens wilt maken, markeert u eerst die cellen, informatie waarvan informatie in grafische vorm moet worden weergegeven. In dit geval is het uiterlijk van het diagram afhankelijk van het type gegevens dat is geselecteerd, dat in kolommen of lijnen moet staan.

Selecteer vervolgens op het lint in het tabblad Invoegen in de diagramgroep het gewenste type en het type diagram. Om een \u200b\u200bkorte beschrijving van een type of type diagrammen te bekijken, moet u de muisaanwijzer erop uitstellen

In de rechterbenedenhoek van het diagramblok, is er een kleine knop om een \u200b\u200bdiagram te maken waarmee u het venster Inzetdiagram kunt openen dat alle typen, typen en grafieksjablonen weergeeft.

Let ook op het uiterlijk van een extra bladwijzer op het lint, werk met diagrammen met drie tabbladen: ontwerper, lay-out en indeling.

Op het tabblad Designer kunt u het type diagram wijzigen, de tekenreeks en kolommen wisselen, de gegevens toevoegen of verwijderen, de lay-out en stijl selecteren en ook het diagram naar een ander blad of een ander tabblad Tabbladen verplaatsen.

Op het tabblad Lay-out zijn opdrachten ingericht om verschillende grafiekitems toe te voegen of te verwijderen die eenvoudig kunnen worden geformatteerd met behulp van het tabblad Opmaak.

Het tabblad Diagrammen verschijnt automatisch wanneer u het diagram markeert en verdwijnt wanneer u werkt met andere elementen van het document.

Het concept van het besturingssysteem. De belangrijkste stadia van ontwikkeling van besturingssystemen.

Gezien de evolutie van het OS, moet rekening worden gehouden met het verschil in het tijdstip van implementatie van enkele principes van het organiseren van individuele besturingssystemen tot hun algemene erkenning, evenals terminologische onzekerheid, niet toestaan \u200b\u200bom een \u200b\u200bnauwkeurige chronologie van het besturingssysteem te geven . Het is echter vrij eerlijk om de belangrijkste mijlpalen op het pad van de evolutie van besturingssystemen te bepalen.

Er zijn ook verschillende benaderingen voor het bepalen van de generaties van het besturingssysteem. Het is een bekend scheiding van het besturingssysteem voor generatie in overeenstemming met generaties computermachines en -systemen [ 5 , 9 , 10 , 13 ]. Een dergelijke divisie kan niet als volledig bevredigend worden beschouwd, als de ontwikkeling van OS-organisatiemethoden binnen één productie van de computer, zoals blijkt uit de ervaring van hun creatie, optreedt in een vrij breed assortiment. Een ander gezichtspunt associeert geen generatie besturingssysteem met geschikte e-mailgeneraties. Het is bijvoorbeeld bekend om de definitie van de OS-generaties op het niveau van de EMM-invoertaal te identificeren, de modi van het gebruik van centrale processors, vormen van werking van systemen, enz. [ 5 , 13 ].

Blijkbaar moet het meest geschikt worden beschouwd als de toewijzing van de stadia van de ontwikkeling van het besturingssysteem in het kader van individuele generaties van de computer en het vliegtuig.

De eerste fase van de ontwikkeling van systeemsoftware kan worden beschouwd als het gebruik van bibliotheekprogramma's, standaard- en service-subroutines en macro's. Het concept van bibliotheken van de subroutines is de vroegste en dateert uit 1949 [ 4 , 17 ]. Met de komst van bibliotheken werden de automatische middelen van hun begeleiding ontwikkeld - Downloader en Link-editors. Deze fondsen werden gebruikt in de eerste generatiecomputer, wanneer besturingssystemen niet als zodanig bestonden.

De wens om de inconsistentie tussen de prestaties van verwerkers en de snelheid van de werking van elektromechanische I / O-apparaten, enerzijds, en het gebruik van voldoende snelle schijven op magnetische tapes en drums (NML en NMB), en vervolgens op magnetisch en vervolgens op magnetisch DISKS (NMD), daarentegen hebben geleid tot de noodzaak om bufferende taken op te lossen en gegevens te blokkeren. Speciale toegangsmethoden ontstonden, die werden geïntroduceerd in objecten van modules van link-editors (vervolgens werden de principes van polyboufferisatie gebruikt). Diagnostische programma's zijn gemaakt om de prestaties en facilitering van de werkingsprocessen te behouden. De basissysteemsoftware is dus gemaakt.

Met de verbetering van de prestaties van de computer en de groei van hun prestaties, werd het duidelijk dat de bestaande basissoftware (software) niet genoeg is. Er zijn besturingssystemen voor vroege batchverwerking - monitoren. Als onderdeel van het pakketverwerkingssysteem tijdens de uitvoering van elk werk in het pakket (uitzending, assemblage, uitvoering van het voltooide programma), was geen enkel deel van de systeemsoftware in RAM, omdat al het geheugen aan het huidige werk werd verstrekt. Vervolgens verschenen de monitorystemen waarin de RAM werd onderverdeeld in drie gebieden: een vast gedeelte van het monitorsysteem, een gebruikersgebied en een gemeenschappelijk geheugengebied (voor het opslaan van gegevens die objectmodules kunnen uitwisselen).

Intensieve ontwikkeling van gegevensbeheermethoden begon, een dergelijke belangrijke functie van het besturingssysteem, als de implementatie van I / O zonder de deelname van het centrale proces - de zogenaamde stank (van de Engelse spoel - gelijktijdige perifere bediening bedrijfsbewerking op lijn).

De opkomst van nieuwe hardware-ontwikkelingen (1959-1963) - onderbrekingssystemen, timers, kanalen - stimuleerde de verdere ontwikkeling van het OS [ 4 , 5 , 9 ]. Executive Systems ontstonden, die een reeks programma's waren voor de distributie van computerbronnen, verbindingen met de operator, beheren van het computerproces en de uitvoer-output. Dergelijke uitvoerende systemen maakten het mogelijk om een \u200b\u200bredelijk effectieve vorm van werking van het computersysteem te implementeren - enkele stralingsbatchverwerking. Deze systemen gaven de gebruiker aan de gebruiker, zoals controlepunten, logische timers, de mogelijkheid om overlay-structuurprogramma's te bouwen, schendingen te detecteren door programmabeperkingen die zijn aangenomen in het systeem, bestandsbeheer, verzameling van boekhoudkundige informatie, enz.

De batchverwerking van één strelen met een verhoging van de prestaties van de computer kon echter geen economisch aanvaardbaar niveau van werking van de machines verschaffen. De oplossing was multiprogramming - een manier om een \u200b\u200bcomputerproces te organiseren, waarbij verschillende programma's in het geheugen van de computer zijn, met één processor, en voor het begin of de voortzetting van het account, heeft één programma geen voltooiing van anderen nodig. In het Multiprogram-medium is het probleem van de toewijzing en de bescherming van de hulpbronnen acuter en moeilijker geworden.

De theorie van het construeren van besturingssystemen tijdens deze periode is verrijkt in de buurt van vruchtbare ideeën. Verschillende vormen van bedieningsmodi van meerdere multiprogram verschenen, inclusief de tijdscheiding - de modus die de werking van het multi-terminale systeem verschaft. Het concept van virtueel geheugen is gemaakt en ontwikkeld, en vervolgens virtuele machines. De tijdscheidingsmodus stelde de gebruiker toe om interactief te communiceren met zijn programma's, zoals vóór het uiterlijk van batchverwerkingssystemen.

Een van het eerste besturingssysteem met behulp van deze nieuwste oplossingen was het besturingssysteem MSR (het hoofdmanagementprogramma) gecreëerd door Burroughs voor zijn computers B5000 in 1963. In dit besturingssysteem zijn veel concepten en ideeën geïmplementeerd, vervolgens standaard voor veel besturingssystemen:

    multiprogramming;

    verwerking van multiprocessor;

    virtueel geheugen;

    de mogelijkheid om programma's in de brontaal te debuggen;

    het besturingssysteem schrijven in taal op hoog niveau.

Het CTSS-systeem (Compatible Time Sharing System) is een bekend tijdsdivisie-divisiesysteem - een compatibel tijdscheidingssysteem ontwikkeld op het Massachusetts Institute of Technology (1963) voor de IBM-7094-computer [ 37 ]. Dit systeem werd gebruikt om te ontwikkelen in hetzelfde instituut in combinatie met Bell Labs en General Electric System Separation Systems of the Next Generation Multics (Multiplexed Information and Computing Service). Het is opmerkelijk dat dit besturingssysteem voornamelijk op het hoge niveau van EPL (de eerste versie van het PL / 1-taalbedrijf IBM) is geschreven.

Een van de belangrijkste gebeurtenissen in de geschiedenis van besturingssystemen wordt beschouwd als in 1964 het gezin van computers genaamd Systeem / 360 van het bedrijf IBM, en later - Systeem / 370 [ 11 ]. Het was de eerste realisatie van het concept van een familie- en informatie-compatibele computers in de wereld, die later standaard werd voor alle bedrijven in de computerindustrie.

Opgemerkt moet worden dat de hoofdvorm van computergebruik, zowel in de systeemscheidingssystemen en in batchverwerkingssystemen, een multi-terminale modus is geworden. Tegelijkertijd hebben niet alleen de operator, maar alle gebruikers de mogelijkheid ontvangen om hun taken te formuleren en hun uitvoering van hun terminal te beheren. Aangezien de terminalcomplexen al snel mogelijk werden om op grote schaal van de computer te plaatsen (dankzij de modem-telefoonverbindingen) verschenen de systemen van op afstand van taken en telewerkende gegevens. Het OS voegt modules toe die communicatieprotocollen implementeren [ 10 , 13 ].

Tegen die tijd was er een aanzienlijke verandering in de verdeling van functies tussen hardware- en computersoftware. Het besturingssysteem wordt een "integraal onderdeel van de computer", alsof de voortzetting van de apparatuur. De processors verschenen bevoorrecht (supervisor in OS / 360) en gebruiker (taak in OS / 360) -modi, een krachtig onderbrekingssysteem, geheugenbeveiliging, speciale registers voor snel programma schakelen, virtuele geheugensteungereedschappen, enz.

In het begin van de jaren 1970 verscheen het eerste netwerk OS, dat niet alleen dispersale gebruikers toestond, zoals in gegevenstelecystemen, maar ook gedistribueerde opslag en verwerking van gegevens organiseren tussen computers die zijn aangesloten door elektrische aansluitingen. Arpanet Mo USA is bekend. In 1974 heeft IBM de oprichting aangekondigd van de eigen netwerkarchitectuur voor zijn mainframes, wat zorgt voor de interactie van het type "Terminal Terminal", "Terminal-Computer", "Computercomputer". In Europa werd de technologie van de bouw van pakketschakelnetwerken op basis van protocollen X.25 actief ontwikkeld.

Tegen het midden van de jaren 70 waren Mini-computers samen met mainframes wijdverspreid (pdp-11, Nova, HP). De architectuur van mini-computers was veel gemakkelijker, veel functies van mainframes met meerdere programma's werden afgekapt. De besturingssystemen van mini-computer begonnen gespecialiseerd (RSX-11M - de real-time divisie van tijd, RT-11 - OC) en niet altijd multiplayer.

Een belangrijke mijlpaal in de geschiedenis van mini-computers en in het algemeen in de geschiedenis van besturingssystemen was het creëren van het UNIX OS. Geplaatst door dit systeem Ken Thompson (Ken Thompson), een van de specialisten in computers in Bell Labs, die aan het Multics-project werkte. Zijn UNIX is eigenlijk een afgeknotte versie met één-gebruikers van het MultiS-systeem. De oorspronkelijke naam van dit systeem is Unics (Uniplexed Information and Computing Service - Primitive Informatie en Computer Service). Dus de grap werd dit systeem genoemd, omdat multics (gemultiplexte informatie en computerservice) een multiplexinformatie en een computerservice is. Vanaf het midden van de jaren 70 werd het enorme gebruik van UNIX OS, geschreven met 90% in C-taal, wijd verspreid door de C-compilers die Unix UniX Unique OC-draagbaar heeft gemaakt, en aangezien het bij de broncodes werd geleverd, werd het de eerste open besturingssysteem. Flexibiliteit, elegantie, krachtige functionaliteit en openheid lieten haar een robuuste positie in alle klassen van computers maken - van persoonlijk tot supercomputer.

De beschikbaarheid van mini-computers diende als een stimulans om lokale netwerken te maken. In het eenvoudigste LAN, computers verbonden via seriële poorten. De eerste netwerkaanvraag voor UNIX OS is een UUCP-programma (Unix to Unix Copy Program) - verscheen in 1976.

Verdere ontwikkeling van netwerksystemen met TCP / IP-stapel: In 1983 werd het door MO USA aangenomen als standaard en gebruikt op het Arpanet-netwerk. In hetzelfde jaar was Arpanet verdeeld in Milnet (voor het Amerikaanse leger) en de nieuwe Arpanet, die internet werd genoemd.

Alle jaren tachtig worden gekenmerkt door het verschijnen van steeds perfectere versies van UNIX: Sun OS, HP-UX, IRIX, AIX, enz. Om hun compatibiliteit, POSIX- en XPG-normen op te lossen, die deze systemen voor aanvragen definiëren.

Een andere belangrijke gebeurtenis voor de geschiedenis van besturingssystemen was in de vroege jaren 80 de opkomst van personal computers. Ze dienden als een krachtige impuls voor de distributie van lokale netwerken, waardoor het ondersteunen van netwerkfuncties een vereiste voor pc was. Echter, de vriendelijke interface en de netwerkfuncties verschenen echter op de pc, niet meteen [ 13 ].

De meest populaire versie van de ontwikkelingsfase van het vroege stadium van Personal Computers was MS-DOS van Microsoft - Single-Strares, Single-User OS met opdrachtregelinterface. Veel functies die het gemak van werk aan de gebruiker bieden, in deze of verstrekte aanvullende programma's - de Norton Commander, pc-tools, enz. De grootste impact op de ontwikkeling van de pc-software werd verstrekt door de Windows-werkomgeving, de eerste versie van die in 1985 verscheen. Netwerkfuncties werden ook geïmplementeerd met behulp van netwerkschillen en verschenen in MS-DOS-versie 3.1. Tegelijkertijd verschenen Microsoft Network-producten - MS-net en later - LAN-manager, Windows voor Workgroup, en vervolgens Windows NT.

Een andere manier ging Novell: het NetWare-product is een besturingssysteem met ingebouwde netwerkfuncties. NetWare werd gedistribueerd als een besturingssysteem voor de centrale server van het lokale netwerk en vanwege de specialisatie van de functies van de bestandsserver gaf een hoge snelheid van externe bestandstoegang en verbeterde gegevensbeveiliging. Dit OS had echter een specifieke programmeerinterface (API), die het moeilijk maakte om applicaties te ontwikkelen.

In 1987 verscheen het eerste multitasking OS voor PCS - OS / 2, ontwikkeld door Microsoft, met IBM,. Dit was een goed doordacht systeem met virtueel geheugen, een grafische interface en de mogelijkheid om DOS-toepassingen uit te voeren. Voor haar werden LAN Manager (Microsoft) en LAN Server (IBM) gemaakt en ontvangen. Deze schelpen waren inferieur in prestaties naar de NetWare-bestandsserver en consumeerden meer hardwarebronnen, maar hadden belangrijke voordelen. Ze mogen alle programma's uitvoeren op de server die is ontwikkeld voor OS / 2, MS-DOS en Windows, bovendien was het mogelijk om de computer te gebruiken waarop ze als werkstation werkten. Het mislukte marktlot van OS / 2 heeft LAN-manager en LAN-Server-systemen niet toestaan \u200b\u200bom een \u200b\u200bmerkbaar marktaandeel vast te leggen, maar de principes van werking van deze netwerksystemen vonden hun uitvoeringsvorm in de jaren 90 grotendeels in de jaren 90 - MS NT.

In de jaren 80 werden de belangrijkste normen voor communicatietechnologieën voor lokale netwerken vastgesteld: in 1980 - Ethernet, in 1985 - Token Ring, in de late 80S -FFDDI (Fiber Distributed Data Interface), Distributed Data Transmission Interface voor glasvezelkanalen ring met een marker. Dit maakte het mogelijk om te zorgen voor een compatibiliteit van netwerk-besturingssysteem op de lagere niveaus, evenals met stuurprogramma's voor netwerkadapter.

Voor pc's werden niet alleen speciaal ontworpen OS (MS-DOS, NetWare, OS / 2) gebruikt (MS-DOS, NETWARE, OS / 2), maar ook het bestaande besturingssysteem aangepast, met name Unix. Het beroemdste systeem van dit type was de UNIX-versie van Santa Cruz-operatie (SCO Unix).

In de jaren 90 werden bijna alle besturingssystemen die een merkbare plaats in de markt bezetten, netwerk. Netwerkfuncties zijn ingebed in de OS-kernel, waarbij een integraal onderdeel is. De multiplex-gereedschappen worden gebruikt in de OS-multiplexende protocolstapels, ten koste van welke computers gelijktijdig werk kunnen onderhouden met heterogene servers en klanten. Gespecialiseerd besturingssysteem verscheen bijvoorbeeld het IOS-netwerk OS van Cisco System in routers. In de tweede helft van de jaren 90 hebben alle OS-fabrikanten steun versterkt voor het werken met interfaces. Naast de TCP / IP-protocolstapel worden de hulpprogramma's die de populaire internetdiensten implementeren, worden gebruikt: Telnet, FTP, DNS, Web, etc.

Speciale aandacht is besteed aan het laatste decennium en wordt momenteel betaald aann. Dit is een van de belangrijkste taken in de nabije toekomst. Corporate OS moet goed en duurzaam werken in grote netwerken, die kenmerkend zijn voor grote organisaties (ondernemingen, banken, enz.), Met scheidingen in veel steden en mogelijk in verschillende landen. Het Corporate OS moet eenvoudig communiceren met OS van verschillende typen en werk op verschillende hardwareplatforms. Nu zijn de leiders in de klasse van Corporate OS MS Windows 2000/2003, Unix en Linux-systemen, evenals Novell NetWare 6.5.

We zullen de geschiedenis van de ontwikkeling van computationele, geen besturingssystemen overwegen, omdat hardware en software aan elkaar zijn geëvolueerd, die een wederzijdse invloed op elkaar leveren. De opkomst van nieuwe technische capaciteiten leidde tot een doorbraak op het gebied van het creëren van handige, efficiënte en veilige programma's en nieuwe ideeën in het programmagebied stimuleerden de zoektocht naar nieuwe technische oplossingen. Het is deze criteria - Gemak, efficiëntie en veiligheid - speelde de rol van factoren van natuurlijke selectie in de evolutie van computersystemen.

In de eerste ontwikkelingsperiode (1945-1955) Eum was een lampmachines zonder besturingssystemen. De eerste stappen in de ontwikkeling van elektronische computermachines werden ondernomen aan het einde van de Tweede Wereldoorlog. In het midden van de jaren 40 werden de eerste lampcomputingen gemaakt en het principe van het programma opgeslagen in het geheugen van de machine (John Von Neumann, juni 1945). In die tijd nam dezelfde groep mensen deel aan het ontwerp, en in gebruik en bij het programmeren van de computermachine. Het was eerder onderzoek op het gebied van computertechnologie en niet regelmatig gebruik van computers als een hulpmiddel om eventuele praktische taken uit andere toegepaste gebieden op te lossen. Programmering werd uitsluitend in de motor uitgevoerd. Er waren geen speech over besturingssystemen, alle taken van de organisatie van het computerproces werden met de hand opgelost door elke programmeur van het bedieningspaneel. Achter de afstandsbediening kan slechts één gebruiker zijn. Het programma startte op het beste van het dek van kaarten in het geheugen van de auto en gebruik meestal het schakelpaneel.

Het computersysteem heeft gelijktijdig slechts één bewerking uitgevoerd (input-output of daadwerkelijke berekening). Debugging-programma's werden uitgevoerd vanaf het bedieningspaneel door de geheugenstatus en de registers van de machine te bestuderen. Aan het einde van deze periode verschijnt de eerste systeemsoftware: in 1951-1952. Er zijn voorbeelden van de eerste compilers van symbolische talen (Fortran et al.), En in 1954 ontwikkelt Nat Rochester een assembler voor IBM-701.

Het essentiële deel van de tijd ging het voorbereiden van de lancering van het programma en de programma's zelf werden strikt achtereenvolgens uitgevoerd. Een dergelijke modus wordt genoemd sequentiële gegevensverwerking. In het algemeen wordt de eerste periode gekenmerkt door een extreem hoge kosten van computersystemen, hun kleine hoeveelheden en lage efficiëntie van gebruik.

Vanaf het midden van de jaren 50 begon de tweede periode In de evolutie van computertechnologie geassocieerd met de komst van de nieuwe technische basis - halfgeleiderelementen. Het gebruik van transistors in plaats van vaak verbroken elektronische lampen heeft geleid tot een toename van de betrouwbaarheid van computers. Nu kunnen auto's continu lang genoeg werken, zodat u praktisch belangrijke taken kunt toewijzen. Consumptie van elektriciteitsverkopende machines wordt verminderd, koelsystemen zijn verbeterd. Computerafmetingen zijn afgenomen. De kosten van werking en onderhoud van computerapparatuur is afgenomen. Het gebruik van commerciële bedrijven begon. Tegelijkertijd is er een snelle ontwikkeling van algoritmische talen (LISP, COBOL, ALGOL-60, PL-1, enz.). De eerste echte compilers, link-editors, bibliotheken van wiskundige en service-subroutines verschijnen. Het programmeerproces is vereenvoudigd. Verdwijnt de noodzaak om het hele proces van ontwikkelen en gebruiken van computers op dezelfde mensen te gebruiken. In deze periode is het personeel gescheiden op programmeurs en exploitanten, specialisten in werking en ontwikkelaars van computermachines.

Het programma verandert het programma met programma's. Nu brengt de gebruiker een programma met de invoergegevens in de vorm van een dek van parfoch-roll en geeft de nodige middelen aan. Zo'n dek wordt genoemd taken. De operator laadt de taak in het geheugen van de machine en start het om het uit te voeren. De ontvangen uitvoer wordt op de printer afgedrukt en de gebruiker ontvangt ze terug na enkele (vrij lang) tijd.

Het wijzigen van de gevraagde bronnen veroorzaakt een opschorting van de uitvoering van het programma, waardoor de processor is niet inactief. Om de efficiëntie van het gebruik van een computertaak met vergelijkbare bronnen te verbeteren, begint u samen te verzamelen, te creëren pakket taken.

De eerste verschijnen batchverwerkingssystemendie eenvoudig de lancering van het ene programma van het pakket automatisch automatiseren en daarmee de processor laadfactor verhogen. Bij het implementeren van batchverwerkingssystemen is een geformaliseerde taakbeheertaal ontwikkeld, waarmee de programmeur aan het systeem en de operator heeft gemeld, wat voor soort werk het op de computer wil uitvoeren. Batchverwerkingssystemen zijn een prototype van moderne besturingssystemen geworden, ze waren de eerste systeemprogramma's die zijn ontworpen om het computerproces te beheren.

Volgende belangrijke periode van ontwikkeling Computermachines verwijst naar het begin van de jaren 60 - 1980. Op dit moment vond een overgang van individuele halfgeleiderelementen zoals transistoren tot geïntegreerde chips zich voor in de technische basis. Rekenmachine wordt betrouwbaarder en goedkoop. De complexiteit en het aantal taken opgelost door computers groeien. De uitvoering van verwerkers neemt toe.

Een toename van de efficiëntie van het gebruik van de processortijd wordt belemmerd door de lage snelheid van de mechanische I / O-apparaten (de snelle lezer perflocart zou 1200 per minuut per minuut kunnen verwerken, printers bedrukt tot 600 regels per minuut). In plaats van de directe lees van het taakpakket met Perfocars, wordt het gestart om zijn pre-record te gebruiken, eerst op de magneetband en vervolgens op de schijf. Wanneer de gegevens tijdens het taakproces vereist zijn, worden ze van de schijf gelezen. Evenzo wordt de uitvoer voor het eerst gekopieerd naar de systeembuffer en opgenomen op de band of schijf, en het wordt pas afgedrukt nadat de taak is voltooid. Aanvankelijk werden de werkelijke I / O-operaties uitgevoerd in de Off-Line-modus, dat wil zeggen, met behulp van andere, eenvoudiger, afzonderlijke computers. In de toekomst beginnen ze te draaien op dezelfde computer die berekening produceert, dat wil zeggen in on-line modus. Deze techniek wordt genoemd spooling (Vermindering van gelijktijdige perifere bediening online) of gegevens pompen. Introductie van pompapparatuur tot pakketsystemen maakte het mogelijk om de werkelijke I / O-operaties van één taak te combineren met de uitvoering van een andere taak, maar de ontwikkeling van de interruptoewijzing vereist om de processor op de hoogte te stellen van de processor over het einde van deze bewerkingen.

Magnetische tapes waren seriële toegangsapparatuur, dat wil zeggen, de informatie werd van hen gelezen in de volgorde waarin het werd opgenomen. Het uiterlijk van een magnetische schijf waarvoor de procedure voor het lezen van informatie niet belangrijk is, dat wil zeggen, directe toegangsapparaten hebben geleid tot de verdere ontwikkeling van computersystemen. Bij het verwerken van een taakpakket op een magnetische tape, werd de taakopslagopdracht bepaald door de volgorde van hun invoer. Bij het verwerken van een taakpakket op een magnetische schijf, heeft het de mogelijkheid om de volgende taak te selecteren die wordt uitgevoerd. Batchsystemen beginnen aan te gaan planningstaken: Afhankelijk van de beschikbaarheid van gevraagde middelen, urgentie van berekeningen, enz. Het account kiest dit of die taak.

Verdere verbetering van de efficiëntie van de processor werd bereikt met multiprogramming. Het idee van multiprogramming is als volgt: Tot nu toe voert één programma een I / O-bewerking uit, de processor past niet, zoals het gebeurt met een softwaremodus en een ander programma uitvoert. Wanneer de I / O-bewerking eindigt, keert de processor terug naar de uitvoering van het eerste programma. Dit idee lijkt op het gedrag van de leraar en studenten op het examen. Terwijl een student (programma) het antwoord op de vraag (I / O-operatie) bevat, luistert de leraar (processor) naar een andere studentenreactie (berekeningen). Natuurlijk heeft deze situatie een paar studenten in de kamer nodig. Evenzo vereist multiprogramming de aanwezigheid van verschillende programma's in het geheugen op hetzelfde moment. Tegelijkertijd wordt elk programma geladen in zijn ramgebied, genaamd sectie, en mag de uitvoering van een ander programma niet beïnvloeden (studenten zitten bij individuele tafels en vragen elkaar niet).

De opkomst van multiprogramming vereist een echte revolutie in de structuur van het computersysteem. Hardware-ondersteuning wordt gespeeld door een speciale rol (veel hardware-innovaties verschenen in de vorige fase van Evolution), waarvan de meest essentiële kenmerken hieronder worden vermeld.

- Implementatie van beschermende mechanismen . Programma's mogen geen onafhankelijke toegang hebben tot de distributie van middelen, wat leidt tot het uiterlijk bevoorrecht en onbeperkt teams. Voorrechte opdrachten, zoals I / O-opdrachten, kunnen alleen door het besturingssysteem worden uitgevoerd. Er wordt gezegd dat het werkt in de bevoorrechte modus. De overgangsregeling van het toepassingsprogramma naar het besturingssysteem wordt vergezeld door een gecontroleerde verandering van modus. Bovendien is het een geheugenbeveiliging waarmee u concurrerende gebruikersprogramma's van elkaar kunt isoleren, en besturingssysteem van gebruikersprogramma's.

- De aanwezigheid van interrupts . Externe onderbrekingen worden op de hoogte gebracht van het besturingssysteem dat een asynchrone gebeurtenis heeft plaatsgevonden, bijvoorbeeld, een I / O-bewerking is voltooid. Interne onderbrekingen (nu worden ze uitzonderlijke situaties genoemd) ontstaan \u200b\u200bwanneer het programma heeft geleid tot een situatie die een OS-interventie vereist, zoals divisie op nul of een poging om de bescherming te schenden.

- Ontwikkeling van parallellisme in architectuur . Directe geheugentoegang en de organisatie van I / O-kanalen maakten het mogelijk om de centrale processor uit routine-operaties vrij te geven.

Niet minder belangrijk bij het organiseren van multiprogramming de rol van het besturingssysteem. Het is verantwoordelijk voor de volgende bewerkingen:

Organisatie van de interface tussen het toepassingsprogramma en het besturingssysteem met behulp van systeemgesprekken;

Het organiseren van een rij uit de taken in het geheugen en de toewijzing van de processor aan een van de taken die de planning van het gebruik van de processor vereiste;

Omschakelen van de ene taak naar het andere vereist het opslaan van de inhoud van de registers en de gegevensstructuren die nodig zijn om de taak uit te voeren, met andere woorden, context om de juiste voortzetting van de berekeningen te waarborgen;

Aangezien geheugen een beperkte bron is, heeft u geheugenbeheerstrategieën nodig, dat wil zeggen, het is noodzakelijk om de processen van plaatsing, vervanging en bemonstering van informatie uit het geheugen te stroomlijnen;

Organisatie van opslag van informatie over externe media in de vorm van bestanden en toegang tot een specifiek bestand alleen voor bepaalde categorieën van gebruikers;

Omdat programma's mogelijk gesanctioneerde gegevensuitwisseling moeten produceren, is het noodzakelijk om ze communicatie te geven;

Voor de juiste gegevensuitwisseling is het noodzakelijk om conflictsituaties op te lossen die optreden bij het werken met verschillende bronnen en zorgen voor de coördinatie met programma's van hun acties, d.w.z. Ondersteuning van een synchronisatiesysteem.

Multiprogram Systems leverden de mogelijkheid om een \u200b\u200befficiënter gebruik te maken van systeembronnen (bijvoorbeeld processor, geheugen, randapparatuur), maar ze bleven lang pakket. De gebruiker kon niet rechtstreeks met de taak communiceren en moet worden voorzien van alle mogelijke situaties met behulp van besturingskaarten. Debugging-programma's hebben nog steeds veel tijd bezig en vereisten de studie van afdrukken met meerdere pagina's van geheugeninhoud en registers of het gebruik van foutopsporingsafdrukken.

Het uiterlijk van elektronenstraal wordt weergegeven en heroverweegt de mogelijkheden van de toepassing van de toetsenborden instellen de oplossing voor dit probleem. Logische uitbreiding van multiprogrambrammerende systemen stalen time-sharing systemen, of tIME SPLIT SYSTEMEN. Hierin schakelt de processor tussen taken niet alleen voor de tijd van I / O-operaties, maar ook gewoon na een bepaalde tijd. Deze schakelen tonen zo vaak dat gebruikers tijdens hun uitvoering met hun programma's kunnen communiceren, dat is, interactief. Als gevolg hiervan verschijnt de mogelijkheid van gelijktijdige werking van verschillende gebruikers op één computersysteem. Elke gebruiker moet ten minste één geheugenprogramma hebben. Om beperkingen op het aantal werkgebruikers te verminderen, is het idee van onvolledige vaststelling van het uitvoerbare programma in RAM geïntroduceerd. Het hoofdgedeelte van het programma bevindt zich op de schijf en het fragment dat op dit moment moet worden uitgevoerd, kan in de RAM worden geladen en de onnodige - teruggedraaid naar de schijf. Het wordt geïmplementeerd met behulp van mechanisme van virtueel geheugen. Het belangrijkste voordeel van een dergelijk mechanisme is om een \u200b\u200billusie van een onbeperkte RAST RAM te creëren.

In Time Separation Systems heeft de gebruiker de mogelijkheid gekregen om het programma in de interactieve modus effectief te debuggen en informatie naar de schijf te schrijven, zonder de ponskaarten te gebruiken en rechtstreeks vanuit het toetsenbord. Het uiterlijk van on-line bestanden leidde tot de noodzaak om ontwikkeld te ontwikkelen bestandssystemen.

In parallelle interne evolutie van computersystemen heeft hun externe evolutie ook plaatsgevonden. Voorafgaand aan het begin van deze periode waren computationele complexen meestal incompatibel. Elk heeft een eigen besturingssysteem, het systeemsysteem, enz. Als gevolg hiervan is een programma dat met succes op één type machines werkt, het nodig was om volledig te herschrijven en bij te werken om uit te voeren op computers van een ander type. Aan het begin van de derde periode verscheen het idee van het creëren van families van software-compatibele machines die onder de controle van hetzelfde besturingssysteem opereren. De eerste familie van software-compatibele computersGebouwd op geïntegreerde chips, is IBM / 360 Series-serie geworden. Ontworpen in de vroege jaren 60 heeft dit gezin de tweede generatiemachines aanzienlijk overschreden door het criterium van de prijs / prestatie. Het werd gevolgd door de PDP-computers die incompatibel zijn met de IBM-lijn, en het beste model erin werden PDP-11.

De kracht van "één familie" was beide zwakte. De brede mogelijkheden van dit concept (de aanwezigheid van alle modellen: van mini-computers tot gigantische machines; overvloed aan een verscheidenheid aan randapparatuur; verschillende omgeving; verschillende gebruikers) spawnden een complex en omvangrijk besturingssysteem. Miljoenen van de assembler-lijnen geschreven door duizenden programmeurs bevatten vele fouten die een continue stroom van publicaties over hen en correctiepogingen veroorzaakten. Alleen in het besturingssysteem OS / 360 bevatte meer dan 1000 bekende fouten. Echter, het idee van standaardisatie van besturingssystemen Het werd op grote schaal geïntroduceerd in het gebruikersbewustzijn en heeft later actieve ontwikkeling gewonnen.

Volgende periode in evolutie Computersystemen zijn geassocieerd met het uiterlijk van grote geïntegreerde schakelingen (BIS). WETH JAAR (van 1980 naar het heden) Er is een sterke toename geweest in de mate van integratie en vermindering van de kosten van chips. Een computer die niet verschilt in de architectuur van PDP-11, tegen de prijs en het gebruiksgemak, is beschikbaar gesteld aan een aparte persoon, niet de afdeling van de onderneming of universiteit. Het tijdperk van personal computers vond plaats. Aanvankelijk waren personal computers bedoeld om door één gebruiker in één software-modus te worden gebruikt, wat resulteerde in de degradatie van de architectuur van deze computers en hun besturingssystemen (in het bijzonder, verdween de noodzaak om bestanden en geheugen, taakplanning, enz. .).

Computers begonnen niet alleen te worden gebruikt door specialisten, die de ontwikkeling van "vriendelijke" software eisten.

De toename van de complexiteit en diversiteit van taken opgelost op personal computers, de noodzaak om de betrouwbaarheid van hun werk te verbeteren, leidde tot de heropleving van bijna alle kenmerken die kenmerkend zijn voor de architectuur van grote computersystemen.

In het midden van de jaren 80 begon snel te groeien computer netwerken, inclusief persoonlijk werken aan netwerk of gedistribueerde besturingssystemen.

In netwerkbesturingssystemen Gebruikers hebben toegang tot de bronnen van een andere netwerkcomputer, alleen moeten ze weten over hun beschikbaarheid en het kunnen doen. Elke machine op het netwerk loopt het lopende lokaal besturingssysteem, dat verschilt van het besturingssysteem van de autonome computer door de aanwezigheid van aanvullende fondsen (software-ondersteuning voor netwerkinterface-apparaten en toegang tot externe bronnen), maar deze toevoegingen veranderen de structuur niet van het besturingssysteem.

Gedistribueerd systeem, integendeel, ziet eruit als een gewoon autonoom systeem. De gebruiker weet niet en moet niet weten waar zijn bestanden worden opgeslagen - op een lokale of externe machine - en waar zijn programma's worden uitgevoerd. Hij weet het misschien helemaal niet, is het verbonden met de computer aan het netwerk. De interne structuur van het gedistribueerde besturingssysteem heeft aanzienlijke verschillen met autonome systemen.

In de toekomst zullen autonome besturingssystemen klassieke besturingssystemen bellen.

Na het bekijken van de stadia van de ontwikkeling van computersystemen, kunnen we toewijzen zes basisfunctiesdie klassieke besturingssystemen in het evolutieproces uitvoerde:

Planning van taken en processor gebruik;

Programma's verstrekken met communicatie en synchronisatie;

Geheugen management;

Bestandssysteembeheer;

Invoerbeheer;

Veiligheid

Elk van de bovenstaande functies wordt meestal geïmplementeerd als een subsysteem dat een structureel onderdeel van het besturingssysteem is. In elk besturingssysteem werden deze functies natuurlijk op hun eigen manier geïmplementeerd in verschillende volumes. Ze werden oorspronkelijk niet uitgevonden als componenten van besturingssystemen en verschenen in het ontwikkelingsproces, omdat computationele systemen steeds comfortabeler, efficiënter en veiliger werden. De evolutie van computationele systemen gemaakt door de mens ging op dit pad, maar niemand heeft bewezen dat dit het enige mogelijke pad van hun ontwikkeling is. Besturingssystemen bestaan \u200b\u200bomdat op het moment dat hun bestaan \u200b\u200been redelijke manier is om computersystemen te gebruiken.