<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://miosix.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Miosix_processes</id>
	<title>Miosix processes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://miosix.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Miosix_processes"/>
	<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Miosix_processes&amp;action=history"/>
	<updated>2026-06-09T22:56:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://miosix.org/wiki/index.php?title=Miosix_processes&amp;diff=493&amp;oldid=prev</id>
		<title>Fede.tft at 07:33, 17 May 2026</title>
		<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Miosix_processes&amp;diff=493&amp;oldid=prev"/>
		<updated>2026-05-17T07:33:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:33, 17 May 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO: explain how the Makefile for the kernel and the one for processes works, and the use of the &#039;&#039;-qkernelspace&#039;&#039; GCC option that has been added by the GCC patches as part of the [[Miosix &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;toolchain&lt;/del&gt;]] to change the code generation and linking stage to either build a position independent code program where the libc links with the libsyscalls (processes), or a non-position-independent code program where kercalls remain undefined references to be resolved at the link stage when linking with the kernel&#039;s libmiosix.a. Also explain the need for the postlinking stage (&#039;&#039;mx-postlinker&#039;&#039; tool) to specify the size of the RAM memory region of programs, as well as the stack size.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO: explain how the Makefile for the kernel and the one for processes works, and the use of the &#039;&#039;-qkernelspace&#039;&#039; GCC option that has been added by the GCC patches as part of the [[Miosix &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Toolchain&lt;/ins&gt;]] to change the code generation and linking stage to either build a position independent code program where the libc links with the libsyscalls (processes), or a non-position-independent code program where kercalls remain undefined references to be resolved at the link stage when linking with the kernel&#039;s libmiosix.a. Also explain the need for the postlinking stage (&#039;&#039;mx-postlinker&#039;&#039; tool) to specify the size of the RAM memory region of programs, as well as the stack size.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fede.tft</name></author>
	</entry>
	<entry>
		<id>https://miosix.org/wiki/index.php?title=Miosix_processes&amp;diff=492&amp;oldid=prev</id>
		<title>Fede.tft at 07:32, 17 May 2026</title>
		<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Miosix_processes&amp;diff=492&amp;oldid=prev"/>
		<updated>2026-05-17T07:32:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:32, 17 May 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The linker script is usually simply called processes, and needs to be uncommented while also commenting the default linker script:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The linker script is usually simply called processes, and needs to be uncommented while also commenting the default linker script:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code &lt;/del&gt;lang=bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source &lt;/ins&gt;lang=bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;## Select linker script&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;## Select linker script&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#LINKER_SCRIPT := unikernel.ld&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#LINKER_SCRIPT := unikernel.ld&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;LINKER_SCRIPT := processes.ld&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;LINKER_SCRIPT := processes.ld&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO: explain how the Makefile for the kernel and the one for processes works, and the use of the &amp;#039;&amp;#039;-qkernelspace&amp;#039;&amp;#039; GCC option that has been added by the GCC patches as part of the [[Miosix toolchain]] to change the code generation and linking stage to either build a position independent code program where the libc links with the libsyscalls (processes), or a non-position-independent code program where kercalls remain undefined references to be resolved at the link stage when linking with the kernel&amp;#039;s libmiosix.a. Also explain the need for the postlinking stage (&amp;#039;&amp;#039;mx-postlinker&amp;#039;&amp;#039; tool) to specify the size of the RAM memory region of programs, as well as the stack size.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO: explain how the Makefile for the kernel and the one for processes works, and the use of the &amp;#039;&amp;#039;-qkernelspace&amp;#039;&amp;#039; GCC option that has been added by the GCC patches as part of the [[Miosix toolchain]] to change the code generation and linking stage to either build a position independent code program where the libc links with the libsyscalls (processes), or a non-position-independent code program where kercalls remain undefined references to be resolved at the link stage when linking with the kernel&amp;#039;s libmiosix.a. Also explain the need for the postlinking stage (&amp;#039;&amp;#039;mx-postlinker&amp;#039;&amp;#039; tool) to specify the size of the RAM memory region of programs, as well as the stack size.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fede.tft</name></author>
	</entry>
	<entry>
		<id>https://miosix.org/wiki/index.php?title=Miosix_processes&amp;diff=489&amp;oldid=prev</id>
		<title>Fede.tft: Created page with &quot;TODO: this part needs better documenting.  A complete example for running processes can be found in [https://github.com/fedetft/miosix-kernel/tree/master/templates/processes templates/processes].  To compile it, you have to change the default linker script for your board so that the size of the process pool, the memory allocator for processes is greater than zero. This needs to be done in the &#039;&#039;config/board&#039;&#039; directory for your board. For example, for an...&quot;</title>
		<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Miosix_processes&amp;diff=489&amp;oldid=prev"/>
		<updated>2026-05-17T07:29:37Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;TODO: this part needs better documenting.  A complete example for running processes can be found in [https://github.com/fedetft/miosix-kernel/tree/master/templates/processes templates/processes].  To compile it, you have to change the default linker script for your board so that the size of the &lt;a href=&quot;/wiki/index.php?title=Process_pool&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Process pool (page does not exist)&quot;&gt;process pool&lt;/a&gt;, the memory allocator for processes is greater than zero. This needs to be done in the &amp;#039;&amp;#039;config/board&amp;#039;&amp;#039; directory for your board. For example, for an...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;TODO: this part needs better documenting.&lt;br /&gt;
&lt;br /&gt;
A complete example for running processes can be found in [https://github.com/fedetft/miosix-kernel/tree/master/templates/processes templates/processes].&lt;br /&gt;
&lt;br /&gt;
To compile it, you have to change the default linker script for your board so that the size of the [[Process pool|process pool]], the memory allocator for processes is greater than zero. This needs to be done in the &amp;#039;&amp;#039;config/board&amp;#039;&amp;#039; directory for your board. For example, for an RP2040 the file is [https://github.com/fedetft/miosix-kernel/blob/master/miosix/config/board/rp2040_raspberry_pi_pico/Makefile.inc config/board/rp2040_raspberry_pi_pico/Makefile.inc].&lt;br /&gt;
&lt;br /&gt;
The linker script is usually simply called processes, and needs to be uncommented while also commenting the default linker script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
## Select linker script&lt;br /&gt;
#LINKER_SCRIPT := unikernel.ld&lt;br /&gt;
LINKER_SCRIPT := processes.ld&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO: explain how the Makefile for the kernel and the one for processes works, and the use of the &amp;#039;&amp;#039;-qkernelspace&amp;#039;&amp;#039; GCC option that has been added by the GCC patches as part of the [[Miosix toolchain]] to change the code generation and linking stage to either build a position independent code program where the libc links with the libsyscalls (processes), or a non-position-independent code program where kercalls remain undefined references to be resolved at the link stage when linking with the kernel&amp;#039;s libmiosix.a. Also explain the need for the postlinking stage (&amp;#039;&amp;#039;mx-postlinker&amp;#039;&amp;#039; tool) to specify the size of the RAM memory region of programs, as well as the stack size.&lt;/div&gt;</summary>
		<author><name>Fede.tft</name></author>
	</entry>
</feed>