[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
OO Machines: Rekursiv
> What about programs made possible by the Rekursiv CONCEPT? That is, all
> von Neumann machines execute some sort of operating system which manages
> memory, security, persistent store, etc. When hardware support is
> tailored to object-oriented programs, the need for an operating system
> goes away. Each object implements its own word size, storage format &
> optimization, security measures, and so on.
I think all you've done is moved the OS protection and resource management
issues into microcode and/or hardware, thereby making them far less
flexible, and more difficult to change and understand. Having an object
"responsible for its own memory management, resource allocation, and
security" is a contradiction in terms: memory management, resource
allocation, and security are by their very nature things that happen at the
level of interactions *between* objects in some *larger* medium. I.e., the
function of an OS is to manage resources that are intrinsically *shared*:
you can push the function around between implementation levels, but you
can't get rid of it.
I thought Mario Wolczko's point about the negative consequences of moving
paging and garbage collection down to the microcode level was a good
example of the kind of thing that goes wrong.
> Further, the objects, with
> their "OS" functions almost fully subsumed by their own implementation,
> could be executed on distributed processors.
I don't think that using "objects" (or capabilities, which is what people
generally call "objects" implemented at the OS level) addresses any of the
hard problems in the distributed domain -- the nature of object addresses
or references, remote execution vs. migration, synchronization, robustness
in the face of hardware and software failures, etc.
> This raises new control
> issues, but the point remains (at least in my opinion): Rekursiv
> explored a paradigm different from traditional von Neumann architectures
> and programming approaches. This program paradigm transcends the issue
> of hardware performance.
I agree that object-orientation changes the way one thinks about software,
often for the better. I strongly disagree that special-purpose hardware
gives one any advantage in supporting the object-oriented viewpoint.