Het Unix-besturingssysteem van het bedrijf bij t. Hoe Linux verschilt van UNIX, en wat een UNIX-achtig besturingssysteem is

), derde (GNU/Linux) en vele daaropvolgende plaatsen.

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.

Voorbeelden van bekende UNIX-achtige besturingssystemen zijn: BSD, Solaris, Linux, Android, MeeGo, NeXTSTEP, Mac OS X, Apple iOS.

Verhaal

Voorgangers

De eerste versies van UNIX zijn geschreven in assembleertaal en hadden geen ingebouwde taalcompiler 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. In 1972 werd de tweede editie van UNIX uitgebracht, herschreven in de Bi-taal. In 1969-1973 werd een gecompileerde taal ontwikkeld op basis van Bi, genaamd C (C).

Splitsen

Een belangrijke reden voor de splitsing van UNIX 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 draaiend op telefoonnetwerken gebruik van modems).

Er zijn twee programmeerinterfaces voorgesteld netwerktoepassingen: Berkley-sockets en TLI-transportlaaginterface Transportlaaginterface).

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 zoals gedefinieerd door transport laag OSI-model en verscheen voor het eerst in Systeem V versie 3. Hoewel deze versie TLI en threads bevatte, implementeerde deze aanvankelijk geen TCP/IP of iets anders netwerkprotocollen, maar soortgelijke implementaties werden geleverd 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 V- of BSD-systemen pure vorm. Ze implementeren functies van zowel System V als BSD.

Gratis UNIX-achtige besturingssystemen

IN huidige moment GNU/Linux en leden van de BSD-familie nemen snel de markt over van commerciële UNIX-systemen en penetreren tegelijkertijd beide desktopcomputers eindgebruikers, evenals mobiele en embedded systemen.

Eigen systemen

De invloed van UNIX op de evolutie van besturingssystemen

Ideeën ingebed UNIX-basis, had een enorme impact op de ontwikkeling van computerbesturingssystemen. Momenteel worden UNIX-systemen erkend als een van de historisch belangrijkste besturingssystemen.

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. Xi was de eerste taal op hoog niveau, die toegang biedt tot alle processormogelijkheden zoals referenties, tabellen, bitverschuivingen, verhogingen, enz. Aan de andere kant leidde de vrijheid van de C-taal tot bufferoverflow-fouten in dergelijke functies standaard bibliotheek C zoals get en scanf. Het resultaat is een groot aantal beruchte kwetsbaarheden, zoals die van de beroemde Morris-worm.

De vroege ontwikkelaars van UNIX hebben bijgedragen aan de implementatie van de principes modulair programmeren en hergebruik in de ingenieurspraktijk.

UNIX bood de mogelijkheid om relatief gezien TCP/IP-protocollen te gebruiken goedkope computers wat leidde tot de snelle groei van het internet. Dit heeft op zijn beurt bijgedragen aan de snelle ontdekking van verschillende grote beveiligingsproblemen, architectuur en beveiligingsproblemen systeemhulpprogramma's UNIX.

In de loop van de tijd ontwikkelden toonaangevende UNIX-ontwikkelaars culturele ontwikkelingsnormen software, dat net zo belangrijk werd als UNIX zelf. ( )

Sociale rol in de gemeenschap van IT-professionals en historische rol

De oorspronkelijke UNIXen draaiden op grote computers voor meerdere gebruikers, die ook eigen besturingssystemen van de hardwarefabrikant aanboden, zoals RSX-11 en zijn afgeleide VMS. Ondanks het feit dat, volgens een aantal meningen, het toenmalige UNIX nadelen had ten opzichte van deze besturingssystemen (bijvoorbeeld het ontbreken van serieuze database-engines), was het a) goedkoper en soms gratis voor academische instellingen b) overdraagbaar vanaf apparatuur tot apparatuur, en ontwikkeld in de draagbare C-taal, waardoor programmaontwikkeling werd ‘losgekoppeld’ van specifieke hardware. 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. Het is bekend dat DEC commentaar heeft geleverd op deze kwestie met betrekking tot zijn VMS. Bedrijven luisterden hiernaar, maar de niet-academische omgeving, die alles had wat UNIX nodig had, had vaak geen behoefte aan officiële ondersteuning van de fabrikant, die het zelf deed, en waardeerde de lage kosten en draagbaarheid van UNIX.

