Thompson shell

Thompson shell
Luoja Ken Thompson
Tiedot
Ohjelmistotyyppi komentotulkki

Thompson shell (sh) oli Unixin alkuperäinen komentotulkki, jonka Ken Thompson kirjoitti PDP-7:lle.[1][2][3] sh:n ja eräiden apukomentojen myötä Unixia voitiin suorittaa ja kehittää itsellään.[1] Varhaisessa versiossa oli alkuun useita rajoitteita.[4] Komentotulkkiin lisättiin pian IO:n uudelleenohjaus sekä Unix-putket.[4] Komentotulkin IO:n uudelleenohjaus oli yksinkertaisempaa käyttää kuin Multicsin iocall.[4] Myöhemmän kehityksen kannalta oli merkittävää että komentotulkki oli toteutettu käyttäjäsovelluksena eikä osana itse käyttöjärjestelmää.[4]

Thompsonin tulkki oli lyhyt (noin 20 sivua C-kielistä ohjelmakoodia) ja useat tulkin tukemista komennoista olivat riippumattomia ohjelmia.[5] J. R. Mashey laajensi Thompsonin tulkkia PWB/Unix-julkaisua varten (nk. Mashey shell).[6][7]

Thompsonin tulkki oli yksinkertainen mutta liian rajoittunut kun käyttöjärjestelmää käytettiin sovelluskehitykseen.[2] Thompsonin tulkin ohjelmoitavuus oli rajoittunutta ja ainoa kontrollirakenne oli goto-lause.[2] Stephen Bourne kehitti myöhemmin Thompsonin tulkin korvaajaksi Bourne shellin.[2]

  1. a b Ritchie, Dennis M.: The Development of the C Language bell-labs.com. Viitattu 24.7.2017.
  2. a b c d Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh 5.3.2009. Computerworld. Arkistoitu Viitattu 7.9.2019. (englanniksi)
  3. M. Douglas McIlroy: A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986 (PDF) cs.dartmouth.edu. Viitattu 6.9.2019. (englanniksi)
  4. a b c d Dennis M. Ritchie: The Evolution of the Unix Time-sharing System bell-labs.com. Viitattu 7.9.2019. (englanniksi)
  5. J. R. Mashey: Using a Command Language as a High-Level Programming Language (PDF) grosskurth.ca. Viitattu 27.2.2020. (englanniksi) 
  6. Vladimir Likic: Understanding Bash: Elements of Programming linuxjournal.com. 28.9.2018. Viitattu 27.2.2020. (englanniksi)
  7. Manual of the PWB (aka Mashey) Shell in-ulm.de. Viitattu 27.2.2020. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]