Tags: Inphi/IncludeOS
Tags
IncludeOS v0.9.3 Distro support * Support for Arch by @GuzTech * Support for Fedora by @andreashappe * Support for LinuxMint by @h4tr3d Examples * 256-color mode VGA (@lefticus) * Snake rewrite (@Voultapher) Kernel * Stack switching utility (context). Create and use custom area in memory as stack for a provided delegate. * CPUID (@gurka). Includes KVM feature support Misc * Minor fixes and refactoring from @RicoAntonioFelix * Move ELF symbols (yet again) into its own section, but pre-pruned * Further reductions in binary sizes * Move stack to the old 640k conventional memory hole, reducing memory usage * Updated logotype and READMEs Heap debugging * Validate new and frees * Buffer overflow checks (@gurka) * Verbose mode for tracking allocations Utility * Added Logger - ring buffer log utility * Added Timer - makes it easier to start, stop and restart a task Profiling * Add mode toggle for stack sampler allowing Switch between caller mode (show who calls function) and current mode (show current function). Networking * Packet now travels through the network stack as a unique_ptr instead of shared_ptr (avoiding control block allocation) * Isolated network layering a bit by moving ethernet address to hw::MAC_addr * TCP optimizations * Fixed bug where read would result in double free * No longer sets up default callbacks, saving allocations * Minor reduction in size Testing * Improvements to test automation
IncludeOS v0.9.0 Platform support * OpenStack support using IDE boot device * Injectable support for platform specific protocols, like Unik instance registration Instrumentation * Backtrace from ELF symbols * Context buffer for crashes * Real-time stack sampling for profiling Boot * Stack and heap randomization * Multiboot support Kernel features * ACPI tables, ACPI shutdown * xAPIC support * Basic SMP support * MSI-X support * APIC timer * Memory map of named, fixed memory ranges * Improved timer system * RTC that is auto-calibrated and inexpensive * New driver injection system * Statman: centrally located statistics for anything Networking * Inet4 is now driver independent * TCP modularized with lots of API changes and improvements Tooling and testing * Building kernel with minimal code and stripped symbols * Improvements to install scripts * Automatic builds using Jenkins for PRs and main branches * New automatic test suite for unit testing, using LEST Misc * IPv4 addresses can now be created from string * Code refactoring to make use of new C++ features and Core Guidelines * Lots of bugfixes For more detailed release notes, see github
Quite a few bug fixes after running a new stress test. The OS seems very stable now, having survived a continous flood of Arp, ICMP and HTTP packets, run in parallel over ~9 hours. The VM showed no signs of having problems and gave a HTTP request rate of 3327.1 conn/s. after the flood ended.
IncludeOS v0.0.8 Release notes (compact version): * Block device, filesystem and memdisk - Finished filesystem interface with sync and async calls - Support for custom filesystems - FAT 12/16/32 filesystem implementation - Added the Memdisk disk device, linked in as binary section - Added Virtio Block device driver - Added Virtio Console device driver - Automated MemDisk builder from disk image file - Async class for automatic handling of async file transfers * TCP - more or less complete rewrite - State logic is now separated into classes - "Socket" replaced with "Connection". - Fully implemented RFC 793 "TransmissionControl Protocol". - Retransmission, round trip time calculation (RFC 6298) - Support options - MSS implemented. - Congestion Control (New Reno) (RFC 5681 & 6582) - Fixed checksum bug causing instability - Send queue - queue several write requests which will be stored until fully acknowledged to be used for retransmission. Possible to avoid any copy by assigning a shared pointer to data. - Fair packet distribution among connections. - Packets with payload now released immediately after copying data once to a shared buffer, released to the user when subscribed. - More events to subscribe to - OnConnect, OnDisconnect among others. * Time - Async timers, one-shot and repeating (using PIT) - We finally have a wall clock! (RTC via CMOS) * Test - Added tests covering the major kernel and networking features - New system for automating tests written in python - Added support for LEST unit test framework (used in e.g. ./test/GSL) * Misc - UDP now has send queue to help maximize bandwidth - Improvements in packet- and buffer-management increasing bandwidth - Added an optional async terminal with TCP and Serial backend, support for Telnet - C++ GSL now included with project, with some limited usage in the kernel - New safer virtio interface with GSL - Pretty boot - Pretty boot screen - Tons of bugfixes - Updated to llvm 3.8, both libc++ and clang, also for OS X.
IncludeOS is now free and open source. In this pre-release: * DHCP * ARP-resolution * UDP Sockets (TCP sockets will be changed to match) * New network buffer management system * Rewritten the Dev-class with templatized getters * Improved virtualbox run-script (etc/vboxrun.sh) * Jenkins integration * VGA output (somewhat sketchy - rely on the serial port) * Successful build on Apple OSX (try ./etc/install_mac.sh) * Lots of cleanups, and pretty printing * Apache v2.0 license
* Partial TCP - enough to show a static webpage * Asynchronous timers using the PIT (Polite ones - no context switches) * Major directory structure cleanup * Lots of work towards IPv6 * VirtualBox support is back * Install-script finally works again * We now install to - and build from $HOME/IncludeOS_install. You can move it wherever. * The contents of the install-folder gets gzipped into a binary release bundle.
PreviousNext