Geschiedenis van UNIX-systemen. Verschillen tussen UNIX en Linux

Met taal op hoog niveau. Rond 1969 ontwikkelde en implementeerde Ken Thompson, met de hulp van Dennis Ritchie, de Bi (B) -taal, een vereenvoudigde versie (voor implementatie op minicomputers) van de BCPL-taal die in de taal was ontwikkeld. Bi was, net als BCPL, een geïnterpreteerde taal. Uitgebracht in 1972 tweede druk Unix herschreven in de Bi-taal. In 1969-1973 Op basis van Bi werd een gecompileerde taal ontwikkeld, genaamd C (C).

Splitsen

Een belangrijke reden voor de Unix-splitsing was de implementatie van de TCP/IP-protocolstack in 1980. Voordien stond machine-to-machine communicatie in Unix nog in de kinderschoenen - de belangrijkste communicatiemethode was UUCP (een manier om bestanden van het ene Unix-systeem naar het andere te kopiëren, oorspronkelijk werkend via telefoonnetwerken met behulp van modems).

Er zijn twee programmeerinterfaces voor netwerktoepassingen voorgesteld: Berkley-sockets en TLI (Transport Layer Interface).

De Berkley sockets-interface is ontwikkeld aan de Universiteit van Berkeley en maakte gebruik van de daar ontwikkelde TCP/IP-protocolstack. TLI is gemaakt door AT&T volgens de transportlaagdefinitie van het OSI-model en verscheen voor het eerst in System V versie 3. Hoewel deze versie TLI en streams bevatte, had deze aanvankelijk geen implementatie van TCP/IP of andere netwerkprotocollen, maar dergelijke implementaties werden verzorgd door derden.

De implementatie van TCP/IP werd officieel en uiteindelijk opgenomen in de basisdistributie van System V versie 4. Dit, samen met andere overwegingen (meestal marktoverwegingen), veroorzaakte de uiteindelijke afbakening tussen de twee takken van Unix - BSD (Berkeley University) en Systeem V (commerciële versie van AT&T). Vervolgens ontwikkelden veel bedrijven, die System V van AT&T hadden gelicentieerd, hun eigen commerciële varianten van Unix, zoals AIX, CLIX, HP-UX, IRIX en Solaris.

Moderne Unix-implementaties zijn over het algemeen geen pure V- of BSD-systemen. Ze implementeren functies van zowel System V als BSD.

Gratis Unix-achtige besturingssystemen

Momenteel nemen GNU/Linux en leden van de BSD-familie snel de markt over van commerciële Unix-systemen en penetreren tegelijkertijd zowel desktopcomputers van eindgebruikers als mobiele en ingebedde systemen.

Eigen systemen

Na de opsplitsing van AT&T zijn het Unix-handelsmerk en de rechten op de originele broncode verschillende keren van eigenaar gewisseld. Ze waren vooral lange tijd eigendom van Novell.

De invloed van Unix op de evolutie van besturingssystemen

Unix-systemen zijn van groot historisch belang omdat ze aanleiding gaven tot enkele van de besturingssysteem- en softwareconcepten en -benaderingen die tegenwoordig populair zijn. Tijdens de ontwikkeling van Unix-systemen werd ook de C-taal gecreëerd.

De C-taal, die op grote schaal wordt gebruikt bij het programmeren van systemen, is oorspronkelijk gemaakt voor de ontwikkeling van Unix en heeft Unix in populariteit overtroffen. De C-taal was de eerste ‘tolerante’ taal die niet probeerde de programmeur een of andere programmeerstijl op te leggen. C was de eerste taal op hoog niveau die toegang bood tot alle processormogelijkheden, zoals referenties, tabellen, bitverschuivingen, verhogingen, enz. Aan de andere kant leidde de vrijheid van de C-taal tot bufferoverflow-fouten in standaard C-bibliotheekfuncties zoals get en scanf. Het resultaat is een groot aantal beruchte kwetsbaarheden, zoals die van de beroemde Morris-worm.

De vroege ontwikkelaars van Unix hielpen bij het introduceren van de principes van modulair programmeren en hergebruik in de technische praktijk.

Unix maakte het mogelijk om TCP/IP-protocollen op relatief goedkope computers te gebruiken, wat leidde tot de snelle groei van internet. Dit heeft op zijn beurt bijgedragen aan de snelle ontdekking van verschillende grote kwetsbaarheden in Unix-beveiliging, architectuur en systeemhulpprogramma's.