UNIX was dus misschien wel de eerste draagbare computer diverse apparatuur Besturingssysteem.

De tweede grote opkomst van UNIX was de introductie van RISC-processors rond 1989. Zelfs daarvoor waren er zogenaamde. werkstations - krachtige persoonlijke computers voor één gebruiker met voldoende geheugen, harde schijf en een voldoende ontwikkeld besturingssysteem (multitasking, geheugenbescherming) om met serieuze applicaties, 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 68xxx-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 over te zetten naar deze architecturen, 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 de applicaties ervoor, die in deze ecosystemen vaak in assembler of in assembler werden ontwikkeld). in eigen talen type BLISS), en UNIX werd het meest gebruikte besturingssysteem krachtige computers in de wereld.

Op dat moment begon het pc-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 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 - bijvoorbeeld normale werking X11 vereiste 16 MB, terwijl Windows 3.1 dat nodig had voldoende prestaties zowel Word als Excel tegelijkertijd uitgevoerd in 8 MB (dit werd standaard maat PC-geheugen op dat moment). Bij hoge prijzen in het geheugen was dit de 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 nog steeds hetzelfde had architectonische kenmerken serieus besturingssysteem, zoals UNIX - multitasking, volledige geheugenbescherming, ondersteuning voor machines met meerdere processors, toegangsrechten tot bestanden en mappen, systeemlog. Windows NT introduceerde ook journaling NTFS-systeem, die qua mogelijkheden destijds alle standaard geleverde mogelijkheden overtrof UNIX-bestand analoge systemen voor UNIX waren slechts afzonderlijke commerciële producten van Veritas en anderen.

Hoewel Windows NT aanvankelijk niet populair was vanwege hoge eisen aan geheugen (dezelfde 16 MB), waardoor Microsoft de markt van serveroplossingen, bijvoorbeeld DBMS, kon betreden. Velen geloofden er destijds niet in Microsoft-kans, dat zich van oudsher specialiseerde in desktopsoftware, om een ​​speler te worden op de markt voor bedrijfssoftware, die al zijn eigen grote namen kende zoals Oracle en Sun. Bij deze twijfel kwam nog het feit dat Microsoft DBMS - SQL-server- begon als een vereenvoudigde versie van Sybase SQL Server, onder licentie van Sybase en 99% compatibel in alle aspecten van het werken ermee.

In de tweede helft van de jaren negentig begon Microsoft UNIX uit te persen op de markt voor bedrijfsservers.

De combinatie van de bovengenoemde factoren, evenals een enorme daling van de prijs van 3D-videoprocessors, die van professionele apparatuur naar thuisapparatuur gingen, hebben begin jaren 2000 het concept van een werkstation feitelijk tot een einde gemaakt.

Daarnaast systemen Microsoft is eenvoudiger in het management, vooral in typische scenario's gebruik.

Maar binnen op dit moment de derde scherpe opkomst van UNIX begon.

Bovendien ontwikkelden Stallman en zijn kameraden, zich er volledig van bewust dat het succes van niet-bedrijfssoftware niet-gepatenteerde ontwikkelingstools vereist, een reeks compilers voor verschillende programmeertalen (gcc), die, samen met de eerder ontwikkelde GNU-hulpprogramma's ( vervanging standaard nutsvoorzieningen UNIX) heeft een noodzakelijk en behoorlijk krachtig softwarepakket samengesteld voor een ontwikkelaar.

Om een ​​volledig vrije UNIX te creëren, ontbrak in wezen alleen de OS-kernel. En het is ontwikkeld door de Finse student Linus Torvalds. De kernel is “helemaal opnieuw” ontwikkeld en is, vanuit het oogpunt van de broncode, geen afgeleide van BSD of System V (hoewel er concepten werden geleend, Linux had bijvoorbeeld de functies namei en bread), vanwege een aantal nuances ( systeemoproepen, rich /proc, gebrek aan sysctk) - neigt meer naar het laatste.

  • POSIX 1003.2-1992, dat het gedrag van hulpprogramma's definieert, inclusief commando tolk;
  • POSIX 1003.1b-1993, een aanvulling op POSIX 1003.1-1988, specificeert ondersteuning voor real-time systemen;
  • POSIX 1003.1c-1995, een aanvulling op POSIX 1003.1-1988, definieert threads, ook wel pthreads genoemd.

