Linux vs Unix: vad är skillnaden?

om du är en mjukvaruutvecklare på 20-eller 30-talet har du vuxit upp i en värld som domineras av Linux. Det har varit en betydande aktör i datacentret i årtionden, och medan det är svårt att hitta definitiva operativsystem marknadsandelsrapporter, kan Linux andel av datacenter operativsystem vara så hög som 70%, med Windows-varianter som bär nästan alla återstående procentandelar. Utvecklare som använder något större offentligt moln kan förvänta sig att målsystemet kommer att köra Linux., Bevis på att Linux är överallt har vuxit under de senaste åren när du lägger till i Android och Linux-baserade inbyggda system i smartphones, TV-apparater, bilar och många andra enheter.

även så har de flesta mjukvaruutvecklare, även de som har vuxit upp under denna ärevördiga ”Linux revolution”, åtminstone hört talas om Unix. Det låter som Linux, och du har förmodligen hört folk använda dessa termer omväxlande. Eller kanske har du hört Linux kallas ett” Unix-liknande ” operativsystem.

Så, vad är det här Unix?, Karikatyrerna talar om trollkarlsliknande ”graybeards” som sitter bakom glödande gröna skärmar, skriver C-kod och skalskript, som drivs av gammaldags, droppbryggt kaffe. Men Unix har en mycket rikare historia utöver de skäggiga C programmerare från 1970-talet. medan artiklar som beskriver historien om Unix och” Unix vs Linux ” jämförelser överflöd, denna artikel kommer att erbjuda en hög nivå bakgrund och en lista över stora skillnader mellan dessa kompletterande världar.,

Unix början

historien om Unix börjar vid&T Bell Labs i slutet av 1960-talet med ett litet team av programmerare som vill skriva en multi-tasking, flera användare operativsystem för PDP-7. Två av de mest anmärkningsvärda medlemmarna i detta team vid Bell Labs forskningsanläggning var Ken Thompson och Dennis Ritchie. Medan många av Unix koncept var derivat av sin föregångare (Multics), Unix lagets beslut tidigt på 1970-talet att skriva om detta lilla operativsystem på C-språket är vad separerade Unix från alla andra., Vid den tiden var operativsystem sällan, om någonsin, bärbara. I stället var operativsystemen tätt kopplade till den hårdvaruplattform som de hade författats på grund av sin design och låga källspråk. Genom att refactoring Unix på programmeringsspråket C kunde Unix nu portas till många hårdvaruarkitekturer.

utöver denna nya bärbarhet, som gjorde det möjligt för Unix att snabbt expandera bortom Bell Labs till annan forskning, akademisk och till och med kommersiell användning, var flera nyckel av operativsystemets designprinciper attraktiva för användare och programmerare., För en blev Ken Thompsons Unix-filosofi en kraftfull modell av modulär Programvarudesign och databehandling. Unix-filosofin rekommenderade att använda små, specialbyggda program i kombination för att göra komplexa övergripande uppgifter. Eftersom Unix designades kring filer och rör, är denna modell av ”rörledningar” ingångar och utgångar av program tillsammans i en linjär uppsättning operationer på ingången fortfarande på modet idag. Faktum är att den nuvarande cloud serverless computing-modellen är skyldig mycket av sitt arv till Unix-filosofin.,

snabb tillväxt och konkurrens

genom slutet av 1970-och 80-talet blev Unix roten till ett släktträd som expanderade över forskning, akademi och en växande kommersiell Unix-operativsystemverksamhet. Unix var inte öppen källkod, och Unix källkod var licenserbar via avtal med dess ägare, på&T. den första kända mjukvarulicensen såldes till University of Illinois 1975.

Unix växte snabbt i akademin, med Berkeley som ett betydande aktivitetscentrum, med tanke på Ken Thompsons sabbatical där på 70-talet., Med all verksamhet kring Unix på Berkeley föddes en ny leverans av Unix software: the Berkeley Software Distribution, eller BSD. Ursprungligen var BSD inte ett alternativ till AT& T: S Unix, men ett tillägg med ytterligare programvara och funktioner. Med tiden 2BSD (den Andra Berkeley Software Distribution) kom 1979, Bill Joy, en Berkeley grad student, hade lagt till nu-berömda-program, till exempel vi och C-shell (/bin/csh).,

