Where did Unix come from?

Er Unix et Programmeringssprog? En Afklaring

13/03/2019

Rating: 4.25 (16215 votes)

Et af de mest vedholdende spørgsmål i teknologiens verden, især for dem der er nye inden for softwareudvikling, er: "Er Unix et programmeringssprog?" Svaret er kort og kontant: Nej. Men forvirringen er fuldt ud forståelig og bunder i en dyb, historisk sammenhæng mellem Unix og selve kunsten at programmere. For at forstå dette fuldt ud, må vi dissekere, hvad et operativsystem er, hvad et programmeringssprog er, og hvor Unix passer ind i dette komplekse økosystem. Denne artikel vil fungere som din guide til at afmystificere Unix og dets rolle i den digitale verden.

How did Unix change computer science?
Dennis Ritchie and Ken Thompson’s creation of the UNIX operating system and the C programming language were pivotal developments in the progress of computer science. Today, 50 years after its beginnings, UNIX and UNIX-like systems continue to run machinery from supercomputers to smartphones.
Indholdsfortegnelse

Grundstenen: Hvad er et Operativsystem?

Forestil dig et travlt hospital. Der er læger, sygeplejersker, udstyr og patienter. For at alt dette kan fungere gnidningsløst, er der brug for en hospitalsadministration, der styrer ressourcer, planlægger operationer, administrerer journaler og sikrer, at den rigtige læge har det rigtige værktøj på det rigtige tidspunkt. I en computer er et operativsystem (OS) denne administration. Det er den fundamentale software, der administrerer al computerens hardware og software. Uden et operativsystem ville din computer blot være en livløs samling af metal og silicium. Dets primære opgaver inkluderer:

  • Hukommelsesstyring: Fordeler computerens hukommelse (RAM) mellem forskellige programmer.
  • Processtyring: Administrerer, hvilke programmer der kører, og hvornår de får adgang til processoren (CPU).
  • Filhåndtering: Organiserer og holder styr på filer og mapper på harddisken.
  • Enhedsstyring: Kommunikerer med og styrer hardware som printere, tastaturer og mus.
  • Brugergrænseflade: Giver brugeren en måde at interagere med computeren på, enten grafisk (som i Windows eller macOS) eller via en kommandolinje.

Eksempler på velkendte operativsystemer er Microsoft Windows, Apple macOS, Android og Linux.

Byggeklodserne: Hvad er et Programmeringssprog?

Hvis operativsystemet er hospitalets administration, så er et programmeringssprog det sprog, som lægerne bruger til at skrive deres instrukser og procedurer ned. Det er et formelt sprog bestående af et sæt instruktioner, der bruges til at skabe softwareprogrammer. En udvikler skriver kildekode i et programmeringssprog, og denne kode bliver derefter oversat til maskinkode, som computerens processor kan forstå og udføre. Hvert sprog har sin egen syntaks og formål. Nogle er designet til webudvikling (f.eks. JavaScript), andre til dataanalyse (f.eks. Python, R), og atter andre til systemprogrammering (f.eks. C, C++). Sproget er værktøjet; det program, der skabes, er resultatet.

Unix Afmystificeret: Scenen for Udviklere

Nu hvor vi har defineret de to grundlæggende begreber, kan vi placere Unix. Unix er en familie af multitasking, multiuser operativsystemer, der opstod i slutningen af 1960'erne hos Bell Labs. Det var revolutionerende for sin tid og introducerede koncepter, der stadig er centrale i moderne databehandling. Unix er ikke ét enkelt system, men snarere en standard eller en filosofi, som mange andre systemer er bygget på. Både macOS (gennem sin NeXTSTEP-arv) og Linux er dybt inspirerede af og kompatible med Unix-principperne. Sidstnævnte kaldes ofte et Unix-lignende system.

Unix blev designet af programmører, for programmører. Dette er kernen i, hvorfor forvirringen opstår.

Hvorfor Forveksles Unix med et Programmeringssprog?

Forbindelsen mellem Unix og programmering er så tæt, at linjerne for en nybegynder kan virke slørede. Her er de primære årsager til forvirringen:

1. Kommandolinjen og Shell-scripting

Den primære måde at interagere med et traditionelt Unix-system på er gennem en kommandolinje-interface (CLI), også kendt som en shell (f.eks. Bash, Zsh). En shell er mere end bare en kommandotolk; den er også et kraftfuldt scriptingsprog. Brugere kan skrive scripts – en række af kommandoer i en fil – for at automatisere komplekse opgaver. Dette shell-scripting er en form for programmering. Så selvom Unix ikke er et programmeringssprog, indeholder det et kraftfuldt programmeringsmiljø i form af sin shell.

