Hem Hjälpsamma ledtrådar Som är fullt implementerad i unix. Skillnader mellan UNIX och Linux. Användar-ID och användargrupper

Som är fullt implementerad i unix. Skillnader mellan UNIX och Linux. Användar-ID och användargrupper

Dessutom kan var och en av dem utföra många olika beräkningsprocesser som kommer att använda resurserna på just den här datorn.

Den andra kolossala fördelen med Unix är dess multiplattformskaraktär. Kärnan i systemet är utformad på ett sådant sätt att det enkelt kan anpassas till nästan vilken mikroprocessor som helst.

Unix har andra karakteristiska egenskaper:

  • använda enkla textfiler för att konfigurera och hantera systemet;
  • utbredd användning av verktyg som startas från kommandoraden;
  • interaktion med användaren genom en virtuell enhet - en terminal;
  • representation av fysiska och virtuella enheter och vissa medel för interprocesskommunikation i form av filer;
  • användningen av pipelines från flera program, som vart och ett utför en uppgift.

Ansökan

För närvarande distribueras Unix-system huvudsakligen bland servrar, och även som inbyggda system för olika utrustningar, inklusive smartphones. Unix-system dominerar också superdatorer, i synnerhet Linux är installerat på 100% av TOP500 superdatorer.

De första versionerna av Unix var skrivna i assemblerspråk och hade ingen inbyggd språkkompilator på hög nivå. Runt 1969 utvecklade och implementerade Ken Thompson, med hjälp av Dennis Ritchie, språket Bee (B), som var en förenklad (för implementering på minidatorer) version av BCPL-språket utvecklat i språket. Bi, liksom BCPL, var ett tolkat språk. Släppt 1972 andra upplagan Unix omskriven i B. Åren 1969-1973 på basis av Bi utvecklades ett sammanställt språk, kallat C (C).

Dela

En viktig orsak till splittringen i Unix var implementeringen 1980 av TCP/IP-protokollstacken. Dessförinnan var maskin-till-maskin-kommunikation i Unix i sin linda - den viktigaste kommunikationsmetoden var UUCP (ett sätt att kopiera filer från ett Unix-system till ett annat, som ursprungligen arbetade över telefonnätverk med modem).

Två programmeringsgränssnitt för nätverkstillämpningar har föreslagits: Berkley-sockets och TLI-transportlagergränssnittet (Transportlagergränssnitt).

Berkley-sockets-gränssnittet utvecklades vid University of Berkeley och använde TCP/IP-protokollstacken som utvecklades där. TLI skapades av AT&T enligt transportlagerdefinitionen för OSI-modellen och dök först upp i System V version 3. Även om denna version innehöll TLI och strömmar, implementerade den inte ursprungligen TCP/IP eller andra nätverksprotokoll, men sådana implementeringar tillhandahölls av tredje part..

Implementeringen av TCP/IP inkluderades officiellt och definitivt i basdistributionen av System V version 4. Detta, tillsammans med andra överväganden (främst marknadsföring), orsakade den slutliga gränsdragningen mellan de två grenarna av Unix - BSD (University of Berkeley) och System V (kommersiell version från AT&T). Därefter utvecklade många företag, efter att ha licensierat System V från AT&T, sina egna kommersiella smaker av Unix, såsom AIX, CLIX, HP-UX, IRIX, Solaris.

Moderna implementeringar av Unix är i allmänhet inte rena V- eller BSD-system. De implementerar funktioner från både System V och BSD.

Gratis Unix-liknande operativsystem

För tillfället tar GNU/Linux och medlemmar av BSD-familjen snabbt över marknaden från kommersiella Unix-system och infiltrerar samtidigt både slutanvändardatorer och mobila och inbyggda system.

Proprietära system

Sedan delningen av AT&T, Unix-varumärket och rättigheterna till den ursprungliga källkoden har bytt ägare flera gånger, särskilt de tillhörde Novell under lång tid.

Unix inflytande på utvecklingen av operativsystem

Unix-system är av stor historisk betydelse eftersom de har spridit några av dagens populära operativsystem och mjukvarukoncept och tillvägagångssätt. Under utvecklingen av Unix-system skapades också C-språket.

Ofta använt i systemprogrammering, C-språket, som ursprungligen skapades för utvecklingen av Unix, har överträffat Unix i popularitet. C-språket var det första "toleranta" språket som inte försökte tvinga en programmeringsstil på programmeraren. C var det första språket på hög nivå som gav tillgång till alla funktioner i processorn, såsom referenser, tabeller, bitförskjutningar, inkrement etc. Å andra sidan ledde C-språkets frihet till buffertspillfel i sådana standard C-bibliotek fungerar som gets och scanf. Många ökända sårbarheter resulterade, som den som utnyttjades i den berömda Morris-masken.

De tidiga utvecklarna av Unix bidrog till införandet av principerna för modulär programmering och återanvändning i ingenjörspraktik.

Unix gjorde det möjligt att använda TCP/IP-protokollen på relativt billiga datorer, vilket ledde till snabb tillväxt Internet. Detta bidrog i sin tur till den snabba upptäckten av flera stora sårbarheter i Unix säkerhet, arkitektur och systemverktyg.

Med tiden utvecklades ledande Unix-utvecklare kulturella normer utveckling programvara, som har blivit lika viktiga som Unix själv. ( )

Några av de mest kända exemplen på Unix-liknande operativsystem är macOS, Solaris, BSD och NeXTSTEP.

Social roll i den professionella IT-gemenskapen och historisk roll

Den ursprungliga Unixen kördes på stora fleranvändardatorer, som också erbjöd proprietära operativsystem från hårdvarutillverkaren, såsom RSX-11 och dess ättling VMS. Trots att det enligt en rad åsikter [ vars?] dåvarande Unix hade nackdelar jämfört med dessa operativsystem (till exempel bristen på seriösa databasmotorer), det var: a) billigare och ibland gratis för akademiska institutioner; b) portades från hårdvara till hårdvara och utvecklades i ett bärbart C-språk, som "frikopplade" mjukvaruutveckling från specifik hårdvara. Dessutom visade sig användarupplevelsen vara "obunden" från utrustningen och tillverkaren - en person som arbetade med Unix på VAX arbetade lätt med den på 68xxx och så vidare.

Hårdvarutillverkare på den tiden var ofta coola med Unix, betraktade det som en leksak och erbjöd sitt proprietära operativsystem för seriöst arbete - främst DBMS och affärsapplikationer baserade på dem i kommersiella strukturer. Det finns kända kommentarer om detta från DEC angående dess VMS. Företag lyssnade på detta, men inte den akademiska miljön, som hade allt för sig själv i Unix, krävde ofta inte officiellt stöd från tillverkaren, skötte sig på egen hand och uppskattade det billiga och portabiliteten med Unix. Således var Unix kanske det första operativsystemet som var portabelt till annan hårdvara.

Den andra stora ökningen av Unix var introduktionen av RISC-processorer runt 1989. Redan dessförinnan fanns det sk. arbetsstationer - kraftfulla personliga enanvändardatorer med tillräckligt med minne, hårddisk och tillräckligt utvecklat operativsystem (multitasking, minnesskydd) för att fungera med seriösa ansökningar, såsom CAD:er. Bland tillverkarna av sådana maskiner stack Sun Microsystems ut och gjorde sig ett namn på dem.