In de loop van de tijd ontwikkelden de leidende Unix-ontwikkelaars culturele normen voor softwareontwikkeling die net zo belangrijk werden als Unix zelf. ( )

Enkele van de bekendste voorbeelden van Unix-achtige besturingssystemen zijn macOS, waarvan? ] Unix uit die tijd had nadelen vergeleken met deze besturingssystemen (bijvoorbeeld het ontbreken van serieuze database-engines), het was: a) goedkoper en soms gratis voor academische instellingen; b) was overdraagbaar van apparatuur naar apparatuur en ontwikkeld in een draagbare C-taal, waardoor programmaontwikkeling werd ‘losgekoppeld’ van specifieke apparatuur. Bovendien bleek de gebruikerservaring 'losgekoppeld' te zijn van de hardware en de fabrikant - iemand die met Unix aan VAX werkte, kon er gemakkelijk mee werken op 68xxx, enzovoort.

Hardwarefabrikanten hadden in die tijd vaak een koele houding tegenover Unix, beschouwden het als speelgoed en boden hun eigen besturingssysteem aan voor serieus werk - voornamelijk DBMS en daarop gebaseerde bedrijfsapplicaties in commerciële structuren. Er zijn opmerkingen hierover bekend van DEC met betrekking tot haar VMS. Bedrijven luisterden hiernaar, maar niet de academische omgeving, die alles had wat Unix nodig had, vaak geen officiële steun van de fabrikant nodig had, op zichzelf werd beheerd en de lage kosten en draagbaarheid van Unix waardeerde. Unix was dus misschien wel het eerste besturingssysteem dat overdraagbaar was op andere hardware.

De tweede grote opkomst van Unix was de introductie van RISC-processors rond 1989. Zelfs daarvoor waren er zogenaamde. werkstations zijn krachtige persoonlijke computers voor één gebruiker met voldoende geheugen, een harde schijf en een voldoende ontwikkeld besturingssysteem (multitasking, geheugenbescherming) om met serieuze toepassingen zoals CAD te werken. Onder de fabrikanten van dergelijke machines viel Sun Microsystems op en maakte er naam mee.

Vóór de komst van RISC-processors gebruikten deze stations doorgaans een Motorola 680x0-processor, dezelfde als in Apple-computers (zij het met een geavanceerder besturingssysteem dan dat van Apple). Rond 1989 verschenen commerciële implementaties van RISC-architectuurprocessors op de markt. De logische beslissing van een aantal bedrijven (Sun en anderen) was om Unix naar deze architecturen over te zetten, wat onmiddellijk de overdracht van het hele software-ecosysteem voor Unix met zich meebracht.

Eigen, serieuze besturingssystemen, zoals VMS, begonnen precies vanaf dit moment in verval te raken (ook al was het mogelijk om het besturingssysteem zelf over te dragen naar RISC, alles was veel ingewikkelder met applicaties ervoor, die in deze ecosystemen vaak in assembleertaal werden ontwikkeld of in eigen talen zoals BLISS ), en Unix werd het besturingssysteem voor de krachtigste computers ter wereld.

Op dat moment begon het ecosysteem echter over te stappen op een GUI in de vorm van Windows 3.0. De enorme voordelen van de GUI, evenals bijvoorbeeld uniforme ondersteuning voor alle soorten printers, werden gewaardeerd door zowel ontwikkelaars als gebruikers. Dit ondermijnde de positie van Unix op de pc-markt enorm: implementaties zoals SCO en Interactive UNIX konden Windows-applicaties niet ondersteunen. Wat betreft de GUI voor Unix, genaamd X11 (er waren andere implementaties, veel minder populair), deze kon niet volledig werken op een gewone gebruikers-pc vanwege geheugenvereisten - voor normale werking had X11 16 MB nodig, terwijl Windows 3.1 daarmee voldoende presteerde het is goed om zowel Word als Excel tegelijkertijd te gebruiken in 8 MB (dit was destijds de standaardgrootte van pc-geheugen). Bij hoge geheugenprijzen was dit een beperkende factor.

Het succes van Windows gaf een impuls aan het interne project van Microsoft genaamd Windows NT, dat API-compatibel was met Windows, maar tegelijkertijd dezelfde architectonische kenmerken had van een serieus besturingssysteem als Unix: multitasking, volledige geheugenbescherming, ondersteuning voor machines met meerdere processors, bestandstoegangsrechten en mappen, systeemlogboek. Windows NT introduceerde ook het gejournaliseerde bestandssysteem NTFS, dat destijds qua mogelijkheden alle bestandssystemen overtrof die standaard bij Unix werden geleverd - analogen voor Unix waren slechts afzonderlijke commerciële producten van Veritas en anderen.

