anonymous@RULINUX.NET~# Last login: 2024-06-24 17:56:24
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск

Новости BSD

Новости о BSD системах

Вышла openbsd 7.5


April 5, 2024

------------------------------------------------------------------------ - OpenBSD 7.5 RELEASED -------------------------------------------------

April 5, 2024.

We are pleased to announce the official release of OpenBSD 7.5. This is our 56th release. We remain proud of OpenBSD's record of more than twenty years with only two remote holes in the default install.

As in our previous releases, 7.5 provides significant improvements, including new features, in nearly all areas of the system:

- Various kernel improvements: o Added bt(5) and btrace(8) support for binary modulo operator ('%'). o Added a TIMEOUT_MPSAFE flag to timeout(9). o Added IBM encoded version of the "Spleen 8x16" font, usable as console font. o Cleanup and machine-independent refactoring of three context switch paths outside of mi_switch(): when a process forks and the new proc needs to be scheduled by proc_trampoline, cpu_hatch: when booting APs, and sched_exit: when a proc exits. o Made vscsi(4) 'vscsi_filtops' mpsafe and extended the 'sc_state_mtx' mutex(9) to protect 'sc_klist' knotes list. o Made out-of-swap checking more robust, preventing potential deadlocks. o Eliminated the ioctl whitelist that bio(4) will tunnel for other devices, allowing bio to be used with other (non-raid) related devices. o On msdos filesystems, ensure that a complete struct fsinfo is read even if the filesystem sectors are smaller. o Implemented per-CPU caching for the page table page (vp) pool and the PTE descriptor (pted) pool in the arm64 pmap implementation. This significantly reduces the side-effects of lock contention on the kernel map lock and leads to significant speedups on machines with many CPU cores. o Implemented acpi(4) RootPathString support in the LoadTable() AML function, fixing OpenBSD boot on an older version of Hyper-V. o Fixed Linux NFS clients freezing after five minutes of inactivity. o Fixed core file writing when a file map into memory has later been truncated to be smaller than the mapping. o Disallow madvise(2) and msync(2) memory/mapping destructive operations on immutable memory regions. Instead return EPERM. o Added new amd64-only sysctl machdep.retpoline which says whether the cpu requires the retpoline branch target injection mitigation. o Added new accounting flag ABTCFI to acct(5) to indicate SIGILL + code ILL_BTCFI has occurred in the process.

- SMP Improvements o Some network timers run without kernel lock. o TCP syn cache timer runs with shared net lock. o bind(2) and connect(2) system calls can run in parallel. o Packet counter for lo(4) loopback interface are MP safe. o Split protocol control block table for UDP into IPv4 and IPv6 tables to allow concurrent access. o UDP packets can be sent in parallel by multiple threads.

- Direct Rendering Manager and graphics drivers o Updated drm(4) to Linux 6.6.19. o New apldcp(4) and apldrm(4) drivers for Apple display coprocessor.

- VMM/VMD improvements o Fixed IRQ storm caused by edge-triggered devices such as the UART. o Fixed block size calculation for vioscsi devices. o Added io instruction length to vm exit information, allowing vmd(8) to perform validation in userspace. o Adopted new imsg_get_*(3) api. o Rewrote vionet devices to allow zero-copy data transfers between host and guest. o Improved error messages related to getgrnam(3) usage and out of tap(4) device conditions. o Fixed various things found by smatch static analyzer. o Fixed various file descriptor lifecycle issues and leaks across fork(2)/ execve(2) usage. o Added multi-threading support to vionet device emulation, improving latency. o Fixed vmm(4) instability on Intel VMX hosts by updating GDTR & TR if vcpu moves host cpus. o Added EPT flushing upon vmm(4) enabling VMX mode. o Added branch predictor flushing if IBPB is supported. o Corrected restoring GDTR and IDTR limits upon VMX guest exit. o Corrected handling of CPUID 0xd subleaves o Added additional use of VERW and register clobbering to mitigate RFDS vulnerabilities on Intel Atom cores.

- Various new userland features: o Made malloc(3) save backtraces to show in leak dump with depth of backtrace set via malloc option D (aka 1), 2, 3 or 4. o Added support for cksum(1) -c checking base64 digests in reverse mode. o Added kdump(1) [-p program] to filter dumps by basename. o Made ps(1) accept numerical user IDs. o Built and provide the tzdata.zi and leap-seconds.list files from zoneinfo. Some third-party software now expects these files to be installed. Provide the file, a table where each row stands for a timezone where civil timestamps are predicted to agree from now on. o Added basic write support for pax(1) format archives. o Added 'pax' format support for files over 8GB to tar(1). o Added 'pax' format support for mtime and atime to tar(1). o Extended imsg and the ibuf buffer manipulation API with useful getter methods. Unified file descriptor passing in all imsg using programs with the use of the imsg_get_fd() function. o Added mkdtemps(3), identical to mkdtemp(3) except that it permits a suffix to exist in the template. o Added mktemp(1) suffix support for compatibility with the GNU version. It is now possible to use templates where the Xs are not at the end.

