Annotation of Gnu-Mach/NEWS, revision 1.1.1.8

1.1.1.8 ! root        1: Version 1.8 (2016-12-18)
        !             2: 
        !             3: The memory management system was extensively reworked.  A new type for
        !             4: physical addresses is now used where appropriate, and the system can
        !             5: make use of the high memory segment.  Many paging issues have been
        !             6: addressed, and as a result the system handles low memory situations
        !             7: more gracefully now.
        !             8: 
        !             9: The virtual memory system now uses a red-black tree for allocations,
        !            10: and as a result it now supports tasks with tens of thousands of
        !            11: mappings.
        !            12: 
        !            13: Debugging and error reporting has been improved.  Among other things
        !            14: the VM maps are now augmented with names that are used in error
        !            15: messages, panics and assertions point to their locations, the lock
        !            16: debugging mechanism has been fixed, and the kernel debugger can now
        !            17: inspect stack traces reaching into the machine-dependent bits
        !            18: implemented in assembler.
        !            19: 
        !            20: As usual, bugs have been fixed throughout the code, including minor
        !            21: issues with the gsync synchronization mechanism which is now used for
        !            22: the internal locks in the GNU C Library (glibc).
        !            23: 
        !            24: The deprecated external memory management interface has been removed.
        !            25: 
        !            26: The partial ACPI support has been removed.
        !            27: 
1.1.1.7   root       28: Version 1.7 (2016-05-18)
                     29: 
                     30: The code has been updated to work with newer versions of GCC, and numerous bugs
                     31: have been fixed throughout the code, including a pageout deadlock.  The code
                     32: uses integer types from <stdint.h> now instead of the old Mach types.
                     33: 
                     34: The VM cache policy change has been merged.  The kernel now caches
                     35: unreferenced VM objects unconditionally instead of using a fixed
                     36: limit.
                     37: 
                     38: The physical page allocator of the X15 kernel has been integrated, and
                     39: is now used directly by the slab allocator.  This increases the kernel
                     40: heap addressing important scalability issues.
                     41: 
                     42: The gsync synchronization mechanism was added, similar to the Linux kernel's
                     43: futexes, to allow efficient and powerful userland synchronization.
                     44: 
                     45: Support for profiling kernel code from userland through sampling was added.
                     46: 
1.1.1.6   root       47: Version 1.6 (2015-10-31)
                     48: 
                     49: The code has been updated to work with newer versions of the compiler,
                     50: and numerous bugs have been fixed throughout the code.
                     51: 
                     52: The lock debugging infrastructure has been revived and improved, and
                     53: many locking issues have been fixed.
                     54: 
                     55: The IPC tables and the hash table mapping objects to IPC entries have
                     56: been replaced by radix trees.  This addresses a scalability issue, as
                     57: IPC tables required huge amounts of continuous virtual kernel memory.
                     58: 
                     59: The kernel now allows non-privileged users to wire a small amount of
                     60: memory.
                     61: 
                     62: A bug hindering the eviction of inactive pages by the pageout daemon
                     63: has been identified and fixed.
                     64: 
                     65: The kernel now keeps timestamps relative to the system boot time.
                     66: Among other things this fixes bogus uptime readings if the system time
                     67: is altered.
                     68: 
                     69: A reference leak in the exception handling mechanism has been
                     70: identified and fixed.
                     71: 
                     72: ANSI escape sequences are now handled when using `printf'.  This fixes
                     73: the formatting of messages printed by various Linux drivers.
                     74: 
1.1.1.5   root       75: Version 1.5 (2015-04-10)
                     76: 
                     77: Numerous cleanups and stylistic fixes of the code base.  Several
                     78: problems have been identified using static analysis tools and
                     79: subsequently been fixed.
                     80: 
                     81: A protected payload can now be associated with capabilities.  This
                     82: payload is attached by the kernel to delivered messages and can be
                     83: used to speed up the object lookup in the receiving task.
                     84: 
                     85: The kernel debugger can now parse ELF symbol tables, can be invoked
                     86: over serial lines, gained two new commands and has received usability
                     87: improvements.
                     88: 
1.1.1.8 ! root       89: The VM pageout policy has been tuned to accommodate modern hardware.
1.1.1.5   root       90: 
                     91: The kernel gained partial ACPI support on x86, enough to power down
                     92: the system.
                     93: 
                     94: Version 1.4 (2013-09-27)
1.1.1.3   root       95: 
1.1.1.4   root       96: Really too many to list them individually.  Highlight include numerous bug and
                     97: stability fixes, a Xen port for 32-bit x86 including basic support for Physical
                     98: Address Extension (PAE), an initial AHCI driver (SATA hard disks), a new SLAB
                     99: memory allocator to replace the previous zone allocator, support for memory
                    100: object proxies, access restrictions for x86 I/O ports, support for some PCMCIA
                    101: devices based on the pcmcia-cs package.
                    102: 
                    103: Version 1.3
1.1.1.3   root      104: 
                    105: The kernel now directly supports "boot scripts" in the form of multiboot
                    106: module names with the same syntax as the Hurd's `serverboot' program.
                    107: That is, instead of telling GRUB "module /boot/serverboot", you can give
                    108: GRUB a series of command like "module /hurd/ext2fs ${...}" where the
                    109: syntax after "module" is the same as in boot scripts for Hurd's `serverboot'.
                    110: 
                    111: The kernel message device `kmsg' is now enabled by default.
                    112: --disable-kmsg turns it off.
                    113: 
                    114: Large disks (>= 10GB) are now correctly supported, the new get_status
                    115: call DEV_GET_RECORDS can return the number of records of a device.
                    116: 
                    117: Lots of tweaks have been done to the virtual memory management to make
                    118: it perform better on today's machines.
                    119: 
                    120: The console supports ANSI escape sequences for colors and attributes.
                    121: 
                    122: Support for the terminal speeds B57600 and B115200 has been added.
                    123: 
1.1.1.4   root      124: Version 1.2
1.1.1.2   root      125: 
                    126: Many bug fixes.
                    127: 
                    128: The task_basic_info RPC now has an additional field, holding the
                    129: creation time of the task.  Likewise for thread_basic_info.
                    130: 
                    131: The interface generator `MiG' has been split out.
                    132: 
                    133: Partition names for disks are now printed in the correct way.
                    134: 
                    135: Linux drivers are updated to 2.0.36.  Many thanks to Okuji Yoshinori
                    136: for great work here.  The Linux emulation support is much improved.
                    137: 
                    138: The kernel message device `kmsg' is supported. --enable-kmsg turns on
                    139: the device.
                    140: 
                    141: The parallel driver is enabled by --enable-lpr.
                    142: 
                    143: New make targets, install-kernel and install-headers are added. The
                    144: former will install only the kernel, and the latter will install only
                    145: the header files.
                    146: 
                    147: Print out Mach device names instead of Linux ones.
                    148: 
1.1.1.4   root      149: Version 1.1
1.1       root      150: 
                    151: Cross-compilation support is much improved.  Any of various popular
                    152: libc's is now sufficient for building clib-routines.o.
                    153: 
                    154: New configure option --enable-kdb asks for kernel debugger to be
                    155: compiled in.
                    156: 
                    157: Bug in --enable-ncr53c7xx has been fixed.
                    158: 
                    159: Many thanks go to Marcus G. Daniels ([email protected]) for
                    160: his very helpful testing of the 1.0 release and for his many
                    161: improvements to the cross-compilation support.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.