Et systemgrensesnitt eller programvareskall ( shell på engelsk) er et programvarelag som gir brukergrensesnittet til et operativsystem . Det tilsvarer det ytterste laget av sistnevnte. Systemgrensesnittet brukes som en kort for brukergrensesnittet til operativsystemet .
Det engelske begrepet " skall " kommer opprinnelig fra terminologien som brukes med den første Unix-lignende driftssystemer der det hadde mer konkrete betydningen av Unix shell . Dette navnet er en metafor (det kan oversettes som skall på fransk) for å betegne det høyeste laget av grensesnitt for Unix-systemer, i motsetning til det lave nivålaget , kalt kjernen .
De første amerikanske datadesignerne brukte en analogi til å beskrive de forskjellige programvarelagene i et system: kernen og skallet på en nøtt .
På engelsk refererer ordet " kernel " til kjernen, den spiselige delen av mutterkjernen. Dette er den delen som er lukket i skroget. Skallet er den uspiselige delen av frukten, kalt " shell " på engelsk. Den underliggende ideen er at "for å få tilgang til den spiselige (nyttige) delen, må du gå gjennom skallet".
Uttrykket mye brukt på engelsk " i et nøtteskall " for å betegne essensen av et konsept i et nøtteskall er ikke fremmed for denne analogien.
Med ankomsten av musen og det grafiske grensesnittet har denne anglisismen endt opp med å bli demokratisert for å betegne alle typer grensesnitt mellom menneske og maskin (HMI) som er spesifikke for hvert operativsystem, enten de er tekstlige eller grafiske.
Programvareskallet til et operativsystem kan ha to forskjellige former:
De relative fordelene ved et CLI- eller GUI-systemgrensesnitt blir ofte diskutert. Tilhengere av CLI hevder at noen operasjoner gjøres mye raskere under et CLI- skall enn under en GUI (for eksempel å flytte en fil). Tilhengere av GUI-er foretrekker imidlertid deres intuitive karakterer.
To metoder for å få tilgang til programvareskallet er mulig, avhengig av tilgjengelige maskinvareressurser, operativsystem eller innstillingene som brukes:
Under Linux er det seks konsoller som standard . På en X-server er disse konsollene tilgjengelige fra det grafiske grensesnittet med Ctrl+ Alt+ snarveiene Fx. Det er ikke lenger et ekte programvareskall siden de kalles fra et annet miljø, men uttrykket gjenstår å betegne skjermen og driftsmodus.
UNIX var et av de første operativsystemene der kommandotolken var et ganske enkelt program (derfor utskiftbart av et annet). I andre systemer tolkes kommandoer delvis av kjernen .
En spesiell egenskap til et skall er reentrancy ; Fra et programvareskall kan vi starte et program som i et gitt øyeblikk kan starte et nytt programvareskall som brukeren kan starte en annen kommando med, som gjør det mulig å gjøre en liten forskningsparentes og deretter gå tilbake til den første applikasjonen, der den slapp .
Siden utgivelsen av Mac OS X , et operativsystem av UNIX- familien (og spesielt BSD ), har Mac-maskiner et skall som er tilgjengelig via Terminal- verktøyet .
Opprinnelig var standard skallet tcsh , men fra Mac OS X 10.3 Panther gjennom macOS Mojave ble bash brukt. Fra MacOS Catalina , zsh brukes.
Terminal er spesielt populær blant avanserte Mac OS X-brukere for å tilpasse systemfunksjoner, lage shell-skript og feilsøke Mac OS X-driftsproblemer.
Under Windows kombinerer navnet "skall" to konsepter:
Dette er vanligvis Command.com for MS-DOS- baserte versjoner av Windows , og cmd for Windows NT- baserte versjoner .
Det er alternative skall, som 4DOS og 4NT . Det finnes også porter for Unix skjell , slik som i den Cygwin eller UWIN system, som gir nøyaktig og full Unix-lignende semantikk.
Med Windows Vista dukket det opp en ny kommandotolk, Windows PowerShell (også brukbar under Windows XP ), objektorientert.
I Windows API er skallfunksjoner knyttet til bruk av Explorer- widgets i programmer. For eksempel kan funksjonene til å kopiere / flytte / slette filer oppnås ved å ringe API-funksjonen SHFileOperation () som tar seg av alt (selve operasjonen, bekreftelse av overskrivinger, fremdriftslinje etc.).
Programmerere som ikke er fornøyd med Windows Explorer-grensesnittet, har utviklet komponenter som lar deg bytte skall: LiteStep , GeoShell , Aston eller BB4Win .