PC操作系统-Visopsys
2011-02-21 09:10:01 阿炯

Visopsys 是一个 PC 机的操作系统,系统小型、快速而且开源,有着丰富的图形界面、真正的抢先式多任务机制以及支持虚拟内存;Visopsys 视图兼容很多操作系统,但并不是他们的克隆。主体在GPL协议下授权,库与头(libraries and header)文件在LGPL协议下授权。



Visopsys is an alternative operating system for PC compatible computers.  Under development since late 1997, this system is small, fast, and open source.  It features a simple but functional graphical interface, pre-emptive multitasking, and virtual memory.  Though it attempts to be compatible in a number of ways, Visopsys is not a clone of any other operating system.  You can demo the distribution from a "live" CD or floppy disk .

Feature

Small & fast
Graphical user interface
Fully multitasking
100% protected mode
Open source, free software

1. "Native" Graphical environment
* The base-level graphics server (analogous to an 'X' server in Unix, but not X) is integrated into the kernel.  A default GUI environment runs "straight out of the box", with no setup procedure.
* At a later stage, a new metaphor for the GUI environment.  While not intended to be revolutionary, the planned interface will eventually try to put a new spin on graphical shell design — without making it unfamiliar or non-intuitive.  The ideas are formed, but the code is not written.
* To the greatest extent possible, the user should be able to perform all tasks, including administrative ones, using this "point and click" interface — no need to edit mysterious configuration files by hand.

2. Strong command line capabilities (text windows and scripting)
* Users must be given the ability to operate in a text-based environment if they prefer to do so.
* To the greatest extent possible, the user should be able to perform all tasks, including administrative ones, using the text interface. Configuring mysterious configuration files by hand is, therefore, optional.

3. Compatible.  Visopsys will conform to existing standards to the greatest extent possible.  It is not a goal for Visopsys to define new formats (such as a new filesystem type).  Examples of such standards include:
* Filesystem types
* Executable/object/library file formats
* Image, sound, font, compression and text file formats
* Encryption algorithms
* Network protocols
* Software development environment conventions
* Hardware interface standards (e.g. VESA)
* Some level of POSIX compliance, where possible, eventually.

最新版本:0.8
它带来全新的外观以及大量的新特性,例如:支持JPEG图像、图像尺寸调整、64位磁盘支持、UDF(DVD)文件系统支持、支持GPT分区表,同时还包含大量的新图标、墙纸图片和文件浏览功能;改进了 ATA/IDE 磁盘支持功能,更好的支持向后兼容的 SATA 控制器;改进了 FPU 上下文保存等。专注于硬件,添加了 USB 3.0(XHCI)和 APIC 中断控制支持;同时改进了 USB 2.0 和 hub 支持。更新GUI界面外观,替换不实用图标,添加触屏功能,添加 OHCI (USB 1),完成设置USB,可由主机控制驱动程序。

最新版本:0.9
Visopsys 0.92 现已于2023年9月下旬发布,此维护版本引入了多任务处理程序、文件系统、文本编辑器和网络程序的可用性和稳定性改进,以及许多错误修复。具体更新内容包括:
添加了对 64 位 EXT 文件系统的支持(read-only,和以前一样)。
实施了一系列步骤来更改内核的多任务处理程序以使用软件任务切换,而不是使用处理器功能。这是添加 x86_64 版本的先决条件。
实现了 contextSwitch () 函数。
添加了一个 “collector” 线程来完成清理已完成进程的工作,而不是在调度程序本身内进行。
取消了 x86 IDT  task gates 的使用,并删除了多任务程序的调度程序进程并将其转换为中断处理程序。
更新了 “edit” 文本编辑器程序以添加 “New” 和 “Save As” 菜单项,使其更符合其他编辑器使用的惯例。当在没有文件名的情况下调用或创建 “New” 文档时,“Save” 菜单项将被禁用。停止为未保存文档使用临时文件。
添加了一个窗口库 “cancel” 对话框,用于停止正在进行的操作。
由于通过 TCP 连接可能会阻塞相当长的时间,因此网络程序现在使用可以通过新的 “cancel” 对话框终止的连接线程。
为数据包嗅探器添加了过滤(例如仅 TCP、仅 ARP 等)。默认情况下,显示所有网络数据包。左侧面板底部的一个新按钮将弹出一个对话框窗口,允许用户(取消)选择要显示的各种类型的数据包。
添加了 “errno” 程序来打印与错误代码相关的错误消息。
更新了内核的 MD5 hashing 函数以(正确)匹配更现代的 SHA1 和 SHA256 代码的用法和行为。
删除了 “md5” 程序,并将其替换为 “md5pass” 和 “md5sum” 程序,分别用于 hashing 字符串和文件。
在 kernelFile.c 中的 freeEntries 列表中添加了一个锁。
在目录 fileEntry 结构中添加或删除条目列表时添加了锁定。
添加了标准 C 库函数 strndup ()。
向 C 库添加了全局错误字符串表,并将 strtol () 和 family 的定义从 <stdio.h> 移至 <stdlib.h>。
更改了 “test” 程序的 file_ops 测试以在 /temp 中创建其临时目录,以便即使在只读启动磁盘上它也可以默认工作。
已修复:VmWare 虚拟 SATA 磁盘的 SATA 驱动程序问题。初始磁盘枚举期间 SATA AHCI DMA 模式设置出错。
已修复:创建缩略图或单击多个图像时 Jpeg 加载和 / 或调整图像大小的问题。在许多情况下,创建了缩略图,但 View 程序在加载缩略图时会报错。
已修复:从只读文件系统 (CD) 启动时,按 PrtScn 可能会导致页面错误,并在控制台上显示错误消息,显示 “文件系统是只读的” 和 “无法打开 [文件] 进行写入”。
已修复:当从只读介质 / 磁盘(例如 CD/DVD)启动时,单击程序窗口中的文本编辑器时,会显示错误对话框 “Error -11 loading fil”。
已修复:挂载新文件系统时,它会出现在目录列表中按字母顺序排序的其他项目之前。最近安装的文件系统始终作为其安装点父目录中的第一个条目插入,因为尚未设置文件名。
已修复:内核 API 在 high 32 bits 中返回不正确的 64 位值。例如,“ls” 命令显示的空闲字节值和 “ping” 命令显示的时间值显然是错误的。
已修复:尝试遍历空窗口容器可能会导致 “Can’t allocate zero bytes” 错误被记录到控制台,例如在首次启动屏幕上切换语言后。
修复了使用 “clang” 编译器构建时产生的一些警告。


官方主页:http://visopsys.org/