Före tillkomsten av RISC-processorer använde dessa stationer vanligtvis Motorola 680x0-processorn, samma som i Apple-datorer (om än under ett mer avancerat operativsystem än Apples). Runt 1989 dök kommersiella implementeringar av RISC-arkitekturprocessorer upp på marknaden. Det logiska beslutet av ett antal företag (Sun och andra) var att porta Unix till dessa arkitekturer, vilket omedelbart ledde till porteringen av hela Unix mjukvaruekosystem.

Proprietära seriösa operativsystem, som VMS, började sin nedgång från detta ögonblick (även om det var möjligt att porta själva operativsystemet till RISC, var allt mycket mer komplicerat med applikationer för det, som i dessa ekosystem ofta utvecklades i assembler eller på proprietära språk som BLISS), och Unix blev operativsystemet för de mest kraftfulla datorerna i världen.

Men runt denna tid började ekosystemet röra sig mot GUI i form av Windows 3.0. De enorma fördelarna med GUI, såväl som till exempel enhetligt stöd för alla typer av skrivare, uppskattades av både utvecklare och användare. Detta undergrävde i hög grad Unix ställning på PC-marknaden - implementeringar som SCO och Interactive UNIX klarade inte av att stödja Windows-applikationer. När det gäller GUI för Unix, kallat X11 (det fanns andra implementeringar, mycket mindre populära), kunde det inte köras fullt ut på en vanlig användares PC på grund av minneskrav - X11 krävde 16 MB för normal drift, medan Windows 3.1 med tillräcklig prestanda för att kör både Word och Excel samtidigt i 8 MB (detta var standardstorleken på PC-minnet vid den tiden). Med höga minnespriser var detta den begränsande faktorn.

Framgången med Windows gav impulser till ett internt Microsoft-projekt kallat Windows NT, som var kompatibelt med Windows av API, men som samtidigt hade samma arkitektoniska egenskaper som ett seriöst operativsystem som Unix - multitasking, fullt minnesskydd, stöd för multiprocessor maskiner, filbehörigheter och kataloger, systemlogg. Windows NT introducerade också NTFS journaling filsystem, som vid den tiden översteg alla filsystem som standard levereras med Unix när det gäller kapacitet - analoger för Unix var bara separata kommersiella produkter från Veritas och andra.

Även om Windows NT från början inte var populärt, på grund av dess höga minneskrav (samma 16 MB), tillät det Microsoft att komma in på marknaden för serverlösningar, som DBMS. Många vid den tiden trodde inte på förmågan hos Microsoft, traditionellt specialiserat på datorprogramvara, att vara en aktör på marknaden för företagsprogramvaror, som redan hade stora namn som Oracle och Sun. Till detta tvivel lades det faktum att Microsofts DBMS - SQL Server - började som en förenklad version av Sybase SQL Server, licensierad från Sybase och 99 % kompatibel i alla aspekter av att arbeta med den.

Under andra hälften av 1990-talet började Microsoft också driva in Unix på företagsservermarknaden.

Kombinationen av ovanstående faktorer, såväl som prisfallet på 3D-videokontroller, som har blivit hem från professionell utrustning, dödade i huvudsak själva konceptet med arbetsstation i början av 2000-talet.

Dessutom är Microsoft-system lättare att hantera, särskilt i typiska användningsfall.

Men i det här ögonblicket den tredje kraftiga uppgången av Unix började.

Dessutom var Stallman och hans kamrater väl medvetna om att proprietära utvecklingsverktyg inte var lämpliga för framgången för icke-företagsmjukvara. Därför utvecklade de en uppsättning kompilatorer för olika programmeringsspråk (gcc), som tillsammans med de tidigare utvecklade GNU-verktygen (som ersätter de vanliga Unix-verktygen), utgjorde ett nödvändigt och ganska kraftfullt mjukvarupaket för utvecklaren.

En seriös konkurrent till Linux på den tiden var FreeBSD, dock "katedral"-stilen för utvecklingshantering i motsats till "basar"-stilen för Linux, såväl som mycket mer teknisk arkaism i sådana frågor som stöd för multiprocessormaskiner och körbara filer format, bromsade kraftigt utvecklingen av FreeBSD jämfört med Linux, vilket gjorde det senare till flaggskeppet för den fria mjukvaruvärlden.

I framtiden nådde Linux fler och fler höjder:

  • portera seriösa egna produkter som Oracle;
  • IBM:s seriösa intresse för detta ekosystem som grunden för dess vertikala lösningar;
  • utseendet på analoger av nästan alla välbekanta program från Windows-världen;
  • vägran från vissa hårdvarutillverkare från den obligatoriska förinstallationen av Windows;
  • lanseringen av netbooks med endast Linux;
  • använda som en kärna i Android.

För tillfället är Linux ett välförtjänt populärt OS för servrar, även om det är mycket mindre populärt på stationära datorer.

Några arkitektoniska funktioner i Unix OS

Unix-funktioner som skiljer denna familj från andra operativsystem listas nedan.

  • Filsystemet är trädlikt, skiftlägeskänsligt i namn, mycket svaga begränsningar för längden på namn och sökvägar.
  • Det finns inget stöd för strukturerade filer av OS-kärnan; på nivån för systemanrop är en fil en ström av byte.
  • Kommandoraden finns i adressutrymmet för den process som startas och hämtas inte av ett systemanrop från kommandotolkprocessen (som till exempel händer i RSX-11).
  • Begreppet "miljövariabler".
  • Starta processer genom att anropa fork(), det vill säga möjligheten att klona den aktuella processen med alla tillstånd.
  • Begreppen stdin/stdout/stderr.
  • I/O endast via filbeskrivningar.
  • Traditionellt mycket svagt stöd för asynkron I/O jämfört med VMS och Windows NT.
  • Kommandotolken är en vanlig applikation som kommunicerar med kärnan med vanliga systemanrop (i RSX-11 och VMS kördes kommandotolken som särskild ansökan, speciellt tilldelad i minnet, med hjälp av speciella systemanrop, stöddes också systemanrop, vilket gjorde att applikationen fick åtkomst till sin överordnade kommandotolk).
  • Ett kommandoradskommando är inget annat än namnet på en programfil, ingen speciell registrering och speciell utveckling av program som kommandon krävs (vilket var vanligt i RSX-11, RT-11).
  • Tillvägagångssättet med ett program som frågar användaren om dess driftsätt accepteras inte, istället används kommandoradsparametrar (i VMS, RSX-11, RT-11-program fungerade också med kommandorad, men i dess frånvaro utfärdades en begäran om att ange parametrar).
  • Ett enhetsnamnområde på disken i /dev-katalogen som kan hanteras av en administratör, till skillnad från Windows-metoden, där detta namnutrymme finns i kärnminnet, och administration av detta namnutrymme (till exempel ställa in behörigheter) är extremt svårt på grund av brist på permanent lagring på diskar (byggs varje gång du startar).
  • Omfattande användning av textfiler för att lagra inställningar, till skillnad från en binär inställningsdatabas, som i Windows.
  • Utbredd användning av textbehandlingsverktyg för att utföra vardagliga uppgifter under kontroll av skript.
  • "Marknadsföring" av operativsystemet efter att ha laddat kärnan genom att köra skript med en standardkommandotolk.
  • Bred användning