Alle POSIX-standaarden zijn gecompileerd in IEEE 1003.

Om compatibiliteitsredenen hebben verschillende makers van UNIX-systemen voorgesteld om het ELF-formaat van het SVR4-systeem te gebruiken voor binaire en objectbestanden. Eén enkel formaat zorgt voor volledige compatibiliteit tussen binaire bestanden binnen dezelfde computerarchitectuur.

De mapstructuur van sommige systemen, in het bijzonder GNU/Linux, is gedefinieerd in de Filesystem Hierarchy Standard. Dit type standaard is echter in veel opzichten controversieel en is, zelfs binnen de GNU/Linux-gemeenschap, verre van universeel.

Standaard UNIX-opdrachten

  • Bestanden en mappen maken en navigeren: tik op , , , , , , pwd , , mkdir , rmdir , find , ;
  • Bestanden bekijken en bewerken: more , less , , ex, , emacs ;
  • Tekstverwerking: echo, cat, grep, sort, uniq, sed, awk, tee, head, tail, cut, split, printf;
  • Bestandsvergelijking: comm, cmp, diff, patch;
  • Verschillende shell-hulpprogramma's: ja, test, xargs, expr;
  • Systeembeheer: chmod , chown , , , , who , , mount , umount ;
  • Communicatie: mail, telnet, ftp, vinger, rsh, ssh;
  • Commandoshells: bash, csh, ksh, tcsh, zsh;
  • Werken met broncode en objectcode: cc, gcc, ld, , yacc, bison, lex, flex, ar, ranlib, make;
  • Compressie en archivering: comprimeren, decomprimeren, gzip, gunzip, tar
  • Werken met binaire bestanden: , snaren

Hieronder staat een lijst met de 60 opdrachten uit sectie 1 van de eerste versie van UNIX:

  • b, bas, bcd, boot
  • kat, chdir, controleren, chmod, chown, cmp,
  • datum , db, dbppt, , , dsw, dtf,
  • mail, mesg, mkdir, mkfs, mount,
  • rew, rkd, rkf, rkl, , rmdir, roff

Opmerkingen

Zie ook

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 zullen we een vereenvoudigde versie bekijken Linux-geschiedenis en Unix om u te helpen begrijpen wat ze zijn en hoe ze met elkaar verband houden. Zoals altijd kunt u vragen stellen of aanvullende informatie toevoegen in de opmerkingen.

Unix begon zijn geschiedenis eind jaren zestig en begin jaren zeventig bij 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 geporteerd verschillende apparaten en computerplatforms.

Terwijl Unix zich verder ontwikkelde, begon AT&T licenties te verkopen voor gebruik op universiteiten en ook voor commerciële doeleinden. Dit betekende dat niet iedereen, zoals nu, de code van het Unix-besturingssysteem vrijelijk kon wijzigen en verspreiden. Al snel begonnen er veel edities en varianten van het Unix-besturingssysteem te verschijnen, ontworpen om op te lossen diverse taken. 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 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 thuiscomputer met eenvoudiger hardware.

Tegenwoordig draait Linux op een groot aantal platforms, meer dan welk ander besturingssysteem dan ook. Dit zijn 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 zou niet compleet zijn zonder desktopomgeving en toepassingen. 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. Op dit moment het meest nieuwe versie 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 is voor mensen leesbare code, waarin de systeemconfiguratie afzonderlijk wordt opgeslagen tekstbestanden evenals het gebruik van klein gereedschap opdrachtregel, grafische schil en een sessiemanager.

Het is belangrijk op te merken dat niet alle Unix-achtige systemen UNIX-certificering hebben ontvangen. In een bepaalde context 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 ontworpen voor personal computers. En Unix richt zich vooral op grote werkstations en servers.
  • Tegenwoordig ondersteunt Linux meer platforms dan Unix.
  • Linux ondersteunt meer typen 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.

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 de taal hoog niveau(C), waardoor het toegankelijk is voor begrip, wijziging en overdracht 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 uitvoeringen, de basis van alles UNIX-familie is fundamenteel dezelfde architectuur en serie standaard interfaces

    , wat de overgang van gebruikers van het ene systeem naar het andere vereenvoudigt.

    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. Met behulp van één enkel hiërarchisch, eenvoudig te onderhouden bestandssysteem dat toegang biedt tot gegevens die zijn opgeslagen in bestanden op schijf en tot computerapparaten via uniforme interface

    bestandssysteem.

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 applicaties vragen om kernelservices via een oproepsysteem.

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

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, enz. 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 I/O-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 het proces in het secundaire geheugen (dat wil zeggen op de harde schijf) te plaatsen en naar RAM zoals nodig.

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.

), derde (GNU/Linux) en vele daaropvolgende plaatsen.

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.