- Various bugfixes and tweaks in userland: o Silenced list of specific firmware not needing update in pkg_add(1). o Improved ls(1) horizontal alignment in long format. o Added bioctl(8) retry on empty passphrase. o Fixed unveil(2) in patch(1) with explicit patchfile. o Made gnu99 the default for gcc 3.3.6 and 4.2.1 rather than defaulting to gnu89. o Enhanced fdisk(8) 'flag' to accept hex values. o Prevented fdisk(8) 'flag' from altering other GPT partition attributes when flagging a partition as the only bootable partition. o Allow fdisk(8) to add GPT partitions of protected types, making it possible to provision virtual machine images that need a "BIOS Boot" partition. o Added group handling matching fbtab(5) to xenodm. o Made grep(1) -m behavior match GNU grep. o Tweaked the default memory limits in /etc/login.conf on several architectures to account for increased memory requirements, for example when compiling or linking under user pbuild. o Initialize all terminals with "tset -I", thereby avoiding extra newlines to be printed. o Added mkhybrid(8) '-e' (-eltorito-boot-efi) option for writing an EFI eltorito boot image, in addition to or instead of the x86 boot image, to the output file. o Added openrsync(1) --omit-dir-times (-O) to omit directories from --times, as well as --no-O and --no-omit-dir-times options for compatibility. o Implemented openrsync(1) --omit-link-times (-J) option to omit symlinks from --times. o Added accounting flag and lastcomm(1) report for syscall pinning violations. o Added ktrace(1) and kdump(1) support to observe pinsyscall(2) violations. o Changed ftp(1) to avoid use of the interactive shell if -o is given. o Moved non-daemon services to run in a different rc(8) process group to avoid SIGHUP at boot. o Changed to only load the first libc version encountered requested and substituting it for all further loads, ensuring that the libc version requested by an executable itself is the one loaded. o Significantly (for small programs) reduce the size of statically linked binaries by splitting several libc internal functions into separate compilation and thus linkage units. Specifically getpwnam(3) does not need the full YP socket setup and does not use all possible dbopen(3) database backends. o Added vi(1) showfilename set option to display the file name in the lower left corner. o Added backup of disklabel for softraid(4) chunks to security(8).

- Improved hardware support and driver bugfixes, including: o New ampchwm(4) driver for Ampere Altra power telemetry. o New rkspi(4) driver for Rockchip SPI controller. o Support for RK806 PMIC in rkpmic(4). o Support for Allwinner H616 in sxisyscon(4), sxiccmu(4), sxipio(4), sximmc(4) and ehci(4). o Support for Allwinner D1 in sxidog(4), sxiccmu(4), sxipio(4), sximmc(4) and ehci(4). o Support for Aero and Sea SAS HBAs in mpii(4). o Support for SAS3816 and SAS3916 in mfii(4). o In xbf(4), allowed Xen to use backing store devices with 4K-byte sectors. o Added fanpwr(4) support for the Rockchip RK8602 and RK8603 voltage regulators. o Support keyboard backlights on Apple Powerbooks. o Added operating performance point info about each arm64 cpu and expose the states of thermal zones as kstats(1). o Overhauled ugold(4) temperature sensor identification logic and added support for additional devices. o Made uthum(4) TEMPer{1,2} devices display negative degC. o Improve support for audio devices that via attach multiple uaudio(4) drivers. o In nvme(4) don't create sd(4) devices larger than the namespace. o Fix nvme(4) decoding of status fields.

- New or improved network hardware support: o Utilize full checksum offload capabilities of vio(4) and vmx(4). o TCP Segmentation Offload (TSO) is also used in bnxt(4) and em(4). o Enabled TCP Segmentation Offload (TSO) in ixl(4). o The Synopsys Ethernet Quality-of-Service Controller (dwqe(4)) is enabled for amd64. o Added initial support for Elkhart Lake Ethernet to dwqe(4). o Support for AX88179A in axen(4). o Intel I225 and I226 Ethernet Controller igc(4) enabled for sparc64. o Allwinner EMAC Ethernet Controller dwxe(4) enabled for riscv64. o Corrected wrong register offset macros for dwqe(4) DMA burst length. o Fixed Tx watchdog trigger and freeze in dwqe(4). o Updated rge(4) microcode, initialization and reset behavior. o Prevented a potential bnxt(4) crash after failure to bring up a queue.

- Added or improved wireless network drivers: o Introduce qwx(4), a port of the Linux ath11k driver for QCNFA765 devices. Available on the amd64 and arm64 platforms. o Fix Tx rate selection for management frames in iwx(4). o Fix iwx(4) loading the wrong firmware image on some devices. o Make bwfm(4) work with MAC addresses set via ifconfig lladdr. o Ensure that iwm(4) uses the 80MHz primary channel index announced in beacons. o Avoid using MCS-9 in iwm(4) Tx rate selection if 40 MHz is disabled to prevent firmware errors. o Ensure that iwm(4) and iwx(4) devices announce VHT capabilities in probe requests. o Fix bug in iwm(4), iwx(4), and iwn(4) which could result in some channels missing from scan results. o Enable iwm(4) on the arm64 platform.

- IEEE 802.11 wireless stack improvements and bugfixes: o Ignore 40/80 MHz wide channel configurations which do not appear in the 802.11ac spec. This prevents device firmware errors which occurred when an access point announced an invalid channel configuration.

- Installer, upgrade and bootloader improvements: o Add support for disk encryption in unattended installations with autoinstall(8), both with a plaintext passphrase or a keydisk. o Removed default sets answer in autoinstall(8) response file such that it now populates only with non-defaults. o Made fw_update(8) verify but not overwrite SHA256.sig. o Improved fw_update(8) output on errors and improved ftp error handling. o Added support in the installer to encrypt the root disk with a key disk. o Prevent re-starting the automatic upgrade on octeon and powerpc64, as is already done on other platforms. o Added CD install images to arm64. o Make the amd64 cdXX.iso and installXX.iso CD images bootable in EFI mode (by creating an EFI system partition containing the EFI boot loaders to be installed as an El Torito boot image).

- Security improvements: o Introduce pinsyscalls(2): The kernel and register the precise entry location of every system call used by a program, as described in the new ELF section .openbsd.syscalls inside and uses the new syscall pinsyscalls(2) to tell the kernel the precise entry location of system calls in Attempting to use a different system call entry instruction to perform a non-corresponding system call operation will fail and the process will be terminated with signal SIGABRT. o Removed support for syscall(2), the "indirection system call," a dangerous alternative entry point for all system calls. Together with pinsyscalls(2) this change makes it impossible to perform system call through any other way than the libc system call wrapper functions. Users of syscall(2), such as Perl and the Go programming language were converted to use the libc functions. o Added pledge(2) stdio before parsing pfkey messages to ipsecctl(8) -m and -s. o Tightened the pledge(2) in pax(1) in List and Append modes. o Created __OpenBSD versions of llvm cxa guard implementation using futex(2) with the correct number of arguments and without using syscall(2). o Improvements in Pointer Authentication (PAC) and Branch Target Identification (BTI) on arm64.

