无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7563|回复: 15
打印 上一主题 下一主题

基于JavaScript的操作系统NodeOS

  [复制链接]
跳转到指定楼层
1#
发表于 2016-11-3 11:14:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
你听说过基于JavaScript的操作系统NodeOS吗?
2016.01.26          来源:  51cto

我想大多数人听说过 Node.js,但是你听说过 NodeOS 吗?没错,NodeOS,一个用 Node.js 写的操作系统。好吧!实话说,NodeOSLinux 内核来处理各种底层任务,比如硬件通讯什么的,但是除此之外,使用的都是 Node.jsNodeOS  的开发始于两年前,创建者的目的很简单,他只是好奇,“是否有可能仅使用 Node.js 创建一个操作系统呢?”  
  
是否有可能仅使用 Node.js 创建一个操作系统呢?
  这个主意怎么样?
  我们已经看到了 Node.js 在这几年已经取得如此迅猛的发展,那么我们为何不让它更酷一些呢?比如用它做个操作系统。

  用户自主的独立文件系统

  NodeOS  引入了一个有趣的特性:所有的用户都有一个独立的文件系统,他们可以在一个简单的文件系统中完成各种工作。因为他们的“主目录”事实上就是他们自己的文件系统的根(root),所以他们可以不需要任何超级权限就可以将软件包安装到系统中,也不需要配置什么,因为软件包默认就安装在他们自己的主目录里面。此外,这样也提供了良好的安全性,如果黑客攻入到了某个账户,那么只能访问到该用户所在的部分,最终的结果就是黑客并不能由此影响到整个系统。

  Node.js 和 NPM

  想想,如果一个操作系统使用 Node.js,那就意味着所有在 NPM 中可用的包同时也都是 NodeOS 的软件包。在写作本文时,已经有了超过  21 万的软件包,而且每分每秒都在不断增长。如果几年以后,NodeOS 有了一百万应用,那也没什么好奇怪的。

  基于 Linux 内核

  这看起来并不算什么,Linux 是大多数服务器所采用的操作系统。因为 NodeOS 是基于 Linux  内核的,所以你只需要很少的修改就可以使用那些给其他的 Linux 发行版开发的应用了。

  不好的消息

  我非常希望 NodeOS 是一个已经完成的作品,但是,它现在还不是。它仍然缺少一些服务器操作系统所必需的关键功能。比如,缺失完整的 BASH  工具集,包括 ps、tail、nano 和 grep 等都没有。更糟糕的是,你也不能把它当成桌面操作系统使用,因为它没有  GUI。当然,你可以实现一些缺失的功能,只需要使用一点点 JavaScript,但是默认情况下,这些功能现在都还没有,真糟糕。

  好吧!那我可以试试 NodeOS 吗?

  使用 Docker 来体验

  最容易、最快捷的体验 NodeOS 的方法,如下:

  1. 一台运行 Mac OSX 或 Linux 计算机,也许 Windows 也可以,但是我没试过。
  2. Docker。


  当你安装好 Docker 之后,运行一个 NodeOS 实例是很容易的。你只需要执行如下命令就可以了, Docker  会为你完成这魔法般的一切。
  sudo docker run -t -i nodeos/nodeos   
  
最容易、最快捷的体验 NodeOS 的方法是通过 Docker

  当你运行了上述命令,Docker 会自动从仓库下载 NodeOS 的镜像,并将其安装到一个虚拟环境中。安装好之后,它会打开一个连接到 NodeOS 的  SSH 会话。

  不用 docker 呢?