Hoewel Windows NT aanvankelijk niet populair was vanwege de hoge geheugenvereisten (dezelfde 16 MB), stelde het Microsoft in staat de markt te betreden voor serveroplossingen, zoals databasebeheersystemen. Velen geloofden destijds niet dat Microsoft, van oudsher een desktopsoftwarebedrijf, een speler zou kunnen zijn op de markt voor bedrijfssoftware, die al grote namen als Oracle en Sun kende. Wat deze twijfel nog groter maakte, was het feit dat Microsoft DBMS - SQL Server - begon als een vereenvoudigde versie van Sybase SQL Server, onder licentie van Sybase en voor 99% compatibel in alle aspecten van het werken ermee.

In de tweede helft van de jaren negentig begon Microsoft Unix onder druk te zetten op de markt voor bedrijfsservers.

De combinatie van de bovengenoemde factoren, evenals de ineenstorting van de prijzen voor 3D-videocontrollers, die van professionele apparatuur naar thuisapparatuur gingen, hadden begin jaren 2000 het concept van een werkstation feitelijk tot een einde gemaakt.

Bovendien zijn Microsoft-systemen eenvoudiger te beheren, vooral in veel voorkomende gebruikssituaties.

Maar op dit moment is de derde scherpe opkomst van Unix begonnen.

Een serieuze concurrent van Linux in die tijd was FreeBSD, maar de ‘kathedrale’ stijl van ontwikkelingsbeheer in tegenstelling tot de ‘bazaar’-stijl van Linux, evenals een veel groter technisch archaïsme op het gebied van zaken als ondersteuning voor machines met meerdere processors en uitvoerbare bestanden. formaten vertraagden de ontwikkeling van FreeBSD aanzienlijk in vergelijking met Linux, waardoor laatstgenoemde het vlaggenschip van de vrije softwarewereld werd.

Vervolgens bereikte Linux nieuwe en nieuwe hoogten:

  • overdracht van serieuze eigen producten zoals Oracle;
  • IBM's serieuze interesse in dit ecosysteem als basis voor zijn verticale oplossingen;
  • de opkomst van analogen van bijna alle bekende programma's uit de Windows-wereld;
  • weigering van sommige fabrikanten van apparatuur om pre-installatie van Windows te eisen;
  • release van netbooks met alleen Linux;
  • gebruiken als kernel in Android.

Momenteel is Linux een terecht populair besturingssysteem voor servers, hoewel veel minder populair op desktops.

Als je onlangs begonnen bent met het leren van Linux en je op je gemak voelt in dit uitgestrekte universum, ben je waarschijnlijk vaak de term Unix tegengekomen. Klinkt veel als Linux, maar wat betekent het? Je vraagt ​​je waarschijnlijk af hoe Unix verschilt van Linux. Het antwoord op deze vraag hangt af van wat u onder deze woorden verstaat. Elk van hen kan immers anders worden geïnterpreteerd. In dit artikel bekijken we een vereenvoudigde geschiedenis van Linux en Unix om je te helpen begrijpen wat ze zijn en hoe ze met elkaar in verband staan. Zoals altijd kunt u vragen stellen of aanvullende informatie toevoegen in de opmerkingen.

Unix begon zijn geschiedenis eind jaren zestig en begin jaren zeventig in de computerlaboratoria van AT&T Bell Labs in de Verenigde Staten. Samen met MIT en General Electric begon het onderzoekslaboratorium van Bell Labs met de ontwikkeling van een nieuw besturingssysteem. Sommige onderzoekers waren ontevreden over de voortgang van de ontwikkeling van dit besturingssysteem. Ze stopten met het werken aan het hoofdproject en begonnen hun eigen besturingssysteem te ontwikkelen. In 1970 kreeg dit systeem de naam Unix en twee jaar later werd het volledig herschreven in de programmeertaal C.

Hierdoor kon Unix worden gedistribueerd en geport naar verschillende apparaten en computerplatforms.

