Pagina 1 di 1

Chiarezza sulla differenza tra Console / Terminale / Shell

Inviato: mar 22 mar 2011, 23:16
da Nilus
Da buon utente Slackware mi trovo praticamente ogni giorno a fare i conti con la console ( in modo piacevole devo dire ) ma, sentendo parlare sempre anche di shell e terminale ho voluto approfondire la faccenda ed ho capito questo ( in modo molto semplicistico ):

Il terminale tempo fa era inteso come dell' hardware ( tastiera, schermo ) capace di connettersi ad un sistema Unix.

La console è l' interfaccia a riga di comando di un sistema Unix, Unix-like.

La shell è l' involucro che sta attorno al kernel e fornisce un' interazione tra l' uomo e la macchina, ne esistono di diverse sia grafiche che testuali e quindi credo che funga da interprete dei comandi.


Al giorno d' oggi quindi console e terminale sono simili oppure è errato l' idea che mi sono fatto io ?

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mar 22 mar 2011, 23:52
da Eberoth
Nella lingua comune, quella che si usa normalmente tutti i giorni tra "addetti ai lavori" che non vogliono essere estremamente formali, i tre termini identificano la stessa cosa, ovvero l'interfaccia testuale. Con la differenza che di solito console si riferisce all'interfaccia testuale vera e propria (quella fuori da X per intenderci), mentre per "terminale" si intendono ambienti come Konsole, XTerm eccetera.

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 0:28
da Nilus
Si alla fine si usano tutti e tre indiscriminatamente, ma secondo me conoscere le cose a fondo non fa mai male ( o quasi... )

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 9:28
da Paoletta
Eberoth ha scritto:mentre per "terminale" si intendono ambienti come Konsole, XTerm eccetera.
in realta' questi sono definiti emulatori di terminale;

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 11:34
da conraid
leggendo wikipedia sembra che "shell" viene intesa come ambiente di lavoro che ti permette di interagire con il sistema, e può essere a linea di comando o grafico, da qui per esempio Gnome Shell.
http://en.wikipedia.org/wiki/Shell_%28computing%29

La console è appunto il pc fisicamente inteso
http://en.wikipedia.org/wiki/System_console
e quel che noi chiamiamo console è il
http://en.wikipedia.org/wiki/Virtual_console_%28PC%29

Terminale è appunto l'emulatore di terminale
http://en.wikipedia.org/wiki/Terminal_emulator
in quanto simula il "terminale" fisico, anche da remoto, soprattutto in origine
http://en.wikipedia.org/wiki/Computer_terminal

naturalmente wikipedia non è il vangelo :-)

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 11:43
da neongen
Nilus ha scritto: Al giorno d' oggi quindi console e terminale sono simili oppure è errato l' idea che mi sono fatto io ?
semplicemente un terminale può anche essere grafico (es. collegandosi ad X via xdmcp).

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 12:23
da legura
Semplificando al massimo: il terminale può essere visto come l'insieme dei flussi dati di input ( tastiera ) e di output (monitor).
La shell è un programma che gestisce questi due flussi, leggendo l'input da tastiera, ed eventualmente
scrivendo su monitotr (output). La shell interpreta i comandi inviati da tastiera e li esegue ( eventualmente
avviando altri programmi che a loro volta si interfacceranno con i flussi di input e output).
Esssendo un programma, esistono diversi tipi di shell ( bash, sh, zh, etc..)
Un terminale virtuale è un programma (che gira in un contesto grafico) in cui gira la shell, che si interfaccia,
per quanto riguarda i flussi di input e output, con il programma terminale virtuale ( e non con il trerminale
visto sopra).

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 16:26
da Mario Vanoni
legura ha scritto:Semplificando al massimo: il terminale può essere visto come l'insieme dei flussi dati di input ( tastiera ) e di output (monitor).
La shell è un programma che gestisce questi due flussi, leggendo l'input da tastiera, ed eventualmente
scrivendo su monitotr (output). La shell interpreta i comandi inviati da tastiera e li esegue ( eventualmente
avviando altri programmi che a loro volta si interfacceranno con i flussi di input e output).
Esssendo un programma, esistono diversi tipi di shell ( bash, sh, zh, etc..)
Un terminale virtuale è un programma (che gira in un contesto grafico) in cui gira la shell, che si interfaccia,
per quanto riguarda i flussi di input e output, con il programma terminale virtuale ( e non con il trerminale
visto sopra).
Quasi perfetto!

