NodeOS

0
4K

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
Pesquisar
Categorias
Leia Mais
Conventions
User Agreement for Games (EULA), why and how it is drawn up
Most likely, each of us at least once in his life when first launching an application or game...
Por FWhoop Xelqua 2022-11-20 19:36:06 0 14K
Programming
JavaScript Async Functions
Async functions can contain zero or more await expressions. Await expressions make...
Por Jesse Thomas 2023-05-18 20:45:22 0 4K
Programming
Python Regex
A RegEx, or Regular Expression, is a sequence of characters that forms a search...
Por Jesse Thomas 2023-04-05 19:02:13 0 4K
Programming
Python http.cookiejar
The http.cookiejar module defines classes for automatic handling of HTTP cookies. It is...
Por Jesse Thomas 2023-04-06 21:02:37 0 4K
Ethnicity
Embracing Diversity: Enriching Society through Ethnicity
In the tapestry of humanity, ethnicity weaves a colorful and diverse pattern, enriching the...
Por Dacey Rankins 2024-06-07 16:47:11 0 9K
image/svg+xml


BigMoney.VIP Powered by Hosting Pokrov