Voorbeelden van bekende UNIX-achtige besturingssystemen zijn: BSD, Solaris, Linux, Android, MeeGo, NeXTSTEP, Mac OS X, Apple iOS.

Verhaal

Voorgangers

De eerste versies van UNIX zijn geschreven in assembleertaal en hadden geen ingebouwde taalcompiler 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. In 1972 werd de tweede editie van UNIX uitgebracht, herschreven in de Bi-taal. In 1969-1973 werd een gecompileerde taal ontwikkeld op basis van Bi, genaamd C (C).

Splitsen

Een belangrijke reden voor de splitsing van UNIX 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 de TLI-transportlaaginterface. Transportlaaginterface).

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 de markt snel over van commerciële UNIX-systemen en penetreren ze tegelijkertijd zowel desktopcomputers van eindgebruikers als mobiele en ingebedde systemen.

Eigen systemen

De invloed van UNIX op de evolutie van besturingssystemen

De ideeën die ten grondslag liggen aan UNIX hadden een enorme impact op de ontwikkeling van computerbesturingssystemen. Momenteel worden UNIX-systemen erkend als een van de historisch belangrijkste besturingssystemen.

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 de introductie 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 de beveiliging, architectuur en systeemhulpprogramma's van UNIX.

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

Sociale rol in de gemeenschap van IT-professionals en historische rol

De oorspronkelijke UNIXen draaiden op grote computers voor meerdere gebruikers, die ook eigen besturingssystemen van de hardwarefabrikant aanboden, zoals RSX-11 en zijn afgeleide VMS. Ondanks het feit dat, volgens een aantal meningen, het toenmalige UNIX nadelen had ten opzichte van deze besturingssystemen (bijvoorbeeld het ontbreken van serieuze database-engines), was het a) goedkoper en soms gratis voor academische instellingen b) overdraagbaar vanaf apparatuur tot apparatuur, en ontwikkeld in de draagbare C-taal, waardoor programmaontwikkeling werd ‘losgekoppeld’ van specifieke hardware. 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. Het is bekend dat DEC commentaar heeft geleverd op deze kwestie met betrekking tot zijn 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 kunnen 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 68xxx-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 over te zetten naar deze architecturen, 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 de applicaties ervoor, die in deze ecosystemen vaak in assembler of in assembler werden ontwikkeld). in eigen talen zoals BLISS), en UNIX werd het besturingssysteem voor de krachtigste computers ter wereld.

Op dat moment begon het pc-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 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 werd destijds de standaard pc-geheugengrootte). 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 NTFS-journaalbestandssysteem, dat destijds qua mogelijkheden alle bestandssystemen overtrof die standaard bij UNIX werden geleverd. UNIX-analogen 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 in het vermogen van Microsoft, traditioneel gespecialiseerd in desktopsoftware, om een ​​speler te zijn op de markt voor bedrijfssoftware, die al zijn eigen grote namen kende zoals Oracle en Sun. 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 uit te persen op de markt voor bedrijfsservers.

De combinatie van de bovengenoemde factoren, evenals een enorme daling van de prijs van 3D-videoprocessors, die van professionele apparatuur naar thuisapparatuur gingen, hebben begin jaren 2000 het concept van een werkstation feitelijk tot een einde gemaakt.

Daarnaast, Microsoft-systemen eenvoudiger te beheren, vooral in typische gebruikssituaties.

Maar UNIX is nu aan zijn derde dramatische opkomst begonnen.