- Changes in the network stack: o Enable IPv6 support in ppp(4) o Socket with sequenced packet type and control messages handle end of record correctly. o The routing table has a generation number. That means cached routes at sockets will be invalidated when the routing table changes. Especially with dynamic routing daemons local connections use the up to date route. o Route cache hits an misses are printed in netstat(1) statistics. o Prevented wg(4) getting stuck on peer destruction. o Made umb(4) delete any existing v4 address before setting a new one, allowing keeping of a working default route when the address changes. o Forwarded TCP LRO disabling to parent devices and disabled TCP LR0 on bridged vlan(4) and default for bpe(4), nvgre(4) and vxlan(4). o Fixed race between ifconfig(8) destroy of an interface and the ARP timer. o Added statistics counters for the route cache, reporting cache hits and misses. This is shown in netstat(1) with netstat -s.

- The following changes were made to the pf(4) firewall: o tcpdump on pflog(4) interface shows packets dropped by the default rule with the "block" action. Although the default rules is a "pass" rule, it blocks malformed packets. Now this is correctly logged. o Adjustments to keep up firewall aware of MP related changes in the network stack. o Fix handling of multiple -K(-k) options in pfctl(8), so behavior matches what's described in manual. o Make pfctl(8) show all tables in all anchors with pfctl -a "*" -sT. o Added check to ensure pfctl(8) -f won't accept a directory and install an empty ruleset. o Added validation for IPv4 packet options in divert(4).

- Routing daemons and other userland network improvements: o IPsec support was improved: - Made iked(8) always prefer group from the initial KE payload as responder if supported. - Corrected renewal of expired certificates in iked(8). - Added an iked(8) debug message when no policy is found. - Implemented a per connection peerid for iked(8) control replies. - Made iked(8) trigger retransmission only for fragment 1/x to prevent each received fragment triggering retransmission of the full fragment queue. - Prevent routing loops by dropping already encrypted packets that are going through sec(4) again. o In bgpd(8), - Rewrite the internal message passing mechanism to use a new memory-safe API. - Rewrite most protocol parsers to use the new memory-safe API. Convert the UPDATE parser, all of RTR, as well as both the MRT dump code in bgpd and the parser in bgpctl. - Improve RTR logging, error handling and version negotiation. o rpki-client(8) saw these and more changes: - Add ability to constrain an RPKI Trust Anchor's effective signing authority to a limited set of Internet numbers. This allows Relying Parties to enjoy the potential benefits of assuming trust, but within a bounded scope. - Following a 'failed fetch' (described in RFC 9286), emit a warning and continue with a previously cached Manifest file. - Emit a warning when the remote repository presents a Manifest with an unexpected manifestNumber. - Improved CRL extension checking. - Experimental support for the P-256 signature algorithm. - A failed manifest fetch could result in a NULL pointer dereference or a use after free. - Reject non-conforming RRDP delta elements that contain neither publish nor a withdraw element and fall back to the RRDP snapshot. - Refactoring and minor bug fixes in the warning display functions. - The handling of manifests fetched via rsync or RRDP was reworked to fully conform to RFC 9286. - Fix a race condition between closing an idle connection and scheduling a new request on it. - The evaluation time specified with -P now also applies to trust anchor certificates. - Check that the entire CMS eContent was consumed. Previously, trailing data would be silently discarded on deserialization of products. - In file mode do not consider overclaiming intermediate CA certificates as invalid. OAA warning is still issued. - Print the revocation time of certificates in file mode. - Be more careful when converting OpenSSL numeric identifiers (NIDs) to strings. - Added support for RPKI Signed Prefix Lists. - Added an -x flag to opt into parsing and evaluation of file types that are still considered experimental. - Added a metric to track the number of new files that were moved to the validated cache. - Ensure that the FileAndHashes list in a Manifest contains no duplicate file names and no duplicate hashes. o In smtpd(8), - Add Message-Id as needed for messages received on the submission port. - Added support for RFC 7505 "Null MX" handling and treat an MX of "localhost" as it were a "Null MX". - Allow inline tables and filter listings in smtpd.conf(5) to span over multiple lines. - Enabled DSN for the implicit socket too. - Added the no-dsn option for listen on socket too. - Reject headers that start with a space or a tab. - Fixed parsing of the ORCPT parameter. - Fixed table lookups of IPv6 addresses. - Fixed handling of escape characters in To, From and Cc headers. - Run LMTP deliveries as the recipient user again. - Disallow custom commands and file reading in root's .forward file. - Do not process other users .forward files when an alternate delivery user is provided in a dispatcher. - Unify the table(5) parser used in smtpd(8) and makemap(8).

anonymous (*) (2024-04-05 07:07:55)

[1 сообщение] [Добавить комментарий]

Вышла OpenBSD 7.4


OpenBSD 7.4 вышла, можно обновляться.

>>> Подробнее

anonymous (*) (2023-10-16 17:29:35)

[2 сообщения] [Добавить комментарий]

написание модуля для iptables на C


Как-то LinuxJournal опубликовал небольшую статью Victor Castro по написанию собственного фаервола на основе Netfilter – Это, безусловно, ценная и полезная статья, но что можно сделать с приведённым примером? Вы решили писать собственный фаервол? Прекрасно, значит моя статья не для вас. А я хотел бы помочь тем, кто желает лишь дополнить функциональность имеющегося в Linux фаервола iptables. Тем, кто хочет написать собственные дополнения для него, если уже имеющаяся функциональность модулей iptables по какой-либо причине не устраивает. Для примера я подробно рассмотрю процесс написания модуля для ipv4, который будет реагировать на поле ID в заголовке IP-пакета. Модуль будет носить исключительно демонстрационный характер и будет реагировать тогда, когда последняя цифра в ID пакета будет соответствовать заданному параметру. Попросту говоря, мы возьмём остаток от деления ID нацело на 10 и если он будет равен параметру, модуль посчитает, что пакет соответствует критерию.