Terwijl Unix zich bleef ontwikkelen, begon AT&T licenties te verkopen om het zowel op universiteiten als voor commerciële doeleinden te gebruiken. Dit betekende dat niet iedereen, zoals nu, de code van het Unix-besturingssysteem vrijelijk kon wijzigen en verspreiden. Al snel verschenen er veel edities en varianten van het Unix-besturingssysteem, ontworpen om verschillende problemen op te lossen. De bekendste daarvan was BSD.

Linux is qua functionaliteit en mogelijkheden vergelijkbaar met Unix, maar niet qua codebasis. Dit besturingssysteem is samengesteld uit twee projecten. Het eerste is het GNU-project, ontwikkeld door Richard Stallman in 1983, het tweede is de Linux-kernel, geschreven door Linus Torvalds in 1991.

Het doel van het GNU-project was om een ​​systeem te creëren dat vergelijkbaar is met, maar onafhankelijk is van Unix. Met andere woorden, een besturingssysteem dat geen Unix-code bevatte en vrijelijk gedistribueerd en zonder beperkingen kon worden verspreid, zoals vrije software. Omdat de vrije Linux-kernel niet op zichzelf kon draaien, fuseerde het GNU-project met de Linux-kernel en was het Linux-besturingssysteem geboren.

Linux is ontworpen onder invloed van het Minix-systeem, een afstammeling van Unix, maar alle code is helemaal opnieuw geschreven. In tegenstelling tot Unix, dat werd gebruikt op servers en grote mainframes van verschillende ondernemingen, is Linux ontworpen voor gebruik op een thuiscomputer met eenvoudiger hardware.

Tegenwoordig draait Linux op een groot aantal platforms, meer dan welk ander besturingssysteem dan ook, waaronder servers, embedded systemen, microcomputers, modems en zelfs mobiele telefoons. Nu zal het verschil tussen Linux en Unix in meer detail worden besproken.

Wat is Unix

De term Unix kan verwijzen naar de volgende concepten:

  • Het originele besturingssysteem ontwikkeld bij AT&T Bell Labs, op basis waarvan andere besturingssystemen worden ontwikkeld.
  • Handelsmerk, geschreven in hoofdletters. UNIX behoort tot The Open Group, die een reeks standaarden voor besturingssystemen heeft ontwikkeld: de Single UNIX Specification. Alleen systemen die aan de standaarden voldoen, mogen met recht UNIX heten. Certificering is niet gratis en vereist dat ontwikkelaars betalen om het handelsmerk te gebruiken.
  • Alle besturingssystemen zijn geregistreerd onder de naam Unix. Omdat ze voldoen aan bovengenoemde normen. Dit zijn AIX, A/UX, HP-UX, Inspur K-UX, Reliant UNIX, Solaris, IRIX, Tru64, UnixWare, z/OS en OS X - ja, zelfs degenen die op Apple-computers draaien.

Wat is Linux

De term Linux verwijst alleen naar de kernel. Een besturingssysteem is niet compleet zonder een desktopomgeving en applicaties. Omdat de meeste applicaties zijn ontwikkeld en momenteel worden ontwikkeld onder het GNU-project, is de volledige naam van het besturingssysteem GNU/Linux.

Tegenwoordig gebruiken veel mensen de term Linux om te verwijzen naar alle distributies die op de Linux-kernel zijn gebaseerd. Momenteel is de nieuwste versie van de Linux-kernel 4.4, versie 4.5 is in ontwikkeling. De nummering van kernelreleases is niet zo lang geleden gewijzigd van 3.x naar 4.x.

Linux is een Unix-achtig besturingssysteem dat zich gedraagt ​​als Unix, maar de code ervan niet bevat. Unix-achtige besturingssystemen worden vaak Un*x, *NIX en *N?X genoemd, of zelfs Unixoids. Linux heeft geen Unix-certificering, en GNU staat voor GNU en niet voor Unix, dus in dat opzicht is Mac OS X meer Unix dan Linux. Niettemin lijken de Linux-kernel en het GNU Linux-besturingssysteem qua functionaliteit sterk op Unix en implementeren ze de meeste principes van de Unix-filosofie. Dit omvat voor mensen leesbare code, het opslaan van de systeemconfiguratie in afzonderlijke tekstbestanden en het gebruik van kleine opdrachtregelprogramma's, een grafische shell en een sessiemanager.

Het is belangrijk op te merken dat niet alle Unix-achtige systemen UNIX-certificering hebben ontvangen. In bepaalde contexten worden alle besturingssystemen gebaseerd op UNIX of de ideeën daarvan UNIX-achtig genoemd, ongeacht of ze een UNIX-certificaat hebben of niet. Bovendien kunnen ze commercieel en gratis zijn.