有些情况下,你也许不能使用 Docker 来体验,或者是你想体验一下最新版本的 NodeOS 。在写作本文时,NodeOS  的镜像已经是两个月前生成的了,而开发版本则是六天前更新的。所以,如果你希望使用最新版本,你应该从源代码开始。这也不算很难,但是要花费一些时间。你需要:

  1. 一台运行 Linux 的计算机。你可以在 OS X 上编译它,但是跨平台编译需要花费很多时间,对于 Windows 也是如此。
  2. Linux 编译构建相关的工具(make、g++、gcc、autoconf)。
  3. Qemu。
  4. 时间,真的需要很多。

  如果万事俱备,你就可以从源代码开始编译了:

  1. 下载项目源代码:bash git clone git@github.com:NodeOS/NodeOS.git。
  2. 使用下列命令编译: cd NodeOS 并 npm install。
  3. 我逐字引用了其官方文档的话:“拿上爆米花去看场电影吧,不开玩笑,真的。”,是的,它需要很多时间,做些有意思的事情去吧!
  4. 执行 bash npm start 来在 Qemu 中运行 NodeOS。


  可以工作了吗?

  当安装完成后,我们可以通过在 NodeOS 的 shell 中执行 ls 命令来看看它是否工作了。输出类似如下:
  [ 'etc', 'lib', 'lib64', 'root', 'bin', 'sys', 'usr', 'share', 'proc' ]   如果显示如上,说明一些基本的命令可以工作了。但是如果我们想要知道网卡地址呢?在 Linux 下,这个命令是 ifconfig ,让我们试试:
  command not found: ifconfig   看起来没有 ifconfig 命令。这是因为 NodeOS 默认没有 ifconfig命令。现在怎么办?很简单,NodeOS  有一个集成的包管理器(类似 apt 或 yum) ,叫做 npkg,它是基于 Node 的 NPM 的,很容易使用。可以通过如下命令很方便的安装  ifconfig :
  npkg install bin-ifconfig   如果一切正常, ifconfig 命令现在就可以在 shell 中使用了。我们再次试着执行一下,输出类似如下(我替换了其中的 MAC  地址):
  eth0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500   ether 01:23:45:67:89:ab    inet6 f0cd::ef01:0203:0405:181%en1 prefixlen 64 scopeid 0x5    inet 192.168.0.21 netmask 0xffffff00 broadcast 192.168.0.21   nd6 options=1<PERFORMNUD>   media: autoselect   status: active   如果你的输出也类似如上,那说明它可以工作了。你已经成功地安装了你的第一个 NodeOS 应用: ifconfig。

  它是可以工作了,然而,我们可以用这个操作系统做什么呢?

  如果我们只能拿这个用 Node.js 写的操作系统做到你在 Ubuntu 或其它 Linux  发行版上一样的(或更少的)事情,那它有什么价值?其实,整个事情中最有趣的地方是所有的东西都是 Node.js 开发的。这意味着我们可以只需要使用 Node.js  就可以开发我们的应用了。比如,NodeOS 里没有默认实现的 man 命令,它用于显示其它命令的帮助信息。不用担心,实现它很简单。

  
  