förutom BSD, som blev en av de mest populära grenarna i Unix-familjen, exploderade Unix kommersiella erbjudanden genom 1980-talet och in på 90-talet med namn som HP-UX, IBM: s AIX, Sun ’ s Solaris, Sequent och Xenix. När grenarna växte från den ursprungliga roten började” Unix wars”, och standardisering blev ett nytt fokus för samhället. POSIX-standarden föddes 1988, liksom andra standardiseringsuppföljningar via Open-gruppen till 1990-talet.,

runt denna tid på&t och Sun släppte System V Release 4 (SVR4), som antogs av många kommersiella leverantörer. Separat hade BSD-familjen av operativsystem vuxit under åren, vilket ledde till några open source-variationer som släpptes under den nu kända BSD-licensen. Detta inkluderade FreeBSD, OpenBSD och NetBSD, var och en med en något annorlunda målmarknad i Unix-serverindustrin. Dessa Unix-varianter fortsätter att ha viss användning idag, även om många har sett sin servermarknadsandel minska i de enskilda siffrorna (eller lägre)., BSD kan ha den största installationsbasen för alla moderna Unix-system idag. Dessutom kan varje Apple Mac-maskinvaruenhet som levereras i den senaste historien hävdas av BSD, eftersom operativsystemet OS X (nu macOS) är ett BSD-derivat.

medan hela historien om Unix och dess akademiska och kommersiella varianter kan ta många fler sidor, för vår artikelfokus, låt oss gå vidare till uppkomsten av Linux.

ange Linux

vad vi kallar Linux operativsystem idag är verkligen kombinationen av två ansträngningar från början av 1990-talet., Richard Stallman letade efter att skapa ett verkligt fritt och öppet källalternativ till det proprietära Unix-systemet. Han arbetade på verktyg och program under namnet GNU, en rekursiv akronym som betyder ” GNU inte Unix!”Även om det var ett kärnprojekt på gång, visade det sig vara svårt att gå, och utan en kärna kunde den fria och öppna källkodsdrömmen inte realiseras. Det var Linus Torvalds arbete-att producera en fungerande och livskraftig kärna som han kallade Linux – som väckte hela operativsystemet till liv. Med tanke på att Linus använde flera GNU-verktyg (t. ex., GNU Compiler Collection, eller GCC), äktenskapet av GNU-verktygen och Linux-kärnan var en perfekt match.

Linux-distributioner kom till liv med komponenterna i GNU, Linux-kärnan, MIT: s X-Windows GUI och andra BSD-komponenter som kunde användas under open source BSD-licensen. Den tidiga populariteten av distributioner som Slackware och sedan Red Hat gav den ”vanliga PC-användaren” på 1990-talet tillgång till Linux-operativsystemet och med det många av de proprietära Unix-systemfunktionerna och verktygen som de använde i sitt arbete eller akademiska liv.,

på grund av den fria och öppna källkoden för alla Linux-komponenter kan vem som helst skapa en Linux-distribution med lite ansträngning, och snart nådde det totala antalet distros in i hundratals. Naturligtvis använder många utvecklare Linux antingen via molnleverantörer eller genom att använda populära gratis distributioner som Fedora, Canonical Ubuntu, Debian, Arch Linux, Gentoo och många andra varianter., Kommersiella Linux-erbjudanden, som ger stöd utöver de fria och öppna källkomponenterna, blev livskraftiga så många företag, inklusive IBM, migrerade från proprietär Unix till att erbjuda middleware och mjukvarulösningar ovanpå Linux. Red Hat byggde en modell av kommersiellt stöd runt Red Hat Enterprise Linux, liksom den tyska leverantören SUSE med SUSE Linux Enterprise Server (SLES).

jämföra Unix och Linux

hittills har vi tittat på historien om Unix och uppkomsten av Linux och GNU / Free Software Foundation underbyggnad av en fri och öppen källkod alternativ till Unix., Låt oss undersöka skillnaderna mellan dessa två operativsystem som delar mycket av samma arv och många av samma mål.

