NodeOS

0
13K

I am sure most programmers have heard of Node.js, but what about NodeOS? Yes, NodeOS, an operating system written in Node.js. Well, kind of. NodeOS uses the Linux kernel for most performance critical stuff like, for example, hardware interactions, but for everything else it uses Node.js. NodeOS development started two years ago and was created by people who shared a simple, but intriguing, idea: “Is it possible to create an operating system using only Node.js?”

What is the big deal?

First of all, think about the progress Node.js has made in the short time it’s been around. Now, think about the same thing happening with an operating system. Then, let’s add some cool stuff to it.

Per-user independent and isolated root filesystem

NodeOS introduced an interesting paradigm: If all users have an isolated filesystem, it gives them a simple filesystem hierarchy to work with. Since their “home folder” is, in fact, the root of their own filesystem hierarchy, they can install packages globally without requiring special permissions and not need to configure anything since they are installed in their home directory by default. Also, it provides a good deal of security; if a hacker finds a way to get inside a particular account in the operating system, the only partition that s/he can access is the partition of that user. The end result is hacker cannot compromise the whole system.

Node.js and NPM

If you think about it, an operating system that uses Node.js means that any package available in NPM is, at the same time, also a NodeOS package. At the time of writing, there are 210,735 packages; since the number of NPM packages grows every minute, it would not be strange if, in a few years, NodeOS has a million applications.

It is based on the Linux kernel

This might not seem like a big deal, but Linux is the most-used server operating system. Since NodeOS is based on the Linux kernel, you could run every application written for other Linux distributions with minimal changes.

The downsides

As much as I would like a finished NodeOS, it is not there, yet. It’s still missing many key functions for a server operating system. For example, the whole BASH toolset is missing, including ps, tail, nano and grep. Furthermore, you cannot run it as a desktop operating system since it has no GUI. Sure, you can implement some of the missing features fairly easily using a bit of JavaScript, but the fact all the mentioned features are not available by default, is not good.

So, how can I try out NodeOS?

Using Docker

The easiest and quickest way to try out NodeOS is by using the following:

  1. A computer with either Mac OSX or Linux. It might work with Windows, but I did not try it.
  2. Docker.

Once you installed Docker, running an instance of NodeOS is easy. All you need to do is execute the following command, and Docker does all the magic:

sudo docker run -t -i nodeos/nodeos
Cerca
Categorie
Leggi tutto
Productivity
What is the difference between task management and project management?
Understanding the difference between task management and project management is essential for...
By Michael Pokrovski 2026-03-10 18:30:11 0 4K
Death
The Unspoken Guest: Death's Role in Society
In every society, death is an inevitable part of the human experience, yet it remains one of the...
By Dacey Rankins 2024-06-06 17:08:45 0 18K
Business
How Often Should I Update My Business Plan?
A business plan is a dynamic document that provides a roadmap for your company’s growth and...
By Dacey Rankins 2024-12-19 15:06:58 0 20K
Life Issues
Money Fight. (2020)
A group of friends decides to document their lives as they search for an underground fight club...
By Leonard Pokrovski 2023-05-08 20:24:48 0 31K
Business
Product marketing: what is it and why is it needed in IT  
Product marketing: what is it and why is it needed in IT   Launching a new product on...
By Leonard Pokrovski 2024-08-28 21:41:43 0 23K

BigMoney.VIP Powered by Hosting Pokrov