Talk:Idris (operating system)

message: I don't know what Idris is named after.
Would you accept that including a link to Idris in a See also would help the article?
I still find that it is better to point to possible sources than leave readers in the dark.
--84.20.17.84 11:19, 21 February 2007 (UTC)
replies: text: No problem. AlistairMcMillan 13:12, 21 February 2007 (UTC)
thread_title: Idris

message: Well we named it after the goddess of tools. :)
I believe the creator of Thor's hammer.
P. J. Plauger authored much of the original kernel
but Whitesmiths realized that, in that day, one could not sell
a kernel alone.  It had to come with utilities for administration
and development tools.  Whitesmiths even endeavored to provide a word processor.
There are many of us (still alive ;) that worked at Whitesmiths and particularly on the Idris kernel, its utilities and the C cross-compiler. P.J.Plauger was a co-founder and president.
Co-Idris (hyphen added) was named that because it co-operated with
MSdos.  Like current day puppy-Linux, it could boot from its own partition or use a large ms-dos file to hold its root file system. It could also use BIOS calls if requested at boot time (IE no dependency on ms-dos).
On some 68K architectures it also used BIOS code if that proved more expedient.
Direct interrupt driven device drivers compatible with the original Unix device drivers also existed on platforms and boards that supported it.
Some other points to include:
* On an x8086 it used a memory model that gave each process up to 64K for data/stack/heap and 64K for program so there was less chance of processes corrupting each other.
* shared memory and shared instruction space were implemented. Shared instruction space cut down on fork() time measurably. 
* Idris did not require a swap device though it could boot multi-user on a machine with 128K of bubble memory for a root file system.
* 31K was the size of the kernel on a bank-switched z80, permitting it to run multi-user on any extended memory configuration even in an 8 bit processor.
* The amount of assembly language was reduced to only a couple of files. One of the most critical used for context switching also did double duty as the setjmp()/longjump() library routine.
* Like with LILO/grub, People frequently mistook the Idris boot loader for a running multiuser system - it too had many commands including 'ls'.
* Idris was capable of booting a read-only root which made it popular with companies embedding it in ROMs.    
* The format of object code and executable binaries, though it predated ELF, made it possible for Idris to dispatch correctly in ASMP architectures (IE an x86 and a 68K on the same backplane). SMP dispatching was also explored.  This also meant that the same linker and librarian tools could be used in either a cross compiler or native tool chain.
* Idris supported an early form of /proc file system, that is, one could find out process memory, priority and command line argument values by traversing directories and reading files on a particular kind of device. 'ps' was magnitudes faster because there was no need to query the swap device or map /dev/kmem to a symbol table.
* ptrace() was the only system call not supported by Idris, later obviated by the above /proc file system equivalent and considered a security risk otherwise.
* Idris also did away with the the concept of forced controlling terminal inheritance so that one could more easily create a daemon with no controlling terminal (immune to ctrl-C) the same ways as is done now in Linux.
* The scheduler had RealTime capability using unusual process 'nice' values.
* X11 was ported to it for the Atari
I will let the various editors here decide how much of this to incorporate into the main article.
  
Bobr 06:18, 17 August 2007 (UTC)
replies: text: Thanks for this information. Do you know of any good books or websites or whatever that we could point to as sources for this? We are required to source as much information as possible in Wikipedia. See Wikipedia:Verifiability for more. AlistairMcMillan 15:43, 17 August 2007 (UTC)
thread_title: Info from Bobr