使用 Node.js 构建一个 NodeOS 应用

  首先,让我们来安装一个叫做 Hipster 的文本编辑器,以便我们可以创建和编辑文件。执行如下命令: npm install -g  hipster@0.15.0。这个文本编辑器很简单,除了用作文本编辑之外啥也干不了,不过对于我们来说足够了。

  用 Hipster 创建文件很简单,运行 hip filename即可,如: hip package.json。要保存文件请按下 Ctrl + s  ,退出按下 Ctrl + q。

  在这里,我们使用了一个 NodeOS 的主开发人员所开发的代码,我自己并没有真的去开发这个应用。我们例子中的原始代码可以在 node-bin-man  Git 仓库中找到。

  让我们回过头来创建我们的第一个 NodeOS 应用。像每个 Node.js 应用(或 NPM 包)一样,我们从创建一个 package.json  文件开始,内容如下:
  {   "name": "bin-man",   "version": "0.0.1",   "description": "Format and display manual pages",   "bin": {     "man": "man.js"   },   "repository": "https://github.com/groundwater/node-bin-man",   "author": "groundwater",   "license": "MIT",   "dependencies": {     "blessed": "~0.0.22"   } }   这些参数 name、version、 author、 repository、 license和 description 是其意自明的。这个 bin  集合是一个 JSON 的键值对象,包含了命令名及其关联的 JavaScript 文件。在我们的例子中, man 命令关联到 man.js文件。而  dependencies集合包含了这个应用所需要的 NPM 包的列表。在我们的例子中,代码的作者包含了 Blessed 包,这是一个类 curses  的库,可以让 Node.js 支持高级终端界面的 API。

  现在,我们进入了主要的部分,实际的代码。

  #!/usr/bin/env node   这个部分叫做释伴shebang。NodeOS  实际上并不需要它,但是它用于告诉操作系统如何执行下面的代码。在这里的意思是,它告诉系统下面的每行代码都需要通过 /usr/bin/env  node 命令来解释执行。

  var fs = require('fs'); var blessed = require('blessed');

   像在 Node.js 中一样, require() 函数加载选定的包到内存中,并将其保存为特定的变量。

  var arg = process.argv[2] || 'bin-man';

   man 命令的标准行为是如果没有指定要查看的命令时,就显示它自己的帮助信息。在我们的代码示例中也一样:如果没有给出第二个参数(第一个参数是 man  本身),那么该参数的默认值是 bin-man。

  var path = process.env.HOME + "/lib/node_modules/" + arg + "/README.md";
  try {
       var readme = fs.readFileSync(path, 'utf-8');
  } catch(e) {
       console.log('No README.md for Package ',arg);
       process.exit(-1);
  }
   在这里,程序检查给定的应用是否有一个 readme 文件。在 NodeOS 中,每个应用的安装路径是其主目录(/)下的  lib/node_modules。如果 README.md 文件存在,就将其内容保存到 readme变量中。否则,显示一个错误信息并退出。

  // Create a screen object.
  var screen = blessed.screen();
  var box = blessed.box({   content: readme,   alwaysScroll:true,   scrollable: true, });
  // Append our box to the screen.
  screen.append(box);

   Blessed 有一个非常简单的 API,要显示一个文件的内容很容易,只需要创建一个 box ,然后载入内容即可。

  screen.key(['escape', 'q', 'C-c'], function(ch, key) { return process.exit(0); });

   现在,让我们找个退出 man 应用的方法。我们组合了 escape、 q 或 emacs 风格的 C-c 来退出应用。

  screen.key(['space','f','j','n'], function(ch, key) {   box.scroll(box.height);   screen.render(); });  screen.key(['down'], function(ch, key) {   box.scroll(1);   screen.render(); });  screen.key(['up'], function(ch, key) {   box.scroll(-1);   screen.render(); });  screen.key(['b','k','p'], function(ch, key) {   box.scroll(-box.height);   screen.render(); });

   我们使用方向键来上滚和下滚,用 space、 f、 j 或 n 向下翻页,b、 k 或 p 向上翻页。

  box.focus(); screen.render();

   最后,我们让应用将输入焦点放到 box ,我们在这里创建和渲染所有内容。

  把上面编辑的这个文件存放到 /lib/node_modules/bin-man 目录下(名字是 man.js),并加一个简单的 README.md  ,类似如下:

  # Man  Author: @groundwater  ## Install  npkg install bin-man  ## Usage  ``` Usage: man PKGNAME  Display a packages README.md file ```  

我们已经基本完成了我们的第一个 NodeOS 定制应用。最后剩下一小步了,我们需要创建一个 NodeOS 应用需要的配置文件。很简单,把它创建到  /etc/bin-man/config.json ,内容只是一个空的 JSON 对象: {}。

  现在,我们可以试试我们的新应用了。在 NodeOS 中运行 man ,它将展示我们之前创建的 readme 文件。

  总结

  如你所见,在 NodeOS 中实现任何东西都很简单,你只需要懂得 Node.js 即可。

  NodeOS 很有潜力,我认为当实现了更多的功能之后,它会成为一个伟大的操作系统。目前仍然需要很多工作,但是在整个 Node.js  生态系统兴盛发展的形势下,万一哪天它很快地成为一个流行的操作系统也没什么好惊奇的。

  你怎么看? 发表你的评论让我们知道。


评分

参与人数 1无忧币 +5 收起 理由
zhczf + 5 赞一个!

查看全部评分

2#
发表于 2016-11-3 13:08:28 | 只看该作者
不懂NODE.JS,不过听楼主介绍,好像nodeos是一个上层操作系统,底层还是依靠linux或其它系统。好像我以前听说过FireFoxOS,nodeos是不是跟它类似,靠网页或脚本解决一切。
回复

使用道具 举报

3#
 楼主| 发表于 2016-11-3 19:06:59 | 只看该作者
本帖最后由 不点 于 2016-11-3 19:40 编辑

开源的 JavaScript 云/网页 桌面平台
OS.js

OS.js is a JavaScript web desktop implementation for your browser with a fully-fledged window manager, Application APIs, GUI toolkits and filesystem abstraction.


Open-source