Kort information om utvecklingen av UNIX OS

Operativsystemet UNIX dök upp i slutet av 60-talet som ett operativsystem för minidatorn PDP-7. Ett aktivt deltagande i utvecklingen togs av Kenneth Thomson och Dennis Ritchie.

Funktioner i UNIX OS är: fleranvändarläge, ny filsystemsarkitektur, etc.

1973 skrevs det mesta av OS-kärnan om till det nya C-språket.

Sedan 1974 har UNIX-operativsystemet distribuerats i amerikanska universitet i källkod.

UNIX-versioner

Ända sedan spridningen av UNIX i amerikanska universitet olika versioner av operativsystemet började dyka upp.

För att effektivisera, kombinerade AT&T 1982 flera versioner till en som kallas OS-versionen - System III. 1983 släpptes en kommersiell version, System V. 1993 sålde AT&T sina rättigheter till UNIX till Novell, som vidare till X/Open-konsortiet och Santa Cruz Operation (SCO).

En annan linje av UNIX OS, BSD, utvecklas vid University of California (Berkeley). Det finns gratisversioner av FreeBSD, OpenBSD.

OSF / 1-familjen - Open Software Foundation - inkluderar OS-konsortiet av IBM, DEC och Hewlett Packard. Operativsystemen i denna familj inkluderar HP-UX, AIX, Digital UNIX.

Gratisversioner av UNIX-familjens OS

Det finns många gratisversioner av UNIX.

FreeBSD, NetBSD, OpenBSD- varianter utvecklade på basis av BSD OS.

Den mest populära familjen av gratis UNIX-system är familjens system linux. Den första varianten av Linux utvecklades av Linus Torvalds 1991. För närvarande finns det flera varianter Linux: Red Hat, Mandrake, Slackware, SuSE, Debian.

Allmänna egenskaper hos UNIX-system

Olika alternativ UNIX delar ett antal gemensamma funktioner:

Time-sharing multiprogram-behandling baserad på förebyggande multitasking;

Stöd för flerspelarläge;

Användning av mekanismer virtuellt minne och byta;

Hierarkiskt filsystem;

Enhet av in-/utdataoperationer baserat på utökad användning av begreppet fil;

Systemportabilitet;

Tillgänglighet av nätverksmedel för interaktion.

Fördelar med UNIX-system

Bland fördelarna med UNIX-familjen av operativsystem inkluderar:



bärbarhet;

Effektiv implementering av multitasking;

öppenhet;

Tillgänglighet och strikt efterlevnad av standarder;

Enat filsystem;

Kraftfullt kommandospråk;

Närvaron av ett betydande antal mjukvaruprodukter;

Implementering av TCP/IP-protokollstacken;

Förmåga att arbeta som server eller arbetsstation.

UNIX-baserade servrar

Server - en dator som behandlar förfrågningar från andra datorer i nätverket och tillhandahåller sina egna resurser för att lagra, bearbeta och överföra data. En UNIX-baserad server kan utföra följande roller:

Fil server;

webbserver;

Mejl server;

Fjärrregistreringsserver (autentisering);

Auxiliary Web Services-servrar (DNS, DHCP);

Internetåtkomstserver

Hantera en UNIX-dator

När man arbetar med ett UNIX-system i serverläge används som regel läget fjärråtkomst med något terminalprogram.

Sessionen börjar med att ange inloggningsnamn och åtkomstlösenord

För att lösa serverhanteringsuppgifter är de ofta begränsade till kommandoläget. I det här fallet används inmatningen av specialkommandon till kommandoraden i ett speciellt format för kontroll. Kommandoraden har en speciell prompt som:

Allmän syn på laget:

  1. -bash-2.05b$ kommando [alternativ] [alternativ]

Till exempel, ett anrop till OS-hjälpen ser ut så här:

  1. -bash-2.05b$ man [alternativ] [ämne]
  2. För hjälp med att använda kommandot man, skriv
  3. -bash-2.05b$ man man

Kommandoradstolkning

Följande konventioner används när du anger kommandon:

Det första ordet på kommandoraden är namnet på kommandot;

Resten av orden är argument.

Bland argumenten finns det nycklar (alternativ) - ord (tecken) fördefinierade för varje kommando, som börjar med ett (kort format) eller ett par bindestreck (långt format). Till exempel:

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

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

Vid inställning av alternativ kan de kombineras. Till exempel är följande kommandon likvärdiga:

Bash-2.05b$ ls -a -l

bash-2.05b$ ls -l -a

Bash-2.05b$ ls -al

De andra argumenten pekar på de objekt som operationerna utförs på.

Skalvariabler

När man arbetar i systemet finns det ett sätt att skicka parametrar till program, förutom att använda skalswitchar, med hjälp av miljövariabler. Kommandot set används för att ställa in en miljövariabel. Kommandoformat:

Bash-2.05b$ set varname=value

Att ta bort en miljövariabel görs med kommandot unset.

För att komma åt värdet på en variabel används notationen $variabelnamn, till exempel kommandot:

bash-2.05b$ eko $PATH

Visar värdet på PATH-variabeln.

Vad är Unix (för nybörjare)


Dmitry Y. Karpov


Vad pratar jag om?


Detta opus gör inte anspråk på att vara komplett. Dessutom, för enkelhetens skull, har vissa detaljer medvetet utelämnats. Till en början var cykeln tänkt som en FAQ (FAQ - ofta ställda frågor), men tydligen kommer det att visa sig vara en "Ung soldatkurs" eller "Sergeant's School".

Jag försökte ge en jämförande beskrivning av olika operativsystem– det är detta som enligt min mening saknas i de flesta läroböcker och tekniska manualer.

Utan att vänta på exponering från erfarna Unix "oider gör jag en frivillig bekännelse - jag kan inte påstå att jag är en stor Unix-kännare, och min kunskap är främst kring FreeBSD. Jag hoppas att detta inte stör.

Den här filen kommer att vara i tillståndet "under konstruktion" under en lång tid. :-)

Vad är Unix?


Unix är ett komplett, inbyggt multi-användar, multi-tasking och multi-terminal operativsystem. Mer exakt är detta en hel familj av system, nästan helt kompatibel vän med en vän på källkodsnivå.

Vad är Unix och vilka maskiner kör de på?


Den här listan gör inte anspråk på att vara komplett, för förutom de listade finns det många fler mindre vanliga Unix "s och Unix-liknande system, för att inte tala om gamla Unix" för föråldrade maskiner.

Konventionellt kan vi särskilja System V- och Berkeley-familjerna. System V (uttalas "System Five") har flera varianter, den senaste såvitt jag vet är System V Release 4. Berkeley University är känt inte bara för att utveckla BSD, utan för de flesta av Internetprotokollen. Men många Unixar kombinerar funktioner i båda systemen.

