前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >世界上最小的GUI 操作系统 [源代码]

世界上最小的GUI 操作系统 [源代码]

作者头像
obaby
发布2023-02-28 10:05:05
6190
发布2023-02-28 10:05:05
举报
文章被收录于专栏:obaby@mars

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.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2009年12月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档