#!/bin/bash # Et simpelt shell-script, der hilser på brugeren # og viser den nuværende mappe. NAME="Verden" echo "Hej, $NAME!" echo "Du er i øjeblikket i mappen:" pwd 

Ovenstående er et program skrevet i Bash-sproget, som kører på et Unix-lignende system. Man programmerer *på* Unix, ikke *i* Unix.

2. Et Rigt Udviklingsmiljø

Unix blev født med et væld af softwareudviklingsværktøjer. Det var et af de første systemer, der blev leveret med en C-compiler, teksteditorer (som `vi` og `emacs`), debuggere og build-automatiseringsværktøjer (som `make`) som en standarddel af systemet. Hele operativsystemet var designet til at gøre livet lettere for udviklere. Denne tætte integration af udviklingsværktøjer giver indtrykket af, at systemet og programmeringen er én og samme ting.

3. Unix-filosofien

Skaberne af Unix havde en klar vision, kendt som Unix-filosofien. Denne filosofi kan opsummeres i et par centrale principper:

  • Skriv programmer, der gør én ting, og gør den godt.
  • Skriv programmer, der arbejder sammen.
  • Skriv programmer, der håndterer tekststrømme, da dette er en universel grænseflade.

Denne tilgang opfordrer til at bygge små, enkle og effektive værktøjer, som kan kombineres på komplekse måder for at løse store problemer. Denne modulære, byggeklods-lignende tilgang minder meget om den måde, en programmør tænker på, når vedkommende opbygger et større softwaresystem.

Tabel: Operativsystem vs. Programmeringssprog

For at skabe fuld klarhed, lad os sammenligne de to koncepter side om side.

EgenskabOperativsystem (f.eks. Unix)Programmeringssprog (f.eks. C)
Primært FormålAt administrere hardware og køre software. Skaber et miljø.At give instruktioner til en computer. Skaber applikationer.
NaturEn platform, et fundament.Et værktøj, et sprog.
InteraktionBrugeren interagerer med OS'et for at køre programmer.Programmøren skriver kode i sproget for at bygge et program.
EksemplerUnix, Linux, Windows, macOS, Android.C, Python, Java, JavaScript, Rust.
ForholdKører programmer, der er skrevet i programmeringssprog.Bruges til at skrive programmer, der kører på et operativsystem.

Ofte Stillede Spørgsmål (FAQ)

Så Unix er slet ikke et sprog?

Ikke et *programmeringssprog* i traditionel forstand som C eller Python. Men dets kommandolinje-shell (som Bash) er et fuldt udbygget scriptingsprog, som bruges til at automatisere opgaver og administrere systemet. Så du skriver scripts i et shell-sprog *på* Unix.

Er Linux det samme som Unix?

Ikke helt. Linux er teknisk set kun kernen (the kernel) i et operativsystem. Et fuldt Linux-system (som Ubuntu eller Fedora) er en samling af Linux-kernen og en masse software, hvoraf meget kommer fra GNU-projektet. Linux blev skabt fra bunden af Linus Torvalds, men det blev designet til at være et frit og open source 'Unix-lignende' operativsystem. Det overholder de samme standarder (POSIX) og deler den samme filosofi, så for en bruger føles det og opfører sig næsten identisk med et traditionelt Unix-system.

Hvilket sprog skal jeg lære, hvis jeg vil arbejde med Unix/Linux?

Det afhænger af dit mål. For systemadministration og automatisering er shell-scripting (typisk Bash) absolut essentielt. Sproget C har et historisk tæt bånd til Unix, da systemet selv er skrevet i C. I dag er Python ekstremt populært til alt fra systemadministration til webudvikling og dataanalyse på Unix-lignende systemer på grund af dets enkelhed og kraftfulde biblioteker.

Bruges Unix stadig i dag?

Absolut. Unix og dets efterkommere er mere udbredte end nogensinde. Langt de fleste servere, der driver internettet, kører Linux. Android, verdens mest populære mobile operativsystem, er baseret på Linux-kernen. Apples macOS er et fuldt certificeret Unix-system. Fra supercomputere til små indlejrede enheder i dit hjem – Unix's DNA er overalt.

Konklusionen er klar: Unix er scenen, ikke skuespilleren. Det er det robuste, stabile og fleksible miljø, hvorpå utallige softwaremirakler, skrevet i et væld af forskellige programmeringssprog, er blevet og fortsat bliver opført. At forstå denne skelnen er ikke bare pedantisk; det er et fundamentalt skridt mod en dybere forståelse af, hvordan vores digitale verden er bygget op fra bunden.

Hvis du vil læse andre artikler, der ligner Er Unix et Programmeringssprog? En Afklaring, kan du besøge kategorien Teknologi.

Go up