<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><br><div>Begin forwarded message:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>From: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Annick Fron &lt;<a href="mailto:info@afceurope.com">info@afceurope.com</a>&gt;<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>Date: </b></span><span style="font-family:'Helvetica'; font-size:medium;">January 12, 2011 10:26:41 AM GMT+01:00<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>To: </b></span><span style="font-family:'Helvetica'; font-size:medium;">A friendly place where any question about pharo is welcome &lt;<a href="mailto:pharo-users@lists.gforge.inria.fr">pharo-users@lists.gforge.inria.fr</a>&gt;<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>Subject: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><b>[Pharo-users] squeak vm without MMU</b><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>Reply-To: </b></span><span style="font-family:'Helvetica'; font-size:medium;">A friendly place where any question about pharo is welcome &lt;<a href="mailto:pharo-users@lists.gforge.inria.fr">pharo-users@lists.gforge.inria.fr</a>&gt;<br></span></div><br><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div><br></div><div>Is it possible to use pharo on a processor with MMU (Memory Unit Management ) ?&nbsp;</div><div>Namely my target OS is a Linux with the following differences :</div><div>============</div><div><br></div><div><div style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="2" color="black" face="Arial"><span lang="EN-GB" style="font-size: 10pt; ">The</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">&nbsp;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&nbsp;kernel</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">&nbsp;and the standard Linux behavior:</span></font></div><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">no fork() – consider using vfork() instead but beware of the difference of their semantics<o:p></o:p></span></font></p><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">no daemon() – it is usually implemented on top of fork and cannot be easily replaced without changing the semantics.<o:p></o:p></span></font></p><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">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.<o:p></o:p></span></font></p><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">limited libc compared to glibc -- either add more to libc, or remove some functionality.<o:p></o:p></span></font></p><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">no support for ELF binary file format<o:p></o:p></span></font></p><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">very limited support for shared libraries due to missing MMU -- all applications get linked statically<o:p></o:p></span></font></p><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">mmap() is very inefficient<o:p></o:p></span></font></p><p class="Default" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 2.6pt; margin-left: 0cm; font-size: 12pt; font-family: Arial; color: black; "><font size="1" color="black" face="Wingdings"><span style="font-size: 8pt; font-family: Wingdings; ">u&nbsp;</span></font><font size="2"><span lang="EN-GB" style="font-size: 10pt; ">no paging -- applications have to be loaded completely into RAM, the heap is very susceptible to fragmentation.</span></font></p><div>========</div></div><div>Annick Fron</div></div></blockquote></div><br></body></html>