The **xinu-avr** project is a **Xinu Operating System** subset, modified to run on an AVR atmega328p microcontroller.
For lovers of "because small is beautiful" (FusixOS, retrobsd, unix in microcontrollers, etc) this project provides a user interface example as well: The **Xinu shell** and several tiny versions of **UNIX-like utilities**, like echo, a text editor, a basic interpreter, ps, kill, free, date, cal, and some more.
At present, the core pieces of Xinu are working, so you can already integrate it
@ -25,7 +26,7 @@ Xinu uses powerful primitives to provides all the componentes and the same funct
Xinu is documented in the book:
[D. Comer, Operating System Design - The Xinu Approach, Second Edition CRC Press, 2015. ISBN 9781498712439](https://xinu.cs.purdue.edu/#textbook)
Many sites defines Xinu as a free Unix system, or similar statements. It is not. Xinu differs completely from the internal structure of Unix (or Linux). For academic purposes Xinu is smaller, elegant, and easier to understand. Applications written for one system will not run on the other without modification. ** Xinu is not Unix **.
Many sites defines Xinu as a free Unix system, or similar statements. It is not. Xinu differs completely from the internal structure of Unix (or Linux). For academic purposes Xinu is smaller, elegant, and easier to understand. Applications written for one system will not run on the other without modification. **Xinu is not Unix**.
#### History
@ -81,7 +82,7 @@ Notes about the port:
**Acknowledgments**
* Michael M. Minor: he is the author of another AVR port os Xinu (<ahref="https://sites.google.com/site/avrxinu/">avrxinu</a>. We use his context switch code, the addargs in Xinu shell, and a few lines more. His port is for bigger AVR microcontrollers (16KB+ of RAM), and he used an old version of Xinu (from the 1st book edition).
* Michael M. Minor: he is the author of another AVR port os Xinu (<ahref="https://sites.google.com/site/avrxinu/">avrxinu</a>. We use his context switch code, the addargs in Xinu shell, and a few lines more. His port is for bigger AVR microcontrollers (16KB+ of RAM), and he used an old version of Xinu (Xinue from the 1987 book edition).
<p>The <strong>xinu-avr</strong> project is a <strong>Xinu Operating System</strong> subset, modified to run on an AVR atmega328p microcontroller.
For lovers of "because small is beautiful" (FusixOS, retrobsd, unix in microcontrollers, etc) this project provides a user interface example as well: The <strong>Xinu shell</strong> and several tiny versions of <strong>UNIX-like utilities</strong>, like echo, a text editor, a basic interpreter, ps, kill, free, date, cal, and some more.</p>
<p>The <strong>xinu-avr</strong> project is a <strong>Xinu Operating System</strong> subset, modified to run on an AVR atmega328p microcontroller. </p>
<p>For lovers of "because small is beautiful" (FusixOS, retrobsd, unix in microcontrollers, etc) this project provides a user interface example as well: The <strong>Xinu shell</strong> and several tiny versions of <strong>UNIX-like utilities</strong>, like echo, a text editor, a basic interpreter, ps, kill, free, date, cal, and some more.</p>
<p>At present, the core pieces of Xinu are working, so you can already integrate it
in the development of multi-tasking embedded systems (you will also need any bare AVR MCU, or Arduino board, of course).</p>
<p>The source code is comprise of:</p>
@ -56,7 +56,7 @@ Xinu uses powerful primitives to provides all the componentes and the same funct
<p><strong>The Xinu Operating System includes</strong>: dynamic process creation, dynamic memory allocation, real-time clock management, process coordination and synchronization, local and remote file systems, a shell, and device-independent I/O functions. </p>
<p>Xinu is documented in the book:
<ahref="https://xinu.cs.purdue.edu/#textbook">D. Comer, Operating System Design - The Xinu Approach, Second Edition CRC Press, 2015. ISBN 9781498712439</a></p>
<p>Many sites defines Xinu as a free Unix system, or similar statements. It is not. Xinu differs completely from the internal structure of Unix (or Linux). For academic purposes Xinu is smaller, elegant, and easier to understand. Applications written for one system will not run on the other without modification. <strong>Xinu is not Unix</strong>.</p>
<p>Many sites defines Xinu as a free Unix system, or similar statements. It is not. Xinu differs completely from the internal structure of Unix (or Linux). For academic purposes Xinu is smaller, elegant, and easier to understand. Applications written for one system will not run on the other without modification. <strong>Xinu is not Unix</strong>.</p>
<h4>History</h4>
<p>Xinu originally ran on Digital Equipment Corporation LSI 11's with only 64K bytes of memory, at the end of 1979 and the inning of 1980. Over the years Xinu versions Xinu have been expanded and ported to a wide variety of architectures and platforms, including: IBM PC, Macintosh, Digital Equipment Corporation VAX and DECStation 3100, Sun Microsystems Sun 2, Sun 3 and Sparcstations, and for several ARM, MIPS and x86 embedded boards. It has been used as the basis for many research projects. Furthermore, Xinu has been used as an embedded system in products by companies such as Motorola, Mitsubishi, Hewlett-Packard, and Lexmark. There is a full TCP/IP stack, and even the original version of Xinu (for the PDP-11) supported arbitrary processes and network I/O.</p>
<p>There are current versions of Xinu for Galileo Intel boards, ARM Beagle Boards, several MIPS platforms, and for x86 PC hardware and virtual machines.</p>
@ -102,7 +102,7 @@ Xinu uses powerful primitives to provides all the componentes and the same funct
</ol>
<p><strong>Acknowledgments</strong></p>
<ul>
<li>Michael M. Minor: he is the author of another AVR port os Xinu (<ahref="https://sites.google.com/site/avrxinu/">avrxinu</a>. We use his context switch code, the addargs in Xinu shell, and a few lines more. His port is for bigger AVR microcontrollers (16KB+ of RAM), and he used an old version of Xinu (from the 1st book edition).</li>
<li>Michael M. Minor: he is the author of another AVR port os Xinu (<ahref="https://sites.google.com/site/avrxinu/">avrxinu</a>. We use his context switch code, the addargs in Xinu shell, and a few lines more. His port is for bigger AVR microcontrollers (16KB+ of RAM), and he used an old version of Xinu (Xinue from the 1987 book edition).</li>
</ul>
<p><aname="douglas"></a></p>
<h3>Douglas Comer</h3>
@ -115,7 +115,7 @@ was inducted into the Internet Hall of Fame on September, 2019.</p>
<p><aname="lab"></a></p>
<h3>Getting started</h3>
<p>Xinu is easy of understand, so a developer can obtain a copy
of the system to examine, modify, instrument, measure, extend, or transport it to another architecture.</p><br><br><hr><small><i> last edit: dom jul 5 10:38:09 -03 2020 - Rafael Ignacio Zurita (rafa at fi.uncoma.edu.ar)</i></small><br><br>
of the system to examine, modify, instrument, measure, extend, or transport it to another architecture.</p><br><br><hr><small><i> last edit: jue jul 9 23:01:05 -03 2020 - Rafael Ignacio Zurita (rafa at fi.uncoma.edu.ar)</i></small><br><br>