далее по ссылке

>>> Подробнее

vilfred (*) (2016-02-07 07:31:37)

[3 сообщения] [Добавить комментарий]

FreeBSD Foundation получила пожертвование и объяснительное письмо.



"На прошлой неделе я пожертвовал один миллион долларов Фонду FreeBSD, который поддерживает операционную систему с открытым исходным кодом. Эта ОС помогает миллионам программистов следовать за своей мечтой и воплощать свои идеи в реальность. Фактически, я один из тех людей. Я начал использовать FreeBSD в конце 90–х, когда был почти без денег и жил в хрущёвке. FreeBSD, в каком–то смысле, вытянула меня из бедности – помогла получить работу в "Yahoo!", что было значимо для меня.

Они в "Yahoo!" использовали FreeBSD — операционную систему, которую я предпочитал и которую сам для себя выбрал.

Годы спустя, когда Брайан и я решили создать WhatsApp, мы использовали FreeBSD для управления серверами. Да, мы до сих пор так и продолжаем делать, работаем на FreeBSD.

Я объявил об этом пожертвовании, чтобы пролить свет на положение дел и заявить о хорошей работе, проделанной Фондом FreeBSD, и с надеждой, что и другие люди поддержат этот проект.

Мы все извлечем пользу, если FreeBSD продолжит давать людям ту же самую возможность, которую дало мне – если она поможет вытащить подростков из бедности, поможет бОльшему количеству начинаний прийти к успеху и, есть шанс, что даже изменит что–то в человеке.

— Ян Кум

>>> Подробнее

anonymous (*) (2014-11-20 16:53:03)

[8 сообщений] [Добавить комментарий]

Для BSD-систем подготовлены аналоги компонентов systemd, востребованных в GNOME


Кто собирался спасаться от systemd на BSD-системах? Есть новости для вас..

Олаф Виттерс (Olav Vitters), входящий в группу подготовки релизов GNOME, рассказал о планах по задействованию средств systemd в будущих выпусках GNOME. Изначальный план задействования systemd (logind) для управления пользовательскими сеансами в GNOME отложен, в выпуске 3.14 по-прежнему будет применяться ConsoleKit. Переход на использование сервисов systemd перенесён на будущее, что не отменяет вопросы обеспечения дальнейшей совместимости с системами BSD. Для того чтобы избежать проблем с переносимостью развивается несколько проектов.

Для OpenBSD в рамках программы Google Summer of Code 2014 развивается проект systembsd, нацеленный на подготовку набора компонентов, функционально эквивалентных демонам hostnamed, localed, timedated и logind из состава systemd, полностью совместимых с ними на уровне API и эмулирующими поведение соответствующих служб systemd. Компоненты из состава systembsd могут выступать в качестве прозрачной замены механизмов systemd, на которые будут опираться будущие выпуски GNOME. При этом systembsd не зависит от systemd и может применяться для обеспечения работы GNOME и других завязанных на systemd проектов в программных окружениях без systemd.

Компоненты systembsd запускаются динамически, в ответ на поступление связанных с ними запросов через шину DBus, не расходуя системные ресурсы в остальное время. В настоящее время уже опубликован первый выпуск systembsd, который находится в процессе добавления в экспериментальное дерево портов OpenBSD. В настоящее время доведён до полной готовности только сервис hostnamed, работа над полноценными реализациями localed, timedated и logind пока не завершена.

В качестве другого варианта использования GNOME на системах без поддержки systemd-logind отмечается предоставление возможности создания специализированных прослоек, которые можно будет использовать для замены сервисов systemd или для реализации альтернативных данным сервисам механизмов. Силами GNOME будет подготовлен переносимый слой API, в общем виде напоминающий API systemd-logind, но не привязанный к особенностям systemd. Создание подключаемых через данный API конечных альтернативных реализаций ложится на плечи разработчиков сторонних систем. Так как переносимый слой API не готов для включения в GNOME 3.14, переход GNOME на systemd-logind решено отложить до одного из следующих выпусков.

>>> Подробнее

Bod (*) (2014-09-08 18:35:09)

[1 сообщение] [Добавить комментарий]

Румынский биткоин-миллионер оплатил долги OpenBSD


Многие забывают, что людей, способных эффективно вести OpenSource-разработку такого сложного проекта, как операционная система, да еще и с уклоном в безопасность и «непробиваемость», гораздо меньше, чем тех, у кого есть свободные 20 тысяч баксов. Несколько дней назад в СМИ сообщалось, что свободному проекту OpenBSD катастрофически не хватает средств на существование. Дошло даже до того, что нет денег на оплату электричества. Всё железо, на котором собирается и тестируется операционная система OpenBSD, установлено в доме ведущего программиста Тео де Раадта и его невозможно перевезти в другое место. В Канаде электричество стоит как в Москве: приходится платить почти $2000 в месяц. Есть и другие статьи расходов, при этом OpenBSD существует исключительно за счёт частных пожертвований.

Ссылку на новость о нехватке средств OpenBSD кто-то опубликовал в IRC-канале #bitcoin-assets — и уже через несколько часов проект OpenBSD нашёл спонсора.

Оплатить долги проекта OpenBSD в размере $20k согласился румынский предприниматель Мирча Попеску, которого называют «биткоин-миллиардером». Хотя вряд ли у него есть биткоинов на миллиард долларов, но хотя бы $20k имеется, и этого уже достаточно.

[путь к изображению некорректен]

