Home

About


News

Screenshots

Download


Developers

OS Development

Search

 


WHAT'S WRONG WITH VISOPSYS?

What follows is a description of some issues that I perceive as problems with the current version of Visopsys, explanations of why they're problems, and basic plans for addressing them.


VISOPSYS PROVIDES NO I/O PROTECTION

Currently there is no I/O port protection provided by the system.  This makes it possible for low-privilege applications to read or write directly to/from the ports used to control the hardware devices.  This is primarily a security concern, as there is little chance of an application "accidentally" performing inappropriate hardware I/O.  It makes it theoretically possible for a malicious application to subvert security features such as file permissions on disks.

This issue is scheduled to be fixed in the first maintenance release of Visopsys (version 0.1.1?).

VISOPSYS IS CURRENTLY LIMITED TO SINGLE-USER OPERATION

Although Visopsys is able to multi-task very well (i.e. a sound foundation for multiple users accessing the system at once), there is still no practical implementation of multi-user support.   Multi-user capabilities have been planned from the beginning, and all of the existing code is written with this in mind; however without networking support there is no real way to use Visopsys other than from the local console.  

Additionally, although users are asked to provide a login name, in its current form Visopsys is not able to perform user authentication with passwords.

User authentication may be added for the initial public release (version 0.1), but will more like appear in version 0.2.  Networking support will be added for version 0.2 (possibly 0.3).  Multi-user capability will appear in conjunction with networking.

PRESERVING THE STATE OF THE FLOATING POINT MATH UNIT IS BUGGY

In the course of its multitasking duties, Visopsys saves the states of processes when switching between them (for example at the end of a time slice, or after a yield request).  The FPUstate is saved when a process is using the unit, however floating point operations are still prone to crashes.

 

 

Home   About   News   Screenshots   Download   Developers   OS Development   Search
This site is copyright © 1999-2007, J. Andrew (Andy) McLaughlin
Visopsys and Visopsys.org are trademarks of J. Andrew McLaughlin
Last updated on January 06, 2007