Ik hoop dat het nu duidelijker is hoe Unix verschilt van Linux. Maar laten we nog verder gaan en samenvatten.

Belangrijkste verschillen

  • Linux is een gratis en open source besturingssysteem, terwijl de originele Unix dat niet is, afgezien van enkele afgeleide producten.
  • Linux is een kloon van de originele Unix, maar bevat de code niet.
  • Het belangrijkste verschil tussen Unix en Linux is dat Linux slechts een kernel is, terwijl Unix een volwaardig besturingssysteem was en is.
  • Linux is ontwikkeld voor personal computers. En Unix richt zich vooral op grote werkstations en servers.
  • Tegenwoordig ondersteunt Linux meer platforms dan Unix.
  • Linux ondersteunt meer soorten bestandssystemen dan Unix.

Zoals je kunt zien, ontstaat de verwarring meestal omdat Linux versus Unix totaal verschillende dingen kunnen betekenen. Welke betekenis er ook bedoeld wordt, het feit blijft dat Unix eerst kwam en Linux later. Linux is ontstaan ​​uit een verlangen naar softwarevrijheid en draagbaarheid, geïnspireerd door de Unix-aanpak. Het is veilig om te zeggen dat we allemaal iets verschuldigd zijn aan de vrije softwarebeweging, omdat de wereld zonder deze beweging een veel slechtere plek zou zijn.

Zandbak

ijzeren man 19 maart 2011 om 23:16 uur

Hoe verschilt Linux van UNIX, en wat is een UNIX-achtig besturingssysteem?

UNIX
UNIX (het niet waard verward met de definitie van “UNIX-achtig besturingssysteem”) - een familie van besturingssystemen (Mac OS X, GNU/Linux).
Het eerste systeem werd in 1969 ontwikkeld door Bell Laboratories, een voormalig Amerikaans bedrijf.

Onderscheidende kenmerken van UNIX:

  1. Eenvoudige systeemconfiguratie met behulp van eenvoudige, meestal tekstbestanden.
  2. Uitgebreid gebruik van de opdrachtregel.
  3. Gebruik van transportbanden.
Tegenwoordig wordt UNIX vooral gebruikt op servers en als systeem voor hardware.
Het is onmogelijk om het enorme historische belang van UNIX-systemen niet op te merken. Ze worden nu erkend als een van de historisch meest belangrijke besturingssystemen. Tijdens de ontwikkeling van UNIX-systemen werd de C-taal gecreëerd.

UNIX-varianten per jaar

UNIX-achtig besturingssysteem
UNIX-achtig besturingssysteem (Soms gebruik de afkorting *nix) - een systeem gevormd onder invloed van UNIX.

Het woord UNIX wordt gebruikt als conformiteitsmerk en als handelsmerk.

Het Open Group-consortium is eigenaar van het handelsmerk "UNIX", maar is vooral bekend als de certificeringsautoriteit voor het UNIX-handelsmerk. Onlangs wierp The Open Group licht op de publicatie van de Single UNIX Specification, de standaarden waaraan een besturingssysteem moet voldoen om met trots Unix genoemd te mogen worden.

U kunt een kijkje nemen in de stamboom van UNIX-achtige besturingssystemen.

Linux
Linux- de algemene naam voor op UNIX gebaseerde besturingssystemen die zijn ontwikkeld in het kader van het GNU-project (open source software development project). Linux draait op een grote verscheidenheid aan processorarchitecturen, variërend van ARM tot Intel x86.

De meest bekende en wijdverspreide distributies zijn Arch Linux, CentOS, Debian. Er zijn ook veel "binnenlandse", Russische distributies - ALT Linux, ASPLinux en anderen.

Er is nogal wat controverse over de naamgeving van GNU/Linux.
Voorstanders van "open source" gebruiken de term "Linux", en voorstanders van "vrije software" gebruiken "GNU/Linux". Ik geef de voorkeur aan de eerste optie. Voor het gemak van de weergave van de term GNU/Linux worden soms de spellingen “GNU+Linux”, “GNU-Linux”, “GNU Linux” gebruikt.

In tegenstelling tot commerciële systemen (MS Windows, Mac OS X) beschikt Linux niet over een geografisch ontwikkelingscentrum en een specifieke organisatie die eigenaar is van het systeem. Het systeem zelf en de programma's ervoor zijn het resultaat van het werk van enorme gemeenschappen, duizenden projecten. Iedereen kan meedoen aan het project of er zelf een maken!