В ближайшее время Мирча свяжется с Тео де Раадтом и они, наверное, согласуют условия спонсорства.

Многие рассуждают, что от системы Bitcoin нет никакой пользы — только бестолковая трата электричества в мировом масштабе. Но нельзя отрицать и наличие преимущества: маленькая часть мировых финансов перешла в руки хакеров и инженеров-программистов, которые используют эти деньги так, как их никогда не потратит миллиардер с Уолл-Стрит, то есть правильным образом.

>>> Подробнее

Bod (*) (2014-01-20 19:12:14)

[4 сообщения] [Добавить комментарий]

Релиз операционной системы OpenBSD 5.4


Доступен релиз операционной системы OpenBSD 5.4, тридцать пятый выпуск за девятнадцатилетнюю историю существования проекта.

При развитии OpenBSD основное внимание уделяется переносимости (поддерживается 21 аппаратная платформа), стандартизации, корректной работе, активной безопасности и интегрированным криптографическим средствам. Размер полного установочного ISO-образа базовой системы составляет 216 Мбайт (для платформы i386).

Кроме непосредственно операционной системы, проект OpenBSD известен своими компонентами, которые получили распространение в других системах и зарекомендовали себя как одни из наиболее безопасных и качественных решений. Среди них: OpenSSH, пакетный фильтр PF, демоны маршрутизации OpenBGPD и OpenOSPFD, NTP-сервер OpenNTPD, почтовый сервер OpenSMTPD, мультиплексор текстового терминала (аналог GNU screen) tmux, демон identd с реализацией протокола IDENT, BSDL-альтернатива пакету GNU groff - mandoc, протокол для организации отказоустойчивых систем CARP (Common Address Redundancy Protocol).

Из улучшений, добавленных в OpenBSD 5.4, можно отметить:

Кучу всего, но я задолбался с этой гребаной разметкой, кому интересно сходите по линку на опеннет...

Послушать песню, приуроченную к выходу нового релиза, можно здесь.

цельнотянуто с

>>> Подробнее

Dr.uid (*) (2013-11-03 16:59:08)

[7 сообщений] [Добавить комментарий]

Релиз FreeBSD 9.1


После года разработки официально анонсирован релиз FreeBSD 9.1. Установочные сборки, способные работать в Live-режиме, доступны в вариантах Bootonly, DVD, CD и Memstick для платформ amd64, i386, powerpc64 и ia64. Поддержка выпуска обновлений для версии FreeBSD 9.1 продлится до января 2015 года, поддержка выпуска FreeBSD 9.0 будет прекращена 31 марта 2013 года. Поддержка ветки FreeBSD 7 истекает 28 февраля 2013 года, ветки FreeBSD 8 и 9 будут поддерживаться два года с момента последнего релиза.

Из ключевых новшеств FreeBSD 9.1 можно отметить: фреймворк netmap для высокоскоростной обработки пакетов; подсистема CAM Target Layer; новый драйвер для графических чипов Intel c поддержкой GEM/KMS; обновление реализации файловой системы ZFS; альтернативный стек C++11 на базе развиваемых проектом LLVM библиотек libc++ и libcxxrt; поддержка монтирования из Jail-окружения файловых систем ZFS, devfs и nullfs; поддержка xlocale API в системной библиотеке; расширение средств для работы с таблицами в ipfw; добавление паравиртуализированного сетевого драйвера netback для Xen; переработанный GEOM-класс multipath; включение по умолчанию GEOM-класса raid в качестве реализации программного RAID вместо ataraid; поддержка в ядре инструкций AVX; интеграция наработок по увеличению производительности IPv6-стека.

Основные новшества:


  1.   Проведена оптимизация работы планировщика задач sched_ule для более эффективной балансировки на процессорах, поддерживающих технологию одновременной многопоточности (SMT, Simultaneous MultiThreading), например, Intel Core i7. В ситуации, когда число число нитей меньше числа логических CPU внесённые изменения позволили добиться повышения производительности на 10-15%. Позитивный эффект от изменений в планировщике также наблюдается и для систем на базе процессоров без поддержки SMT;
  2.   В libthr, реализации pthread-библиотеки для создания многопоточных приложений, переработан механизм работы с блокировками, что позволило добиться заметного повышения производительности. В некоторых ситуациях, производительность многопоточных приложений возросла до 10 раз;
  3.   В утилиту boot0cfg добавлена возможность инициирования через boot0 загрузки по умолчанию с использованием PXE. Для активации PXE-загрузки следует использовать в качестве аргумента опции "-s" номер слайса 6 или ключевое слово PXE;
  4.   Произведена интеграция наработок проекта по созданию для FreeBSD полноценного С++ стека, целиком распространяемого под лицензией BSD и независящего от кода проекта GNU. В состав включены библиотеки libc++ (реализация элементов, определённых в стандарте C++11) и libcxxrt (реализация спецификации C++ ABI), развиваемые проектом LLVM и компанией PathScale в качестве альтернативы используемой в GCC библиотеке GNU libsupc++. Использование Clang 3.1 совместно с данными библиотеками демонстрирует полное прохождение тестов на совместимость со стандартом C++11 (в ветку FreeBSD-HEAD на днях интегрирован clang 3.2). Библиотека libc++ обеспечивает минимальное потребление памяти, высокую скорость выполнения функций, быструю компиляцию и совместимость на уровне ABI с libstdc++ из состава GCC для некоторых низкоуровневых возможностей, таких как объекты-исключения (exception objects), rtti и распределение памяти. По умолчанию библиотеки пока не используются, так как библиотека libc++ не совместима с поставляемым в базовой системе gcc и может работать только с clang. Переход на новый C++ стек будет осуществлён в ветке FreeBSD 10, одновременно с задействованием по умолчанию Clang;
  5.   В системной библиотеке обеспечена поддержка xlocale API, позволяющий устанавливать свою локаль для отдельных потоков. Код был поритирован из проекта Apple Darwin и позволил задействовать библиотеку libc++ от проекта LLVM, которая изначально была создана для Darwin и поэтому завязана на расширенные функции для работы с локалью (xlocale);
  6.   В run-time линкер rtld добавлена используемых в GCC GNU-расширений RELRO (RElocation Read-Only, позволяет предотвратить перезапись глобальной таблицы смещений GOT ) и DT_GNU_HASH (расширенная хэш-секция для замены опциональной хэш-секции ELF);