OS.js is completely free and open-source which means you can contribute to the development or use the code as you like. View License  

You can also join the [small, but awesome] online community to discuss features and future changes. If there's something you'd like to see in OS.js, hop in and let us know about it! It's also a place where you can seek help, or just hang out and talk about completely unrelated stuff.

Fully Capable

Built to feel like a traditional desktop, only with modern web technologies. Features a fully capable Window Manager and Desktop Environment that takes inspiration from Linux.  

Supports localization, theme customization, drag-and-drop, authentication and multi-user, group-based permissions, and much more.

Comes with a default suite of applications for managing, viewing and editing of your files and out-of-the box support for WebDAV, Microsoft OneDrive, Google Drive and Dropbox.

You can even stream your Linux applications with Broadway or connect to your remote desktop via VNC.

Works on any modern browser and can be deployed on all platforms.


Customizable and Extendable

OS.js is built to be modular and customizable. You can easily change behaviour and the look of things by simply changing some configuration files.

Also comes with a set of tools so you can create your own distributions and develop your own extensions and applications.

Easily add new applications by simply downloading a repository online and copy it into your installation (some samples include a XMPP chat client, PDF Viewer, ZIP Archiver and Games).

Thanks to the community the following translations are included: German, French, Itailan, Russian, Dutch, Polish, Spanish, Vietnamese, Bulgarian, Turkish, Slovakian, Korean and Norwegian.

Fully Documented

Everything has been documented and gathered on one location for your convenience. You can find generated API docs, manuals and tutorials in the documentation section.


Easy installation

Follow the instructions from the official documentation.



Contact and Community

You can find OS.js on: Gitter, YouTube, Twitter, Google+, Facebook, Reddit, OpenHub, Google Groups

Or contact the author/maintainer         

Full list of features

  • Free and Open-source
  • Very simple installation
  • Works in any modern browser
  • Server is deployable on any platform
  • Can be built to run entirely in-browser without any server
  • Dependency-free JavaScript frontend
  • Easy to use APIs
  • Customizable and easy to extend with custom code and modules etc.
  • Supports multi-user environments and authentication
  • Virtual File System - Store your files across many different storage/cloud providers
  • Desktop and Window Manager built to feel familiar to most users
  • Drag-and-drop between applications
  • Supports sessions so you can reload workspaces on any computer
  • Localization and translations
  • Comes with a small application suite
  • Supports adding of packages via external repositories
  • Comes with all the tools nesessry to build your own applications
  • Client is written in Strict Mode JavaScript and uses ECMAScript 5.1 standards
  • Follows industry standard style guides
  • Comes with Google API Javascript Support
  • Comes with Windows Live API Javascript Support
  • Google Drive support
  • Dropbox support
  • OneDrive support
  • Run native GTK+ 3.x Applications via Broadway (very experimental)
  • Can be deployed using X11 to work as a full-fledged desktop solution


                                      
回复

使用道具 举报

4#
 楼主| 发表于 2016-11-5 10:37:01 | 只看该作者
OS.js Is A New Javascript Based Open Source
Operating System Running In Your Browser
by Adarsh Verma on Dec 30, 2015 – in Geek / News



Short Bytes: OS.js is a free and open source operating system that runs in your web browser. Based on Javascript, this operating system comes with a fully-fledged(成熟的,羽毛丰满的) window manager, ability to install applications, access to virtual filesystems and a lot more. Read more to know about the OS in detail.

Did you ever wish to use an operating system that ran just like a website inside your web browser? OS.js, a JavaScript-based open source operating system designed for the cloud, is here to provide you this facility
(便利,方便).

On its website, OS.js describes itself as a Javascript web desktop implementation for you browser. As a preconceived notion(事先形成的、先入为主的观念;成见), you might assume that a browser-based operating system won’t be of any use as it would lack some basic functionalities. However, OS.js is here to surprise you. This browser-based OS comes with a fully-fledged window manager, GUI toolkits, filesystem abstraction, and Application APIs.
The simple and neat homepage of the operating system has many complex things going in the backyard. Using drag and drop, multitasking is a smooth process.

OS.js comes with a range of applications to help you write, paint, listen to music and watch videos, play a couple of games, use the calculator, and write emails. Adding new applications through repositories is always an option in OS.js with extra applications like PDF viewer, XMPP Chat, Google Mail, Google Contacts, Tetris, and Wolfenstein3D.

