Live data from Hacker News

Show HN: A DOS-like hobby OS written in Rust and x86 assembly

github.com

31–40 of 62 posts

Re: Show HN: A DOS-like hobby OS written in Rust and x86 assembly

#31
post #30

I don’t understand: what makes this “DOS-like”? Not even the command names match DOS, except for dir and cls, and the architecture and feature set are completely different.

Single-user, single-task, VGA text-mode operating system with a basic filesystem (fat12), I guess.

Note the “guest” username in the prompt is a const, not multi-user: https://github.com/krustowski/rou2exOS/blob/6f85955dd339f09d...

Re: Show HN: A DOS-like hobby OS written in Rust and x86 assembly

#34
post #30

I don’t understand: what makes this “DOS-like”? Not even the command names match DOS, except for dir and cls, and the architecture and feature set are completely different.

The original blog post has more details: https://krusty.space/projects/rourexos/

Ultimately, it's an eye of the beholder type thing, but it seems very fair to call it DOS-like to me. The DOS inspiration is pretty blatant all throughout it from its aesthetic, commands (more than just dir and cls is shared), booting from a 1.44 floppy, etc. And if you are coming from a primarily windows computing background, then "DOS-like" is entirely appropriate to me.

It looks like a fun project.

Re: Show HN: A DOS-like hobby OS written in Rust and x86 assembly

#35
post #27

Earlier quoted context omitted.

Afaik there is a 'DIR' command in MS-DOS. Anyway, what would be a better command to list a directory? I could think of 'ls' maybe

I would most likely end up with something like this: CAT CATalogue - output the contents of current directory RM to Raster Memory - load contents of named file in framebuffer MV Make Virtual - map the file into memory and output the address LS Load System - attempt to reboot using the named file as the kernel CD Create Directory - self-explanatory SH System Halt - immediately stop all processing ...and so on.

Very good design. Implements only the essential tasks an operator would need with concise and well-known mnemonics. I’m sure this will be immediately intuitive to anyone, with no potential for mistakes whatsoever.

Re: Show HN: A DOS-like hobby OS written in Rust and x86 assembly

#36

Out of curiosity, why x86? Is it the preponderance of resources? The weird instruction format? The complexity of the boot sequence? Are you specifically trying to mimic DOS? > A support for the ARM architecture (aarch) is coming soon too. Wow! How do you support a DOS-like OS across multiple architectures when DOS itself is tightly tied to interactions among the program, the system code, and the architecture?

I have not looked at this project, but my guess would be: x86 is a widely available platform that, because of its history and relentless compatibility, contains a lot of legacy interfaces that make implement a very simple, thin-layer and “DOS-like OS” without the need to parse device trees, set up MMUs, deal with complex busses like PCI(e) and so on.

It is much harder to bootstrap a simple OS in ARM, and it won’t stay very simple unless you accept significantly more limitations than you would under x86. (For example, you can’t do very much with the MMU off on ARM, and you also don’t have convenient BIOS interfaces that allow you to, say, read a sector, or wait for a keypress, with just a few lines of assembly).

Re: Show HN: A DOS-like hobby OS written in Rust and x86 assembly

#37
post #27

Earlier quoted context omitted.

Afaik there is a 'DIR' command in MS-DOS. Anyway, what would be a better command to list a directory? I could think of 'ls' maybe

I would most likely end up with something like this: CAT CATalogue - output the contents of current directory RM to Raster Memory - load contents of named file in framebuffer MV Make Virtual - map the file into memory and output the address LS Load System - attempt to reboot using the named file as the kernel CD Create Directory - self-explanatory SH System Halt - immediately stop all processing ...and so on.

I suggest:

    RM           Relocate me - you could also use the "-rf" flag to relative fuzzy matching, for instance `rm -rf tmp` to find any temp-like folder near your current location. Pretty standard stuff.
    CD           Clear data - `cd -L /temp` would "liquidate" the directory.
This would be a much simpler command interface.

Re: Show HN: A DOS-like hobby OS written in Rust and x86 assembly

#39
post #34
post #30

I don’t understand: what makes this “DOS-like”? Not even the command names match DOS, except for dir and cls, and the architecture and feature set are completely different.

The original blog post has more details: https://krusty.space/projects/rourexos/ Ultimately, it's an eye of the beholder type thing, but it seems very fair to call it DOS-like to me. The DOS inspiration is pretty blatant all throughout it from its aesthetic, commands (more than just dir and cls is shared), booting from a 1.44 floppy, etc. And if you are coming from a primarily windows computing background, then "DOS-…

Ah yes, the first version does indeed sound DOS-like. The second one diverges quite a bit though.

Fun project indeed.

Re: Show HN: A DOS-like hobby OS written in Rust and x86 assembly

#40
post #2

Memory-safe language. x86_64, with Arm on the roadmap. Networking stack. Boots from a CD and via multiboot. Your hobby project wipes the floor with DOS.

> Rust and x86 assembly

then

> Memory-safe language.

What's the point? Looks like today Rust is like 3D printing was. As if it makes something better. Printing was hyped and advertised by printers sellers and manufacturers. Finally they run out of money.

As for project, it's cool if compatible with old soft. Otherwise suitable mostly for education and masochism. Long way to become practical anyway even if it gets traction.

Post reply on HN