Visopsys 0.92 Relased

General discussion about Visopsys.
Post Reply
User avatar
Posts: 586
Joined: Tue Nov 16, 2010 7:20 pm

Visopsys 0.92 Relased

Post by andymc »

It's been a while! :oops:

Available on the download page.

From the change log (
Overview: This maintenance release introduces usability and stability improvements to the multitasker, filesystems, text editor, and networking programs, and a number of bug fixes.
  • Added support for 64-bit EXT filesystems (read-only, as before).
  • Implemented a series of steps on the way to changing the kernel’s multitasker to use software task switching, as opposed to using the processor feature. This is a prerequisite for adding x86_64 builds.
    • Implemented a contextSwitch() function.
    • Added a ‘collector’ thread to do the work of cleaning up finished processes, instead of doing it within the scheduler itself.
    • Eliminated the use of x86 IDT task gates, and removed the multitasker’s scheduler process and converted it into an interrupt handler.
  • Updated the ‘edit’ Text Editor program to add ‘New’ and ‘Save As’ menu items, bringing it more in line with conventions used by other editors. When invoked without a filename or creating a ‘New’ document, the ‘Save’ menu item is disabled. Use of a temporary file for unsaved documents has been discontinued.
  • Added a Window library ‘cancel’ dialog for stopping an in-progress operation.
  • Because connecting via TCP can potentially block for a fairly long time, networking programs now use a connection thread that can be killed via the new ‘cancel’ dialog.
  • Added filtering (for instance TCP only, ARP only, etc) for the packet sniffer. By default, all network packets are shown. A new button at the bottom of the left-hand panel will raise a dialog window which allows the user to (de-)select various types of packets to be displayed. As requested by forum user ronaldlees.
  • Added an ‘errno’ program to print error messages associated with error codes.
  • Updated the kernel’s MD5 hashing functions to (correctly) match the usage and behaviour of the more modern SHA1 and SHA256 code.
  • Removed the ‘md5’ program, and replaced it with ‘md5pass’ and ‘md5sum’ programs for hashing strings and files, respectively.
  • Added a lock to the freeEntries list in kernelFile.c.
  • Added locking to directory fileEntry structures when adding to or removing from their lists of entries.
  • Added the standard C library function strndup().
  • Added a global error strings table to the C library, and moved the definitions for strtol() and family from <stdio.h> to <stdlib.h>.
  • Changed the ‘test’ program’s file_ops test to create its temporary directory in /temp, so that it works by default even on a read-only boot disk.
  • Fixed: A SATA driver problem with VmWare’s virtual SATA disks. There was an error in the setting of SATA AHCI DMA modes during initial disk enumeration.
  • Fixed: Problems with Jpeg loading and/or image resizing when creating thumbnails or clicking on multiple images. In a number of cases, thumbnails were created, but the View program would report an error trying to load them.
  • Fixed: When booted from a read-only filesystem (CD), pressing PrtScn could cause a page fault, and error messages on the console saying “Filesystem is read-only” and “Unable to open [file] for writing”.
  • Fixed: When clicking the Text Editor in the Programs window, it would show an error dialog “Error -11 loading file” when booted from a read-only medium/disk, such as a CD/DVD.
  • Fixed: When mounting a new filesystem, it would appear before the other, alphabetically-sorted, items in a directory listing. The most recently mounted filesystem was always being inserted as the first entry in its mount point’s parent directory, because the file name had not yet been set.
  • Fixed: The kernel API was returning incorrect 64-bit values in the high 32 bits. For example, the free bytes values shown by the ‘ls’ command, and the time values shown by the ‘ping’ command, were obviously wrong.
  • Fixed: Attempts to iterate through empty window containers could result in “Can’t allocate zero bytes” errors being logged to the console, for example after switching languages on the first boot screen.
  • Fixed a number of warnings generated when building with the ‘clang’ compiler.
User avatar
Posts: 120
Joined: Tue May 20, 2014 5:19 pm

Re: Visopsys 0.92 Relased

Post by ronaldlees »

Hi Andy!

It's been a while since I checked in on your project. Wow, it seems you've made quite a few improvements. BTW: thanks for adding that packet filter. I'll have to fire up the new image in my QEMU emulator and see how it goes. How's things in England?
Post Reply