[movitz-devel] OS decisions

Brian Makin merimus at gmail.com
Sun Jun 14 02:40:39 UTC 2009


Well, we could certainly put some functions in a protected memory space.
It would require some system support so that you couldn't simply  
override the func.

Perhaps a better way would be like this.
A particular context (looks like the lisp term would be environment)  
could have permissions.

The read/write/execute model would probably work.
You could execute a function, read the source, or write(change) the  
function.

Thinking more on this... it is an interesting question.

Lets use a function
movitz:network:tx_packet

I would imagine that an unprivileged user would not be able to  
redefine that function within that context. ie: change the systems  
tx_packet function.  When the symbol is looked up it's permission is  
gotten from the environment in which it is defined.

Does the concept of having permissions on an environment even make  
sense?


On Jun 13, 2009, at 10:12 PM, Shawn Betts wrote:

> On Sat, Jun 13, 2009 at 6:58 PM, Brian Makin<merimus at gmail.com> wrote:
>>
>> Well, if you don't have some protection between a user and the base  
>> system
>> then any user would be able to do nasty things to other people on the
>> system.
>>
>> Grab their passwords, kill their processes, intercept their network  
>> traffic
>> etc...
>>
>> Genera for example was single user only.  On top of that it didn't  
>> even try
>> to protect the user from themselves.  If you overwrote the  
>> scheduler with
>> minesweeper... so be it.
>
> But how do you define kernel and user space? If I get "access" to the
> scheduler and make a tweak so it calls a special function I just
> wrote, how would that function be tagged as being crucial to the
> system? Would you be able to have a process-wait-function if you
> seperated "kernel" and "user" spaces?
>
>> You could make a multiuser system without that sort of protection  
>> but then a
>> hostile (or careless) user could cause havoc.
>
> I don't think anyone is questioning that. I'm trying to imagine how it
> would work. How would you seperate all the objects floating around in
> memory?
>
> _______________________________________________
> movitz-devel site list
> movitz-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/movitz-devel





More information about the movitz-devel mailing list