Var får man gratis Unix?


  • BSD-familj: FreeBSD, NetBSD, OpenBSD.
  • Linux-familj: RedHat, SlackWare, Debian, Caldera,
  • SCO och Solaris är tillgängliga gratis för icke-kommersiell användning (främst för läroinstitut).

    Vilka är de största skillnaderna mellan Unix och andra operativsystem?


    Unix består av en kärna med inkluderade drivrutiner och verktyg (program utanför kärnan). Om du behöver ändra konfigurationen (lägga till en enhet, ändra en port eller avbryta), så byggs kärnan om (återlänkas) från objektmoduler eller (till exempel i FreeBSD) från källor. /* Detta är inte helt sant. Vissa parametrar kan korrigeras utan att byggas om. Det finns även laddningsbara kärnmoduler. */

    I motsats till Unix, i Windows (om det inte är specificerat vilken, då menar vi 3.11, 95 och NT) och OS / 2, när de laddas, länkar de faktiskt drivrutiner på språng. Samtidigt är kompaktheten hos assembled kernel och återanvändning av gemensam kod är en storleksordning lägre än. Om systemkonfigurationen är oförändrad, kan Unix-kärnan skrivas till ROM och köras _icke_bootad_ in i RAM-minnet utan omarbetning (du behöver bara ändra startdelen av BIOS) Kodens kompakthet är särskilt viktig, eftersom kärnan och drivrutinerna aldrig lämnar det fysiska minnet byts inte till disk.

    Unix är det mest multiplattformsoperativa operativsystemet. WindowsNT försöker imitera det, men hittills har det inte lyckats - efter att ha övergett MIPS och POWER-PC, stannade W "NT kvar på bara två plattformar - den traditionella i * 86 och DEC Alpha. Naturligtvis, portabilitet av program från en version av Unix till en annan är begränsad. Slarvigt ett skrivet program som inte tar hänsyn till skillnader i Unix-implementationer, som gör orimliga antaganden som "en heltalsvariabel bör uppta fyra byte", kan kräva allvarlig omarbetning, men det är fortfarande många storleksordningar lättare än att till exempel porta från OS / 2 till NT.

    Varför Unix?


    Unix används både som server och som arbetsstation. I servernomineringen konkurrerar MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect, DEC VMS och stordatoroperativsystem med den. Varje system har sitt eget användningsområde där det är bättre än andra.

  • WindowsNT är för administratörer som föredrar ett välbekant gränssnitt framför kostnadsbesparingar och hög prestanda.
  • Nätprogram - för nätverk där högpresterande fil- och skrivartjänster behövs och andra tjänster inte är så viktiga. Största nackdelen– Det är svårt att köra applikationer på Netware-servern.
  • OS / 2 är bra där du behöver en "lätt" applikationsserver. Det kräver mindre resurser än NT, är mer flexibelt i hanteringen (även om det kan vara svårare att sätta upp), och multitasking är mycket bra. Auktorisering och differentiering av åtkomsträttigheter implementeras inte på OS-nivå, vilket mer än lönar sig genom implementering på applikationsservrarnas nivå. (Men ofta gör andra operativsystem samma sak). Många FIDOnet- och BBS-stationer är baserade på OS/2.
  • VMS är en kraftfull, inte på något sätt sämre än Unix (och på många sätt överlägsen den) applikationsserver, utan endast för DEC:s VAX- och Alpha-plattformar.
  • Stordatorer - för att betjäna ett mycket stort antal användare (i storleksordningen flera tusen). Men dessa användares arbete är vanligtvis organiserat i form av inte en klient-server-interaktion, utan i form av en värdterminal. Terminalen i detta par är snarare inte en klient, utan en server (Internet World, N3 för 1996). Fördelarna med stordatorer inkluderar högre säkerhet och feltolerans, och nackdelarna är priset som motsvarar dessa egenskaper.

    Unix är bra för den skickliga (eller som vill vara) administratören, eftersom kräver kunskap om principerna för funktionen av de processer som sker i den. Verklig multitasking och delning av hårdminne säkerställer hög tillförlitlighet hos systemet, även om Unix prestanda för fil- och utskriftstjänster är sämre än Netware.

    Bristen på flexibilitet när det gäller att ge användarna åtkomsträttigheter till filer jämfört med WindowsNT gör det svårt att organisera gruppåtkomst _på_filsystem_nivå till data (mer exakt, till filer), vilket, enligt min mening, uppvägs av enkel implementering, vilket innebär mindre hårdvara krav. Applikationer som SQL Server löser dock problemet med gruppåtkomst till data på egen hand, så möjligheten att neka åtkomst till en _fil_ för en specifik användare, som saknas i Unix, är helt klart överflödig enligt mig.

    Nästan alla protokoll som Internet är baserat på utvecklades under Unix, i synnerhet TCP/IP-protokollstacken uppfanns vid Berkeley University.

    Unix säkerhet, när den administreras på rätt sätt (och när den inte är det?), är inte på något sätt sämre än vare sig Novell eller WindowsNT.

    En viktig egenskap hos Unix som för den närmare stordatorer är dess multi-terminalitet, många användare kan samtidigt köra program på samma Unix-maskin. Om du inte behöver använda grafik kan du klara dig med billiga textterminaler (specialiserade eller baserade på billiga datorer) kopplade över långsamma linjer. I detta är det bara VMS som konkurrerar med det. Grafiska X-terminaler kan också användas när fönster med processer som körs på olika maskiner finns på samma skärm.

    I arbetsstationsnomineringen konkurrerar Unix med MS Windows*, IBM OS/2, Macintosh och Acorn RISC-OS.

  • Windows - för dem som värdesätter kompatibilitet framför effektivitet; för dem som är redo att köpa en stor mängd minne, diskutrymme och megahertz; för den som gillar att inte fördjupa sig i essensen, klicka på knapparna i fönstret. Det är sant, förr eller senare måste du fortfarande studera principerna för systemet och protokollen, men då kommer det att vara för sent - valet är gjort. Viktig fördelen med Windows man måste också inse möjligheten att stjäla en massa mjukvara.
  • OS/2 - för fans av OS/2. :-) Även om OS / 2 enligt vissa rapporter interagerar bättre än andra med stordatorer och IBM-nätverk.
  • Macintosh - för grafik, publicering och musikaliska verk, såväl som för dem som älskar ett tydligt, vackert gränssnitt och inte vill (kan inte) förstå detaljerna i systemet.
  • RISC-OS, blinkat i ROM, låter dig inte slösa tid på att installera operativsystemet och återställa det efter fel. Dessutom använder nästan alla program under den resurser mycket ekonomiskt, så de behöver inte bytas och fungerar mycket snabbt.

    Unix fungerar både på PC och på kraftfulla arbetsstationer med RISC-processorer, riktigt kraftfulla CAD-system och geografiska informationssystem skrivs under Unix. Skalbarheten hos Unix, på grund av dess multiplattformskaraktär, är en storleksordning överlägsen alla andra operativsystem som jag känner till.

    Grundläggande Unix-koncept


    Unix bygger på två grundläggande koncept: "process" och "fil". Processer är den dynamiska sidan av systemet, de är subjekt; och filer - statisk, dessa är objekten för processerna. Nästan hela gränssnittet mellan processer som interagerar med kärnan och med varandra ser ut som att skriva/läsa filer. /* Även om vi behöver lägga till saker som signaler, delat minne och semaforer. */

    Processer ska inte förväxlas med program - ett program (vanligtvis med olika data) kan köras i olika processer. Processer kan grovt delas in i två typer - uppgifter och demoner. En uppgift är en process som gör sitt arbete, försöker avsluta den så snart som möjligt och slutföra den. Demonen väntar på händelserna den behöver bearbeta, bearbetar händelserna som har inträffat och väntar igen; den slutar vanligtvis i ordningen för en annan process, oftast dödas den av användaren genom att ge kommandot "döda processnummer". /* I denna mening visar det sig att en interaktiv uppgift som bearbetar användarinmatning är mer som en demon än en uppgift. :-) */

    Filsystem


    I de gamla Unix "s tilldelades 14 bokstäver till namnet, i de nya togs denna begränsning bort. I katalogen, förutom filnamnet, finns det dess inodidentifierare - ett heltal som bestämmer blockets nummer som filattributen registreras i. Bland dem: användarnummer - filens ägare, nummergrupper Antal referenser till filen (se nedan) Datum och tid för skapande, senaste ändring och senaste åtkomst till filen Åtkomstattribut Åtkomstattribut innehålla typen av fil (se nedan), attribut för att ändra rättigheter vid start (se nedan) och rättigheter till åtkomst till den för ägaren, klasskamraten och andra för att läsa, skriva och köra. Rätten att radera en fil bestäms av rätt att skriva till den överliggande katalogen.

    Varje fil (men inte en katalog) kan vara känd under flera namn, men de måste vara på samma partition. Alla länkar till filen är lika; filen raderas när den sista länken till filen tas bort. Om filen är öppen (för läsning och/eller skrivning) ökar antalet länkar till den med en till; det här är hur många program som öppnar en temporär fil raderar den direkt så att om de kraschar, när operativsystemet stänger filerna som öppnats av processen, kommer denna temporära fil att raderas av operativsystemet.

    Det finns en annan intressant funktion i filsystemet: om, efter att filen skapats, skrivning till den inte var i rad, utan med stora intervall, tilldelas inget diskutrymme för dessa intervall. Således kan den totala volymen av filer i en partition vara större än volymen på partitionen, och när en sådan fil raderas frigörs mindre utrymme än dess storlek.

    Filer är av följande typer:

    • vanlig direktåtkomstfil;
    • katalog (fil som innehåller namn och identifierare för andra filer);
    • symbolisk länk (sträng med namnet på en annan fil);
    • blockeringsanordning (skiva eller magnetband);
    • seriell enhet (terminaler, seriella och parallella portar; diskar och band har också ett seriellt enhetsgränssnitt)
    • namngiven kanal.

    Specialfiler för att arbeta med enheter finns vanligtvis i /dev-katalogen. Här är några av dem (i FreeBSD-nomineringen):

    • tty* - terminaler, inklusive:
      • ttyv - virtuell konsol;
      • ttyd - DialIn-terminal (vanligtvis en seriell port);
      • cuaa - DialOut-linje
      • ttyp - nätverk pseudoterminal;
      • tty - terminalen som uppgiften är associerad med;
    • wd* - hårddiskar och deras underavdelningar, inklusive:
      • wd - hårddisk;
      • wds - partition av denna disk (här kallad "slice");
      • wds - partitionssektion;
    • fd - diskett;
    • rwd*, rfd* - samma som wd* och fd*, men med sekventiell åtkomst;

    Ibland krävs det att ett program som startas av en användare inte har rättigheterna för användaren som startade det, utan något annat. I det här fallet är attributet för ändringsrättigheter satt till rättigheterna för användaren - ägaren av programmet. (Som exempel kommer jag att ge ett program som läser en fil med frågor och svar och, utifrån vad den läser, testar eleven som startat detta program. Programmet ska ha rätt att läsa filen med svar, men eleven vem som startade det borde inte.) Till exempel fungerar passwd-programmet, med vilket användaren kan ändra sitt lösenord. Användaren kan köra passwd-programmet, den kan göra ändringar i systemdatabasen - men det kan användaren inte.

    Till skillnad från DOS, där det fullständiga filnamnet ser ut som "enhet:\sökväg\namn", och RISC-OS, där det ser ut som "-file_system-enhet:$.sökväg.namn" (som generellt har sina fördelar), använder Unix transparent "/sökväg/namn" notation. Roten mäts från partitionen från vilken Unix-kärnan laddades. Om vi ​​ska använda en annan partition (och startpartitionen innehåller vanligtvis bara det väsentliga för att starta), används kommandot `mount /dev/partitionfile dir`. Samtidigt blir filer och underkataloger som tidigare fanns i den här katalogen otillgängliga tills partitionen avmonteras (naturligtvis använder alla normala människor tomma kataloger för att montera partitioner). Endast arbetsledaren har rätt att montera och avmontera.

    Vid uppstart kan varje process förvänta sig att ha tre filer öppna för den, som den känner till som standardinmatning stdin vid deskriptor 0; standardutgångsstdout på deskriptor 1; och standardutgång stderr på descriptor 2. När användaren är inloggad, när användaren anger ett användarnamn och lösenord och skalet startas, dirigeras alla tre till /dev/tty; senare kan vilken som helst av dem omdirigeras till vilken fil som helst.

    kommandotolk


    Unix kommer nästan alltid med två skal, sh (skal) och csh (ett C-liknande skal). Utöver dem finns det också bash (Bourne), ksh (Korn) och andra. Utan att gå in på detaljer, här är de allmänna principerna:

    Alla kommandon förutom att ändra den aktuella katalogen, ställa in miljövariabler (miljö) och operatörer strukturerad programmering- externa program. Dessa program finns vanligtvis i katalogerna /bin och /usr/bin. Program systemadministration- i katalogerna /sbin och /usr/sbin.

    Kommandot består av namnet på programmet som ska startas och argument. Argument är separerade från kommandonamnet och från varandra med mellanslag och tabbar. Vissa specialtecken tolkas av själva skalet. Specialtecknen är " " ` \ ! $ ^ * ? | & ; (vad mer?).

    Du kan ge flera kommandon på samma kommandorad. Lag kan delas upp; (sekventiell kommandoexekvering), & (asynkron samtidig kommandoexekvering), | (synkron exekvering, stdout för det första kommandot matas till stdin för det andra).

    Du kan också ta standardinmatning från en fil genom att inkludera "<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">file" (filen nollställs) eller ">>file" (skrivningen kommer att göras till slutet av filen). Programmet i sig kommer inte att ta emot detta argument; för att veta att indata eller utdata har omtilldelats, programmet måste själv ta några mycket icke-triviala gester.

    Manualer - man


    Om du behöver information om något kommando, utfärda kommandot "man command_name". Detta kommer att visas på skärmen genom programmet "mer" - se hur du hanterar det på din Unix med kommandot `man more`.

    Ytterligare dokumentation

  • UNIX- en familj av bärbara, multi-tasking och multi-användar operativsystem.

    Idéerna bakom UNIX hade en enorm inverkan på utvecklingen av datoroperativsystem. UNIX-system anses nu vara ett av de historiskt sett viktigaste operativsystemen.

    Recension

    Det första UNIX-systemet utvecklades av Bell Labs division av AT&T. Sedan dess har ett stort antal olika UNIX-system skapats. Endast de operativsystem som har certifierats enligt Single UNIX specifikationen har lagligen rätt att kallas "UNIX". Resten, även om de använder liknande koncept och teknologier, kallas UNIX-liknande operativsystem (eng. UNIX-liknande). För korthetens skull hänvisar UNIX-system i den här artikeln till både verkliga UNIX- och UNIX-liknande operativsystem.

    Egenheter

    Den största skillnaden mellan UNIX-liknande system och andra operativsystem är att de till sin natur är multi-användar multi-tasking system. Det vill säga, samtidigt kan många människor utföra många datoruppgifter (processer) samtidigt. Även det världsberömda Microsoft Windows-systemet kan inte kallas ett fullfjädrat fleranvändarsystem, eftersom förutom vissa serverversioner bara en person kan arbeta på en Windows-dator samtidigt. Många människor kan arbeta med Unix på en gång, och var och en av dem kan utföra många olika beräkningsprocesser som kommer att använda resurserna i just den här datorn.

    Den andra kolossala fördelen med Unix är dess multiplattformskaraktär. Kärnan i systemet är utformad på ett sådant sätt att det enkelt kan anpassas till nästan vilken mikroprocessor som helst.

    UNIX har andra karakteristiska egenskaper:

    • använda enkla textfiler för att konfigurera och hantera systemet;
    • utbredd användning av verktyg som startas från kommandoraden;
    • interaktion med användaren genom en virtuell enhet - en terminal;
    • representation av fysiska och virtuella enheter och vissa medel för interprocesskommunikation i form av filer;
    • användningen av pipelines från flera program, som vart och ett utför en uppgift.

    Ansökan

    För närvarande distribueras UNIX-system huvudsakligen mellan servrar, samt inbyggda system för olika utrustningar. Bland OS för arbetsstationer och hemmabruk UNIX och UNIX-liknande operativsystem är andra (macOS), tredje (GNU/Linux) och många andra efter Microsoft Windows när det gäller popularitet.

    Berättelse

    föregångare

    De första versionerna av UNIX skrevs i assemblerspråk och hade ingen inbyggd kompilator med ett högnivåspråk. Runt 1969 utvecklade och implementerade Ken Thompson, med hjälp av Dennis Ritchie, språket Bee (B), som var en förenklad (för implementering på minidatorer) version av BCPL-språket utvecklat i språket. Bi, liksom BCPL, var ett tolkat språk. Släppt 1972 andra upplagan UNIX omskriven i B. Åren 1969-1973 på basis av Bi utvecklades ett sammanställt språk, kallat C (C).

    Dela

    En viktig anledning till splittringen i UNIX var implementeringen 1980 av TCP/IP-protokollstacken. Dessförinnan var maskin-till-maskin-kommunikation i UNIX i sin linda - den viktigaste kommunikationsmetoden var UUCP (ett sätt att kopiera filer från ett UNIX-system till ett annat, som ursprungligen arbetade över telefonnätverk med modem).

    Två programmeringsgränssnitt för nätverkstillämpningar har föreslagits: Berkley-sockets (Berkeley-socket) och transportlagergränssnittet TLI (Eng. Transport Layer Interface).

    Berkley-sockets-gränssnittet utvecklades vid University of Berkeley och använde TCP/IP-protokollstacken som utvecklades där. TLI skapades av AT&T i enlighet med transportlagerdefinitionen för OSI-modellen och dök först upp i System V version 3. Även om denna version innehöll TLI och strömmar, hade den ursprungligen inte en implementering av TCP/IP eller andra nätverksprotokoll, men sådana implementeringar tillhandahölls av tredje part. .

    Implementeringen av TCP/IP inkluderades officiellt och definitivt i basdistributionen av System V version 4. Detta, tillsammans med andra överväganden (främst marknadsföring), orsakade den slutliga gränsdragningen mellan de två grenarna av UNIX - BSD (University of Berkeley) och System V (kommersiell version från AT&T). Därefter utvecklade många företag, efter att ha licensierat System V från AT&T, sina egna kommersiella smaker av UNIX, såsom AIX, CLIX, HP-UX, IRIX, Solaris.

    Moderna implementeringar av UNIX är i allmänhet inte rena V- eller BSD-system. De implementerar funktioner från både System V och BSD.

    Gratis UNIX-liknande operativsystem

    För tillfället tar GNU/Linux och medlemmar av BSD-familjen snabbt över marknaden från kommersiella UNIX-system och infiltrerar samtidigt både slutanvändardatorer och mobila och inbyggda system.

    Proprietära system

    Sedan delningen av AT&T har UNIX-varumärket och rättigheterna till den ursprungliga källkoden bytt ägare flera gånger, särskilt de tillhörde Novell under en lång tid.

    UNIX:s inflytande på utvecklingen av operativsystem

    UNIX-system är av stor historisk betydelse, eftersom de har spridit några av de koncept och tillvägagångssätt som är populära idag inom OS och mjukvara. Under utvecklingen av UNIX-system skapades också C-språket.

    C-språket, som ursprungligen skapades för utvecklingen av UNIX, används ofta i systemprogrammering och har överträffat UNIX i popularitet. C-språket var det första "toleranta" språket som inte försökte tvinga en programmeringsstil på programmeraren. C var det första språket på hög nivå som gav tillgång till alla funktioner i processorn, såsom referenser, tabeller, bitförskjutningar, inkrement etc. Å andra sidan ledde C-språkets frihet till buffertöverskridanden i sådana standard C-biblioteksfunktioner som gets och scanf. Många ökända sårbarheter resulterade, som den som utnyttjades i den berömda Morris-masken.

    De tidiga utvecklarna av UNIX bidrog till införandet av principerna för modulär programmering och återanvändning i ingenjörspraktik.

    UNIX möjliggjorde användningen av TCP/IP-protokoll på relativt billiga datorer, vilket ledde till den snabba tillväxten av Internet. Detta bidrog i sin tur till den snabba upptäckten av flera stora sårbarheter i UNIX-säkerhet, arkitektur och systemverktyg.

    Med tiden utvecklade ledande UNIX-utvecklare kulturella normer för mjukvaruutveckling som blev lika viktiga som UNIX själv. ( )

    Några av de mest kända exemplen på UNIX-liknande operativsystem är macOS, Solaris, BSD och NeXTSTEP.

    Social roll i den professionella IT-gemenskapen och historisk roll

    Den ursprungliga UNIX kördes på stora fleranvändardatorer, som också erbjöd proprietära operativsystem från hårdvarutillverkaren, såsom RSX-11 och dess ättling VMS. Trots att det enligt en rad åsikter [ vars?] då UNIX hade nackdelar jämfört med dessa operativsystem (till exempel bristen på seriösa databasmotorer), det var: a) billigare och ibland gratis för akademiska institutioner b) portades från hårdvara till hårdvara och utvecklades i ett bärbart C-språk , som "okopplade" utvecklingen av program från specifik utrustning. Dessutom visade sig användarupplevelsen vara "obunden" från hårdvaran och tillverkaren - en person som arbetade med UNIX på VAX arbetade lätt med den på 68xxx, och så vidare.

    Hårdvarutillverkare på den tiden var ofta coola med UNIX, betraktade det som en leksak och erbjöd sitt proprietära operativsystem för seriöst arbete - främst DBMS och affärsapplikationer baserade på dem i kommersiella strukturer. Det finns kända kommentarer om detta från DEC angående dess VMS. Företag lyssnade på detta, men inte den akademiska miljön, som hade allt för sig själv i UNIX, krävde ofta inte officiellt stöd från tillverkaren, skötte sig på egen hand och uppskattade det billiga och bärbara UNIX. Således var UNIX kanske det första operativsystemet som var portabelt till annan hårdvara.

    Den andra dramatiska ökningen av UNIX var tillkomsten av RISC-processorer runt 1989. Redan dessförinnan fanns det sk. arbetsstationer - personliga enanvändardatorer med hög effekt med tillräckligt med minne, hårddisk och tillräckligt utvecklat OS (multitasking, minnesskydd) för att fungera med seriösa applikationer, såsom CAD:er. Bland tillverkarna av sådana maskiner stack Sun Microsystems ut och gjorde sig ett namn på dem.

    Före tillkomsten av RISC-processorer använde dessa stationer vanligtvis Motorola  680x0-processorn, samma som i Apple-datorer (om än under ett mer avancerat operativsystem än Apples). Runt 1989 dök kommersiella implementeringar av RISC-arkitekturprocessorer upp på marknaden. Det logiska beslutet av ett antal företag (Sun och andra) var att porta UNIX till dessa arkitekturer, vilket omedelbart ledde till porteringen av hela UNIX mjukvaruekosystem.

    Proprietära seriösa operativsystem, som VMS, började sin nedgång från detta ögonblick (även om det var möjligt att porta själva operativsystemet till RISC, var allt mycket mer komplicerat med applikationer för det, som i dessa ekosystem ofta utvecklades i assembler eller på proprietära språk som BLISS), och UNIX blev operativsystemet för de mest kraftfulla datorerna i världen.

    Men vid denna tidpunkt ekosystem började flytta till GUI inför Windows 3.0. De enorma fördelarna med GUI, såväl som till exempel enhetligt stöd för alla typer av skrivare, uppskattades av både utvecklare och användare. Detta undergrävde i hög grad UNIX ställning på PC-marknaden - implementeringar som SCO och Interactive UNIX klarade inte av stöd för Windows-applikationer. När det gäller GUI för UNIX, kallat X11 (det fanns andra implementeringar, mycket mindre populära), kunde det inte fungera fullt ut på en vanlig användares PC på grund av minneskrav - X11 krävde 16 MB för normal drift, medan Windows 3.1 med tillräcklig prestanda för att kör både Word och Excel samtidigt i 8 MB (detta var standardstorleken på PC-minnet vid den tiden). Med höga minnespriser var detta den begränsande faktorn.

    Framgången med Windows gav impulser till ett internt Microsoft-projekt kallat Windows NT, som var kompatibelt med Windows av API, men som samtidigt hade samma arkitektoniska egenskaper som ett seriöst operativsystem som UNIX - multitasking, fullt minnesskydd, stöd för multiprocessor maskiner, filbehörigheter och kataloger, systemlogg. Windows NT introducerade också journaliseringsfilsystemet NTFS, som vid den tiden översteg alla filsystem som standardmässigt levereras med UNIX när det gäller kapacitet - analoger för UNIX var bara separata kommersiella produkter från Veritas och andra.

    Även om Windows NT från början inte var populärt, på grund av dess höga minneskrav (samma 16 MB), tillät det Microsoft att komma in på marknaden för serverlösningar, som DBMS. Många vid den tiden trodde inte på förmågan hos Microsoft, traditionellt specialiserat på datorprogramvara, att vara en aktör på marknaden för företagsprogramvaror, som redan hade stora namn som Oracle och Sun. Ytterligare till detta tvivel var det faktum att Microsofts DBMS – SQL Server – började som en förenklad version av Sybase SQL Server, licensierad från Sybase och 99 % kompatibel i alla aspekter av att arbeta med den.

    Under andra halvan av 1990-talet började Microsoft även driva in UNIX på företagsservermarknaden.

    Kombinationen av ovanstående faktorer, såväl som prisfallet på 3D-videokontroller, som har blivit hem från professionell utrustning, dödade i huvudsak själva konceptet med arbetsstation i början av 2000-talet.

    Dessutom är Microsoft-system lättare att hantera, särskilt i typiska användningsfall.

    Men just nu har den tredje kraftiga uppgången av UNIX börjat.

    Dessutom utvecklade Stallman och hans kamrater, väl medvetna om att icke-proprietära utvecklingsverktyg behövs för att lyckas med icke-företagsprogramvara, en uppsättning kompilatorer för olika programmeringsspråk (gcc), som tillsammans med de tidigare utvecklade GNU-verktygen (ersätter standard UNIX-verktygen) utgjorde ett nödvändigt och tillräckligt kraftfullt mjukvarupaket för utvecklaren.

    En seriös konkurrent till Linux på den tiden var FreeBSD, dock "katedral"-stilen för utvecklingshantering i motsats till "basar"-stilen för Linux, såväl som mycket mer teknisk arkaism i sådana frågor som stöd för multiprocessormaskiner och körbara filer format, bromsade kraftigt utvecklingen av FreeBSD jämfört med Linux, vilket gjorde det senare till flaggskeppet för den fria mjukvaruvärlden.

    I framtiden nådde Linux fler och fler höjder:

    • portera seriösa egna produkter som Oracle;
    • IBM:s seriösa intresse för detta ekosystem som grunden för dess vertikala lösningar;
    • utseendet på analoger av nästan alla välbekanta program från Windows-världen;
    • vägran från vissa hårdvarutillverkare från den obligatoriska förinstallationen av Windows;
    • lanseringen av netbooks med endast Linux;
    • använda som en kärna i Android.

    För tillfället är Linux ett välförtjänt populärt OS för servrar, även om det är mycket mindre populärt på stationära datorer.

    Vissa arkitektoniska funktioner i UNIX OS

    UNIX-funktioner som skiljer denna familj från andra operativsystem ges nedan.

    • Filsystemet är trädlikt, skiftlägeskänsligt i namn, mycket svaga begränsningar för längden på namn och sökvägar.
    • Det finns inget stöd för strukturerade filer av OS-kärnan; på nivån för systemanrop är en fil en ström av byte.
    • Kommandoraden finns i adressutrymmet för den process som startas och hämtas inte av ett systemanrop från kommandotolkprocessen (som till exempel händer i RSX-11).
    • Begreppet "miljövariabler".
    • Starta processer genom att anropa fork(), det vill säga möjligheten att klona den aktuella processen med alla tillstånd.
    • Begreppen stdin/stdout/stderr.
    • I/O endast via filbeskrivningar.
    • Traditionellt mycket svagt stöd för asynkron I/O, jämfört med VMS och Windows NT.
    • Kommandotolken är en vanlig applikation som kommunicerar med kärnan med vanliga systemanrop (i RSX-11 och VMS exekverades kommandotolken som en speciell applikation, placerad i minnet på ett speciellt sätt, med hjälp av speciella systemanrop, systemanrop var stöds också, vilket gör att programmet kan komma åt sina överordnade tolkkommandon).
    • Ett kommandoradskommando är inget annat än namnet på en programfil, ingen speciell registrering och speciell utveckling av program som kommandon krävs (vilket var vanligt i RSX-11, RT-11).
    • Tillvägagångssättet med ett program som ställer frågor till användaren om dess driftsätt accepteras inte, istället används kommandoradsparametrar (i VMS, RSX-11, RT-11 fungerade program också med kommandoraden, men i dess frånvaro uppmanades att ange parametrar).
    • Ett enhetsnamnområde på disken i /dev-katalogen som kan hanteras av en administratör, till skillnad från Windows-metoden, där detta namnutrymme finns i kärnminnet, och administration av detta namnutrymme (till exempel ställa in behörigheter) är extremt svårt på grund av faktum att det inte är permanent lagrat på diskar (byggs varje gång du startar).
    • Omfattande användning av textfiler för att lagra inställningar, till skillnad från en binär inställningsdatabas, som i Windows.
    • Utbredd användning av textbehandlingsverktyg för att utföra vardagliga uppgifter under kontroll av skript.
    • "Marknadsföring" av operativsystemet efter att ha laddat kärnan genom att köra skript med en standardkommandotolk.
    • Omfattande användning av namngivna pipes (pipe) .
    • Alla processer utom init är lika, det finns inga "speciella processer".
    • Adressutrymmet är uppdelat i en global kärna för alla processer och en processlokal del, det finns ingen "grupp" del av adressutrymmet, som i VMS och Windows NT, samt möjligheten att ladda kod där och exekvera den där.
    • Använder två processorbehörighetsnivåer istället för fyra i VMS.
    • Avvisande av användning av överlägg till förmån för att dela upp programmet i flera mindre program som kommunicerar genom namngivna rör eller temporära filer.
    • Frånvaro av APC och analoger, det vill säga godtyckliga (inte strikt listade i standarduppsättningen) signaler som inte levereras förrän processen uttryckligen vill ta emot dem (Windows, VMS).
    • Konceptet med en signal är unikt för UNIX och extremt svårt att porta till andra operativsystem som Windows.

    Standarder

    Ett stort antal Mångfalden av smaker av UNIX-systemet har lett till behovet av att standardisera dess funktioner för att göra applikationer lättare att bära och för att rädda användaren från att behöva lära sig detaljerna för varje smak av UNIX.

    För detta ändamål, redan 1980, skapades användargruppen /usr/group. De första standarderna utvecklades 1984-1985.

    En av de tidigaste standarderna var System V Interface Definition (SVID), släppt av UNIX System Laboratories (USL) samtidigt som UNIX System V Release 4. Detta dokument blev dock inte officiellt.

    Tillsammans med UNIX System V-versionerna fanns UNIX BSD-riktningen. För att säkerställa kompatibilitet mellan System V och BSD skapades POSIX-arbetsgrupper ( P ställbar O perating S systemet jag gränssnitt för UNI X). Det finns många POSIX-standarder, men den mest kända är POSIX 1003.1-1988, som definierar Application Programming Interface (API). Det används inte bara i UNIX utan även i andra operativsystem. (

    Sandlåda

    rolig mustasch 19 mars 2011 klockan 23:16

    Hur skiljer sig Linux från UNIX, och vad är ett UNIX-liknande operativsystem?

    • Timmerrum *
    UNIX
    UNIX (inte värt det förväxlas med definitionen av "UNIX-liknande operativsystem") - en familj av operativsystem (Mac OS X, GNU / Linux).
    Det första systemet utvecklades 1969 på Bell Laboratories, ett före detta amerikanskt företag.

    Utmärkande egenskaper hos UNIX:

    1. Enkel systemkonfiguration genom att använda enkla, vanligtvis textfiler.
    2. Bred användning av kommandoraden.
    3. Använda transportörer.
    Numera används UNIX främst på servrar och som ett system för utrustning.
    Det är omöjligt att inte notera UNIX-systemens enorma historiska betydelse. De är nu erkända som ett av de mest historiskt viktiga operativsystemen. Under utvecklingen av UNIX-system skapades C-språket.

    UNIX-varianter efter år

    UNIX-liknande OS
    UNIX-liknande OS (ibland använd förkortningen *nix) - ett system bildat under påverkan av UNIX.

    Ordet UNIX används både som ett märke för överensstämmelse och som ett varumärke.

    Open Group-konsortiet äger varumärket "UNIX", men är mest känt som certifieringsmyndigheten för UNIX-varumärket. Open Group belyste nyligen publiceringen av "Single UNIX Specification", de standarder som ett operativsystem måste uppfylla för att stolt kunna kallas Unix.

    Du kan ta en titt på släktträdet för UNIX-liknande operativsystem.

    linux
    linux- det allmänna namnet på UNIX-baserade operativsystem, som utvecklas inom ramen för GNU-projektet (projekt för utveckling av programvara med öppen källkod). Linux körs på ett stort utbud av processorarkitekturer från ARM till Intel x86.

    De mest kända och vanliga distributionerna är Arch Linux, CentOS, Debian. Det finns också många "inhemska", ryska distributioner - ALT Linux, ASPLinux och andra.

    Det finns en hel del kontroverser om namnet på GNU/Linux.
    Förespråkare av "öppen källkod" använder termen "Linux", medan förespråkare för "fri programvara" använder termen "GNU/Linux". Jag föredrar det första alternativet. Ibland, för bekvämligheten att representera termen GNU/Linux, används stavningarna "GNU+Linux", "GNU-Linux", "GNU Linux".

    Till skillnad från kommersiella system (MS Windows, Mac OS X) har Linux inget geografiskt utvecklingscenter och en specifik organisation som skulle äga systemet. Själva systemet och programmen för det är resultatet av arbetet i enorma samhällen, tusentals projekt. Vem som helst kan gå med i projektet eller skapa ditt eget!

    Slutsats
    Således har kedjan lärt sig av oss: UNIX -> UNIX-liknande OS -> Linux.

    Sammanfattningsvis kan jag säga att skillnaderna mellan Linux och UNIX är uppenbara. UNIX är ett mycket bredare koncept, grunden för att bygga och certifiera alla UNIX-liknande system, och Linux är ett specialfall av UNIX.

    Taggar: unix, linux, nix, linux, unix

    Denna artikel är inte föremål för kommentarer, eftersom författaren inte är det ännu

    Nytt på plats

    >

    Mest populär