TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

XOS: Build your own operating system

144 pointsby gphilipover 10 years ago

12 comments

userbinatorover 10 years ago
<i>The machine simulator is known as eXperimental String Machine (XSM). It is an interrupt driven uniprocessor machine. The machine handles data as strings. A string is a sequence of characters terminated by ’\0’. The length of a string is at most 16 characters including ’\0’. Each of these strings is stored in a word. (Refer Section: Memory) The machine interprets a single character also as a string.</i><p>What an... odd architecture. Fun for experimentation, I&#x27;m sure, but I think it&#x27;s too different from contemporary CPUs to give a good taste of what the &quot;real&quot; thing is like.
评论 #8454164 未加载
评论 #8453048 未加载
评论 #8453843 未加载
评论 #8453512 未加载
frozenportover 10 years ago
Should use x86&#x2F;ARM&#x2F;MIPS so that students get real world experience. You might never have to write an OS, but knowing x86 assembly will help you debug and optimize code.<p>See the following course: <a href="https://courses.engr.illinois.edu/ece391/" rel="nofollow">https:&#x2F;&#x2F;courses.engr.illinois.edu&#x2F;ece391&#x2F;</a>
评论 #8452764 未加载
评论 #8452871 未加载
评论 #8452832 未加载
gphilipover 10 years ago
&quot;Project XOS or eXperimental Operating System is a platform to develop a toy operating system. It is an instructional tool for students to learn and implement OS data structures and functionalities on a simulated machine called XSM (eXperimental String Machine).&quot;<p>XOS is used at the National Institute of Technology Calicut, India to teach Operating System principles [0]. The OS Lab essentially consists of students designing and implementing a kernel for XOS, starting from scratch:<p>&quot;Cross compiler, debugger, file system interface and other supporting software tools are provided. The student will implement the scheduler, memory management, process management, exception handling and file system management functions of the OS.&quot;<p>[0] <a href="http://athena.nitc.ac.in/~kmurali/os/index.html" rel="nofollow">http:&#x2F;&#x2F;athena.nitc.ac.in&#x2F;~kmurali&#x2F;os&#x2F;index.html</a>
zerrover 10 years ago
Enough for operating systems and compilers. I&#x27;m still waiting for some &quot;Build your own ACID compliant database system&quot;.
评论 #8455524 未加载
评论 #8452735 未加载
评论 #8452998 未加载
shaurzover 10 years ago
Someone should tell them that the names &quot;XFS&quot; and &quot;APL&quot; are already taken.
jeyover 10 years ago
Most people enticed by this headline probably actually want xv6 (a modern simple implementation of UNIX v6) or {buildroot, OpenEmbedded} (frameworks for generating Linux distros).
Zardoz84over 10 years ago
I think that a more simple machine were anyone can program it on assembly (and eventually on C) could be better :<p><a href="https://github.com/trillek-team/trillek-computer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;trillek-team&#x2F;trillek-computer</a><p><a href="https://github.com/trillek-team/trillek-vcomputer-module" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;trillek-team&#x2F;trillek-vcomputer-module</a>
评论 #8452689 未加载
评论 #8452823 未加载
评论 #8453033 未加载
ayover 10 years ago
On the topic of experimental OSes:<p><a href="https://github.com/ayourtch/ayos" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ayourtch&#x2F;ayos</a><p>a little experiment of my own to see what happens if I put Lua on bare metal (currently KVM-only) in x86_64 mode.<p>Lots of fun to toy with, though it does not do much yet.
评论 #8452728 未加载
li-chover 10 years ago
Don&#x27;t we already have Nachos for students?<p><a href="http://en.wikipedia.org/wiki/Not_Another_Completely_Heuristic_Operating_System" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Not_Another_Completely_Heuristi...</a>
chpatrickover 10 years ago
At my University (Imperial College London), our operating systems coursework was built around a toy OS called Pintos (<a href="http://en.wikipedia.org/wiki/Pintos" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pintos</a>), which is written in assembly and C and runs on x86. The project was to fill in the blanks in the implementation (more advanced scheduling, memory management, swapping etc) and I think most people thought it was one of the most fun projects we had. Being more realistic wasn&#x27;t really a problem as the really arcane parts were already implemented.
abhididdigiover 10 years ago
This is nice. I&#x27;m going to try this out over the weekend. Thanks!
eli_gottliebover 10 years ago
Or you could just go pick up a series of JOS exercises like they do in every operating-systems class ever.