• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Глеб Смирнов: Что нового в FreeBSD 10.0
 

Глеб Смирнов: Что нового в FreeBSD 10.0

on

  • 8,008 views

Только что вышедшая FreeBSD 10 содержит в себе много нововведений, таких как смена компилятора и системы ...

Только что вышедшая FreeBSD 10 содержит в себе много нововведений, таких как смена компилятора и системы пакетирования приложений, расширенная поддержка виртуализации, а также множество радикальных изменений в уже существующих подсистемах. В докладе Глеб коснётся наиболее важных новостей и расскажет, чего следует ожидать тем, кто поспешит перейти на новую стабильную версию.

Statistics

Views

Total Views
8,008
Views on SlideShare
1,336
Embed Views
6,672

Actions

Likes
1
Downloads
10
Comments
0

25 Embeds 6,672

http://tech.yandex.ru 6138
https://tech.yandex.ru 273
http://tech.yandex.com 207
http://bas2k.github.io 12
https://www.facebook.com 11
http://bas2k.ru 5
https://tech.yandex.com 4
http://translate.googleusercontent.com 4
http://hghltd.yandex.net 2
https://m.facebook.com&_=1387305819948 HTTP 1
http://www.google.com 1
http://yandex.st 1
http://www.redirectfiles.org 1
https://www.google.ru 1
https://m.facebook.com&_=1387299084484 HTTP 1
https://m.facebook.com&_=1387302799140 HTTP 1
https://m.facebook.com&_=1387304324481 HTTP 1
http://admin-com.tech.yandex-team.ru 1
http://admin-ru.tech.yandex-team.ru 1
https://m.facebook.com&_=1387305143278 HTTP 1
https://m.facebook.com&_=1387335108369 HTTP 1
https://m.facebook.com&_=1387319023832 HTTP 1
https://m.facebook.com&_=1387311518730 HTTP 1
https://m.facebook.com&_=1387306384662 HTTP 1
https://m.facebook.com&_=1387350583253 HTTP 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Глеб Смирнов: Что нового в FreeBSD 10.0 Глеб Смирнов: Что нового в FreeBSD 10.0 Presentation Transcript

    • What’s new in FreeBSD 10? Gleb Smirnoff glebius@FreeBSD.org ruBSD 2013 Yandex Moscow December 14, 2013 Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 1 / 27
    • Introduction Two years of development 23 September 2011 10 October 2013 head stable/9 Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? stable/10 December 14, 2013 2 / 27
    • Introduction Two years of development 23 September 2011 10 October 2013 head stable/9 stable/10 10.0-RC1 available now 10.0-RELEASE planned for 2 January 2014 Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 2 / 27
    • Introduction Outline 1 Userland changes Packaging system Toolchain Developers tools DNS tools Other userland updates 2 Kernel: virtualization bhyve guest improvements 3 Kernel: ARM port Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 3 / 27
    • Introduction Outline 4 5 6 Kernel: security capsicum(4) update /dev/random improvements Kernel: general improvements callout(9) new generation unmapped I/O memory management atomic close-on-exec Kernel: I/O and storage improvements GEOM 3rd party filesystems Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 3 / 27
    • Introduction Outline 7 Kernel: networking changes carp packet filters 8 Conslusion looking forward to FreeBSD 11 Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 3 / 27
    • Userland changes Packaging system New generation packaging system pkg(1) Replaces pkg_tools in FreeBSD 10.0 Updates packages from remote repository Is developed as a library + command line frontend Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 4 / 27
    • Userland changes Packaging system New generation packaging system pkg(1) Replaces pkg_tools in FreeBSD 10.0 Updates packages from remote repository Is developed as a library + command line frontend Don’t miss section at 11:40 by Vsevolod Stakhov! Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 4 / 27
    • Userland changes Toolchain Compiler change LLVM/Clang 3.3 is default compiler (amd64, arm and i386) Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 5 / 27
    • Userland changes Toolchain Compiler change LLVM/Clang 3.3 is default compiler (amd64, arm and i386) Why? BSD licensed (gcc > 4.2.1 is GPLv3) Fully C++11 compliant. Includes LLVM libc++. Always cross compiler. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 5 / 27
    • Userland changes Toolchain Compiler change LLVM/Clang 3.3 is default compiler (amd64, arm and i386) Why? BSD licensed (gcc > 4.2.1 is GPLv3) Fully C++11 compliant. Includes LLVM libc++. Always cross compiler. We still support gcc 4.2+ to build tier 2 arches. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 5 / 27
    • Userland changes Toolchain Toolchain Moving towards external toolchain. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 6 / 27
    • Userland changes Toolchain Toolchain Moving towards external toolchain. Portable make(1) imported from NetBSD Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 6 / 27
    • Userland changes Toolchain Toolchain Moving towards external toolchain. Portable make(1) imported from NetBSD Tools updated: patch(1): GNU BSD licensed fork of original Larry Wall sort(1): GNU own implementation byacc for yacc(1) flex for lex(1) Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 6 / 27
    • Userland changes Developers tools Developers tools CVS -> subversion (lite) ATF/kyua from NetBSD Work in progress: gdb -> lldb Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 7 / 27
    • Userland changes DNS tools DNS tools Recursive resolver & tools BIND -> unbound dig(1) -> drill(1) new host(1) implementation nslookup Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 8 / 27
    • Userland changes DNS tools DNS tools Recursive resolver & tools BIND -> unbound dig(1) -> drill(1) new host(1) implementation nslookup LDNS library Feature rich API, providing control over recursion, DNSSEC, TSIG, etc. Utilized by OpenSSH, drill(1) Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 8 / 27
    • Userland changes DNS tools DNS tools Recursive resolver & tools BIND -> unbound dig(1) -> drill(1) new host(1) implementation nslookup LDNS library Feature rich API, providing control over recursion, DNSSEC, TSIG, etc. Utilized by OpenSSH, drill(1) Plan for FreeBSD 11: caching, validating, secure resolver library with standard API Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 8 / 27
    • Userland changes Other userland updates Other userland updates freebsd-version(1) tool introduced libyaml added to base Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 9 / 27
    • Userland changes Other userland updates Other userland updates freebsd-version(1) tool introduced libyaml added to base Citrus iconv(3) in libc newest jemalloc 3.4.1 in libc Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 9 / 27
    • Userland changes Other userland updates Other userland updates freebsd-version(1) tool introduced libyaml added to base Citrus iconv(3) in libc newest jemalloc 3.4.1 in libc nvi editor supports wide character locales Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 9 / 27
    • Userland changes Other userland updates Other userland updates freebsd-version(1) tool introduced libyaml added to base Citrus iconv(3) in libc newest jemalloc 3.4.1 in libc nvi editor supports wide character locales wpa_supplicant/hostapd updated to 2.0 OpenSSH updated to 6.4 OpenSSL updated to 1.0.1e Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 9 / 27
    • Userland changes Other userland updates Installer bsdinstall features ZFS root installation Removed old installer sysinstall and auxiliary tools libdisk, libftpio, sade Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 10 / 27
    • Kernel: virtualization bhyve bhyve(4) hypervisor BSD hyper visor (pronounced as “bee hive”) Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 11 / 27
    • Kernel: virtualization bhyve bhyve(4) hypervisor BSD hyper visor (pronounced as “bee hive”) Requirements: host is amd64: Intel CPU with VT-x feature or AMD CPU with AMD-V feature no BIOS provided Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 11 / 27
    • Kernel: virtualization bhyve bhyve(4) hypervisor BSD hyper visor (pronounced as “bee hive”) Results in: 12k lines of code in kernel 14k lines of code in userland Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 11 / 27
    • Kernel: virtualization bhyve bhyve(4) hypervisor BSD hyper visor (pronounced as “bee hive”) Guest OSes supported: FreeBSD, OpenBSD GNU/Linux Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 11 / 27
    • Kernel: virtualization guest improvements Guest improvements Xen and Xen HVM in GENERIC kernel Microsoft Hyper-V drivers added VMware VMXNET3 driver added Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 12 / 27
    • Kernel: ARM port ARM port ARM soon to become Tier 1 platform compiled with clang superpages support EABI by default Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 13 / 27
    • Kernel: security capsicum(4) update capsicum(4) update Capsicum - hybrid capability + UNIX access control model. Introduced in FreeBSD 9.0. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 14 / 27
    • Kernel: security capsicum(4) update capsicum(4) update Capsicum integrates further into FreeBSD: notions of “capability” and “file descriptor” merge new APIs: cap_new(2) cap_rights_limit(2) Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 14 / 27
    • Kernel: security capsicum(4) update capsicum(4) update Capsicum integrates further into FreeBSD: notions of “capability” and “file descriptor” merge new APIs: cap_new(2) cap_rights_limit(2) capsicum(4) in GENERIC by default sandboxed applications: tcpdump(1), dhclient(8), rwhod(8), kdump(8), hastd(8), auditdistd(8), ctld(8), iscsid(8) Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 14 / 27
    • Kernel: security capsicum(4) update capsicum(4) update Future integration in 10.1-RELEASE: casperd(8) daemon libcapsicum(3) library sandboxing a lot of applications Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 14 / 27
    • Kernel: security /dev/random improvements better random Problem: hardware assisted randomness (RDRAND and Padlock) no longer trusted. Solution: run them through Yarrow. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 15 / 27
    • Kernel: security /dev/random improvements better random Problem: hardware assisted randomness (RDRAND and Padlock) no longer trusted. Solution: run them through Yarrow. Problem: not enough entropy on early boot. Solution: we can get some from device attach time. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 15 / 27
    • Kernel: security /dev/random improvements better random Problem: hardware assisted randomness (RDRAND and Padlock) no longer trusted. Solution: run them through Yarrow. Problem: not enough entropy on early boot. Solution: we can get some from device attach time. Problem: not enough entropy on first boot. Let bsdinstall save an entropy cookie for future boot. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 15 / 27
    • Kernel: security /dev/random improvements better random Problem: hardware assisted randomness (RDRAND and Padlock) no longer trusted. Solution: run them through Yarrow. Problem: not enough entropy on early boot. Solution: we can get some from device attach time. Problem: not enough entropy on first boot. Let bsdinstall save an entropy cookie for future boot. FreeBSD 11.0 plan: substitute Yarrow with Fortuna. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 15 / 27
    • Kernel: general improvements callout(9) new generation callout(9) improvements callout(9) - kernel subsystem to schedule delayed events. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 16 / 27
    • Kernel: general improvements callout(9) new generation callout(9) improvements callout(9) - kernel subsystem to schedule delayed events. New improvements: tickless event coalescing direct execution Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 16 / 27
    • Kernel: general improvements unmapped I/O unmapped I/O Problem: kernel doing I/O on behalf of userland process maps the I/O region into kernel address space. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 17 / 27
    • Kernel: general improvements unmapped I/O unmapped I/O Problem: kernel doing I/O on behalf of userland process maps the I/O region into kernel address space. Change of virtual memory map requires notification of other CPUs. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 17 / 27
    • Kernel: general improvements unmapped I/O unmapped I/O Problem: kernel doing I/O on behalf of userland process maps the I/O region into kernel address space. Change of virtual memory map requires notification of other CPUs. Solution: unmapped I/O. Required modification of file system layer, GEOM classes, disk drivers. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 17 / 27
    • Kernel: general improvements unmapped I/O unmapped I/O Problem: kernel doing I/O on behalf of userland process maps the I/O region into kernel address space. Change of virtual memory map requires notification of other CPUs. Solution: unmapped I/O. Required modification of file system layer, GEOM classes, disk drivers. Result: 30% of system CPU time saved in I/O bound tasks. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 17 / 27
    • Kernel: general improvements memory management memory management changes Kernel memory maps: vmem(9) generic allocator from NetBSD kernel memory map allocation backed by vmem(9) Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 18 / 27
    • Kernel: general improvements memory management memory management changes Kernel memory maps: vmem(9) generic allocator from NetBSD kernel memory map allocation backed by vmem(9) Mach VM radix tree instead of splay tree for vm_pages in vm_object Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 18 / 27
    • Kernel: general improvements memory management memory management changes Kernel memory maps: vmem(9) generic allocator from NetBSD kernel memory map allocation backed by vmem(9) Mach VM radix tree instead of splay tree for vm_pages in vm_object UMA performance/efficiency improvements per-CPU zones log warning when a zone hits limit Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 18 / 27
    • Kernel: general improvements atomic close-on-exec atomic close-on-exec Prevents descriptor leak in presence of threads or signals Suggested for future POSIX Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 19 / 27
    • Kernel: I/O and storage improvements storage changes NAND flash support NAND controller/chip/bus APIs NAND disk GEOM class NAND file system Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 20 / 27
    • Kernel: I/O and storage improvements storage changes NAND flash support NAND controller/chip/bus APIs NAND disk GEOM class NAND file system Resizing general support of “resize” notion in GEOM resizing of GEOM mirror (in 10.1-RELEASE) growfs(1) works on mounted filesystems Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 20 / 27
    • Kernel: I/O and storage improvements storage changes NAND flash support NAND controller/chip/bus APIs NAND disk GEOM class NAND file system Resizing general support of “resize” notion in GEOM resizing of GEOM mirror (in 10.1-RELEASE) growfs(1) works on mounted filesystems legacy ATA layer removed Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 20 / 27
    • Kernel: I/O and storage GEOM GEOM: work in progress Targeted for 10.1-RELEASE: direct dispatch in GEOM instead of two threads fine grained locking of CAM layer Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 21 / 27
    • Kernel: I/O and storage GEOM GEOM: work in progress Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 21 / 27
    • Kernel: I/O and storage GEOM GEOM: work in progress Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 21 / 27
    • Kernel: I/O and storage 3rd party filesystems FUSE FUSE moved to base from ports to improve stability Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 22 / 27
    • Kernel: I/O and storage 3rd party filesystems FUSE FUSE moved to base from ports to improve stability Giant-locked and GPL-contaminated filesystems removed from kernel: hpfs, ext2fs, ntfs, reiserfs, coda, xfs, nwfs, portalfs. Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 22 / 27
    • Kernel: networking changes networking changes newest Infiniband OFED stack native iSCSI Target and Initiator etherswitch(4): embedded Ethernet switch driver Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 23 / 27
    • Kernel: networking changes networking changes ZERO_COPY_SOCKETS sendfile(2) on shared memory fd Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 23 / 27
    • Kernel: networking changes networking changes network byte order throughout the stack counter(9): raceless and cheap statistic per-CPU counters IP/TCP/UDP dtrace(1) providers Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 23 / 27
    • Kernel: networking carp new carp(4) CARP isn’t pseudo-interface any more. Redundant address is configured directly on a real interface. % ifconfig igb0 10.0.0.112/27 vhid 112 % ifconfig igb0 igb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:25:90:03:0e:fa inet 10.0.0.112 netmask 0xffffffe0 broadcast 10.0.0.127 vhid 112 media: Ethernet autoselect (1000baseT <full-duplex>) status: active carp: BACKUP vhid 112 advbase 1 advskew 0 Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 24 / 27
    • Kernel: networking packet filters packet filters pf(4): fork off OpenBSD, bringing in multithreading ipfilter(4): update to 5.1.2 (BSD license pledged) ipfw(4): no significant changes Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 25 / 27
    • Kernel: networking Gleb Smirnoff glebius@FreeBSD.org packet filters What’s new in FreeBSD 10? December 14, 2013 26 / 27
    • Conslusion Gleb Smirnoff glebius@FreeBSD.org looking forward to FreeBSD 11 What’s new in FreeBSD 10? December 14, 2013 27 / 27
    • Conslusion looking forward to FreeBSD 11 Questions? Gleb Smirnoff glebius@FreeBSD.org What’s new in FreeBSD 10? December 14, 2013 27 / 27