The first OS I used (1981) after college was PRIMOS on a Prime minicomputer. This was a time-sharing operating system and it supported a number of users, each using a terminal connected to the computer through an RS232 cable. You had to log on to the terminal giving a username and password. Your terminal session was a shell of sorts. You could edit files, compile, run all those things we do nowadays. All the terminals had access to the same filing system. Largely these terminals were no more than typewriters - no WYSISWYG editors, even emacs was a dream.
The operating system was structured much as they are now and could be imagined as a layer of onion skins. The innermost layer had very low level functionality - like hardware control, memory access. Going outwards, the file system would be added and then the user layers. In your program you would be able to interact with some layers, but not with the innermost ones (so you wouldn't be able to mess with the time-sharing or the actual hardware - lights and so on). A computer without a shell would be like one of these inner layers, it might be able to access a hard disk and a tape reader (really!), but it wouldn't know about files or users.
To boot an early computer you needed to load a basic set of instructions (this might involve toggling physical switches in a set sequence on the computer). This sequence would initiate a second small program, which might enable the tape reader to work. Then you'd load a more complex system through the tape reader, which might bring the disk drive on line. You could imagine a shell-less OS as being like one of these initial loaders.
Nowadays computers have similar sequences, so when you start the machine, it loads its BIOS, which starts the disks, network cards, video card and so on, then the BIOS looks for a specific program on the hard disk and runs that (on Windows at least). Unix does something similar it progressively sets up the kernel starting with very basic modules and building on them until it gets to the login prompt
2
(As an aside: the term shell does not only apply to command line shells.)
– Arjan – 2013-08-14T11:37:13.6132@Ramhound Of course you can interact with a system without a command line. One can argue merits of various UI design approaches all week, but it certainly was possible to interact both with classic Mac OS as well as the Altair despite neither having a command line out of the box. – a CVn – 2013-08-14T11:57:34.207
4The most basic interface would probably be a switch panel as in the PDP11/04 etc – Tog – 2013-08-14T12:32:43.590
This 8085 computer http://chaokhun.kmitl.ac.th/~kswichit/mtk-85/index.html does not have a command.com like shell and can still interact with the user
– user13267 – 2013-08-15T07:33:36.327I'd say it looks somewhat like a turtle without a shell – Snakes and Coffee – 2013-08-15T07:51:30.037
1
This one looks like chess http://www.raspberrypi.org/archives/4300
– Nico Burns – 2013-08-15T09:09:54.4031It looks like a tree falling in a forest with no one around to see it. – nathan hayfield – 2013-08-15T20:43:53.833