[unios] Re: Generic design. More comments

Anders Petersson anders.petersson@mbox320.swipnet.se
Thu, 17 Dec 1998 23:03:02 +0100


From: Anders Petersson <anders.petersson@mbox320.swipnet.se>

At 14:53 1998-12-17 +0100, you wrote:
>From: Pieter Dumon <Pieter.Dumon@rug.ac.be>
>
>> From: Anders Petersson <anders.petersson@mbox320.swipnet.se>
>> 
>> I think something inbetween method 2 and 3 would be good:
>
>Perhaps, yes.
>
>> >Processes, memory management, drivers, file system, networking: it can
>> >all be implemented by the middle level, the level that gives an OS its
>> >functionality and provides the API for the high level and user .  
>> 
>> Processes - Multitasking has to be low-level, since it's closely related to
>> the kind of processor, if that's what you mean. However, processes are not
>> concerned with the type of hardware.
>
>No,no _threads_ have to be implemented by the kernel or whatever, because
>it's teh thread's state that is being saved. A process is just a
>collection of threads (abstracted by the kernel) and a memory space
>(abstracted by teh kernel too).

I'm not very fond of threads... I rather want to see them as processes. OK,
it's not what this was about, but still, multithreading does not fit in mOS
ideally. It might proove to be too slow to have it any other way, thou.

>> Memory management - Isn't this dependant (at least for resonable
>> performance) on the hardware availible?
>
>Well, the kernel abstracts the logical memory for each thread and does
>the low-level managment, but virtual memory (swapping in and out pages)
>can be provided by a user-level process, for instance.

I'm not sure.

>> Drivers - Device drivers are  of course low-level... could you mention some
>> examples of middle-level drivers?
>
>Ah, that was an error indeed. But the drivers can run in user mode, that
>was what I meant.

The problem is - is it secure to let user-level processes deal with
hardware? Can they be limited as to what hardware they can access?

>> mOS needs a kernel to implement the most basic stuff, like memory managment
>> and system calls. The kernel need to be there, only that it is small and
>> has delegated most jobs to ordinary processes.
>
>We can use a "no-kernel" design. All hardware, so cpu and memory too,
>is abstracted by an object each, running in a seperate memory space etc.
>This would make it all very flexible, and probably stable, but not fast.

I want a kernel. ;)

[snip: excellent ASCII drawing]
>> I don't like the idea... I want to make mOS the kernel.
>>
>
>mOS the kernel ? That would - hurt performance
>			    - decrease flexibility.	

Hey, it would *increase performane*. Decrease flexibility - yep, but only
if other OS'es are to be run as equal to mOS. And they'd need to be
reimplemented for that, so I see no big loss.

binEng


------------------------------------------------------------------------
To unsubscribe from this mailing list, or to change your subscription
to digest, go to the ONElist web site, at http://www.onelist.com and
select the User Center link from the menu bar on the left.
------------------------------------------------------------------------
UniOS Group
http://members.xoom.com/unios