Il terminale, tastiera e schermo, dialoga con il computer,
a livello di boot non c'e` SO, ne alcuna shell, quindi dialoga con il BIOS.
Esempio classico Ctrl-Alt-Del per interrompere il boot.

Partito il SO, subentra una shell che dialoga con il SO,
vuole login e passwd, e hai a disposizione solo le utilities UNIX/Linux.

Sotto un DE qualunque serve anche un sorcio ed il terminale viene emulato,
ma non e` piu` puro, perche' il DE spesso usa tante/troppe risorse.

UPDATE:
tty deriva da teletype == telescrivente
ai tempi non esistevano schermi ne sorci

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 17:43
da targzeta
Mario Vanoni ha scritto:...
Partito il SO, subentra una shell che dialoga con il SO,
vuole login e passwd, e hai a disposizione solo le utilities UNIX/Linux.
...
In realtà, il SO esegue il processo padre di tutti i processi, che normalmente è /sbin/init. Questo esegue un processo che apre un terminale, sulla Slackware è /sbin/agetty, il quale una volta configurato il terminale esegue un altro processo che si occupa dell'autenticazione dell'utente, sotto Slackware è /bin/login. E' quest'ultimo (normalmente) che chiede la login e la password. Una volta verificate le credenziali /bin/login esegue un altro processo ancora che di solito è la shell dell'utente. La shell non è altro che un programma che interpreta i comandi dell'utente ed esegue quello che gli viene chiesto di fare.

Sulla definizione di terminale, console, terminale virtuale e console virtuale non saprei che dire. Anche io ho letto che con terminale generalmente viene indicata la coppia tastiera+monitor, in pratica una postazione. Però non aggiungo altro perché non so :)

Emanuele

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 19:05
da Mario Vanoni
spina ha scritto:
Mario Vanoni ha scritto:...
Partito il SO, subentra una shell che dialoga con il SO,
vuole login e passwd, e hai a disposizione solo le utilities UNIX/Linux.
...
In realtà, il SO esegue il processo padre di tutti i processi, che normalmente è /sbin/init. Questo esegue un processo che apre un terminale, sulla Slackware è /sbin/agetty, il quale una volta configurato il terminale esegue un altro processo che si occupa dell'autenticazione dell'utente, sotto Slackware è /bin/login. E' quest'ultimo (normalmente) che chiede la login e la password. Una volta verificate le credenziali /bin/login esegue un altro processo ancora che di solito è la shell dell'utente. La shell non è altro che un programma che interpreta i comandi dell'utente ed esegue quello che gli viene chiesto di fare.
Perfetta descrizione di quanto ho omesso per pigrizia.

Reminiscenza di >15 anni:
sul computer esposto alla rete usavo /bin/restrict non /bin/login,
programma degli anni 1980-1990 che permetteva solo quanto definito.
Da quello, superati gli ostacoli, si accedeva al server.

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: mer 23 mar 2011, 19:45
da Nilus
Innanzitutto vi ringrazio per le risposte, dopo aver dato un' occhiata alle pagine del wiki e letto appunto le vostre risposte mi sono fatto un' idea, magari andando più a fondo con lo studio del kernel ed O.S. poi le cose diverrano ancora più chiare.

Diciamo che quelle applicazioni che girano sotto un' ambiente grafico sono tutte emulatori di terminale( funzionanti sia da locale che da remoto ), la console è da intendere proprio come postazione fisica di un pc.
Quindi quando faccio il login per entrare nel sistema mi trovo in console ( che poi attraverso un meccanismo al momento a me ignoto possono essere 6 o più console virtuali ).
Nel momento in cui parte il Desktop Environment per interagire testualmente col sistema posso richiamare un emulatore di terminale ( tipo konsole in KDE ) o al massimo switchare in un' altra console virtuale.

In generale quindi le operazioni che posso fare in console le posso fare anche dal terminale virtuale ( o almeno credo quasi tutte ), per questo motivo credo che la differenza tra le due per un utente desktop come me possa apparire sottile.

Re: Chiarezza sulla differenza tra Console / Terminale / She

Inviato: gio 24 mar 2011, 16:42
da giberg
Io uso la shell "bash" in un terminale.

Può essere giusto dire così?

Bash (sh) è una shell testuale. L'interfaccia grafica (Gnome, Kde, l'interfaccia di Windows ecc...) è una shell grafica (giusto?).
C Shell (csh) e Korn Shell (ksh) sono altre shell testuali che posso eseguire in un terminale.