Conclusie
Zo leerden we de keten: UNIX -> UNIX-achtig besturingssysteem -> Linux.

Samenvattend kan ik zeggen dat de verschillen tussen Linux en UNIX duidelijk zijn. UNIX is een veel breder concept, de basis voor de constructie en certificering van alle UNIX-achtige systemen, en Linux is een speciaal geval van UNIX.

Trefwoorden: unix, linux, nix, Linux, unix

Dit artikel is niet onderhevig aan commentaar omdat de auteur dat nog niet is

Dit systeem heeft de tand des tijds doorstaan ​​en overleefd.

In verband met dit systeem is een normenstelsel ontwikkeld:

POSIX 1003.1-1988, 1990 - beschrijft UNIX OS-systeemaanroepen (systeemingangspunten)

(Applicatieprogrammeerinterface - API)

POSIX 1003.2-1992 - definieert de opdrachtinterpreter en een reeks hulpprogramma's voor het UNIX-besturingssysteem

POSIX 1003.1b-1993 - toevoegingen met betrekking tot real-time applicaties

X/OPEN - een groep die de ontwikkeling van standaarden voor het UNIX-besturingssysteem coördineert

Onderscheidende kenmerken van Unix OS

    Het systeem is geschreven in een taal op hoog niveau (C), waardoor het gemakkelijk te begrijpen, te wijzigen en over te dragen is naar andere hardwareplatforms. UNIX is een van de meest open systemen.

    UNIX is een multitasking-systeem voor meerdere gebruikers met een breed scala aan services. Eén server kan verzoeken van een groot aantal gebruikers verwerken. Hiervoor is het beheer van slechts één gebruikerssysteem vereist.

    Beschikbaarheid van normen. Ondanks de verscheidenheid aan versies is de basis van de hele UNIX-familie een fundamenteel identieke architectuur en een aantal standaardinterfaces, die de overgang van gebruikers van het ene systeem naar het andere vereenvoudigen.

    Eenvoudige maar krachtige modulaire gebruikersinterface. Er is een bepaalde reeks hulpprogramma's, die elk een zeer gespecialiseerd probleem oplossen, en daaruit is het mogelijk complexe softwareverwerkingssystemen te construeren.

    Gebruikmakend van één enkel hiërarchisch, gemakkelijk te onderhouden bestandssysteem dat toegang biedt tot gegevens die zijn opgeslagen in bestanden op schijf en tot computerapparaten via een uniforme bestandssysteeminterface.

    Een behoorlijk groot aantal applicaties, inclusief vrij verspreide applicaties.

Basisarchitectuur van het Unix-besturingssysteem Model van het Unix-systeem.

Unix OS-kernelstructuur.

UNIX is een systeemmodel met twee lagen: de kernel en applicaties.

De kernel werkt rechtstreeks samen met de computerhardware, waardoor toepassingsprogramma's worden geïsoleerd van de hardwarefuncties van het computersysteem.

De kernel heeft een reeks services die aan applicatieprogramma's worden geleverd. Deze omvatten invoer-/uitvoerbewerkingen, het creëren en controleren van processen, interactie tussen processen, signalen, enz.

Alle toepassingen vragen om kernelservices via het aanroepende systeem.

Het tweede niveau bestaat uit applicaties of taken, zowel systeemtaken, die de algehele functionaliteit van het systeem bepalen, als applicatietaken, die de UNIX-gebruikersinterface bieden. Het interactieschema van alle applicaties met de kernel is hetzelfde.

Kern biedt de basisfunctionaliteit van het besturingssysteem, creëert en beheert processen, wijst geheugen toe en biedt toegang tot bestanden en randapparatuur. Interactie van applicatietaken met de kernel vindt plaats via een standaard systeemaanroepinterface. De systeemaanroepinterface vertegenwoordigt een reeks kernelservices en definieert het formaat voor het aanvragen van services.

Een proces vraagt ​​een service aan bij een specifieke procedure via een gestandaardiseerde systeemaanroep die lijkt op een gewone C-bibliotheekfunctieaanroep. De kernel verwerkt het verzoek namens het proces en stuurt de benodigde gegevens terug naar het proces.

De kern bestaat uit drie hoofdsubsystemen:

1) bestandssubsysteem;

2) input-output-subsysteem;

