Thompson héj - Thompson shell
| Eredeti szerző (k) | Ken Thompson |
|---|---|
| Fejlesztő (k) | AT&T Bell Laboratories |
| Első kiadás | 1971. november 3 . |
| Operációs rendszer | Unix és Unix-szerű |
| típus | Unix héj |
A Thompson héj volt az első Unix-héj , amelyet az Unix első verziójában 1971-ben mutattak be , és Ken Thompson írta . Ez egy egyszerű parancsértelmező volt, amelyet nem szkriptek számára terveztek, de ennek ellenére számos innovatív funkciót vezetett be a parancssori felületre, és a későbbi Unix héjak fejlesztéséhez vezetett.
Történelem
A név „shell” egy parancssori értelmező és a koncepció, hogy a héj egy felhasználói program ezen kívül az operációs rendszer kernel -ben vezették be Unix prekurzor Multics .
A Thompson shell egyik korai jellemzője a kompakt szintaxis volt a bemenet / kimenet átirányításához. A Multics alkalmazásban egy parancs bemenetének vagy kimenetének átirányításához külön parancsokra volt szükség az átirányítás megkezdéséhez és leállításához; a Unix-ban egyszerűen hozzá lehetne adni egy argumentumot a parancssorhoz, amely a <szimbólumot követi a bemeneti fájlnév vagy a> szimbólum a kimenet számára, és a shell átirányítja az I / O-t a parancs időtartamára. Ez a szintaxis már jelen volt az Unix első verziójának 1971-es kiadásával.
Egy későbbi kiegészítés a csövek fogalma volt . Douglas McIlroy javaslatára az átirányítási szintaxist kibővítették, hogy az egyik parancs kimenetét át lehessen adni egy másik parancs bemenetére. Az eredeti csőszintaxis, a 3. verzió kézikönyvében leírtak szerint:
command1 >command2>
Ez a szintaxis túl kétértelműnek bizonyult, és könnyen összetéveszthető volt a fájlokba és a fájlokból történő átirányítással - a rendszer nem tudja megmondani, hogy a "command2" a "command2" vagy a "command2" fájl. A 4. verzióra a szintaxis megváltozott, hogy mind a | és ^ szimbólumok a csövek jelölésére:
command1 | command2
Ez pontosan ugyanazt az eredményt adja, mint:
command1 ^ command2
A> szimbólum a következőre változott:
command1 > file1
Ez a parancs1 kimenetét a fájlba1 helyezi.
A Thompson hétszintaxisa a <és> átirányításhoz és a | csövezéshez tartósnak bizonyult, és a legtöbb más Unix-héj és számos más operációs rendszer parancshéja elfogadta, nevezetesen a DOS , OS / 2 és a Microsoft Windows rendszeren .
Elutasítás és pótlások
A héj kialakítása szándékosan minimalista volt; még a programfolyamat vezérléséhez elengedhetetlen if és goto utasításokat is külön parancsként hajtották végre. Ennek eredményeként a Unix 6-os változatának 1975-ös kiadásával világossá vált, hogy a Thompson héj nem megfelelő a legsúlyosabb programozási feladatokhoz.
Ekkor a Programozó Workbench UNIX disztribúciójának fejlesztői, nevezetesen John Mashey , elkezdték módosítani a Thompson héjat, hogy alkalmassá tegye a programozásra. A PWB-héjnak vagy a Mashey-héjnak nevezett eredmény fejlettebb áramlásszabályozó mechanizmusokat tartalmazott, és bevezette a héjváltozókat, de korlátozott maradt annak szükségessége, hogy kompatibilisek maradjanak a Thompson-héjjal.
Végül a Thompson héjat fő Unix héjként a Bourne héj váltotta fel a Unix 7 - es verziójában és a C héjat a 2BSD-ben , mindkettőt 1979-ben adták ki. Mivel gyakorlatilag az összes modern Unix és Unix-szerű rendszer a V7-ből és a 2BSD-ből származik, a A Thompson héjat általában már nem használják. Ez azonban nyílt forráskódként elérhető számos Ancient Unix forrás disztribúció részeként , és történelmi kiállításként került a modern Unices-be.
Lásd még
Hivatkozások
Külső linkek
- A Thompson héj kézikönyv oldala a Unix 1. kiadásában .
- A Unix Time-Sharing System evolúciója - a shell korai fejlesztését írja le
- A Bourne-héj eredete - kézikönyv oldalak a 3., 4. és 6. kiadás Thompson-héjaihoz, valamint egyéb források a korai héjakhoz
- Hatodik kiadás Thompson Shell Port - a Thompson héj és a hozzá tartozó segédprogramok a modern Unix rendszerekbe portálva