shell: n.

[In origine linguaggio Multics, diffuso largamente tramite Unix]

1. [tecnico] L'interprete di comandi usato per passare comandi ad un sistema operativo; chiamato cosė perchč č la parte del sistema che si interfaccia con il mondo esterno.

2. Pių genericamente, ogni programma di interfaccia che media l'accesso ad una risorsa speciale o ad un server per motivi di convenienza, efficienza, o sicurezza; per questo motivo, si usa pių spesso una shell di altre soluzioni. Questo tipo di programma č chiamato anche wrapper.

3. Uno scheletro di programma, creato a mano o da un altro programma (come, diciamo, un generatore di parser), che fornisce le incantation necessarie per fare certi compiti e il flusso di controllo per dirigerli (come sinonimo si usa anche driver, a volte). Ci si aspetta che l'utente faccia qualunque codice necessario per compiere il vero lavoro. Questo utilizzo č comune nei mondi AI e Microsoft Windows, e confonde gli hacker di Unix.

Nota storica: in apparenza, la shell Multics originale (senso 1) era chiamata cosė perchč era una shell (senso 3); eseguiva i programmi utente non avviando processi separati, ma collegando dinamicamente i programmi nel suo codice, chiamandoli come sotto-funzioni, e dopo ti scollegava dinamicamente alla fine. L'interprete di comandi VMS fa ancora una cosa molto simile a questa.