3) subsysteem voor proces- en geheugenbeheer.

Bestandssubsysteem biedt een uniforme interface voor toegang tot gegevens op schijfstations en randapparatuur. Dezelfde schrijf-/leesfuncties kunnen worden gebruikt bij het werken met bestanden op schijven en bij het invoeren/uitvoeren van gegevens naar een terminal, printer en andere externe apparaten.

Het bestandssubsysteem beheert de toegangsrechten tot bestanden, voert bewerkingen voor het plaatsen en verwijderen van bestanden uit en schrijft en leest gegevens.

Omdat de meeste applicatiefuncties bij hun werk gebruik maken van de bestandssysteeminterface, bepalen de toegangsrechten voor bestanden grotendeels de toegangsrechten van de gebruiker tot het systeem. Zo worden de rechten van individuele gebruikers gevormd.

Er zijn 3 gebruikerscategorieën gekoppeld aan elk bestand:

Eigenaar;

Eigenaarsgroep;

Andere gebruikers.

Het bestandssubsysteem zorgt voor het doorsturen van verzoeken die zijn geadresseerd aan randapparatuur die overeenkomt met de invoer/uitvoer-subsysteemmodules.

Het invoer/uitvoer-subsysteem verwerkt verzoeken van het bestandssubsysteem en het procesbesturingssubsysteem om toegang te krijgen tot randapparatuur, zorgt voor de noodzakelijke gegevensbuffering en werkt samen met apparaatstuurprogramma's.

Stuurprogramma's zijn speciale kernelmodules die rechtstreeks externe apparaten bedienen.

Subsysteem voor proces- en geheugenbeheer regelt het aanmaken en verwijderen van processen, de distributie van systeembronnen, geheugen en processor tussen processen, processynchronisatie en communicatie tussen processors.

Systeembronnen worden toegewezen door een speciale kerneltaak genaamd planner processen. De planner start systeemprocessen en zorgt ervoor dat het proces geen gedeelde systeembronnen overneemt.

Geheugenbeheermodule biedt plaatsing van RAM voor toegepaste taken, inclusief virtueel geheugen. Dit betekent dat het de mogelijkheid biedt om een ​​deel van een proces in het secundaire geheugen (dat wil zeggen de harde schijf) te plaatsen en indien nodig naar het RAM te verplaatsen.

Een proces geeft de processor vrij vóór een lange I/O-bewerking of wanneer het tijdsegment afloopt. In dit geval selecteert de planner het proces met de hoogste prioriteit en start dit voor uitvoering.

Interprocessor-communicatiemodule is verantwoordelijk voor het informeren van processen over gebeurtenissen met behulp van signalen en het bieden van de mogelijkheid om gegevens tussen verschillende processen over te dragen.

Korte informatie over de ontwikkeling van het UNIX-besturingssysteem

UNIX OS verscheen eind jaren zestig als besturingssysteem voor de PDP-7-minicomputer. Kenneth Thomson en Dennis Ritchie namen actief deel aan de ontwikkeling.

Kenmerken van het UNIX-besturingssysteem zijn onder meer: ​​multi-user-modus, nieuwe bestandssysteemarchitectuur, enz.

In 1973 werd het grootste deel van de OS-kernel herschreven in de nieuwe C-taal.

Sinds 1974 wordt het UNIX-besturingssysteem in broncode gedistribueerd op universiteiten in de Verenigde Staten.

UNIX-versies

Vanaf het allereerste begin van de verspreiding van UNIX begonnen er op Amerikaanse universiteiten verschillende versies van het besturingssysteem te verschijnen.

Om te stroomlijnen combineerde AT&T in 1982 verschillende versies tot één en noemde de OS-versie System III. Een commerciële versie, System V, werd uitgebracht in 1983. In 1993 verkocht AT&T zijn UNIX-rechten aan Novell, die het vervolgens verkocht aan het X/Open en Santa Cruz Operation (SCO) consortium.

Een andere lijn van UNIX OS, BSD, wordt ontwikkeld aan de Universiteit van Californië (Berkeley). Er zijn gratis versies van FreeBSD en OpenBSD.

De OSF/1-familie – Open Software Foundation – omvat besturingssystemen van het consortium van IBM, DEC en Hewlett Packard. De besturingssystemen van deze familie omvatten HP-UX, AIX, Digital UNIX.

Gratis versies van UNIX-besturingssystemen

Er zijn een groot aantal gratis versies van UNIX.