Дисковая подсистема, ввод/вывод, системы хранения и файловые системы
  1.   В состав включена подсистема CAM Target Layer (CTL), обеспечивающая эмуляцию дисковых и процессорных устройств. Кроме того, CTL можно использовать как тестовый фреймворк для CAM (Common Access Method): реализовав в CAM новую возможность, можно сразу протестировать её в CTL. При этом легко сэмулировать нетипичное поведение устройств и различные аппаратные ошибки, которые в штатном режиме невозможно повторить на реальном устройстве. Например, CTL позволяет реализовать возможность использования системы на базе FreeBSD и карты Fibre Channel в качестве внешнего RAID-массива, target-интерфейс которого будет реализован через CTL. Для тестирования драйвера новой карты Fibre Channel можно создать LUN и использовать CTL без реального оборудования, привязав драйвер "da" к CTL LUN и выполняя с ним любые операции ввода/вывода. Для управления работой CTL представлена новая утилита ctladm;
  2.   В подсистему CAM (Common Access Method), предоставляющую унифицированный модульный интерфейс для разработки драйверов для SCSI и ATA/SATA устройств, добавлена поддержка устройств SEMB (SATA Enclosure Management Bridge), которые являются SATA-эквивалентом SCSI-устройств SES/SAF-TE;
  3.   Добавлена новая реализация GEOM-класса Multipath, позволяющего организовать доступ к хранилищу, подключенному через несколько каналов ввода/вывода. В новой реализации устранены многие проблемы и добавлены дополнительные возможности. В дополнение к ранее доступному режиму Active/Passive добавлен режим Active/Active, который распределяет нагрузку по всем рабочим каналам, а также гибридный режим Active/Read позволяющий организовать только балансировку на чтение. Улучшена реализация автоматического режима конфигурации Multipath. Добавлен ручной режим настройки, при котором каналы можно удалять и добавлять через команды remove и add. Изменён подход к работе с каналами после сбоя, теперь они не удаляются из GEOM, а лишь помечаются сбойными (для управления сбойными каналами добавлены команды "fail" и "restore"). Для настройки работы Multipath представлена утилита gmultipath;
  4.   В geom-класс MIRROR добавлена поддержка операции BIO_DELETE, что позволяет использовать команду TRIM в процессе удаления данных с SSD-накопителей для повышения срока их службы;
  5.   Добавлен новый geom-класс UNCOMPRESS и связанная с ним утилита mkulzma. Указанный класс поддерживает работу с образами, сжатыми методом LZMA по аналогии с geom-классом UZIP;
  6.   Внесена серия улучшений и исправлений в реализацию сетевой файловой системы NFS. На стороне клиента добавлена поддержка установки таймаута для элементов кэша запрошенных имён (таймаут устанавливается через опцию монтирования nametimeo и по умолчанию равен 60 сек.). Устранена утечка памяти при экспорте ZFS разделов по NFS. Для NFSv4 добавлена sysctl-переменная vfs.nfsd.disable_checkutf8 для отключения проверки имён файлов на соответствие UTF-8 (указанная опция позволяет использовать в именах дополнительные символы, допустимые в других реализациях NFS, но при этом нарушается совместимость с RFC 3530);
  7.   С файловой системы tmpfs снят признак экспериментальной разработки. Добавлена sysctl-переменная vfs.tmpfs.memory_reserved для указания свободных страниц виртуальной памяти (ОЗУ и свопа) при которых допустимо увеличение размера tmpfs-раздела, если свободной памяти меньше определённого лимита, то создание новых узлов tmpfs будет приостановлено;
  8.   Портирование из проекта Illumos, в рамках которого продолжается развитие операционной системы OpenSolaris, свежих патчей для файловой системы ZFS. Добавлены новые свойства "clones" и "written" для определения списка клонов ФС и объёма записанных в снапшот данных (например, "zfs list -t all -o name,origin,clones" и "zfs list -t all -o name,used,written"). При выполнении команды "zfs send" теперь выводится ожидаемый размер потока, а для команды "zfs destroy" - ожидаемое место на диске, которое можно будет задействовать при использовании флага "-n"; В команду "zfs get" добавлена поддержка флага "-t" для определения типа данных;
