新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 新闻中心 > 软件新闻 > 正文:仅有700KB的超微型操作系统Visopsys 0.69

仅有700KB的超微型操作系统Visopsys 0.69

新客网 XKER.COM 2007-09-28 来源: 王宏伟 收藏本文

Visopsys 自从1997年以来就已经开始开发,目前最新版本为0.69,它非常小巧,光盘版的才5MB左右,而软盘版的也700KB不到。并且它运行起来非常快,而 且还是开源软件。它虽然小,但是提供了功能齐全的图形界面,支持实时可占先多任务和虚拟内存。Visopsys尽力与多方兼容,但是它不是任何其他操作系统的一个克隆版本。

 

下载:

CD-ROM版本:http://visopsys.org/files/visopsys/visopsys-0.69-iso.zip

软盘版本:http://visopsys.org/files/visopsys/visopsys-0.69-img.zip

源代码:http://visopsys.org/files/visopsys/visopsys-0.69-src.zip

Vmware镜像:http://visopsys.org/files/visopsys/visopsys-0.62-vmware.zip

 

Visopsys 0.69的主要更新:

改善了USB子系统包括对USB mice/keyboard和shubs的支持, 调整了FAT相关驱动程序, 并对用户程序模块,OS内核,C语言库进行了修复以及改进。

 

Lots of improvements to the USB subsystem, the UHCI controller driver, and the USB SCSI disk driver.

Added support for USB mice and keyboards

Implemented a driver for USB hubs.

Extensive tuning of the FAT filesystem driver, and the scanning of the FAT at mount time is much faster. Also fixed a small fragmentation bug, and turned a bunch of extraneous error messages into debug messages.

The FAT filesystem driver no longer stores the entire FAT in memory.

Added basic hardware detection for OpenHCI (OHCI) USB controllers so that they're at least indicated correctly at boot time.

Improved checks for removable (CD, floppy, flash, etc.) media changes, invalidating the disk cache when the media changes.

The 'filebrowse' program now shows the name of the current directory, and remembers any selection from the parent directory so that it's still selected if the user goes back up.

Re-wrote much of the PS/2 mouse driver, primarily to deal with out-of-sync situations that could cause the mouse pointer to jump around.

Re-added the 'logout' program to the basic installation -- without it there's no 'logout' option in the shutdown menu.

Added a "linked list" implementation to the kernel for generic management of lists of pointers.

Replaced bzero() calls in the kernel with kernelMemClear() calls.

Updated the kernel's exception handler so that it will print exception address/symbol information even if multitasking isn't yet enabled.

Added a '-n' option to the 'format' program, for specifying the volume name (label).

Added a kernelDebugHex() function for doing simple hex dumps.

Renamed the kernelKeyBoardDriver to the kernelPs2KeyboardDriver and the kernelPS2MouseDriver to the kernelPs2MouseDriver

Got rid of the kernelMemoryReleaseSystem() function -- the regular kernelMemoryRelease() function can now handle releasing system memory blocks.

The printf() and family %x format specifiers now print only unsigned values.

Fixed: The Disk Manager showed partitions with the starting and ending cylinders determined from information in the partition table. This could be inconsistent (particularly in the case where geometries are guessed) with the geometry of the disk as seen by the kernel.

Fixed: Using the Disk Manager with a hotplugged USB disk caused a divide-by-zero exception because the geometry values were zeros. The kernel SCSI disk driver now determines/guesses a geometry, and the Disk Manager now ensures that the values are non-zero.

Fixed: Using the Configuration Editor to open a config file with no predefined variables resulted in a window with no 'list' component.

Fixed: The text editor couldn't create a new file.

Fixed: The 'filebrowse' program could crash when you using the 'del' key to delete files.

Fixed: An occasional problem with ejecting ATAPI (CD-ROM, etc) devices in the kernelIdeDriver code.

Fixed: Spurious interrupts could cause the kernelPicGetActive() function call to hang in the driver.

Fixed: Command line option processing for the 'format' and 'rm' commands.

Fixed: Calling the component 'set visible' function didn't work for containers.

Fixed: USB "can't enable port" messages.

Fixed: Error messages were being double-printed on the screen when console logging was in effect.

Fixed: The USB UHCI driver was not returning the number of bytes transferred for transactions with a data phase.

Fixed: Some window ops were generating error messages because they were trying to malloc() 0 bytes when the root window contained no components.

Fixed: The _xpndfmt() function was causing an exception when printing pointers in hex using the %p format specifier.

Fixed: The _xpndfmt() function was causing a divide-by-zero fault when printing GUIDs in the Disk Manager.

Fixed: The kernelDiskGetMediaState() function wasn't locking the disk before accessing the disk structure. 

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