Visopsys 0.74 released

General discussion about Visopsys.
User avatar
andymc
Posts: 589
Joined: Tue Nov 16, 2010 7:20 pm

Visopsys 0.74 released

Post 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.
User avatar
ap0r
Posts: 105
Joined: Tue Feb 14, 2012 12:40 am

Re: Visopsys 0.74 released

Post 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
Image
Image
User avatar
andymc
Posts: 589
Joined: Tue Nov 16, 2010 7:20 pm

Re: Visopsys 0.74 released

Post 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.
User avatar
ivan
Posts: 18
Joined: Fri Jul 11, 2014 6:18 pm
Contact:

Re: Visopsys 0.74 released

Post by ivan »

Sometimes this kind of errors are so difficult to detect. They make you going crazy.
anamika

Re: Visopsys 0.74 released

Post by anamika »

<spam deleted>
Last edited by anamika on Thu Sep 25, 2014 5:49 am, edited 1 time in total.
User avatar
andymc
Posts: 589
Joined: Tue Nov 16, 2010 7:20 pm

Re: Visopsys 0.74 released

Post by andymc »

Are you a spambot? I only ask because you cut and pasted one of my posts for no obvious reason.
User avatar
ap0r
Posts: 105
Joined: Tue Feb 14, 2012 12:40 am

Re: Visopsys 0.74 released

Post by ap0r »

Maybe a delusional person thinking he/she is a spambot?
Image
Image
User avatar
ivan
Posts: 18
Joined: Fri Jul 11, 2014 6:18 pm
Contact:

Re: Visopsys 0.74 released

Post 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
User avatar
andymc
Posts: 589
Joined: Tue Nov 16, 2010 7:20 pm

Re: Visopsys 0.74 released

Post by andymc »

Poor, broken, drain-bamaged spambot :roll:
frkazoid33
Posts: 2
Joined: Sun Jun 08, 2014 12:44 am

Re: Visopsys 0.74 released

Post by frkazoid33 »

does not compute...er-ror
Post Reply