Сетевая подсистема
  1.   Добавлен фреймворк netmap для высокоскоростной обработки пакетов. При использовании netmap на перемещение одного пакета между каналом связи и пользовательским приложением тратится примерно 70 циклов, что позволяет одним ядром CPU с частотой 1050 MHz генерировать поток в 14.8 Mpps (миллионов пакетов в секунду), которого достаточно для анализа трафика на 10-гигабитном сетевом интерфейсе. В относительных показателях производительность netmap в 5-10 раз выше стандартного сетевого драйвера. В настоящее время поддерживаются 1- и 10-гигабитные сетевые адаптеры Intel и 1-гигабитные карты RealTek ( em, lem, igb и re). Взаимодействие с пользовательскими приложениями производится через стандартный API и не требует подключения специальных библиотек, переработки кода и пересборки приложений. Для работы существующих приложений поверх нового API подготовлена небольшая библиотека-враппер libpcap-over-netmap, позволяющая задействовать netmap в программах, уже поддерживающих libpcap;
  2.   В пакетном фильтре ipfw расширен синтаксис правил работы с таблицами (аргумент "table"), в которых теперь допускается указание IP-адресов, названий интерфейсов, номеров портов и идентификаторов jail-окружений. В таблицах теперь допускается указание IPv6-адресов и привязки элементов к сетевым интерфейсам, в том числе можно использовать маски сетевых интерфейсов. Например, для привязки таблицы к интерфейсу можно указать "ipfw table 10 add vlan20 12000" после чего использовать привязанную к интерфейсу таблицу "ipfw add 100 ipfw skipto tablearg ip from any to any recv 'table(10)' in".

    Обеспечена возможность изменения максимального числа таблиц на лету через sysctl net.inet.ip.fw.tables_max, который отныне доступен не только на чтение, но и на запись. Изменён метод разбора аргументов, например, в выражении 'ipfw table 999 add host' аргумент 'host' теперь будет восприниматься как имя интерфейса, а не имя хоста.

  3.   Проведена большая работа по увеличению производительности IPv6-стека. Если ранее основное внимание уделялось стабильности и корректности работы IPv6, то теперь внимание было уделено анализу эффективности IPv6-стека. Проведённая работа позволила выявить источники проблем, проявляющихся в понижении производительности при использовании IPv6 вместо IPv4. В процессе работы были внесены улучшения в реализацию системы блокировок для обработчиков UDP, оптимизирован поиск маршрутов в таблицах, добавлена реализация отложенного вычисления контрольных сумм, обеспечена поддержка TSO6 и LRO для IPv6, включено offload-ускорение проверки контрольных сумм для loopback-интерфейса, оптимизировано использование кэшей и внесены многочисленные мелкие доработки, которые в некоторых случаях затронули и IPv4 стек. В результате удалось добиться заметного повышения производительности IPv6 для физических и loopback-интерфейсов при использовании offload-акселерации. Увеличена производительность UDP и повышена скорость работы IPv6-стека в общем виде;
  4.   В реализацию множественных таблиц маршрутизации (Multi-FIB) добавлена поддержка IPv6. Для IPv4 поддержка Multi-FIB была добавлена ещё в 2008 году, сейчас данная возможность стала доступна и для IPv6. Используя Multi-FIB возможно определение правил, по которым к пакету будет применена одна из альтернативных таблиц маршрутизации, например, можно организовать "policy based" маршрутизацию с несколькими исходящими интерфейсами или привязать отдельную таблицу маршрутизации к Jail окружению. Кроме того, поддержка Multi-FIB может быть включена через опцию на этапе загрузки без необходимости пересборки ядра, что позволяет использовать Multi-FIB с ядром GENERIC. Сокеты маршрутизации (routing sockets) теперь принимают во внимание FIB-ы и показывают сообщения маршрутизации только адресованные к привязанному FIB, что позволяет программам управления маршрутизацией и демонам маршрутизации производить выборочные обновления определенного FIB;
  5.   В утилите dhclient обеспечена поддержка опции domain-search, позволяющей DHCP-серверу публиковать список частей доменных имён, прикрепляемых по умолчанию при операциях поиска по имени в DNS (действие опции search в /etc/resolv.conf);
  6.   В утилиту ifconfig добавлен параметр "vlanhwcsum" для установки или сброса функции акселерации вычисления контрольных сумм для VLAN. Кроме того, в ifconfig добавлен параметр "carp state" для принудительной установки статуса Carp-линка (backup или master);

Изолированные окружения, безопасность и ограничения ресурсов
  1.   В подсистему Jail добавлена поддержка монтирования файловых систем ZFS, devfs и nullfs из изолированного окружения (командой, выполненной внутри окружения). Для разрешения выполнения операций монтирования в Jail представлены параметры конфигурации allow.mount.devfs, allow.mount.nullfs и allow.mount.zfs, позволяющие разрешить или запретить монтирование для отдельных окружений (по умолчанию монтирование запрещено);
  2.   В утилиту jail добавлена поддержка файла конфигурации jail.conf, через который могут быть определены параметры нестандартных изолированных окружений;