Bovendien ontwikkelden Stallman en zijn kameraden, zich er volledig van bewust dat niet-gepatenteerde ontwikkelingstools nodig zijn voor het succes van niet-bedrijfssoftware, een reeks compilers voor verschillende programmeertalen (gcc), die, samen met de eerder ontwikkelde GNU hulpprogramma's (vervangt standaard UNIX-hulpprogramma's) heeft een noodzakelijk en behoorlijk krachtig softwarepakket voor de ontwikkelaar samengesteld.

Om een ​​volledig vrije UNIX te creëren, ontbrak in wezen alleen de OS-kernel. En het is ontwikkeld door de Finse student Linus Torvalds. De kernel is helemaal opnieuw ontwikkeld en is, vanuit het oogpunt van de broncode, geen afgeleide van BSD of System V (hoewel er concepten werden geleend, Linux had bijvoorbeeld de functies namei en bread), maar in een aantal gevallen van nuances (systeemoproepen, rich /proc, afwezigheid van sysctk) - neigt meer naar het laatste.

  • POSIX 1003.2-1992, dat het gedrag van hulpprogramma's definieert, inclusief de opdrachtinterpreter;
  • POSIX 1003.1b-1993, een aanvulling op POSIX 1003.1-1988, specificeert ondersteuning voor real-time systemen;
  • POSIX 1003.1c-1995, een aanvulling op POSIX 1003.1-1988, definieert threads, ook wel pthreads genoemd.

Alle POSIX-standaarden zijn gecompileerd in IEEE 1003.

Om compatibiliteitsredenen hebben verschillende makers van UNIX-systemen voorgesteld om het ELF-formaat van het SVR4-systeem te gebruiken voor binaire en objectbestanden. Eén enkel formaat zorgt voor volledige compatibiliteit tussen binaire bestanden binnen dezelfde computerarchitectuur.

De mapstructuur van sommige systemen, in het bijzonder GNU/Linux, is gedefinieerd in de Filesystem Hierarchy Standard. Dit type standaard is echter in veel opzichten controversieel en is, zelfs binnen de GNU/Linux-gemeenschap, verre van universeel.

Standaard UNIX-opdrachten

  • Bestanden en mappen maken en navigeren: tik op , , , , , , pwd , , mkdir , rmdir , find , ;
  • Bestanden bekijken en bewerken: more , less , , ex, , emacs ;
  • Tekstverwerking: echo, cat, grep, sort, uniq, sed, awk, tee, head, tail, cut, split, printf;
  • Bestandsvergelijking: comm, cmp, diff, patch;
  • Verschillende shell-hulpprogramma's: ja, test, xargs, expr;
  • Systeembeheer: chmod , chown , , , , who , , mount , umount ;
  • Communicatie: mail, telnet, ftp, vinger, rsh, ssh;
  • Commandoshells: bash, csh, ksh, tcsh, zsh;
  • Werken met broncode en objectcode: cc, gcc, ld, , yacc, bison, lex, flex, ar, ranlib, make;
  • Compressie en archivering: comprimeren, decomprimeren, gzip, gunzip, tar
  • Werken met binaire bestanden: , strings

Hieronder staat een lijst met de 60 opdrachten uit sectie 1 van de eerste versie van UNIX:

  • b, bas, bcd, boot
  • kat, chdir, controleren, chmod, chown, cmp,
  • datum , db, dbppt, , , dsw, dtf,
  • mail, mesg, mkdir, mkfs, mount,
  • rew, rkd, rkf, rkl, , rmdir, roff

Opmerkingen

Zie ook

Twee termen Linux en Unixlijken erg op elkaar en zijn vaak zelfs verward ervaren gebruikers. Laten we nog steeds het verschil tussen deze concepten verduidelijken en in welke gevallen ze moeten worden gebruikt. Laten we beginnen met de geschiedenis van Linux en Unix.

Geschiedenis van Uni x begon eind jaren zestig, het systeem werd aanvankelijk samen met MIT en General Electric ontwikkeld, maar toen besloten enkele ontwikkelaars hun eigen besturingssysteem te maken en in 1970 heette het Unix, waarna het werd herschreven in de programmeertaal C. Sinds die tijd werd het besturingssysteem zowel gratis als commercieel verspreid. Er verschenen nieuwe edities en varianten, waarvan BSD het populairst was.