FreeBSD, NetBSD, OpenBSD– opties ontwikkeld op basis van BSD OS.

De meest populaire familie van gratis UNIX-systemen is de familie van systemen Linux. De eerste variant van Linux werd in 1991 ontwikkeld door Linus Torvalds. Momenteel zijn er verschillende varianten Linux: Red Hat, Mandrake, Slackware, SuSE, Debian.

Algemene kenmerken van UNIX-systemen

De verschillende smaken van UNIX delen een aantal gemeenschappelijke kenmerken:

Time-sharing multiprogrammering gebaseerd op preventieve multitasking;

Ondersteuning voor multi-user-modus;

Virtueel geheugen en swapmechanismen gebruiken;

Hiërarchisch bestandssysteem;

Unificatie van invoer-/uitvoerbewerkingen op basis van het uitgebreide gebruik van het concept van bestand;

Draagbaarheid van het systeem;

Beschikbaarheid van netwerkmiddelen voor interactie.

Voordelen van UNIX-systemen

De voordelen van de UNIX-familie van besturingssystemen zijn onder meer:



Draagbaarheid;

Effectieve implementatie van multitasking;

Openheid;

Beschikbaarheid en strikte naleving van normen;

Uniform bestandssysteem;

Krachtige commandotaal;

Beschikbaarheid van een aanzienlijk aantal softwareproducten;

Implementatie van de TCP/IP-protocolstack;

Mogelijkheid om te werken als server of werkstation.

UNIX-gebaseerde servers

Server is een computer die verzoeken van andere computers in het netwerk verwerkt en zijn eigen bronnen levert voor het opslaan, verwerken en verzenden van gegevens. Een server waarop UNIX draait, kan de volgende rollen vervullen:

Bestanden server;

Web Server;

Mail server;

Server voor registratie op afstand (authenticatie);

Hulpwebserviceservers (DNS, DHCP);

Internettoegangsserver

Een UNIX-computer beheren

Wanneer u met een UNIX-systeem in servermodus werkt, wordt in de regel de modus voor externe toegang gebruikt met behulp van een terminalprogramma.

Een werksessie begint met het invoeren van een loginnaam en een toegangswachtwoord

Om serverbeheerproblemen op te lossen, zijn ze vaak beperkt tot de commandomodus. In dit geval worden voor de besturing speciale opdrachten in een speciaal formaat op de opdrachtregel ingevoerd. De opdrachtregel heeft een speciale prompt, bijvoorbeeld:

Algemeen beeld van de opdracht:

  1. -bash-2.05b$ commando [opties] [opties]

Het aanroepen van OS-help ziet er bijvoorbeeld als volgt uit:

  1. -bash-2.05b$ man [toetsen] [onderwerp]
  2. Voor hulp bij het gebruik van de opdracht man typt u
  3. -bash-2.05b$ man man

Interpretatie van de opdrachtregel

Bij het invoeren van opdrachten worden de volgende conventies gebruikt:

Het eerste woord op de opdrachtregel is de opdrachtnaam;

De overige woorden zijn argumenten.

Onder de argumenten zijn sleutels (opties) gemarkeerd: woorden (symbolen) die vooraf zijn gedefinieerd voor elke opdracht, beginnend met één (kort formaat) of een paar koppeltekens (lang formaat). Bijvoorbeeld:

Bash-2.05b$ tar –c –f arch.tar *.c

Bash-2.05b$ tar - -create - -file=arch.tar *.c

Bij het opgeven van opties kunnen deze worden gecombineerd. De volgende opdrachten zijn bijvoorbeeld gelijkwaardig:

Bash-2.05b$ ls –a –l

Bash-2.05b$ ls –l –a

Bash-2.05b$ ls –al

Andere argumenten geven de objecten aan waarop de bewerkingen worden uitgevoerd.

Shell-variabelen

Bij het werken in het systeem is er een manier om parameters door te geven aan programma's, naast het gebruik van opdrachtshell-schakelaars, - met behulp van omgevingsvariabelen. Gebruik het set-commando om een ​​omgevingsvariabele in te stellen. Commandoformaat:

Bash-2.05b$ stelt variabelenaam=waarde in

Het verwijderen van een omgevingsvariabele gebeurt met de opdracht unset.

Om toegang te krijgen tot de waarde van een variabele, gebruikt u de notatie $variable_name, bijvoorbeeld het commando:

Bash-2.05b$ echo $PATH

Drukt de waarde van de PATH-variabele af.