Operating System Inside of Roblox (RoblOS)

The concept of creating an operating system wrapped around Luau sounded very cool for me. So I started working on this little project trying to replicate something like a mixture of Linux and Windows.

I took my time to search for similiar projects on the Devforum, but seems most of them just try to replicate an operating system without attempting to make it something similiar to how an operating system would work, and I mean by that creating processes / tasks / filesystem / etc…

I was also inspired by games like Windows 10 OS, and decided to make mine based on the Linux filesystem, with some elements from Windows.

This is how the current structure looks like:

image

The only LocalScript the system has is the init.luau file which will initialize the other modules that makes the system work.

ProcessManager is a very important module in the system, which handles creating User Interface applications.

I am open sourcing this project because an operating system needs much more than that, and with others collaboration this project can expand further and improve alot.

Feel free to contribute to the code, by creating applications or system utilities, or by improving the existing code.

Please note I’m not an expert at computer systems and I programmed this on what I think how these operating systems works.

RoblOS.rbxl (695.4 KB)

  • The file above includes a basic ProcessManager module which I wrote to be sufficient enough to run a basic cmd process.
11 Likes

I think it has its place in #resources:community-resources & not in help and feedback!

2 Likes

25/09 Update - Improved ProcessManager

I created a Process “class” inside of the module to make it easier to create new processes. Also rewrote the cmd starter program according to the new changes.

1 Like

AMAZING! BRO HOW’D YOU MAKE IT?!?!?!?!?!? omg

I had to wrap my head around creating a script to manage processes, since the whole system depends on that to work. But the workflow of the system is pretty simple:

  • The init file traverses the filesystem to find the System Libraries
  • Require the ProcessManager file and run the main process (this may be the Login panel or the Workspace)

And the ProcessManager works like this:

  • Require the UI libraries
  • Define the spawn_process function, which creates a sandbox (Frame), parents it to the ScreenGui, and renders your ui inside of that Frame. Then return a Process object, which you can do Process:kill() to destroy the ui.

The rest of the things were pretty simple:

  • Choosing how would I render system UI (React)
  • Choosing the filesystem type (Linux)
2 Likes

I mean you created an operating system in Roblox, that’s mind-blowing actually!

1 Like

Why won’t you release it? You can probably make robux out of it.

If I were to make a game like Windows 10 OS I probaly wouldn’t go as far as trying to replicate how an actual OS works If the user isn’t even gonna know about the technical details behind, that’s why I open sourced it so other people can expand this project as they like.

2 Likes