Оборудование и аппаратные архитектуры
  1.   Расширены возможности драйвера для графических чипов Intel c поддержкой GEM/KMS на уровне ядра FreeBSD, позволяющего использовать свежие версии видеодрайверов xf86-video-intel в которых была удалена поддержка переключения видеорежимов на пользовательском уровне (UMS) и оставлена только поддержка KMS (Kernel Mode Setting) для переключения видеорежимов на уровне ядра. В новой версии drm2-драйвера добавлена поддержка графических подсистем чипов IronLake, SandyBridge и IvyBridge. В драйвере agp переписан код работы с i810 и добавлена поддержка северных мостов SandyBridge и IvyBridge;
  2.   Существенно обновлён звуковой драйвер HDA (snd_hda). Обеспечена поддержка вывода звука через порты HDMI и DisplayPort, добавлены новые средства управления громкостью, обеспечен автоматический выбор источника записи звука, реализована возможность переконфигурации на лету. Добавлена поддержка контроллеров с более чем четырьмя PCM-устройствами, обеспечена поддержка многоканальной записи. Увеличена информативность наименования имён устройств. Добавлено получение EDID-подобных данных от кодеков и видеодрайверов c информацией о звуковых возможностях устройства отображения. Реализована возможность установки специфичных для HDMI и DisplayPort опций кодеков, таких как число каналов, конфигурация громкоговорителей и маппинг каналов. Добавлена поддержка дополнительных многоканальных форматов: для HDMI и DisplayPort поддерживаются каналы 2.0, 2.1, 3.0, 3.1, 4.0, 4.1, 5.0, 5.1, 6.0, 6.1, 7.0 и 7.1. Добавлена поддержка проброса сжатых звуковых потоков с интенсивностью в диапазоне 6.144 - 24Mbps, таких как DTS-HD Master Audio или Dolby TrueHD;
  3.   Добавлен новый драйвер snd_hdspe для звуковых карт RME HDSPe AIO и RayDAT;
  4.   В драйвер hwpmc (Hardware Performance Monitoring Counter) добавлена поддержка микроархитектуры Intel Sandy Bridge;
  5.   Во FreeBSD/arm добавлена поддержка микроконтрорллеров Atmel SAM9XE, использующих процессорное ядро ARM926EJ-S;
  6.   Устранена порция проблем в драйвере xhci (USB 3.0), в том числе исправлена ошибка из-за которой не работали хабы USB 3.0;
      Обновлены драйверы для систем хранения:
    •   В драйвере для накопителей с интерфейсом USB по умолчанию разрешено использование энергосберегающих режимов;
    •   Драйвер arcmsr (Areca RAID) обновлён до версии;
    •   Добавлен драйвер hpt27xx для HighPoint RocketRAID 27xx SAS 6Gb/s HBA;
    •   Добавлен драйвер isci с поддержкой интегрированных контроллеров SAS на базе чипсета Intel C600 (Patsburg);
    •   В драйвер mfi (LSI MegaRAID SAS) добавлена поддержка карт Drake Skinny и Thunderbolt;
    •   Драйвер mps (LSI Fusion-MPT 2 Serial Attached SCSI) обновлён до версии в которой добавлена поддержка 6Gb SAS-контроллеров, SSD-накопителей WarpDrive и интегрированных RAID. В драйвере также улучшен код восстановления ошибок, добавлена поддержка EEDP (SCSI protection information) и TLR (Transport Level Retries);
  7.   Улучшение поддержки сетевых устройств:
      Обновлён драйвер xnb для использования в паравиртуализированных гостевых окружениях Xen. Новый драйвер привязан к фреймворку newbus и корректно работает как в режиме паравиртулизации (PVM), так и при полной виртуализации (HVM);
    •   Добавлен драйвер sfxge c поддержкой 10Gb Ethernet адаптеров на базе контроллеров Solarflare SFC9000;
    •   В драйвер ixgbe добавлена поддержка Intel X540;
    •   Добавлен драйвер oce с поддержкой адаптеров Emulex OneConnect 10Gbit Ethernet;
    •   Устранена ошибка в драйвере ae для контроллеров Attansic/Atheros FastEthernet, мешающая работе при некоторых условиях;
    •   Улучшены драйверы bge и brgphy для контроллеров Broadcom BCM57xx/BCM590x Gigabit/Fast Ethernet: устранена ошибка мешающая использованию DMA, добавлена поддержка работы с контроллерами PCI-X BCM 5704 подключенными к платам на чипах AMD-8131, добавлена поддержка BCM 5720, BCM 5720C PHY и BCM 57780 1000BASE-T, для управления MSI добавлена опция загрузчика dev.bge.N.msi;
    •   Для драйверов cxgbe и cxgb (Chelsio T3/T4 10 Gigabit Ethernet) прошивка обновлена до версии Добавлена поддержка настройки параметров устройств через текстовый файл конфигурации, задействованы аппаратные механизмы вычисления контрольных сумм для IPv6, IPv6 TSO и LRO, добавлена новая информационная sysctl-переменная dev.t4nex.N.misc;
    •   Драйвер igb (Intel PRO/1000 PCI Express Gigabit Ethernet) обновлён до версии 2.3.4 и теперь поддерживает устройства i210/i211;
    •   В драйвере mxge (Myricom Myri10GE 10 Gigabit Ethernet) до версии 1.4.55 обновлена прошивка от Myricom;
    •   В драйвер ral добавлена поддержка чипсетов Ralink RT2800 и RT3000;
    •   В драйвер re добавлена поддержка контроллера RTL8411 PCIe Gigabit Ethernet;
  1.   В компиляторе gcc исправлена ошибка, приводившая к некорректным вычислениям при сборке с флагом "-ffast-math";
  2.   Обновлены версии поставляемых в базовой системе сторонних проектов:
    •   LLVM и clang 3.1 (компилятор clang используется по умолчанию в ветке FreeBSD 10, во FreeBSD 9 он поставляется в качестве опции);
    •   ISC BIND 9.8.3-P4;
    •   Библиотеки compiler-rt обновлны до ревизии 147467, а libstdc++ до ревизии 135556 из ветки gcc-4_2, последней доступной под лицензией GPLv2;
    •   file 5.11;
    •   GNU gperf 3.0.3 (последняя версия под лицензией GPLv2);
    •   libarchive, bsdtar и cpio 2.8.5; l
    •   ibpcap 1.2.1;
    •   netcat 5.1;
    •   OpenSSL 0.9.8x;
    •   tcpdump 4.2.1;
    •   tcsh 6.18.01;
    •   zlib 1.2.7;
  3.   Порт с KDE (x11/kde4) обновлён с 4.7.3 до версии 4.8.5;

>>> Подробнее

Pl (*) (2012-12-30 23:56:30)

[0 сообщений] [Добавить комментарий]



Вышла NetBSD 6.0, вторая по популярности среди девайсов ОС, после Линукса.

Много чего улучшено, в частности порт на MIPS и 64-битный таймер.

Ну еще много улучшений.

>>> Подробнее

anonymous (*) (2012-10-18 21:44:50)

[11 сообщений] [Добавить комментарий]

Вышла FreeBSD 7.4


Сегодня вышла новая версия седьмой ветки операционной системы FreeBSD, также был официально анонсирован выход FreeBSD 8.2. Данная версия (FreeBSD 7.4-RELEASE) будет последней версией седьмой ветки, в дальнейшем планируется большее внимания уделить разработке восьмой и девятой.

Список изменений состоит, в основном, из багфиксов. Большинство из них было бэкпортировано из FreeBSD 8.2. Ознакомиться с полным списком изменений можно, перейдя по ссылке:

>>> Подробнее

CKPbIT_HUK (*) (2011-02-25 00:37:27)

[0 сообщений] [Добавить комментарий]

1 2   

(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!