Page 1 of 2

Visopsys 0.74 released

Posted: Mon Jun 30, 2014 9:48 am
by andymc
Available on the download page http://visopsys.org/downloads.htm

This one has a lot of patches!

Overview: This maintenance release features enhanced internationalization support with Spanish and German translations, per-user settings, and extensive stability and performance improvements, most notably to the kernel memory, user input, disk I/O, and GUI subsystems.
  • Added per-user home directories, under /users, which are now the default 'current directory' when the user logs in.
  • Created a new configuration file for environment variables that are set at login time, and per-user override ones in home directories.
  • Language setting is now a system-wide and per-user environment variable, that can be chosen at first boot, and in the user management tools.
  • Added Spanish and German translations for many of the user programs and GUI features.
  • Added a 'language chooser' dialog window to the window library.
  • Part of the GUI system has been re-written, including changing the 'menu' implementation from a window component into a child window.
  • GUI menus have been changed so that when the topmost menu item is selected, pressing cursor-up removes the selection.
  • The file dialog window now shows the current path the way the file browser program does.
  • Implemented mouse and keyboard threads to process input outside of the interrupt context, for improved stability.
  • The keyboard system has been redesigned, including the use of hardware-neutral (based on UEFI) scan codes and modifier flags.
  • Added typematic key repeats for USB keyboards.
  • Fortified the kernel's user management code and closed some security loopholes.
  • Added a 'deluser' command line command, as a companion to 'adduser'.
  • Modified the 'passwd' program, so that no user name argument means to assume the current user.
  • Password length checking has been added to the User Manager program.
  • The disk caching code now does more combining of cache entries for improved performance, reducing the number of disk writes.
  • Some of the kernel's memory management code has been reworked.
  • All hardware drivers that use mapped physical memory now set the memory page attributes to disable caching.
  • The installers and install file format (e.g. dist/system/install-files.*) now have a way to specify different source and destination filenames.
  • Interrupt handlers are now disallowed from allocating or freeing memory, or changing the page tables/directories.
  • Made the kernelImageLoad() "requested width" and "requested height" parameters work generically, for image types whose drivers don't support it.
  • Added 'set data' functionality to a number of the GUI components, required for support of on-the-fly language switching
  • Separated the kernel's window shell thread from the main GUI system, as a precursor to making it a userspace executable, and to facilitate per-user settings and runtime language switching.
  • Re-implemented the kernel's 'variable list' functionality, so that it uses data offsets instead of pointers to locate variables and values. This makes them easier to copy.
  • When a child process inherits an input stream, the old text attributes are now remembered, and restored when the process terminates.
  • The build system now uses a command line 'make debug' to create a debug build, which doesn't strip libraries or executables.
  • Fixed up the ctype.h functions (isalpha(), tolower(), etc) so that they use the ISO-8859-15 code page we're using everywhere else, instead of just basic ASCII.
  • Added a setenv() function to the C library.
  • Added a kernelUserExists() function (userExists() in user space).
  • Added a new include file, <sys/paths.h>, that centralizes the definition of some of the basic file structure.
  • Created header files <sys/gpt.h> and <sys/usb.h> and moved the relevent definitions from the Disk Manager and the kernel to those.
  • Added a utils/trim-whitespace script for stripping trailing whitespace from source files and whatnot.
  • Removed the big header file of PCI vendor and device codes that we were using in debug mode. Too much of a pain to edit/maintain.
  • Fixed: Moving the PS/2 mouse around during hardware initialization of its driver could cause a cascading boot failure.
  • Fixed: When there were windows on the screen, pressing ALT-TAB 2-3 times could cause a major GUI crash.
  • Fixed: When resizing images in the 'view' program, the window title bar didn't update (with the correct zoom percentage) until the window focus changed.
  • Fixed: In graphics mode, the File Browser only noticed directory changes when a file is added or removed, but not sub-directories.
  • Fixed: The interpretation of the Linux swap fileystem header.
  • Fixed: Support for using images inside of GUI buttons
  • Fixed: The internationalization library 'libintl' to allow multiple switches of the language messages at runtime.
  • Fixed: The implementation of the C library getenv() function, so that repeated calls don't leak memory.
  • Fixed: A program with no input stream could crash if it called the kernel's text input functions. Added checking in the input functions.
  • Fixed: Improved the stability of the Screenshot program.
  • Fixed: When logged in to the GUI as an unprivileged user, there were a lot of error messages stating: Cannot release system memory block from unprivileged user process.
  • Fixed: Pressing backspace at position (0,0) would cause the Edit program to crash.
  • Fixed: Clicking on the kernel binary in the file browser program would cause a crash in the kernel's runtime loader.

Re: Visopsys 0.74 released

Posted: Thu Jul 03, 2014 4:34 pm
by ap0r
Fixed: Moving the PS/2 mouse around during hardware initialization of its driver could cause a cascading boot failure.


This is awesome :3

Re: Visopsys 0.74 released

Posted: Fri Jul 04, 2014 8:02 pm
by andymc
ap0r wrote:Fixed: Moving the PS/2 mouse around during hardware initialization of its driver could cause a cascading boot failure.

This is awesome :3
Thanks, yeah, that one was buggin' me. My mouse driver was trying to be too fancy, handling mouse interrupts during the initialization sequence. Better to turn those off until we're ready.

Re: Visopsys 0.74 released

Posted: Fri Jul 11, 2014 10:02 pm
by ivan
Sometimes this kind of errors are so difficult to detect. They make you going crazy.

Re: Visopsys 0.74 released

Posted: Fri Sep 12, 2014 9:44 am
by anamika
<spam deleted>

Re: Visopsys 0.74 released

Posted: Fri Sep 12, 2014 10:29 pm
by andymc
Are you a spambot? I only ask because you cut and pasted one of my posts for no obvious reason.

Re: Visopsys 0.74 released

Posted: Sat Sep 13, 2014 4:40 pm
by ap0r
Maybe a delusional person thinking he/she is a spambot?

Re: Visopsys 0.74 released

Posted: Sat Sep 13, 2014 7:05 pm
by ivan
ap0r wrote:Maybe a delusional person thinking he/she is a spambot?
:D

If it's a spambot don't make much sense, doesn't advertise anything. Mysteries of this forum, will be haunted? :o

Re: Visopsys 0.74 released

Posted: Sun Sep 14, 2014 12:20 pm
by andymc
Poor, broken, drain-bamaged spambot :roll:

Re: Visopsys 0.74 released

Posted: Mon Sep 22, 2014 11:59 pm
by frkazoid33
does not compute...er-ror