Download Visopsys 0.62

Spread the love

Andy McLaughlin has been working on the Visopsys operating system since 1997 and recently released version 0.62. The operating system has a full implementation for multitasking, 100% protected mode and virtual-memory and, according to the developer, has a massively monolithic style kernel. There is a small selection of applications available for this platform, the most notable of which is the comprehensive Disk Manager that allows for hassle-free partition creation and modification. For a complete overview of the how and what, we refer you to this page. The announcement and list of changes from version 0.62 are as follows:

Version 0.62:

This is a maintenance release. Some new features include basic USB controller support, a USB mass-storage driver, device hotplugging, Qemu support, loading of RLE encoded bitmaps, a ‘programs’ icon, and ‘minesweeper’ and ‘snake’ games.

  • Implemented basic USB support for UHCI controllers.
  • Implemented a SCSI driver that can support USB mass storage devices.
  • Added basic hot-plugging support for devices.
  • Added support in the image functions for loading RLE encoded bitmaps.
  • Added a ‘programs’ icon.
  • Added ‘minesweeper’ and ‘snake’ games.
  • Added an icon for Bauer Vladislav’s calendar program.
  • Implemented a proper kernelBus top-level infrastructure for use by the PCI driver, USB driver, etc.
  • The display devices and text console drivers are now initialized separately and before other hardware, so that hardware detection messages can be shown while detection is going on.
  • The ‘computer’ program now continuously scans for new disks.
  • The ‘shutdown’ command now has a command-line flag for rebooting, and the ‘shutdown’ and ‘reboot’ commands now have command-line flags for ejecting the boot media, if applicable.
  • The ‘iconwin’ and ‘filebrowse’ programs now change the mouse pointer when they’re busy loading up a file or program.
  • The ‘iconwin’ program now continues silently when programs or icons specified in the config file are missing.
  • The boot menu now has a default selection and timeout period (settable by the ‘bootmenu’ program).
  • There is now an ‘active menu’ global window system variable so that the focused menu can always be on top, and always go away then it loses focus.
  • Fixed: Booting failed on Qemu due to a PS/2 mouse driver hang.
  • Fixed: The ‘bootmenu’ program failed to run from a read-only media.
  • Fixed: The boot menu timer was counting down too quickly.
  • Fixed: The ‘install’ program failed if a directory it wanted to create already existed.
  • Fixed: The ‘defrag’ program was giving “can’t defrag filesystem type ‘unknown'” messages for things like floppies that hadn’t been mounted.
  • Fixed: The kernelDiskGetMediaState() function was returning 0 for flash disks

Version 0.61:

This is a maintenance release. Some new features include Disk Manager support for resizing NTFS filesystems and arbitrary partitions, purely unprivileged user-space processes, I/O port permissions and protection, IDE block mode I/O, Linux swap detection and clobber, improved atomic kernel locks, many C library additions, and a calendar program, in addition to assorted bug fixes.

  • The Disk Manager can now resize Windows XP (NTFS) partitions, as a result of porting Linux ntfsprogs NTFS resizing code.
  • The Disk Manager will now allow partition-only resizing regardless of the filesystem type (with appropriate warnings).
  • All userspace programs now run in unprivileged CPU mode, regardless of actual privilege level, and I/O privilege maps have been implemented by Davide Airaghi.
  • Improved IDE/ATA hard disk driver performance by implementing block-mode I/O.
  • Added basic ‘stub’ NTFS filesystem support (detection and clobber).
  • Added basic ‘stub’ Linux swap filesystem support (detection and clobber).
  • The kernel’s locking code now implements real atomic locking.
  • Added Bauer Vladislav’s calendar program.
  • All threads now use the same page directory control data as their process parents for better synchronization.
  • Process stacks now have guard pages at the top which are privileged, so that user process stack overflows cause protection faults.
  • The C library now has a proper suite of malloc() functionality — taken from the kernel’s implementation — which is now used by the kernel instead so it can be used for user space without code duplication.
  • Added a kernelMemoryBlockInfo() function to return information about an allocated memory block. Useful for the realloc() libc function.
  • Added a kernel disk function for rescanning the partitions of a single disk.
  • Added a lock to the ‘progress’ data structure.
  • Implemented ‘confirmation’ capability in the progress structure and the libvsh and libwindow progress bar/dialog functions.
  • Add a kernel filesystem function for getting statistics about a filesystem (whether it’s mounted or not, or indeed, properly supported or not).
  • Added a kernel filesystem function for getting resizing constraints.
  • Added a kernel filesystem function for requesting specific detection of filesystem type (useful for removable media and such).
  • The text-mode installer now offers to let you partition first.
  • The text mode Disk Manager now show the operations/commands in two columns.
  • Added a window library ‘radio dialog’ for presenting choices in a radio button format.
  • The Disk Manager’s ‘move partition’ and ‘copy disk’ functions now uses standard progress dialogs and show time estimates.
  • The kernel logging thread now has a lock on the log, so that the log doesn’t get garbled by different processes logging at the same time.
  • The OS loader’s screen output is now saved in a file (/system/vloader.log) so that it can be examined afterwards.
  • Removed the source code from the ISO distribution.
  • Printf()-style C library functions now support left-justification (‘-‘) format specifiers.
  • Added C library functions lltoa(), lltob(), lltox(), and ulltoa() to support ‘long’ format specifiers and arguments.
  • Added C library functions mbstowcs(), mbtowc(), and wctomb() for wide-character support.
  • Added C library functions fflush(), ffs(), fgets(), realloc(), strdup(), strerror(), vfprintf(), vprintf(), vsnprintf(), and vsprintf().
  • Added C library functions for 64-bit divisions such as __div64(), __divdi3(), __moddi3(), etc.
  • Enabled the C library functions such as fgetpos(), fread(), fsetpos(), fflush(), fgets(), ftell(), fprintf(), fseek() and fwrite() (as applicable) to behave correctly when the FILE* stream is ‘stdin’, ‘stdout’, or ‘stderr’.
  • Added C library header files endian.h, stdint.h, and .
  • Fixed: After formatting FAT32, Linux and older Windows installers would show the filesystem as 100% full.
  • Fixed: Errors with IDE/ATA hard disks as secondary masters.
  • Fixed: Unformatting (clobbering) a partition in the disk manager didn’t seem to convince the kernel to un-detect the previous filesystem until reboot.
  • Fixed: The graphical ‘ifconfig’ program wasn’t updating the device text after starting/stopping networking.
  • Fixed: The wallpaper program was not properly shutting down its window thread.
  • Fixed: The imgboot program failed to exit after calling the login program.
  • Fixed: There was a (harmless) error message when running the ‘ldd’ program against an executable program because it always tried to load the file as a library.

[break]Visopsys 0.62 is available in the following three flavors:
ISO image
floppy image
source

Version number 0.62
Website visopsys
Download
License type GPL
You might also like