Oh, and also it just takes 3-4 seconds to load.

OS.js is completely free and open source. This means you can add your own contributions and customize it according to your need.  Using the Virtual Filesystem, uploading, downloading, and modifying files using Google Drive, Dropbox, and OneDrive is made possible. The operating system also comes with support for Google API Javascript, and Windows Live API.

Watch the demo video below:

(www.youtube.com 的服务器响应时间过长。)


This operating system works in any modern browser and all platforms.
To know more about the OS and for using it right now, visit their website – OS.js
回复

使用道具 举报

5#
 楼主| 发表于 2016-11-5 19:40:06 | 只看该作者
JavaScript Web 云平台 OS.js 介绍

http://www.2cto.com/kf/201601/487761.html

2016-01-27      来源:张龙(风中叶)的专栏

OS.js 是一个浏览器的 JavaScript Web 桌面实现,它提供了完善的窗口管理器、应用 APIs、GUI 工具集以及文件系统抽象。此外,OS.js 还是完全免费并且开源的,这意味着你可以为其贡献代码,也可以按照自己喜欢的方式使用它。OS.js 可用在所有现代浏览器中,并且可以部署到所有平台上。

OS.js 的主要功能与特性如下所示:


开源

OS.js 完全开源,其代码位于 GitHub 上,目前已经有 2800 多个 Star。你可以申请为其贡献代码,也可以免费使用其代码。

Web桌面

OS.js 提供了一个完全可定制的 Web 桌面与窗口管理器,其灵感来源于 Linux 桌面环境,其速度很快,并且就像是真正的桌面一样。借助于虚拟文件系统,你可以上传、下载并修改多种云存储解决方案上的文件,如 Google Drive、Dropbox 与OneDrive。在社区的帮助下,OS.js 现在已经可以支持多种语言,包括挪威语、法语、德语、俄语、荷兰语、波兰语、越南语与汉语。

应用

OS.js 自带了很多应用,包括文件管理器、音乐播放器、视频播放器、图片查看器与编辑器、计算器及文本编辑器等。你可以通过官方仓库或是社区贡献的方式轻松添加更多的应用与特性。此外还有其他一些应用,如 PDF 查看器、XMPP Chat、Google Mail、Google Contacts、俄罗斯方块与德军总部 3D。

可扩展

OS.js 提供了简单、模块化且灵活的 JavaScript APIs,你可以轻松地修改、扩展既有功能并创建新的应用。此外,你还可以轻松地创建自己的主题。OS.js 还带有一个构建系统,简化了部署与配置。

文档

感兴趣的读者可以在这里查看关于 OS.js 的所有文档、手册与指南。

安装

只需运行自动化的安装器即可完成安装。请确保在开始前阅读安装文档,文档还介绍了如何手工下载和安装的命令。

curl -sS http://os.js.org/installer | sh

Windows 用户可以使用这个安装器:http://os.js.org/installer.exe

OS.js 的完整特性列表如下所示:

免费且开源
安装简单
可用在任何现代的浏览器中
服务器可以部署在任何平台上
可以完全在浏览器中运行
不依赖于 JavaScript 前端
易于使用的 APIs
定制性好,易于扩展
支持多用户环境与认证
虚拟文件系统——可以在多种不同的存储/云提供商中存储文件
大多数用户都很熟悉的桌面与窗口管理器
应用间的拖拽支持
支持会话,可以在任何电脑上重新加载之前的工作区
本地化与翻译支持
自带一些应用
支持通过外部仓库添加包
自带用于构建应用的必要工具
客户端通过严格模式的 JavaScript 编写,并且使用 ECMA Script 5.1 标准
遵循业界标准
提供了对 Google API Javascript 的支持
提供了对 Windows Live API Javascript 的支持
支持 Google Drive
支持 Dropbox
支持 OneDrive
可通过 Broadway 运行原生 GTK+ 3.x 应用(尚处于试验阶段)
可通过 X11 部署



回复

使用道具 举报

6#
 楼主| 发表于 2016-11-5 20:00:05 | 只看该作者
JavaScript Web 云平台 OS.js 介绍

