SLUG Mailing List Archives
Re: [SLUG] 40 Years of Unix
- To: slug@xxxxxxxxxxx
- Subject: Re: [SLUG] 40 Years of Unix
- From: jam <jam@xxxxxxxxx>
- Date: Mon, 24 Aug 2009 10:26:59 +0800
- User-agent: KMail/1.10.3 (Linux/184.108.40.206-0.1-default; KDE/4.1.3; x86_64; ; )
On Sunday 23 August 2009 16:38:37 slug-request@xxxxxxxxxxx wrote:
> >> Can you throw light on the demise of the "unix shell"?
> >> Marghanita
> > I'm guessing 'contextually', that you're asking about the demise of the
> > original Thompson shell that shipped with Unix? Since replaced by Bash,
> > Csh et al?
> Possibly, my memory of the idea behind Unix Shells...was similar to the
> concept of the Java machine and possibly the Browser, KDE and Gnome. Wine
> would be another candidate - ie you would implement MSWindows as a shell,
> running on Linux.
> No one seems to be suggesting that KDE or Gnome are shells. I am trying to
> figure out
> where Bash etc fits into Linux. Does Gnome/KDE run in a Bash shell?
<old fart mode>
Marghanita no, the shell is how you talk to the computer.
The different shells are just slight permutations of the language that you use
ie Boune shell (a pun by the authors on born again), bash is a much richer
version of this, korn shell, C shell have their own dialects, dash, ash etc
implement small-lean versions, heck even winders had a rudimentary one called
'command.com' ie the c:\.
Next came X-windows, the applications that you put on the (often pretty)
screen were managed by a window manager.
Next was desktops ie KDE, Gnome these are managers with extra functionality.
Ie launchers, icons configuration options etc etc.
The GUI paradigism allows people who have not learned to talk to computers to
communicate using pictures.
This picture mode is slow and cumbersome (imagine talking to a Russian, but
using pictures to convey your point)
And yes, in plain view or behind the scenes, KDE and Gnome do run in a shell
(man startkde eg)
But to be technical: init (the primaeval had crafted process) forks (makes a
clone of itself) and execs (runs a new process) on the copy.
Later on (in the boot process) shells do exactly the same, but you do not have
to use a shell to fork-exec.
So init->lot of other processes->shell->your application
java, kde, wine etc are all examples of 'your-application' which can fork-exec
And much more fascinating magical stuff: zombies, children who die when the
parents die, daemons ... :-) but for today here endith the lesson, but a
fascinating world to explore
</ old fart mode>