新的系统基于原先的X86平台大部分的公共代码,实现了中断、异常、多线程功能。系统调用和用户程序还在开发中。
netbas并不是很典型的unix操作系统,目前采纳的文件系统是fat32,暂时还没有实现ls等功能,但这项移植是非常愉快的体验,minix的网络编程基本上不使用bsd socket,每个操作都是通过类似下面的代码来实现的: /* here we set up a connection to listen on */ if((tcp_device = getenv("TCP_DEVICE")) == NULL) tcp_device = TCP_DEVICE;
if(f...阅读全文
自从实际运行单元有进程修改到线程后,调度算法在进程和线程之间蹩足的调度算法影响了程序的响应能力。新算法抛开了进程,获得了实质的提高。以lwip为例,原先一个icmp包通过ethif和tcpip thread后,在qemu环境响应的时间为20ms,新算法基本维持在5ms左右。
目前系统默认使用的外壳程序minix shell也能进行一些简单的shell编程,我尝试将一些功能做得更加自动化,写了如下一个网络启动脚本,虽然minix shell没有bash那么强大,但其做法相对c编程也还是显得非常美妙:)#!/bin/sh##pci_dev=/system/drivers/pci32.dllne2000_dev=/system/drivers/ne2000.dllrtl8139_dev=/system/drivers/rtl8139.dll<...阅读全文
对于一些朋友关心JAVA在netbas操作系统的应用情况。今天我终于给出了一个肯定的答案:现在是可以的。目前的JAVA版本不是SUN的PC版本,也不是GNU的CLASSPATH,而是sun发布,并广泛应用于嵌入式操作系统的kvm软件。(这也符合Netbas OS的开发初衷,在小型的设备上,运行它,而不是去用来取代linux或者windows)。这项移植工作很顺利,仅仅花了我大概半小时的时间。而目前的版本仅仅也只...阅读全文