OS.js 是一个浏览器的 JavaScript Web 桌面实现,它提供了完善的窗口管理器、应用 APIs、GUI 工具集以及文件系统抽象。此外,OS.js 还是完全免费并且开源的,这意味着你可以为其贡献代码,也可以按照自己喜欢的方式使用它。OS.js 可用在所有现代浏览器中,并且可以部署到所有平台上。  

  OS.js 的主要功能与特性如下所示:

      开源

  OS.js 完全开源,其代码位于 GitHub 上,目前已经有 2800 多个 Star。你可以申请为其贡献代码,也可以免费使用其代码。

      Web桌面  

  OS.js 提供了一个完全可定制的 Web 桌面与窗口管理器,其灵感来源于 Linux 桌面环境,其速度很快,并且就像是真正的桌面一样。借助于虚拟文件系统,你可以上传、下载并修改多种云存储解决方案上的文件,如 Google Drive、Dropbox 与 OneDrive。在社区的帮助下,OS.js 现在已经可以支持多种语言,包括挪威语、法语、德语、俄语、荷兰语、波兰语、越南语与汉语。

      应用  

  OS.js 自带了很多应用,包括文件管理器、音乐播放器、视频播放器、图片查看器与编辑器、计算器及文本编辑器等。你可以通过官方仓库或是社区贡献的方式轻松添加更多的应用与特性。此外还有其他一些应用,如 PDF 查看器、XMPP Chat、Google Mail、Google Contacts、俄罗斯方块与德军总部 3D。

      可扩展  

  OS.js 提供了简单、模块化且灵活的 JavaScript APIs,你可以轻松地修改、扩展既有功能并创建新的应用。此外,你还可以轻松地创建自己的主题。OS.js 还带有一个构建系统,简化了部署与配置。

      文档  

  感兴趣的读者可以在这里查看关于 OS.js 的所有文档、手册与指南。

      安装  

  只需运行自动化的安装器即可完成安装。请确保在开始前阅读安装文档,文档还介绍了如何手工下载和安装的命令。

  curl -sS http://os.js.org/installer | sh  

  Windows 用户可以使用这个安装器:http://os.js.org/installer.exe

  OS.js的完整特性列表如下所示:
  
  • 免费且开源
  • 安装简单
  • 可用在任何现代的浏览器中
  • 服务器可以部署在任何平台上
  • 可以完全在浏览器中运行
  • 不依赖于 JavaScript 前端
  • 易于使用的 APIs
  • 定制性好,易于扩展
  • 支持多用户环境与认证
  • 虚拟文件系统——可以在多种不同的存储/云提供商中存储文件
  • 大多数用户都很熟悉的桌面与窗口管理器
  • 应用间的拖拽支持
  • 支持会话,可以在任何电脑上重新加载之前的工作区
  • 本地化与翻译支持
  • 自带一些应用
  • 支持通过外部仓库添加包
  • 自带用于构建应用的必要工具
  • 客户端通过严格模式的 JavaScript 编写,并且使用 ECMA Script 5.1 标准
  • 遵循业界标准
  • 提供了对 Google API Javascript 的支持
  • 提供了对 Windows Live API Javascript 的支持
  • 支持 Google Drive
  • 支持 Dropbox
  • 支持 OneDrive
  • 可通过 Broadway 运行原生 GTK+ 3.x 应用(尚处于试验阶段)
  • 可通过 X11 部署


        

回复

使用道具 举报

7#
 楼主| 发表于 2016-11-14 18:50:24 | 只看该作者
在 Windows XP 下用 Qemu 试玩 NodeOS

【原创文章】作者 不点 2016-11-14 发表于 无忧启动论坛

首先,想办法下载 Qemu-2.5.0-windows.7z,它是支持 XP 的:http://lassauge.free.fr/qemu/release/Qemu-2.5.0-windows.7z

解压到某个位置,会看到有很多文件,其中包括

qemu-system-x86_64.exe ——我们要用这个具有 64 位仿真能力的虚拟机软件。
test-i386.bat —— 这是 qemu 自带的测试用的批处理,我们把它修改一下(见下文),就成为运行 NodeOS 的批处理了。

其次,从 https://github.com/NodeOS/NodeOS/releases 下载编译好的文件 i386-pc_iso.zip,解压到某个位置(我把它解压到 D:\i386-pc_iso 目录下),会发现有这些文件:

run.sh
rootfs
usersfs

