Fwd: [Pharo-users] squeak vm without MMU

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: [Pharo-users] squeak vm without MMU

stephane ducasse-2
 


Begin forwarded message:

From: Annick Fron <[hidden email]>
Date: January 12, 2011 10:26:41 AM GMT+01:00
To: A friendly place where any question about pharo is welcome <[hidden email]>
Subject: [Pharo-users] squeak vm without MMU
Reply-To: A friendly place where any question about pharo is welcome <[hidden email]>

Hi,

Is it possible to use pharo on a processor with MMU (Memory Unit Management ) ? 
Namely my target OS is a Linux with the following differences :
============

The kernel is a collection of patches to make the standard Linux kernel run on CPUs that do not have an MMU. As a consequence you will encounter some differences between the kernel and the standard Linux behavior:

no fork() – consider using vfork() instead but beware of the difference of their semantics

no daemon() – it is usually implemented on top of fork and cannot be easily replaced without changing the semantics.

fixed stack size -- the stack of an application is set at execution time and cannot grow during runtime. The default stack size is 4k! It can be increased with the "-s" option of m68k-uClinux-elf2flat.

limited libc compared to glibc -- either add more to libc, or remove some functionality.

no support for ELF binary file format

very limited support for shared libraries due to missing MMU -- all applications get linked statically

mmap() is very inefficient

no paging -- applications have to be loaded completely into RAM, the heap is very susceptible to fragmentation.

========
Annick Fron

Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [Pharo-users] squeak vm without MMU

Bert Freudenberg
 
Sounds like it could be made to work. Pretty much the only hard requirement is that you need to be able to allocate a big *continuous* chunk of memory (image size + headroom). 

- Bert -

On 13.01.2011, at 08:36, stephane ducasse wrote:



Begin forwarded message:

From: Annick Fron <[hidden email]>
Date: January 12, 2011 10:26:41 AM GMT+01:00
To: A friendly place where any question about pharo is welcome <[hidden email]>
Subject: [Pharo-users] squeak vm without MMU
Reply-To: A friendly place where any question about pharo is welcome <[hidden email]>

Hi,

Is it possible to use pharo on a processor with MMU (Memory Unit Management ) ? 
Namely my target OS is a Linux with the following differences :
============

The kernel is a collection of patches to make the standard Linux kernel run on CPUs that do not have an MMU. As a consequence you will encounter some differences between the kernel and the standard Linux behavior:

no fork() – consider using vfork() instead but beware of the difference of their semantics

no daemon() – it is usually implemented on top of fork and cannot be easily replaced without changing the semantics.

fixed stack size -- the stack of an application is set at execution time and cannot grow during runtime. The default stack size is 4k! It can be increased with the "-s" option of m68k-uClinux-elf2flat.

limited libc compared to glibc -- either add more to libc, or remove some functionality.

no support for ELF binary file format

very limited support for shared libraries due to missing MMU -- all applications get linked statically

mmap() is very inefficient

no paging -- applications have to be loaded completely into RAM, the heap is very susceptible to fragmentation.

========
Annick Fron