FreeBSD 10.0 ALPHA1 liberado
Postado por gondim | Categoria FreeBSD, Software Livre, Tecnologia | Dia 13-09-2013
Tags:FreeBSD, freebsd10, head
3
Glen Barber enviou um e-mail para as listas freebsd-current e freebsd-snapshots avisando sobre a primeira liberação ALPHA do ciclo que dará origem ao FreeBSD 10.0-RELEASE. O FreeBSD 10 virá com muitas novidades:
Overall system / architectural changes
LDNS and Unbound will replace BIND:
- Unbound and LNDS will replace BIND as the system’s DNS resolver and tools. BIND will of course always be available from ports.
GCC is no longer built as part of the base system:
- GCC is no longer a part of the default base system on architectures where CLANG is used instead. CLANG is used on i386 and AMD64.
VPS Support:
- Virtual Private Systems for FreeBSD (VPS) is an extension of the VIMAGE concept to the rest of the kernel (OS-level virtualization, similar to jails), and can e.g. migrate live VPSs from one host to another.
Unmapped VMIO buffers:
- The use of the unmapped buffers eliminate the need to perform TLB shootdown for mapping on the buffer creation and reuse, greatly reducing the amount of IPIs for shootdown on big-SMP machines and eliminating up to 25-30% of the system time on i/o intensive workloads.
Raspberry Pi support:
- With little work, FreeBSD is now able to run on the Raspberry Pi platform!
bhyve:
- “bhyve” is the BSD Hypervisor, developed from scratch to offer a light-weight low-level HVM virtualization on FreeBSD. It supports virtio for IO paravirtualization.
Superpages for ARMv6/v7:
- Superpages support provides improved performance and scalability by allowing TLB translations to dynamically cover large physical memory regions. All ARMv6 and ARMv7-based platforms can take advantage from this feature.
General ARM improvements:
- FreeBSD/arm has been greatly improved, including support for ARMv6 and ARMv7, SMP and thread-local storage (TLS). Additionally support for some newer SoC like the MV78x60 and OMAP4 was added.
ARM EABI:
- The default ABI on ARM is now the ARM EABI. This brings a number of improvements and allows future support for VFP and Thumb-2.
Kernel, hardware support & other low level improvements:
Atomic close-on-exec:
- Add various APIs that set the close-on-exec flag atomically with allocating a file descriptor. These can be used to avoid undesirably passing file descriptors to child processes if threads or signal handlers call fork and exec. Some software starts to depend on these features.
Support for AMD GPUs kernel-modesetting:
- It will allow the use of newer xf86-video-ati drivers and AMD GPUs.
Support for the RDRAND random number generator:
- RDRAND is the new Intel’s CPU instruction for accessing its hardware random number generator, also known as the code-name Bull Mountain. It is present in Ivy Bridge and newer CPUs.
Virtio:
- “virtio” is the name for the paravirtualization interface developed for the Linux KVM, but since adopted to other virtual machine hypervisors (with the notable exception of Xen). This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers for disk (block and SCSI) IO, network IO, PCI and memory ballooning. Tested with on Qemu/KVM, VirtualBox, and BHyVe.
Variable symlinks:
- The support for variable symbolic links (varsym) has been ported from DragonflyBSD, supporting automatic expansion of per-process, per-jail or system-wide variables in symbolic file links.
Networking improvements:
ipfw support for setting/matching DSCP:
- Add ipfw support for setting/matching DiffServ codepoints (DSCP) in IP header (former TOS field). Setting DSCP support works for both IPv4 and IPv6 packets. DSCP can be specified by name (AFxy, CSx, BE, EF), by value (0..63) or via tablearg. Matching DSCP accepts several classes at once (af11,af22,be).
SMP-friendly pf firewall:
- The pf firewall, originally from OpenBSD, got upgraded to support fine-grain locking and better utilization on multi-cpu machines, which allows it to perform significantly faster.
CARP rewrite.
NetMap:
- NetMap is a framework for high-performance direct-to-hardware packet IO, offering low latency and high PPS rates to userland applications while bypassing any kernel-side packet processing. With NetMap, it is trivially possible to fully saturate a 10 Gbps network interface with minimal packet sizes.
Up to 65536 routing tables:
- Until now FreeBSD only supported up to 16 different routing tables. With this changes up to 65536 are supported.
Wireless Improvements:
Concurrency/SMP work:
- net80211 has had issues on preemptive, multi-core CPUs. A lot of these race conditions have been found and fixed in -HEAD. The important fixes have been backported to 9.x.
Improved 802.11n stack support:
- The net80211 stack has had numerous 802.11n improvements, including (but not limited to) better handling of 802.11n BAR TX frames and 802.11n options. It also correctly supports 1, 2 and 3 stream 802.11n configurations (although no public driver as yet supports 3-stream 802.11n operation.)
802.11s mesh support:
- The 802.11s support is being continuously updated to the release specification rather than earlier draft specifications. Although this doesn’t yet support 802.11n, the aim is to be specification compliant and complete by 10.0-RELEASE.
Atheros PCI/PCIe 802.11n support:
- The Atheros driver, HAL and rate control code has undergone some significant development work to support 802.11n.
- This includes:
- Fixing many SMP/concurrency races;
- Teaching the HAL about 802.11n rates;
- Teaching the ath_rate_sample rate control module about 802.11n, as well as the required rate control API changes;
- Implementing 802.11n TX aggregation, including software retransmissions, BAR handling and other required features.
- Although there are a few features still under development (notably AP power save mode), both AP and STA operation is stable enough for home use and testing. (Read: more than just the author is using this feature.)
- This includes:
Storage subsystems’ improvements:
New iSCSI stack:
- The new iSCSI stack is kernel-mode and focused on reliability and interoperability.
ZFS NOP-write optimization:
- The zio nop-write improvement from Illumos was imported into -CURRENT. To reduce I/O, nop-write skips overwriting data if the checksum (cryptographically secure) of new data matches the checksum of existing data. It also saves space if snapshots are in use.
- It currently works only on datasets with enabled compression, disabled deduplication and sha256 checksums.
Online growfs(8) for r/w-mounted UFS filesystems:
- UFS filesystems can now be enlarged with growfs(8) while mounted read-write. This is especially useful for virtual machines, allowing the addition of more harddrive space without interruption of service.
ZFS TRIM support:
- As a world’s first, FreeBSD now has TRIM support in ZFS! UFS has already had TRIM support for some time.
LZ4 compression support in ZFS:
- LZ4 is a new, very fast compression algorithm (http://code.google.com/p/lz4/) which improves ZFS compression/decompression performance by up to 50%/80% compared to the default LZJB (http://wiki.illumos.org/display/illumos/LZ4+Compression).
FUSE support in the base system:
- A state of the art FUSE implementation is now part of the FreeBSD base system. It allows the use of nearly all fusefs file systems under FreeBSD without installing the unstable “fusefs-kmod” kernel module from ports. Most notable is the “ntfs-3g” implementation of Windows NTFS.
- http://fuse.sourceforge.net/ FUSE is the userland file system API developed for Linux. The FreeBSD port (including the clean-room BSD-licenced reimplementation of the kernel module) was created during 2 summer of code mandates and being revived by gnn recently. The functionality in this commit matches the content of fusefs-kmod port, which doesn’t need to be installed anymore for -CURRENT setups.
Desktop-related changes:
USB Audio 2.0:
- USB Audio support was upgraded to support version 2.0. New devices should support higher bandwidth, increased sampling frequency and wider dynamic range.
Other changes:
- Maximum username (login) length increased to 32 characters: http://svnweb.freebsd.org/base?view=revision&revision=243023
- vmxnet3 VMWare paravirtualized network driver committed: http://svnweb.freebsd.org/changeset/base/254738
- Efficienty improvements in network-related kernel data structures: http://svnweb.freebsd.org/base?view=revision&revision=254780
- Improvements in parallel GEOM processing, using direct dispatch in simple cases: http://svnweb.freebsd.org/changeset/base/254787
- Efficiency improvements in the virtual memory system: http://svnweb.freebsd.org/base?view=revision&revision=254544, http://svnweb.freebsd.org/base?view=revision&revision=254025
- CAIA Delay-Gradient (CDG) congestion control algorithm for TCP: http://svnweb.freebsd.org/changeset/base/252504
- Since the ports tree has also been converted to Subversion from CVS, the cvs program has been removed from the base system (it is still available in the ports): http://svnweb.freebsd.org/changeset/base/251794. Instead, svnlite (http://svnweb.freebsd.org/changeset/base/251886) and svnup (http://www.freshports.org/net/svnup) are available.
- ZFS now has L2ARC compression (http://wiki.illumos.org/display/illumos/L2ARC+Compression): http://svnweb.freebsd.org/base?view=revision&revision=251478
- Newly created UFS file systems will have faster fsck operation: http://svnweb.freebsd.org/base?view=revision&revision=248623
- GEOM_LABEL creates labels based on disk ID strings: http://svnweb.freebsd.org/changeset/base/249508
- Faster booting by using a better read cache: http://svn.freebsd.org/changeset/base/241053
- 64-bit ino_t, allowing file systems with a really huge number of files: http://svn.freebsd.org/changeset/base/241011
- Shared memory pages between kernel&userland for faster interaction: http://svn.freebsd.org/changeset/base/237433
- Clang 3 will be the default compiler for FreeBSD 10: http://svn.freebsd.org/changeset/base/228379, http://lists.freebsd.org/pipermail/freebsd-stable/2012-May/067486.html
- New timecounter infrastructure: RADclock, http://www.synclab.org/radclock/
- ZFS fault monitoring and management daemon, http://svn.freebsd.org/changeset/base/222836
- NVM Express drivers: nvme(4) and nvd(4), http://svnweb.freebsd.org/changeset/base/240616
- unbound (validating, recursive, and caching DNS resolver) included ?, http://svnweb.freebsd.org/changeset/base/249140
- counter(9) API that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data: http://svnweb.freebsd.org/changeset/base/249268, http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html
ISO do FreeBSD 10.0 ALPHA1 aqui.
Maiores referências aqui.
Wow, great article.Thanks Again. Great.
It’s the best time to make some plans for the future and it’s time
to be happy. I have read this post and if I could I wish to suggest
you some interesting things or tips. Perhaps
you can write next articles referring to this article. I desire to read even more things
about it!
I’m not sure where you are getting your info, but good topic.
I needs to spend some time learning more or understanding
more. Thanks for great info I was looking for this info for my mission.