其中 run.sh 是用于 Linux 的一个 shell 脚本,我们在 Windows 下没法用它(除非再装个 git shell 之类的 bash 环境才行)。不过我们可以参考 run.sh 的命令来编写我们的批处理。我们的批处理取名为 test-i386_node.bat,与 test-i386.bat 放在一起。test-i386_node.bat 的内容如下:

START qemu-system-x86_64.exe -L Bios -m 256M -vga std ^
-redir tcp:50080::80 ^
-redir tcp:50443::443 ^
-hda d:\i386-pc_iso\rootfs ^
-hdb d:\i386-pc_iso\usersfs

可以猜到,每行尾部的 "^" 是 “续行” 的意思,即,一行写不下,需要写多行,就用续行符。

鼠标双击 test-i386_node.bat,就开始在 qemu 里面运行 NodeOS 了(见图1)。

它出了一个错,说找不到 userfs,提示让我敲入 userfs 的路径。不要紧,敲入 /dev/sdb 即可。

稍等片刻,出现登录提示。我试着敲入用户名 nodeos,口令也是它,这就进入系统了(见图2)。

敲入 ls 和 ls /bin ,发现系统中有几个程序(例如 cat,pwd)。最感兴趣的是 wget,我想用它来试试能否访问 Internet。

敲入
  1. wget  http://www.baidu.com
复制代码

注意,网址的结尾不可以带 "/",否则会出错,无法抓取百度的网页。命令完成后,再用 ls 会发现,有个新的文件名就是 www.baidu.com,用 cat 命令显示它的内容,很长,但证实了确实是百度的网页。

这个 NodeOS 系统很简单乏味,运行速度也慢得像蜗牛。不过,它能够成功运行——这件事已经让我很满意了。我佩服开发者的严谨构思,那真是奇思妙想。

NodeOS01.JPG (180.56 KB, 下载次数: 38)

图1 成功启动 NodeOS 但出现一个错误

图1 成功启动 NodeOS 但出现一个错误

NodeOS02.JPG (73.9 KB, 下载次数: 43)

图2 成功进入 NodeOS 操作系统的命令行

图2 成功进入 NodeOS 操作系统的命令行

评分

参与人数 1无忧币 +5 收起 理由
zhczf + 5 很给力!

查看全部评分

回复

使用道具 举报

8#
发表于 2016-11-14 19:36:15 | 只看该作者
不了解,纯围观...
回复

使用道具 举报

9#
发表于 2020-12-24 16:32:36 | 只看该作者
Developed on top of Linux Kernel
The lightweight operating system in designed on top of the Linux kernel. It uses the Linux critical to accomplish a variety of performance critical tasks including hardware interactions. The developers can run the applications written by targeting Linux operating system on NodeOS with minimal changes.
Uses Node.js as Its Primary Runtime
Unlike other operating systems, NodeOS is written in JavaScript. It uses Linux kernel to accomplish most performance critical tasks. But it used Node.js to accomplish all remaining tasks. So the users can take advantage of various features and tools provided by the cross-platform runtime engine. Also, they can manage project dependencies efficiently with npm.
Uses npm as Its Primary Package Manager
NodeOS further aims to extend and enhance the functionality of npm as a robust package manager. As the operating system uses npm as its primary package mangers, the developers can use any npm package as a NodeOS package. Hence, the users have option to use more than 244,180 packages. Also, they can easily avail the new npm packages being updated by other developers on a regular basis.

回复

使用道具 举报

10#
发表于 2020-12-25 14:27:30 | 只看该作者
怎么样了?
回复

使用道具 举报

11#
发表于 2020-12-29 09:18:24 | 只看该作者
NodeOS+Docker 可以试试
回复

使用道具 举报

12#
发表于 2021-8-14 19:56:11 | 只看该作者
进来学习的
回复

使用道具 举报

13#
发表于 2021-10-22 10:23:23 | 只看该作者
来看看更新未
回复

使用道具 举报

14#
发表于 2021-11-15 14:33:58 | 只看该作者
java效率低
回复

使用道具 举报

15#
发表于 2021-11-22 13:51:21 | 只看该作者
成为一个伟大的操作系统?
回复

使用道具 举报

16#
发表于 2021-12-15 23:52:19 | 只看该作者
有没有使用视频?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-11 22:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表