Linux is qua functionaliteit vergelijkbaar met Unix, maar de codebasis is heel anders. Dit besturingssysteem is gemaakt uit twee projecten, waarvan er één GNU is en de tweede de Linux-kernel. Het doel van zo'n project is om een ​​systeem te creëren dat lijkt op Unix zelf, maar dat er niet van afhankelijk is. Met andere woorden: het was noodzakelijk om een ​​besturingssysteem te creëren dat vrij verspreid zou worden en zonder beperkingen aangepast zou kunnen worden. Linux is geïnspireerd door het Minix-systeem, een opvolger van Unix, maar de codebasis is helemaal opnieuw geschreven. Linux is ontworpen voor gebruik op gewone pc's, terwijl Unix werd gebruikt door grote bedrijven. Maar tegenwoordig werkt Linux uitstekend op de meeste platforms en kan het met veel tools worden geïntegreerd. Moderne Linux-distributies werken bijvoorbeeld soepel, zelfs met Windows-bestandssystemen - FAT32, NTFS. Hoe verscheen het Linux-symbool?

Wat is de essentie van Unix?

Deze term kan naar verschillende concepten tegelijk verwijzen:

  • een uniek besturingssysteem op basis waarvan andere besturingssystemen worden gemaakt en ontwikkeld;
  • een handelsmerk van The Open Group. Dit bedrijf ontwikkelt standaarden voor besturingssystemen Single UNIX Specification. Systemen die aan deze standaarden voldoen, kunnen juridisch Unix worden genoemd;
  • alle besturingssystemen die zijn geregistreerd onder de Unix-naam: AIX, A/UX, HP-UX, Inspur K-UX, Reliant UNIX, Solaris, IRIX, Tru64, UnixWare, z/OS en OS X.

Wat is de essentie van Linux?

  • het is een Unix-achtig besturingssysteem dat zich gedraagt ​​als Unix, maar de code ervan niet gebruikt;
  • beschikt niet over een Unix-certificaat, maar heeft veel overeenkomsten in functionaliteit;
  • implementeert veel principes van Unix-werking.

Hoe lijken Linux en Unix op elkaar?

Beide systemen hebben bovendien vergelijkbare principes van gegevensbeheer basiscommando's De bedieningselementen van het besturingssysteem zijn identiek. Op hetzelfde niveau zijn de systemen ook virusbestendig.

Belangrijkste verschillen tussen Linux en Unix?

Linux is een open source besturingssysteem dat gratis wordt verspreid, Unix - alleen de derivaten ervan zijn vrij beschikbaar. Linux kan een soort Unix-kloon worden genoemd die de code ervan niet gebruikt. Linux is oorspronkelijk ontwikkeld voor thuis-pc's en Unix voor grote bedrijven. Het is waar dat Linux tegenwoordig meer platforms ondersteunt dan Unix en populairder is onder gebruikers. En natuurlijk ondersteunt Linux meer soorten bestandssystemen dan Unix. Besturingssystemen gebaseerd op LINUX. ?

Vaak zijn deze concepten verward vanwege het feit dat ze verschillend geïnterpreteerd kunnen worden en verschillende dingen betekenen.Als we alle factoren in aanmerking nemen, is het Unix-besturingssysteem minder universeel, omdat elke distributie slechts is aangepast aan een bepaald aantal platforms en bestandssystemen, in tegenstelling tot Linux, dat in dit opzicht veel universeler is.

De verschillen tussen Linux en UNIX zijn aanzienlijk. UNIX is een breed concept, meer specifiek, een bepaalde basis voor de constructie en certificering van alle UNIX-achtige systemen, en Linux is een van de UNIX-achtige takken. Hoewel, als we rekening houden met de technologische factor, deze termen vrij dichtbij liggen. Veel software die voor Linux is gemaakt, kan bijvoorbeeld perfect worden aangepast om met het UNIX-besturingssysteem te werken. Het is niet nodig om de broncode te herschrijven. Bruikbaar Linux-opdrachten, wat u hieronder moet weten.

Als resultaat van dit artikel kunnen we de volgende volgorde geven:UNIX → UNIX-achtig besturingssysteem → Linux, wat grotendeels de consistentie en afhankelijkheid van beide besturingssystemen verklaart.

Basis Linux-verschillen en BSD.

Hyper Host™ wenst u succesvol en productief te werken met Linux en UNIX!

7699 keer Vandaag 2 keer bekeken