Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 4 reacties
Bron: Visopsys

Andy McLaughlin werkt al sinds 1997 aan het besturingssysteem Visopsys en heeft onlangs versie 0.68 de deur uitgedaan. Het besturingssysteem heeft een volledige implementatie voor multitasking, 100% protected mode en virtual-memory en heeft volgens de ontwikkelaar een massively monolithic style kernel. Er is een kleine selectie van applicaties beschikbaar voor dit platform waar uit de uitgebreide Disk Manager opvalt waarmee partities probleemloos aangemaakt en aangepast kunnen worden. Voor een compleet overzicht van het hoe en wat verwijzen we jullie door naar deze pagina. De aankondiging en de lijst met veranderingen van versie 0.68 zien er als volgt uit:

Version 0.68:

Overview: This is a maintenance release, with a focus on disk I/O performance (fixed the kernel's disk cache, and added IDE lookahead and write caching), secure deletion (shredding) of files/partitions/disks, and bug fixes, including important changes to the OS loader resulting in more reliable booting on more systems.
  • Re-implemented the kernel's disk caching. Previously, performance was generally bad but could be horrendous under heavy I/O, as well as evidence that it was buggy and could occasionally cause data corruption.
  • Added read caching (lookahead) and write caching ability to the IDE disk driver. Write caching necessitated a flush() disk driver function to be called from the higher-level sync() function.
  • In the Disk Manager, turned off software disk caching when doing a disk copy operation; vastly improves I/O throughput for faster copies.
  • Implemented new A20 address line code in the 'vloader' OS loader, for successful booting on more systems. New A20 enabling methods include a BIOS call and a write to port 92h.
  • Implemented secure deletion of disk data with a kernelDiskEraseSectors() function that does passes of overwriting the raw disk sectors. Added an 'erase' operation to the Disk Manager to enable this for partitions and whole disks.
  • Implemented secure deletion for files, which does passes of overwriting the file data. Added a command line option to the 'rm' command to invoke it.
  • Reorganized some of the malloc() code and added debugging output.
  • Added logic to the malloc() code (used both the kernel and user programs) for deallocating heap memory when it is no longer being used, rather than keeping it all indefinitely. Each block now keeps a record of its allocation, and when the whole allocation is unused it is freed.
  • Updated some partition tag descriptions in the kernel disk code (will show up primarily in the Disk Manager).
  • Added a '-R' option to the 'cp' program for recursive directory copying.
  • Added regular write-protect checking to the floppy driver, so that by the time a filesystem is mounted we should already know if we can't write to it.
  • The kernelDevice for system memory now contains an attribute with the memory size. Viewable from the 'lsdev' (Devices) program.
  • Removed the kernelDiskSyncDisk() function, made kernelDiskSync() a call for specific disks, and added a kernelDiskSyncAll() function for syncing all the disks.
  • Add a kernelDiskGetStats() function for getting disk performance data, and add that info to the Program Manager's display.
  • Added a set of software flags to the 'disk' and 'kernelDisk' structures to indicate changeable things like media state, door state, read-only, 'sync' flag, etc. The previous 'flags' fields was really an indication of the hardware type, so was changed to a 'type' field.
  • Added a kernelDiskSetFlags() function to allow changing user-settable values in the new flags field, and added a DISKFLAG_NOCACHE flag to disable the software cache for the disk.
  • Added the optional-argument-option support to the getopt() C library function.
  • Added a "file ops" test to the test program.
  • Added a basic "disk I/O" test to the test program.
  • Removed the redundant vshCopyFile() function from the vsh library.
  • Fixed: The floppy disk version was too full, crashed during boot when it subsequently couldn't write log files, etc., and otherwise spewed too many error messages.
  • Fixed: When an IDE disk had a small multi-sector value like 16, reading large files could fail with an error message about too many PRD entries.
  • Fixed: In the Disk Manager, when NTFS resizing failed (for example with the unclean journal message) control didn't return - it just hung.
  • Fixed: With large IDE disks, on some systems, the kernel seemed to be getting 28-bit-limited geometry and size values from the BIOS. The IDE driver replaces BIOS values with ones from the device/controller wherever the BIOS values make more sense.
  • Fixed: Doing a 'full' Visopsys install on a ~80mb partition, after choosing to format as FAT16, could totally crash/hang the system.
  • Fixed: The mouse was leaving tracers at the rightmost and bottommost edges of the screen (1 pixel width).
  • Fixed: The kernelFileCopy() function now allocates memory for its copy buffer using kernelMemoryGet() rather then kernelMalloc().
  • Fixed: Most of the file system data allocated in the FAT filesystem driver was not deallocated, simply discarded.
  • Fixed: The kernelFileCopyRecursive() function caused a page fault when it encountered an empty directory.
  • Fixed: Though the Disk Manager's 'move partition' and 'copy disk/partition' progress indicators would show the correct time, but the percentage could overflow. going back to a smaller number and then climbing again.

Version 0.67:

Overview: This is a maintenance release, including a number of bug fixes and the addition of new capabilities to the IDE disk driver including PCI, DMA, and 48-bit addressing support; a significant re-engineering of the Disk Manager program to modularize it for new disk label types, plus support for moving logical partitions and creating 'preceding' logical partitions.
  • Added PCI, DMA, and 48-bit addressing support to the IDE disk driver.
  • Did some touchups and corrections to the Visopsys IO code in the libntfs library.
  • Implemented the ability to move logical partitions in the Disk Manager.
  • Implemented the ability to create 'preceding' logical partitions in the Disk Manager.
  • Modularized the Disk Manager so that it will be better suited for working with different types of disk labels.
  • Added a debug_io category to the kernelDebug.c functions.
  • Added itoux() and lltoux() pseudo- C library functions for printing unsigned hexadecimal strings.
  • Commands specified for menu items in the desktop configuration file are now checked to make sure they exist.
  • Corrected the '%p' specifier printf() and family format strings, so that it is printed as an unsigned value.
  • Cleaned up new compilation warnings generated by GCC 4.1.1.
  • Fixed: Lines of only whitespace in configuration files used by the kernel configuration reader/writer functions halted processing.
  • Fixed: Launching a new window failed to reset the global "focused component" until the mouse was moved.
  • Fixed: When a process was killed, the text input stream's 'echo' attribute was not being reset.
  • Fixed: The FAT filesystem driver's "get unused clusters" function was not properly returning an error if no free clusters were found.
  • Fixed: In the Disk Manager, using the cursor keys in the disk list or partition list did not change the selection.
  • Fixed: The kernel's GUID generation routine could hang because it was using an uninitialized lock structure.
  • Fixed: When creating a new logical partition in between two others, the Disk Manager didn't set the disk order correctly.
  • Fixed: IDE disk driver now properly checks for sector number overflow. Previously it could fail to detect attempts at >28-bit addressing, causing overflow at the ~130GB mark.
  • Fixed: A bug in the 'lsdev' program printing devices when the number of attributes was less than 2.
  • Fixed: The progress dialog didn't layout properly when resized, and also fixed the layout of a few dialogs and windows vis. resizing.
  • The Disk Manager's progress dialogs that show time remaining no longer zero-pad the values, and specify the time in "X hours X minutes" format.
Moderatie-faq Wijzig weergave

Reacties (4)

Knap van die kerel dat ie dat zo even bouwt, maar behalve wat expirimenteren heb je hier volgensmij niks aan.. Gezien ook het feit dat de features ook nog steeds in het jaar '97 zijn blijven hangen geloof ik..
Maargoed, ik zou het hem niet nadoen :)
Ik zou het niet "zo even" noemen. Het is dus al sinds 97 in ontwikkeling (tien jaar dus!), en hij is pas op versie 0.68. Dus het is niet "zo even" ontwikkeld
Dat was dan ook figuurlijk bedoeld, en sloeg meer op het feit dat hij het in z'n eentje voor elkaar krijgt, dan op de tijd..
Wat is de doelgroep voor dit besturingssysteem ?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True