ur användarupplevelsesperspektiv är inte så mycket annorlunda! Mycket av attraktionen av Linux var operativsystemets tillgänglighet över många hårdvaruarkitekturer (inklusive den moderna datorn) och förmåga att använda verktyg som är bekanta med Unix systemadministratörer och användare.

på grund av POSIX-standarder och överensstämmelse kan programvara som skrivits på Unix sammanställas för ett Linux-operativsystem med en vanligtvis begränsad porteringsinsats., Skalskript kan användas direkt på Linux i många fall. Medan vissa verktyg hade något annorlunda flagga / kommandoradsalternativ mellan Unix och Linux, fungerade många samma på båda.

one side note är att populariteten av MacOS hårdvara och operativsystem som en plattform för utveckling som främst riktar Linux kan hänföras till BSD-liknande MacOS operativsystem. Många verktyg och skript som är avsedda för ett Linux-system fungerar enkelt inom macOS-terminalen. Många öppen källkod programvarukomponenter tillgängliga på Linux är lätt tillgängliga via verktyg som Homebrew.,

de återstående skillnaderna mellan Linux och Unix är främst relaterade till licensmodellen: öppen källkod vs proprietär, licensierad programvara. Bristen på en gemensam kärna inom UNIX-distributioner har också konsekvenser för programvaru-och hårdvaruleverantörer. För Linux kan en leverantör skapa en drivrutin för en viss maskinvaruenhet och förvänta sig att den inom rimliga gränser kommer att fungera över de flesta distributioner., På grund av de kommersiella och akademiska grenarna i Unix-trädet kan en leverantör behöva skriva olika drivrutiner för varianter av Unix och ha licensiering och andra problem relaterade till tillgång till en SDK eller en distributionsmodell för programvaran som en binär drivrutin över många Unix-varianter.

eftersom båda samhällena har mognat under det senaste decenniet har många av framstegen i Linux antagits i Unix-världen. Många GNU-verktyg gjordes tillgängliga som tillägg för Unix-system där utvecklare ville ha funktioner från GNU-program som inte ingår i Unix., Till exempel, IBM: s AIX erbjöd en AIX verktygslåda för Linux-program med hundratals GNU programpaket (som Bash, GCC, OpenLDAP, och många andra) som kan läggas till en AIX-installation för att underlätta övergången mellan Linux och Unix-baserade AIX-system.

proprietär Unix är fortfarande levande och väl och med många stora leverantörer som lovar stöd för sina nuvarande utgåvor långt in på 2020-talet, är det självklart att Unix kommer att vara runt under överskådlig framtid., BSD-grenen i Unix-trädet är också öppen källkod, och NetBSD, OpenBSD och FreeBSD har alla starka användarbaser och Open source-samhällen som kanske inte är lika synliga eller aktiva som Linux, men håller sina egna i de senaste serverapporterna, med långt över de proprietära Unix-numren i områden som webbtjänst.

där Linux har visat en betydande fördel jämfört med proprietär Unix är i sin tillgänglighet över ett stort antal hårdvaruplattformar och enheter., Raspberry Pi, populär bland hobbyister och entusiaster, är Linux-driven och har öppnat dörren för ett helt spektrum av IoT-enheter som kör Linux. Vi har redan nämnt Android-enheter, bilar (med Automotive Grade Linux) och smarta TV-apparater, där Linux har stor marknadsandel. Varje molnleverantör på planeten erbjuder virtuella servrar som kör Linux, och många av dagens mest populära molnbaserade staplar är Linux-baserade, oavsett om du pratar om container runtimes eller Kubernetes eller många av de serverlösa plattformarna som blir populärare.,

en av de mest avslöjande representationerna av Linux ’ s ascendancy är Microsofts omvandling under de senaste åren. Om du berättade för programutvecklare för ett decennium sedan att Windows-operativsystemet skulle” köra Linux ” i 2016, skulle de flesta av dem ha skrattat hysteriskt. Men förekomsten och populariteten hos Windows-delsystemet för Linux (Wsl), liksom mer nyligen tillkännagivna funktioner som Windows—porten på Docker, inklusive lcow (Linux—behållare på Windows), är bevis på den inverkan som Linux har haft-och kommer tydligt att fortsätta att ha-över programvärlden.,

den här artikeln publicerades ursprungligen i maj 2018 och har uppdaterats av redaktören.

Share

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *