git: 61907dad5d - main - update translation of books/arch-handbook to Russian Reviewed by: andy Differential Revision: https://reviews.freebsd.org/D53717

Vladlen Popolitov <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
The branch main has been updated by vladlen:

URL: https://cgit.FreeBSD.org/doc/commit/?id=61907dad5dce51a7bd40f8fca0108636fb71707d

commit 61907dad5dce51a7bd40f8fca0108636fb71707d
Author:     Vladlen Popolitov <[email protected]>
AuthorDate: 2025-11-18 18:22:13 +0000
Commit:     Vladlen Popolitov <[email protected]>
CommitDate: 2025-11-18 18:22:13 +0000

    update translation of books/arch-handbook to Russian
    Reviewed by: andy
    Differential Revision: https://reviews.freebsd.org/D53717
---
 .../content/ru/books/arch-handbook/_index.adoc     |   2 +-
 .../content/ru/books/arch-handbook/_index.po       |  16 +-
 .../content/ru/books/arch-handbook/book.adoc       |   2 +-
 .../content/ru/books/arch-handbook/book.po         |  12 +-
 .../ru/books/arch-handbook/boot/_index.adoc        |  12 +-
 .../content/ru/books/arch-handbook/boot/_index.po  | 516 ++++++++++-----------
 .../books/arch-handbook/driverbasics/_index.adoc   |   4 +-
 .../ru/books/arch-handbook/driverbasics/_index.po  |   6 +-
 .../content/ru/books/arch-handbook/isa/_index.adoc |   6 +-
 .../content/ru/books/arch-handbook/isa/_index.po   |   8 +-
 .../content/ru/books/arch-handbook/jail/_index.po  | 115 +++--
 .../content/ru/books/arch-handbook/mac/_index.adoc |   6 +-
 .../content/ru/books/arch-handbook/mac/_index.po   |  12 +-
 .../ru/books/arch-handbook/scsi/_index.adoc        |   8 +-
 .../content/ru/books/arch-handbook/scsi/_index.po  |  10 +-
 .../content/ru/books/arch-handbook/smp/_index.adoc |   2 +-
 .../content/ru/books/arch-handbook/smp/_index.po   |   6 +-
 .../ru/books/arch-handbook/sound/_index.adoc       |  20 +-
 .../content/ru/books/arch-handbook/sound/_index.po | 110 +++--
 .../content/ru/books/arch-handbook/usb/_index.adoc |   2 +-
 .../content/ru/books/arch-handbook/usb/_index.po   |  81 ++--
 21 files changed, 462 insertions(+), 494 deletions(-)

diff --git a/documentation/content/ru/books/arch-handbook/_index.adoc b/documentation/content/ru/books/arch-handbook/_index.adoc
index b615f17b1a..9a6e3ea45f 100644
--- a/documentation/content/ru/books/arch-handbook/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/_index.adoc
@@ -52,6 +52,6 @@ endif::[]
 
 Добро пожаловать в Руководство по архитектуре FreeBSD. Это руководство находится _в стадии разработки_ и создаётся усилиями многих участников. Многие разделы пока не написаны, а существующие могут требовать обновления. Если вы хотите помочь в работе над этим проектом, напишите на электронную почту списка рассылки {freebsd-doc}.
 
-Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:{handbook}mirrors/[mirror sites, mirrors].
+Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:{handbook}mirrors[mirror sites, mirrors].
 
 '''
diff --git a/documentation/content/ru/books/arch-handbook/_index.po b/documentation/content/ru/books/arch-handbook/_index.po
index c3bf8aae62..4e60b24fe0 100644
--- a/documentation/content/ru/books/arch-handbook/_index.po
+++ b/documentation/content/ru/books/arch-handbook/_index.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-05-01 19:56-0300\n"
-"PO-Revision-Date: 2025-08-16 04:45+0000\n"
+"POT-Creation-Date: 2025-11-08 16:17+0000\n"
+"PO-Revision-Date: 2025-11-11 04:45+0000\n"
 "Last-Translator: Vladlen Popolitov <[email protected]>\n"
 "Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
 "documentation/booksarch-handbook_index/ru/>\n"
@@ -22,9 +22,7 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/_index.adoc:1
 #, no-wrap
 msgid "For FreeBSD system developers. This book covers the architectural details of many important FreeBSD kernel subsystems"
-msgstr ""
-"Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные "
-"особенности многих важных подсистем ядра FreeBSD"
+msgstr "Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные особенности многих важных подсистем ядра FreeBSD"
 
 #. type: Title =
 #: documentation/content/en/books/arch-handbook/_index.adoc:1
@@ -55,17 +53,17 @@ msgstr ""
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/_index.adoc:55
 msgid ""
-"The latest version of this document is always available from the "
-"link:https://www.FreeBSD.org/[FreeBSD World Wide Web server]. It may also be "
+"The latest version of this document is always available from the link:"
+"https://www.FreeBSD.org/[FreeBSD World Wide Web server]. It may also be "
 "downloaded in a variety of formats and compression options from the https://"
 "download.freebsd.org/doc/[FreeBSD download server] or one of the numerous "
-"extref:{handbook}[mirror sites, mirrors]."
+"extref:{handbook}mirrors[mirror sites, mirrors]."
 msgstr ""
 "Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/"
 "[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных "
 "форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/["
 "сервера загрузок FreeBSD] или одного из многочисленных зеркал "
-"extref:{handbook}mirrors/[mirror sites, mirrors]."
+"extref:{handbook}mirrors[mirror sites, mirrors]."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/_index.adoc:56
diff --git a/documentation/content/ru/books/arch-handbook/book.adoc b/documentation/content/ru/books/arch-handbook/book.adoc
index 4aea684095..6b2eb0a47c 100644
--- a/documentation/content/ru/books/arch-handbook/book.adoc
+++ b/documentation/content/ru/books/arch-handbook/book.adoc
@@ -50,7 +50,7 @@ endif::[]
 
 Добро пожаловать в Руководство по архитектуре FreeBSD. Это руководство находится _в стадии разработки_ и создаётся усилиями многих участников. Многие разделы пока не написаны, а существующие могут требовать обновления. Если вы хотите помочь в работе над этим проектом, напишите на электронную почту списка рассылки {freebsd-doc}.
 
-Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:{handbook}mirrors/[mirror sites, mirrors].
+Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:{handbook}mirrors[mirror sites, mirrors].
 
 '''
 
diff --git a/documentation/content/ru/books/arch-handbook/book.po b/documentation/content/ru/books/arch-handbook/book.po
index 067584be72..605ee60cd1 100644
--- a/documentation/content/ru/books/arch-handbook/book.po
+++ b/documentation/content/ru/books/arch-handbook/book.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2022-07-07 23:22-0300\n"
-"PO-Revision-Date: 2025-08-16 04:45+0000\n"
+"POT-Creation-Date: 2025-11-08 16:17+0000\n"
+"PO-Revision-Date: 2025-11-11 04:45+0000\n"
 "Last-Translator: Vladlen Popolitov <[email protected]>\n"
 "Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
 "documentation/booksarch-handbookbook/ru/>\n"
@@ -22,9 +22,7 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/book.adoc:1
 #, no-wrap
 msgid "For FreeBSD system developers. This book covers the architectural details of many important FreeBSD kernel subsystems"
-msgstr ""
-"Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные "
-"особенности многих важных подсистем ядра FreeBSD"
+msgstr "Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные особенности многих важных подсистем ядра FreeBSD"
 
 #. type: Title =
 #: documentation/content/en/books/arch-handbook/book.adoc:1
@@ -59,13 +57,13 @@ msgid ""
 "https://www.FreeBSD.org/[FreeBSD World Wide Web server]. It may also be "
 "downloaded in a variety of formats and compression options from the https://"
 "download.freebsd.org/doc/[FreeBSD download server] or one of the numerous "
-"extref:{handbook}[mirror sites, mirrors]."
+"extref:{handbook}mirrors[mirror sites, mirrors]."
 msgstr ""
 "Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/"
 "[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных "
 "форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/["
 "сервера загрузок FreeBSD] или одного из многочисленных зеркал "
-"extref:{handbook}mirrors/[mirror sites, mirrors]."
+"extref:{handbook}mirrors[mirror sites, mirrors]."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/book.adoc:55
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.adoc b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
index f5a67dedba..43dacd74c7 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
@@ -189,7 +189,7 @@ start:
 ....
 
 .[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-entrypoint]]
-Этот первый блок кода является точкой входа программы. Именно сюда BIOS передаёт управление. Сначала он гарантирует, что строковые операции автоматически увеличивают указатели операндов (инструкция `cld`) footnote:[В случае сомнений мы отсылаем читателя к официальным руководствам Intel, где описана точная семантика каждой инструкции: .]. Затем, не делая предположений о состоянии сегментных регистров, он их инициализирует. Наконец, он устанавл
 ивает регистр указателя стека (`%sp`) в ($LOAD = адрес `0x7c00`), чтобы обеспечить работоспособный стек.
+Этот первый блок кода является точкой входа программы. Именно сюда BIOS передаёт управление. Сначала он гарантирует, что строковые операции автоматически увеличивают указатели операндов (инструкция `cld`) footnote:[В случае сомнений мы отсылаем читателя к официальным руководствам Intel, где описана точная семантика каждой инструкции.]. Затем, не делая предположений о состоянии сегментных регистров, он их инициализирует. Наконец, он устанавли
 вает регистр указателя стека (`%sp`) в ($LOAD = адрес `0x7c00`), чтобы обеспечить работоспособный стек.
 
 Следующий блок отвечает за перемещение и последующий переход к перемещенному коду.
 
@@ -368,7 +368,7 @@ read_key:
 * BIOS выполнил первоначальную инициализацию оборудования, включая POST. MBR ([.filename]#boot0#) был загружен по адресу `0x7c00` из абсолютного сектора один с диска. Управление выполнением было передано по этому адресу.
 * [.filename]#boot0# переместил себя по адресу, по которому он был скомпонован для выполнения (`0x600`), после чего выполнил переход для продолжения выполнения в соответствующем месте. В завершение, [.filename]#boot0# загрузил первый сектор диска из раздела FreeBSD по адресу `0x7c00`. Управление выполнением было передано по этому адресу.
 
-[.filename]#boot1# — это следующий шаг в последовательности загрузки. Это первая из трех стадий загрузки. Обратите внимание, что до сих пор мы работали исключительно с секторами диска. Действительно, BIOS загружает самый первый сектор, а [.filename]#boot0# загружает первый сектор раздела FreeBSD. Обе загрузки происходят по адресу `0x7c00`. Мы можем концептуально представлять эти секторы диска как содержащие файлы [.filename]#boot0# и [.filename]#boot1#, соответственно, но на 
 самом деле это не совсем верно для [.filename]#boot1#. Строго говоря, в отличие от [.filename]#boot0#, [.filename]#boot1# не являет
ся частью загрузочных блоков footnote:[Файл /boot/boot1 существует, но он не записывается в начало раздела FreeBSD. Вместо этого он объединяется с boot2, формируя файл boot, который записывается в начало раздела FreeBSD и считывается во время загрузки.]. Вместо этого, единый полноценный файл [.filename]#boot# ([.filename]#/boot/boot#) в итоге записывается на диск. Этот файл представляет собой комбинацию [.filename]#boot1#, [.filename]#boot2# и `Boot Extender` (или BTX). Этот единый файл превышает размеÑ
 € одного сектора (больше 512 байт). К счастью, [.filename]#boot1# занимает _ровно_ первые 512 байт этого файла, поэтомÑ
ƒ, когда [.filename]#boot0# загружает первый сектор раздела FreeBSD (512 байт), он фактически загружает [.filename]#boot1# и передает ему управление.
+[.filename]#boot1# — это следующий шаг в последовательности загрузки. Это первая из трех стадий загрузки. Обратите внимание, что до сих пор мы работали исключительно с секторами диска. Действительно, BIOS загружает самый первый сектор, а [.filename]#boot0# загружает первый сектор раздела FreeBSD. Обе загрузки происходят по адресу `0x7c00`. Мы можем концептуально представлять эти секторы диска как содержащие файлы [.filename]#boot0# и [.filename]#boot1#, соответственно, но на 
 самом деле это не совсем верно для [.filename]#boot1#. Строго говоря, в отличие от [.filename]#boot0#, [.filename]#boot1# не являет
ся частью загрузочных блоков footnote:[Файл /boot/boot1 существует, но он не записывается в начало раздела FreeBSD. Вместо этого он объединяется с boot2, формируя файл boot, который записывается в начало раздела FreeBSD и считывается во время загрузки.]. Вместо этого, единый полноценный файл [.filename]#boot# ([.filename]#/boot/boot#) в итоге записывается на диск. Этот файл представляет собой комбинацию [.filename]#boot1#, [.filename]#boot2# и `Boot Extender` (или BTX). Этот единый файл превышает размеÑ
 € одного сектора (больше 512 байт). К счастью, [.filename]#boot1# занимает _ровно_ первые 512 байт этого файла, поэтомÑ
ƒ, когда [.filename]#boot0# загружает первый сектор раздела FreeBSD (512 байт), он фактически загружает [.filename]#boot1# и передаёт ему управление.
 
 Основная задача [.filename]#boot1# — загрузить следующий этап загрузки. Этот следующий этап несколько сложнее. Он состоит из сервера под названием "Boot Extender" (BTX) и клиента под названием [.filename]#boot2#. Как мы увидим, последний этап загрузки, [.filename]#loader#, также является клиентом сервера BTX.
 
@@ -528,7 +528,7 @@ main.5:
 
 Начиная с адреса `0x9000` находится начало сервера BTX, и сразу за ним следует клиент [.filename]#boot2#. Сервер BTX действует как ядро и выполняется в защищённом режиме с наивысшим уровнем привилегий. В отличие от этого, клиенты BTX (например, [.filename]#boot2#) выполняются в пользовательском режиме. Мы увидим, как это реализовано, в следующем разделе. Код после вызова `nread` находит начало [.filename]#boot2# в буфере памяти и копирует его по адресу `0xc000`. Это связано с тÐ
 µÐ¼, что сервер BTX размещает [.filename]#boot2# для выполнения в сегменте, начинающемся с `0xa000`. Мы подробно рассмоÑ
‚рим это в следующем разделе.
 
-Последний блок кода в [.filename]#boot1# разрешает доступ к памяти выше 1MB footnote:[Это необходимо по историческим причинам. Заинтересованные читатели могут обратиться к .] и завершается переходом к начальной точке сервера BTX:
+Последний блок кода в [.filename]#boot1# разрешает доступ к памяти выше 1MB footnote:[Это необходимо по историческим причинам.] и завершается переходом к начальной точке сервера BTX:
 
 [.programlisting]
 ....
@@ -851,7 +851,7 @@ init.9:		push $0x0			#  general
 [[boot2]]
 == Этап загрузки boot2
 
-`boot2` определяет важную структуру, `struct bootinfo`. Эта структура инициализируется `boot2` и передается загрузчику, а затем ядру. Некоторые узлы этой структуры устанавливаются `boot2`, остальные — загрузчиком. Эта структура, среди прочей информации, содержит имя файла ядра, геометрию жесткого диска в BIOS, номер диска в BIOS для загрузочного устройства, доступную физическую память, указатель `envp` и т.д. Ее определение выглядит так:
+`boot2` определяет важную структуру, `struct bootinfo`. Эта структура инициализируется `boot2` и передаётся загрузчику, а затем ядру. Некоторые узлы этой структуры устанавливаются `boot2`, остальные — загрузчиком. Эта структура, среди прочей информации, содержит имя файла ядра, геометрию жесткого диска в BIOS, номер диска в BIOS для загрузочного устройства, доступную физическую память, указатель `envp` и т.д. Ее определение выглядит так:
 
 [.programlisting]
 ....
@@ -906,7 +906,7 @@ stand/common/boot.c:
 [[boot-kernel]]
 == Инициализация ядра
 
-Давайте рассмотрим команду, которая компонует ядро. Это поможет определить точное местоположение, где загрузчик передает выполнение ядру. Это местоположение является фактической точкой входа ядра. Данная команда теперь исключена из [.filename]#sys/conf/Makefile.i386#. Интересующее нас содержимое можно найти в [.filename]#/usr/obj/usr/src/i386.i386/sys/GENERIC/#.
+Давайте рассмотрим команду, которая компонует ядро. Это поможет определить точное местоположение, где загрузчик передаёт выполнение ядру. Это местоположение является фактической точкой входа ядра. Данная команда теперь исключена из [.filename]#sys/conf/Makefile.i386#. Интересующее нас содержимое можно найти в [.filename]#/usr/obj/usr/src/i386.i386/sys/GENERIC/#.
 
 [.programlisting]
 ....
@@ -1193,7 +1193,7 @@ sys/kern/init_main.c:
 	}
 ....
 
-Хотя фреймворк sysinit описан в link:/books/developers-handbook[Руководстве разработчика], я рассмотрю его внутреннее устройство.
+Хотя фреймворк sysinit описан в extref:{developers-handbook}[Руководстве разработчика], я рассмотрю его внутреннее устройство.
 
 Каждый объект инициализации системы (объект sysinit) создается путем вызова макроса SYSINIT(). Возьмем, к примеру, объект sysinit `announce`. Этот объект выводит сообщение об авторских правах:
 
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.po b/documentation/content/ru/books/arch-handbook/boot/_index.po
index f013cc2bb5..863c740fc1 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.po
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-05-01 19:56-0300\n"
-"PO-Revision-Date: 2025-07-02 04:45+0000\n"
+"POT-Creation-Date: 2025-11-08 16:17+0000\n"
+"PO-Revision-Date: 2025-11-12 04:45+0000\n"
 "Last-Translator: Vladlen Popolitov <[email protected]>\n"
 "Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
 "documentation/booksarch-handbookboot_index/ru/>\n"
@@ -92,8 +92,8 @@ msgid ""
 "allows the HOST OS to communicate details about what to boot that go beyond "
 "a simple partition as was possible in the past.  But UEFI is more relevant "
 "than the CSM these days.  The example that follows shows booting an x86 "
-"computer from an MBR-partitioned hard drive with the FreeBSD "
-"[.filename]#boot0# multi-boot loader stored in the very first sector.  That "
+"computer from an MBR-partitioned hard drive with the FreeBSD [."
+"filename]#boot0# multi-boot loader stored in the very first sector.  That "
 "boot code starts the FreeBSD three-stage boot process."
 msgstr ""
 "Процесс загрузки — это операция, крайне зависимая от оборудования. Не только "
@@ -101,9 +101,9 @@ msgstr ""
 "существовать различные типы загрузки в рамках одной архитектуры. Например, "
 "список файлов в каталоге [.filename]#stand# показывает большое количество "
 "кода, зависящего от архитектуры. Для каждой из поддерживаемых архитектур "
-"существует отдельный каталог. FreeBSD поддерживает стандарт загрузки CSM ("
-"Compatibility Support Module). Таким образом, CSM поддерживается (как с GPT, "
-"так и с MBR разметкой), а также загрузка через UEFI (GPT полностью "
+"существует отдельный каталог. FreeBSD поддерживает стандарт загрузки CSM "
+"(Compatibility Support Module). Таким образом, CSM поддерживается (как с "
+"GPT, так и с MBR разметкой), а также загрузка через UEFI (GPT полностью "
 "поддерживается, MBR — в основном). Также поддерживается загрузка файлов с "
 "ext2fs, MSDOS, UFS и ZFS. FreeBSD поддерживает функцию загрузочного "
 "окружения ZFS, которая позволяет основной ОС передавать детали о том, что "
@@ -117,8 +117,8 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:82
 msgid ""
 "The key to understanding this process is that it is a series of stages of "
-"increasing complexity.  These stages are [.filename]#boot1#, "
-"[.filename]#boot2#, and [.filename]#loader# (see man:boot[8] for more "
+"increasing complexity.  These stages are [.filename]#boot1#, [."
+"filename]#boot2#, and [.filename]#loader# (see man:boot[8] for more "
 "detail).  The boot system executes each stage in sequence.  The last stage, "
 "[.filename]#loader#, is responsible for loading the FreeBSD kernel.  Each "
 "stage is examined in the following sections."
@@ -179,9 +179,7 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:104
 #, no-wrap
 msgid "`boot2` footnote:[This prompt will appear if the user presses a key just after selecting an OS to boot at the boot0 stage.]"
-msgstr ""
-"`boot2` footnote:[Это приглашение появится, если пользователь нажмет клавишу "
-"сразу после выбора ОС для загрузки на этапе boot0.]"
+msgstr "`boot2` footnote:[Это приглашение появится, если пользователь нажмет клавишу сразу после выбора ОС для загрузки на этапе boot0.]"
 
 #. type: Table
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:113
@@ -236,8 +234,7 @@ msgstr ""
 "Console internal video/keyboard\n"
 "([email protected], Fri Apr  9 04:04:45 UTC 2021)\n"
 "Loading /boot/defaults/loader.conf\n"
-"/boot/kernel/kernel text=0xed9008 data=0x117d28+0x176650 "
-"syms=[0x8+0x137988+0x8+0x1515f8]\n"
+"/boot/kernel/kernel text=0xed9008 data=0x117d28+0x176650 syms=[0x8+0x137988+0x8+0x1515f8]\n"
 "...."
 
 #. type: Table
@@ -267,12 +264,9 @@ msgstr ""
 "Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994\n"
 "        The Regents of the University of California. All rights reserved.\n"
 "FreeBSD is a registered trademark of The FreeBSD Foundation.\n"
-"FreeBSD 13.0-RELEASE 0 releng/13.0-n244733-ea31abc261f: Fri Apr  9 04:04:45 "
-"UTC 2021\n"
-"    [email protected]:/usr/obj/usr/src/i386.i386/sys/GENERIC "
-"i386\n"
-"FreeBSD clang version 11.0.1 ([email protected]:llvm/llvm-project.git llvmorg-11"
-".0.1-0-g43ff75f2c3fe)\n"
+"FreeBSD 13.0-RELEASE 0 releng/13.0-n244733-ea31abc261f: Fri Apr  9 04:04:45 UTC 2021\n"
+"    [email protected]:/usr/obj/usr/src/i386.i386/sys/GENERIC i386\n"
+"FreeBSD clang version 11.0.1 ([email protected]:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)\n"
 "...."
 
 #. type: Title ==
@@ -305,8 +299,8 @@ msgstr ""
 "битное значение `0xfffffff0`. Регистр указателя команд (также известный как "
 "Счётчик Команд) указывает на код, который должен быть выполнен процессором. "
 "Ещё один важный регистр — это 32-битный управляющий регистр `cr0`, и его "
-"значение сразу после перезагрузки равно `0`. Один из битов ``cr0``, бит PE ("
-"Protection Enabled, Защита Включена), указывает, работает ли процессор в 32-"
+"значение сразу после перезагрузки равно `0`. Один из битов ``cr0``, бит PE "
+"(Protection Enabled, Защита Включена), указывает, работает ли процессор в 32-"
 "битном защищённом режиме или 16-битном реальном режиме. Поскольку этот бит "
 "сброшен при загрузке, процессор запускается в 16-битном реальном режиме. "
 "Реальный режим означает, среди прочего, что линейные и физические адреса "
@@ -339,9 +333,9 @@ msgid ""
 "jump instruction to the BIOS's POST routines."
 msgstr ""
 "BIOS (Basic Input Output System) — это микросхема на материнской плате, "
-"которая содержит относительно небольшой объем памяти только для чтения (ROM)"
-". Эта память включает различные низкоуровневые процедуры, специфичные для "
-"оборудования, поставляемого с материнской платой. Процессор сначала "
+"которая содержит относительно небольшой объем памяти только для чтения "
+"(ROM). Эта память включает различные низкоуровневые процедуры, специфичные "
+"для оборудования, поставляемого с материнской платой. Процессор сначала "
 "переходит по адресу 0xfffffff0, который фактически находится в памяти BIOS. "
 "Обычно по этому адресу содержится инструкция перехода к процедурам POST BIOS."
 
@@ -376,15 +370,15 @@ msgid ""
 "MBR, or Master Boot Record.  The remaining sectors on the first track are "
 "never used."
 msgstr ""
-"Самым последним действием в POST является инструкция `INT 0x19`. Обработчик `"
-"INT 0x19` считывает 512 байт из первого сектора загрузочного устройства в "
+"Самым последним действием в POST является инструкция `INT 0x19`. Обработчик "
+"`INT 0x19` считывает 512 байт из первого сектора загрузочного устройства в "
 "память по адресу `0x7c00`. Термин _первый сектор_ происходит из архитектуры "
 "жёстких дисков, где магнитная пластина разделена на множество цилиндрических "
 "дорожек. Дорожки нумеруются, и каждая дорожка разделена на несколько (обычно "
 "64) секторов. Нумерация дорожек начинается с 0, но нумерация секторов "
 "начинается с 1. Дорожка 0 находится на внешней стороне магнитной пластины, а "
-"сектор 1, первый сектор, имеет особое назначение. Он также называется MBR ("
-"Master Boot Record) или Главная Загрузочная Запись. Остальные секторы на "
+"сектор 1, первый сектор, имеет особое назначение. Он также называется MBR "
+"(Master Boot Record) или Главная Загрузочная Запись. Остальные секторы на "
 "первой дорожке не используются."
 
 #. type: Plain text
@@ -407,17 +401,17 @@ msgstr "Главная загрузочная запись (`boot0`)"
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:194
 msgid ""
-"After control is received from the BIOS at memory address `0x7c00`, "
-"[.filename]#boot0# starts executing.  It is the first piece of code under "
+"After control is received from the BIOS at memory address `0x7c00`, [."
+"filename]#boot0# starts executing.  It is the first piece of code under "
 "FreeBSD control.  The task of [.filename]#boot0# is quite simple: scan the "
 "partition table and let the user choose which partition to boot from.  The "
 "Partition Table is a special, standard data structure embedded in the MBR "
 "(hence embedded in [.filename]#boot0#) describing the four standard PC "
-"\"partitions\".  [.filename]#boot0# resides in the filesystem as "
-"[.filename]#/boot/boot0#.  It is a small 512-byte file, and it is exactly "
-"what FreeBSD's installation procedure wrote to the hard disk's MBR if you "
-"chose the \"bootmanager\" option at installation time.  Indeed, "
-"[.filename]#boot0# _is_ the MBR."
+"\"partitions\".  [.filename]#boot0# resides in the filesystem as [."
+"filename]#/boot/boot0#.  It is a small 512-byte file, and it is exactly what "
+"FreeBSD's installation procedure wrote to the hard disk's MBR if you chose "
+"the \"bootmanager\" option at installation time.  Indeed, [.filename]#boot0# "
+"_is_ the MBR."
 msgstr ""
 "После получения управления от BIOS по адресу памяти `0x7c00` начинает "
 "выполняться [.filename]#boot0#. Это первый код, который управляется FreeBSD. "
@@ -435,8 +429,8 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:197
 msgid ""
 "As mentioned previously, we're calling the BIOS `INT 0x19` to load the MBR "
-"([.filename]#boot0#) into memory at address `0x7c00`.  The source file for "
-"[.filename]#boot0# can be found in [.filename]#stand/i386/boot0/boot0.S# - "
+"([.filename]#boot0#) into memory at address `0x7c00`.  The source file for [."
+"filename]#boot0# can be found in [.filename]#stand/i386/boot0/boot0.S# - "
 "which is an awesome piece of code written by Robert Nordier."
 msgstr ""
 "Как упоминалось ранее, мы вызываем прерывание BIOS `INT 0x19` для загрузки "
@@ -451,8 +445,8 @@ msgid ""
 "_partition table_.  It has four records of 16 bytes each, called _partition "
 "records_, which represent how the hard disk is partitioned, or, in FreeBSD's "
 "terminology, sliced.  One byte of those 16 says whether a partition (slice) "
-"is bootable or not.  Exactly one record must have that flag set, otherwise "
-"[.filename]#boot0#'s code will refuse to proceed."
+"is bootable or not.  Exactly one record must have that flag set, otherwise [."
+"filename]#boot0#'s code will refuse to proceed."
 msgstr ""
 "Особая структура, начинающаяся со смещения `0x1be` в MBR, называется "
 "_таблицей разделов_. Она содержит четыре записи по 16 байт каждая, "
@@ -545,26 +539,26 @@ msgstr ""
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:230
 msgid ""
-"It is worth looking at the [.filename]#Makefile# for [.filename]#boot0# "
-"([.filename]#stand/i386/boot0/Makefile#), as it defines some of the run-time "
+"It is worth looking at the [.filename]#Makefile# for [.filename]#boot0# ([."
+"filename]#stand/i386/boot0/Makefile#), as it defines some of the run-time "
 "behavior of [.filename]#boot0#.  For instance, if a terminal connected to "
 "the serial port (COM1) is used for I/O, the macro `SIO` must be defined (`-"
 "DSIO`).  `-DPXE` enables boot through PXE by pressing kbd:[F6].  "
 "Additionally, the program defines a set of _flags_ that allow further "
-"modification of its behavior.  All of this is illustrated in the "
-"[.filename]#Makefile#.  For example, look at the linker directives which "
+"modification of its behavior.  All of this is illustrated in the [."
+"filename]#Makefile#.  For example, look at the linker directives which "
 "command the linker to start the text section at address `0x600`, and to "
 "build the output file \"as is\" (strip out any file formatting):"
 msgstr ""
-"Стоит взглянуть на [.filename]#Makefile# для [.filename]#boot0# ([.filename]#"
-"stand/i386/boot0/Makefile#), так как он определяет некоторые аспекты "
-"поведения [.filename]#boot0# во время выполнения. Например, если для ввода-"
-"вывода используется терминал, подключённый к последовательному порту (COM1), "
-"необходимо определить макрос `SIO` (`-DSIO`). `-DPXE` включает загрузку "
-"через PXE при нажатии kbd:[F6]. Кроме того, программа определяет набор "
-"_флагов_, которые позволяют дополнительно настроить её поведение. Всё это "
-"проиллюстрировано в [.filename]#Makefile#. Например, обратите внимание на "
-"директивы компоновщика, которые предписывают ему начинать секцию текста с "
+"Стоит взглянуть на [.filename]#Makefile# для [.filename]#boot0# ([."
+"filename]#stand/i386/boot0/Makefile#), так как он определяет некоторые "
+"аспекты поведения [.filename]#boot0# во время выполнения. Например, если для "
+"ввода-вывода используется терминал, подключённый к последовательному порту "
+"(COM1), необходимо определить макрос `SIO` (`-DSIO`). `-DPXE` включает "
+"загрузку через PXE при нажатии kbd:[F6]. Кроме того, программа определяет "
+"набор _флагов_, которые позволяют дополнительно настроить её поведение. Всё "
+"это проиллюстрировано в [.filename]#Makefile#. Например, обратите внимание "
+"на директивы компоновщика, которые предписывают ему начинать секцию текста с "
 "адреса `0x600` и создавать выходной файл \"как есть\" (удаляя любое "
 "форматирование файла):"
 
@@ -638,7 +632,7 @@ msgid ""
 "BIOS transfers control.  First, it makes sure that the string operations "
 "autoincrement its pointer operands (the `cld` instruction) footnote:[When in "
 "doubt, we refer the reader to the official Intel manuals, which describe the "
-"exact semantics for each instruction: .].  Then, as it makes no assumption "
+"exact semantics for each instruction.].  Then, as it makes no assumption "
 "about the state of the segment registers, it initializes them.  Finally, it "
 "sets the stack pointer register (`%sp`) to ($LOAD = address `0x7c00`), so we "
 "have a working stack."
@@ -647,10 +641,10 @@ msgstr ""
 "передаёт управление. Сначала он гарантирует, что строковые операции "
 "автоматически увеличивают указатели операндов (инструкция `cld`) footnote:[В "
 "случае сомнений мы отсылаем читателя к официальным руководствам Intel, где "
-"описана точная семантика каждой инструкции: .]. Затем, не делая "
-"предположений о состоянии сегментных регистров, он их инициализирует. "
-"Наконец, он устанавливает регистр указателя стека (`%sp`) в ($LOAD = адрес "
-"`0x7c00`), чтобы обеспечить работоспособный стек."
+"описана точная семантика каждой инструкции.]. Затем, не делая предположений "
+"о состоянии сегментных регистров, он их инициализирует. Наконец, он "
+"устанавливает регистр указателя стека (`%sp`) в ($LOAD = адрес `0x7c00`), "
+"чтобы обеспечить работоспособный стек."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:266
@@ -701,12 +695,12 @@ msgid ""
 "As [.filename]#boot0# is loaded by the BIOS to address `0x7C00`, it copies "
 "itself to address `0x600` and then transfers control there (recall that it "
 "was linked to execute at address `0x600`).  The source address, `0x7c00`, is "
-"copied to register `%si`.  The destination address, `0x600`, to register "
-"`%di`.  The number of words to copy, `256` (the program's size = 512 bytes), "
+"copied to register `%si`.  The destination address, `0x600`, to register `"
+"%di`.  The number of words to copy, `256` (the program's size = 512 bytes), "
 "is copied to register `%cx`.  Next, the `rep` instruction repeats the "
 "instruction that follows, that is, `movsw`, the number of times dictated by "
-"the `%cx` register.  The `movsw` instruction copies the word pointed to by "
-"`%si` to the address pointed to by `%di`.  This is repeated another 255 "
+"the `%cx` register.  The `movsw` instruction copies the word pointed to by `"
+"%si` to the address pointed to by `%di`.  This is repeated another 255 "
 "times.  On each repetition, both the source and destination registers, `%si` "
 "and `%di`, are incremented by one.  Thus, upon completion of the 256-word "
 "(512-byte) copy, `%di` has the value `0x600`+`512`= `0x800`, and `%si` has "
@@ -726,11 +720,11 @@ msgstr ""
 "который указывает `%di`. Это повторяется ещё 255 раз. При каждом повторении "
 "оба регистра, исходный и конечный, `%si` и `%di`, увеличиваются на единицу. "
 "Таким образом, по завершении копирования 256 слов (512 байт), `%di` имеет "
-"значение `0x600`+`512`= `0x800`, а `%si` — значение `0x7c00`+`512`= `0x7e00`;"
-" таким образом, мы завершили _перемещение_ кода. С момента последнего "
-"обновления этого документа инструкции копирования в коде изменились, поэтому "
-"вместо movsb и stosb были введены movsw и stosw, которые копируют 2 байта (1 "
-"слово) за одну итерацию."
+"значение `0x600`+`512`= `0x800`, а `%si` — значение `0x7c00`+`512`= "
+"`0x7e00`; таким образом, мы завершили _перемещение_ кода. С момента "
+"последнего обновления этого документа инструкции копирования в коде "
+"изменились, поэтому вместо movsb и stosb были введены movsw и stosw, которые "
+"копируют 2 байта (1 слово) за одну итерацию."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:304
@@ -806,8 +800,8 @@ msgid ""
 "This code tests the `SETDRV` bit (`0x20`) in the _flags_ variable.  Recall "
 "that register `%bp` points to address location `0x800`, so the test is done "
 "to the _flags_ variable at address `0x800`-`69`= `0x7bb`.  This is an "
-"example of the type of modifications that can be done to "
-"[.filename]#boot0#.  The `SETDRV` flag is not set by default, but it can be "
+"example of the type of modifications that can be done to [."
+"filename]#boot0#.  The `SETDRV` flag is not set by default, but it can be "
 "set in the [.filename]#Makefile#.  When set, the drive number stored in the "
 "MBR is used instead of the one provided by the BIOS.  We assume the "
 "defaults, and that the BIOS provided a valid drive number, so we jump to "
@@ -828,8 +822,8 @@ msgid ""
 "The next block saves the drive number provided by the BIOS, and calls `putn` "
 "to print a new line on the screen."
 msgstr ""
-"Следующий блок сохраняет номер диска, предоставленный BIOS, и вызывает `putn`"
-" для вывода новой строки на экран."
+"Следующий блок сохраняет номер диска, предоставленный BIOS, и вызывает "
+"`putn` для вывода новой строки на экран."
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:341
@@ -885,8 +879,8 @@ msgstr ""
 "выводит на экран тип раздела для каждой из четырёх записей в таблице "
 "разделов. Каждый тип сравнивается со списком известных файловых систем "
 "операционных систем. Примерами распознаваемых типов разделов являются NTFS "
-"(Windows(R), ID 0x7), `ext2fs` (Linux(R), ID 0x83) и, конечно же, "
-"`ffs`/`ufs2` (FreeBSD, ID 0xa5). Реализация довольно проста."
+"(Windows(R), ID 0x7), `ext2fs` (Linux(R), ID 0x83) и, конечно же, `ffs`/"
+"`ufs2` (FreeBSD, ID 0xa5). Реализация довольно проста."
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:356
@@ -958,8 +952,8 @@ msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-partition-scan]]"
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:383
 msgid ""
 "It is important to note that the active flag for each entry is cleared, so "
-"after the scanning, _no_ partition entry is active in our memory copy of "
-"[.filename]#boot0#.  Later, the active flag will be set for the selected "
+"after the scanning, _no_ partition entry is active in our memory copy of [."
+"filename]#boot0#.  Later, the active flag will be set for the selected "
 "partition.  This ensures that only one active partition exists if the user "
 "chooses to write the changes back to disk."
 msgstr ""
@@ -1105,27 +1099,27 @@ msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-start-input]]"
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:449
 msgid ""
-"An interrupt is requested with number `0x1a` and argument `0` in register "
-"`%ah`.  The BIOS has a predefined set of services, requested by applications "
+"An interrupt is requested with number `0x1a` and argument `0` in register `"
+"%ah`.  The BIOS has a predefined set of services, requested by applications "
 "as software-generated interrupts through the `int` instruction and receiving "
 "arguments in registers (in this case, `%ah`).  Here, particularly, we are "
 "requesting the number of clock ticks since last midnight; this value is "
 "computed by the BIOS through the RTC (Real Time Clock).  This clock can be "
 "programmed to work at frequencies ranging from 2 Hz to 8192 Hz.  The BIOS "
 "sets it to 18.2 Hz at startup.  When the request is satisfied, a 32-bit "
-"result is returned by the BIOS in registers `%cx` and `%dx` (lower bytes in "
-"`%dx`).  This result (the `%dx` part) is copied to register `%di`, and the "
-"value of the `TICKS` variable is added to `%di`.  This variable resides in "
-"[.filename]#boot0# at offset `_TICKS` (a negative value) from register `%bp` "
+"result is returned by the BIOS in registers `%cx` and `%dx` (lower bytes in `"
+"%dx`).  This result (the `%dx` part) is copied to register `%di`, and the "
+"value of the `TICKS` variable is added to `%di`.  This variable resides in [."
+"filename]#boot0# at offset `_TICKS` (a negative value) from register `%bp` "
 "(which, recall, points to `0x800`).  The default value of this variable is "
 "`0xb6` (182 in decimal).  Now, the idea is that [.filename]#boot0# "
 "constantly requests the time from the BIOS, and when the value returned in "
 "register `%dx` is greater than the value stored in `%di`, the time is up and "
 "the default selection will be made.  Since the RTC ticks 18.2 times per "
 "second, this condition will be met after 10 seconds (this default behavior "
-"can be changed in the [.filename]#Makefile#).  Until this time has passed, "
-"[.filename]#boot0# continually asks the BIOS for any user input; this is "
-"done through `int 0x16`, argument `1` in `%ah`."
+"can be changed in the [.filename]#Makefile#).  Until this time has passed, [."
+"filename]#boot0# continually asks the BIOS for any user input; this is done "
+"through `int 0x16`, argument `1` in `%ah`."
 msgstr ""
 "Прерывание запрашивается с номером `0x1a` и аргументом `0` в регистре `%ah`. "
 "BIOS имеет предопределённый набор сервисов, запрашиваемых приложениями как "
@@ -1135,18 +1129,18 @@ msgstr ""
 "значение вычисляется BIOS через RTC (Real Time Clock). Эти часы могут быть "
 "настроены на работу с частотой от 2 Гц до 8192 Гц. BIOS устанавливает их на "
 "18,2 Гц при запуске. Когда запрос выполнен, 32-битный результат возвращается "
-"BIOS в регистрах `%cx` и `%dx` (младшие байты в `%dx`). Этот результат ("
-"часть `%dx`) копируется в регистр `%di`, и к `%di` добавляется значение "
+"BIOS в регистрах `%cx` и `%dx` (младшие байты в `%dx`). Этот результат "
+"(часть `%dx`) копируется в регистр `%di`, и к `%di` добавляется значение "
 "переменной `TICKS`. Эта переменная находится в [.filename]#boot0# по "
 "смещению `_TICKS` (отрицательное значение) от регистра `%bp` (который, "
 "напомним, указывает на `0x800`). Значение этой переменной по умолчанию — "
 "`0xb6` (182 в десятичной системе). Идея заключается в том, что [."
 "filename]#boot0# постоянно запрашивает время у BIOS, и когда значение, "
-"возвращённое в регистре `%dx`, становится больше значения, хранящегося в "
-"`%di`, время истекает и будет сделан выбор по умолчанию. Поскольку RTC "
-"тикает 18,2 раза в секунду, это условие выполнится через 10 секунд (это "
-"поведение по умолчанию можно изменить в [.filename]#Makefile#). До истечения "
-"этого времени [.filename]#boot0# непрерывно опрашивает BIOS на предмет ввода "
+"возвращённое в регистре `%dx`, становится больше значения, хранящегося в `"
+"%di`, время истекает и будет сделан выбор по умолчанию. Поскольку RTC тикает "
+"18,2 раза в секунду, это условие выполнится через 10 секунд (это поведение "
+"по умолчанию можно изменить в [.filename]#Makefile#). До истечения этого "
+"времени [.filename]#boot0# непрерывно опрашивает BIOS на предмет ввода "
 "пользователя; это делается через `int 0x16`, аргумент `1` в `%ah`."
 
 #. type: Plain text
@@ -1246,8 +1240,8 @@ msgstr ""
 "первого сектора слайса FreeBSD выполняется вызовом `intx13`. Мы "
 "предполагаем, что всё прошло успешно, поэтому переход к `beep` не "
 "выполняется. В частности, новый прочитанный сектор должен заканчиваться "
-"магической последовательностью `0xaa55`. Наконец, значение в `%si` ("
-"указатель на выбранную таблицу разделов) сохраняется для использования на "
+"магической последовательностью `0xaa55`. Наконец, значение в `%si` "
+"(указатель на выбранную таблицу разделов) сохраняется для использования на "
 "следующем этапе, и выполняется переход по адресу `0x7c00`, где начинается "
 "выполнение нашего следующего этапа (только что прочитанного блока)."
 
@@ -1269,8 +1263,8 @@ msgid ""
 "MBR ([.filename]#boot0#) was loaded from absolute disk sector one to address "
 "`0x7c00`.  Execution control was passed to that location."
 msgstr ""
-"BIOS выполнил первоначальную инициализацию оборудования, включая POST. MBR (["
-".filename]#boot0#) был загружен по адресу `0x7c00` из абсолютного сектора "
+"BIOS выполнил первоначальную инициализацию оборудования, включая POST. MBR "
+"([.filename]#boot0#) был загружен по адресу `0x7c00` из абсолютного сектора "
 "один с диска. Управление выполнением было передано по этому адресу."
 
 #. type: Plain text
@@ -1293,13 +1287,13 @@ msgstr ""
 msgid ""
 "[.filename]#boot1# is the next step in the boot-loading sequence.  It is the "
 "first of three boot stages.  Note that we have been dealing exclusively with "
-"disk sectors.  Indeed, the BIOS loads the absolute first sector, while "
-"[.filename]#boot0# loads the first sector of the FreeBSD slice.  Both loads "
+"disk sectors.  Indeed, the BIOS loads the absolute first sector, while [."
+"filename]#boot0# loads the first sector of the FreeBSD slice.  Both loads "
 "are to address `0x7c00`.  We can conceptually think of these disk sectors as "
 "containing the files [.filename]#boot0# and [.filename]#boot1#, "
-"respectively, but in reality this is not entirely true for "
-"[.filename]#boot1#.  Strictly speaking, unlike [.filename]#boot0#, "
-"[.filename]#boot1# is not part of the boot blocks footnote:[There is a file /"
+"respectively, but in reality this is not entirely true for [."
+"filename]#boot1#.  Strictly speaking, unlike [.filename]#boot0#, [."
+"filename]#boot1# is not part of the boot blocks footnote:[There is a file /"
 "boot/boot1, but it is not the written to the beginning of the FreeBSD "
 "slice.  Instead, it is concatenated with boot2 to form boot, which is "
 "written to the beginning of the FreeBSD slice and read at boot time.].  "
@@ -1330,7 +1324,7 @@ msgstr ""
 "единый файл превышает размер одного сектора (больше 512 байт). К счастью, [."
 "filename]#boot1# занимает _ровно_ первые 512 байт этого файла, поэтому, "
 "когда [.filename]#boot0# загружает первый сектор раздела FreeBSD (512 байт), "
-"он фактически загружает [.filename]#boot1# и передает ему управление."
+"он фактически загружает [.filename]#boot1# и передаёт ему управление."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:518
@@ -1435,8 +1429,8 @@ msgstr ""
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:556
 msgid ""
-"Next comes a loop that looks for the FreeBSD slice.  Although "
-"[.filename]#boot0# loaded [.filename]#boot1# from the FreeBSD slice, no "
+"Next comes a loop that looks for the FreeBSD slice.  Although [."
+"filename]#boot0# loaded [.filename]#boot1# from the FreeBSD slice, no "
 "information was passed to it about this footnote:[Actually we did pass a "
 "pointer to the slice entry in register %si.  However, boot1 does not assume "
 "that it was loaded by boot0 (perhaps some other MBR loaded it, and did not "
@@ -1482,8 +1476,8 @@ msgid ""
 "device.  This is passed on by the BIOS and preserved by the MBR.  Numbers "
 "`0x80` and greater tells us that we are dealing with a hard drive, so a call "
 "is made to `nread`, where the MBR is read.  Arguments to `nread` are passed "
-"through `%si` and `%dh`.  The memory address at label `part4` is copied to "
-"`%si`.  This memory address holds a \"fake partition\" to be used by "
+"through `%si` and `%dh`.  The memory address at label `part4` is copied to `"
+"%si`.  This memory address holds a \"fake partition\" to be used by "
 "`nread`.  The following is the data in the fake partition:"
 msgstr ""
 "В приведённом выше коде регистр `%dl` содержит информацию о загрузочном "
@@ -1514,8 +1508,7 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:584
 #, no-wrap
 msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
-msgstr ""
-"[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
+msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:589
@@ -1577,8 +1570,8 @@ msgid ""
 "also uses `xread.1`.  This mechanism will be discussed in the next section."
 msgstr ""
 "Напомним, что `%si` указывает на поддельный раздел. Слово footnote:[В "
-"контексте 16-битного реального режима слово — это 2 байта.] по смещению `0x8`"
-" копируется в регистр `%ax`, а слово по смещению `0xa` — в `%cx`. BIOS "
+"контексте 16-битного реального режима слово — это 2 байта.] по смещению "
+"`0x8` копируется в регистр `%ax`, а слово по смещению `0xa` — в `%cx`. BIOS "
 "интерпретирует их как младшее 4-байтовое значение, обозначающее LBA для "
 "чтения (старшие четыре байта предполагаются нулевыми). Регистр `%bx` "
 "содержит адрес памяти, куда будет загружен MBR. Инструкция, помещающая `%cs` "
@@ -1757,10 +1750,10 @@ msgid ""
 "in the MBR partition table, so a call to `nread` will effectively read "
 "sectors at the beginning of this partition.  The argument passed on register "
 "`%dh` tells `nread` to read 16 disk sectors.  Recall that the first 512 "
-"bytes, or the first sector of the FreeBSD slice, coincides with the "
-"[.filename]#boot1# program.  Also recall that the file written to the "
-"beginning of the FreeBSD slice is not [.filename]#/boot/boot1#, but "
-"[.filename]#/boot/boot#.  Let us look at the size of these files in the "
+"bytes, or the first sector of the FreeBSD slice, coincides with the [."
+"filename]#boot1# program.  Also recall that the file written to the "
+"beginning of the FreeBSD slice is not [.filename]#/boot/boot1#, but [."
+"filename]#/boot/boot#.  Let us look at the size of these files in the "
 "filesystem:"
 msgstr ""
 "Напомним, что в данный момент регистр `%si` указывает на запись среза "
@@ -1792,14 +1785,14 @@ msgid ""
 "Both [.filename]#boot0# and [.filename]#boot1# are 512 bytes each, so they "
 "fit _exactly_ in one disk sector.  [.filename]#boot2# is much bigger, "
 "holding both the BTX server and the [.filename]#boot2# client.  Finally, a "
-"file called simply [.filename]#boot# is 512 bytes larger than "
-"[.filename]#boot2#.  This file is a concatenation of [.filename]#boot1# and "
-"[.filename]#boot2#.  As already noted, [.filename]#boot0# is the file "
-"written to the absolute first disk sector (the MBR), and [.filename]#boot# "
-"is the file written to the first sector of the FreeBSD slice; "
-"[.filename]#boot1# and [.filename]#boot2# are _not_ written to disk.  The "
-"command used to concatenate [.filename]#boot1# and [.filename]#boot2# into a "
-"single [.filename]#boot# is merely `cat boot1 boot2 > boot`."
+"file called simply [.filename]#boot# is 512 bytes larger than [."
+"filename]#boot2#.  This file is a concatenation of [.filename]#boot1# and [."
+"filename]#boot2#.  As already noted, [.filename]#boot0# is the file written "
+"to the absolute first disk sector (the MBR), and [.filename]#boot# is the "
+"file written to the first sector of the FreeBSD slice; [.filename]#boot1# "
+"and [.filename]#boot2# are _not_ written to disk.  The command used to "
+"concatenate [.filename]#boot1# and [.filename]#boot2# into a single [."
+"filename]#boot# is merely `cat boot1 boot2 > boot`."
 msgstr ""
 "Оба файла [.filename]#boot0# и [.filename]#boot1# имеют размер 512 байт "
 "каждый, поэтому они занимают _ровно_ один сектор диска. [.filename]#boot2# "
@@ -1816,18 +1809,18 @@ msgstr ""
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:707
 msgid ""
-"So [.filename]#boot1# occupies exactly the first 512 bytes of "
-"[.filename]#boot# and, because [.filename]#boot# is written to the first "
+"So [.filename]#boot1# occupies exactly the first 512 bytes of [."
+"filename]#boot# and, because [.filename]#boot# is written to the first "
 "sector of the FreeBSD slice, [.filename]#boot1# fits exactly in this first "
 "sector.  When `nread` reads the first 16 sectors of the FreeBSD slice, it "
 "effectively reads the entire [.filename]#boot# file footnote:[512*16=8192 "
-"bytes, exactly the size of boot].  We will see more details about how "
-"[.filename]#boot# is formed from [.filename]#boot1# and [.filename]#boot2# "
-"in the next section."
+"bytes, exactly the size of boot].  We will see more details about how [."
+"filename]#boot# is formed from [.filename]#boot1# and [.filename]#boot2# in "
+"the next section."
 msgstr ""
 "Итак, [.filename]#boot1# занимает ровно первые 512 байт [.filename]#boot#, "
-"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, ["
-".filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` "
+"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, "
+"[.filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` "
 "читает первые 16 секторов слайса FreeBSD, он фактически читает весь файл [."
 "filename]#boot# footnote:[512*16=8192 байта, ровно размер boot]. Более "
 "подробно о том, как [.filename]#boot# формируется из [.filename]#boot1# и [."
@@ -1847,11 +1840,11 @@ msgstr ""
 "Напомним, что `nread` использует адрес памяти `0x8c00` в качестве буфера "
 "передачи для хранения прочитанных секторов. Этот адрес выбран не случайно. "
 "Действительно, поскольку [.filename]#boot1# принадлежит первым 512 байтам, "
-"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт ("
-"диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:["
-"Исторически известной как disklabel. Если вам когда-либо было интересно, где "
-"FreeBSD хранит эту информацию, она находится в этой области — см. "
-"man:bsdlabel[8]]."
+"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт "
+"(диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:"
+"[Исторически известной как disklabel. Если вам когда-либо было интересно, "
+"где FreeBSD хранит эту информацию, она находится в этой области — см. man:"
+"bsdlabel[8]]."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:721
@@ -1880,12 +1873,12 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:724
 msgid ""
 "The last code block of [.filename]#boot1# enables access to memory above 1MB "
-"footnote:[This is necessary for legacy reasons.  Interested readers should "
-"see .] and concludes with a jump to the starting point of the BTX server:"
+"footnote:[This is necessary for legacy reasons.] and concludes with a jump "
+"to the starting point of the BTX server:"
 msgstr ""
 "Последний блок кода в [.filename]#boot1# разрешает доступ к памяти выше 1MB "
-"footnote:[Это необходимо по историческим причинам. Заинтересованные читатели "
-"могут обратиться к .] и завершается переходом к начальной точке сервера BTX:"
+"footnote:[Это необходимо по историческим причинам.] и завершается переходом "
+"к начальной точке сервера BTX:"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:732
@@ -1990,11 +1983,11 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:766
 msgid ""
 "[.filename]#boot1# loads the first 16 sectors of the FreeBSD slice into "
-"address `0x8c00`.  This 16 sectors, or 8192 bytes, is the whole file "
-"[.filename]#boot#.  The file is a concatenation of [.filename]#boot1# and "
-"[.filename]#boot2#.  [.filename]#boot2#, in turn, contains the BTX server "
-"and the [.filename]#boot2# client.  Finally, a jump is made to address "
-"`0x9010`, the entry point of the BTX server."
+"address `0x8c00`.  This 16 sectors, or 8192 bytes, is the whole file [."
+"filename]#boot#.  The file is a concatenation of [.filename]#boot1# and [."
+"filename]#boot2#.  [.filename]#boot2#, in turn, contains the BTX server and "
+"the [.filename]#boot2# client.  Finally, a jump is made to address `0x9010`, "
+"the entry point of the BTX server."
 msgstr ""
 "[.filename]#boot1# загружает первые 16 секторов среза FreeBSD по адресу "
 "`0x8c00`. Эти 16 секторов, или 8192 байта, представляют собой весь файл [."
@@ -2007,15 +2000,16 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:770
 msgid ""
 "Before studying the BTX Server in detail, let us further review how the "
-"single, all-in-one [.filename]#boot# file is created.  The way "
-"[.filename]#boot# is built is defined in its [.filename]#Makefile# "
-"([.filename]#stand/i386/boot2/Makefile#).  Let us look at the rule that "
-"creates the [.filename]#boot# file:"
+"single, all-in-one [.filename]#boot# file is created.  The way [."
+"filename]#boot# is built is defined in its [.filename]#Makefile# ([."
+"filename]#stand/i386/boot2/Makefile#).  Let us look at the rule that creates "
+"the [.filename]#boot# file:"
 msgstr ""
 "Прежде чем изучать сервер BTX подробно, давайте рассмотрим, как создается "
-"единый, всеобъемлющий файл [.filename]#boot#. Способ сборки [.filename]#boot#"
-" определен в его [.filename]#Makefile# ([.filename]#stand/i386/boot2/"
-"Makefile#). Рассмотрим правило, которое создает файл [.filename]#boot#:"
+"единый, всеобъемлющий файл [.filename]#boot#. Способ сборки [."
+"filename]#boot# определен в его [.filename]#Makefile# ([.filename]#stand/"
+"i386/boot2/Makefile#). Рассмотрим правило, которое создает файл [."
+"filename]#boot#:"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:775
@@ -2037,8 +2031,8 @@ msgstr "[.filename]#stand/i386/boot2/Makefile# [[boot-boot1-make-boot]]"
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:780
 msgid ""
 "This tells us that [.filename]#boot1# and [.filename]#boot2# are needed, and "
-"the rule simply concatenates them to produce a single file called "
-"[.filename]#boot#.  The rules for creating [.filename]#boot1# are also quite "
+"the rule simply concatenates them to produce a single file called [."
+"filename]#boot#.  The rules for creating [.filename]#boot1# are also quite "
 "simple:"
 msgstr ""
 "Это говорит нам, что [.filename]#boot1# и [.filename]#boot2# необходимы, и "
@@ -2064,8 +2058,7 @@ msgid ""
 "\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o\n"
 msgstr ""
 "      boot1.out: boot1.o\n"
-"\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${."
-"TARGET} boot1.o\n"
+"\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o\n"
 
 #. type: Block title
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:790
@@ -2077,28 +2070,28 @@ msgstr "[.filename]#stand/i386/boot2/Makefile# [[boot-boot1-make-boot1]]"
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:799
 msgid ""
 "To apply the rule for creating [.filename]#boot1#, [.filename]#boot1.out# "
-"must be resolved.  This, in turn, depends on the existence of "
-"[.filename]#boot1.o#.  This last file is simply the result of assembling our "
+"must be resolved.  This, in turn, depends on the existence of [."
+"filename]#boot1.o#.  This last file is simply the result of assembling our "
 "familiar [.filename]#boot1.S#, without linking.  Now, the rule for creating "
 "[.filename]#boot1.out# is applied.  This tells us that [.filename]#boot1.o# "
 "should be linked with `start` as its entry point, and starting at address "
-"`0x7c00`.  Finally, [.filename]#boot1# is created from "
-"[.filename]#boot1.out# applying the appropriate rule.  This rule is the "
-"[.filename]#objcopy# command applied to [.filename]#boot1.out#.  Note the "
-"flags passed to [.filename]#objcopy#: `-S` tells it to strip all relocation "
-"and symbolic information; `-O binary` indicates the output format, that is, "
-"a simple, unformatted binary file."
+"`0x7c00`.  Finally, [.filename]#boot1# is created from [.filename]#boot1."
+"out# applying the appropriate rule.  This rule is the [.filename]#objcopy# "
+"command applied to [.filename]#boot1.out#.  Note the flags passed to [."
+"filename]#objcopy#: `-S` tells it to strip all relocation and symbolic "
+"information; `-O binary` indicates the output format, that is, a simple, "
+"unformatted binary file."
 msgstr ""
 "Для применения правила создания [.filename]#boot1# необходимо собрать [."
 "filename]#boot1.out#. Это, в свою очередь, зависит от наличия [."
 "filename]#boot1.o#. Последний файл является результатом ассемблирования "
 "нашего знакомого [.filename]#boot1.S# без компоновки. Теперь применяется "
-"правило создания [.filename]#boot1.out#. Оно указывает, что [.filename]#boot1"
-".o# должен быть скомпонован с точкой входа `start` и начальным адресом "
-"`0x7c00`. Наконец, [.filename]#boot1# создается из [.filename]#boot1.out# "
-"применением соответствующего правила. Это команда [.filename]#objcopy#, "
-"применяемая к [.filename]#boot1.out#. Обратите внимание на флаги, "
-"передаваемые [.filename]#objcopy#: `-S` указывает на удаление всей "
+"правило создания [.filename]#boot1.out#. Оно указывает, что [."
+"filename]#boot1.o# должен быть скомпонован с точкой входа `start` и "
+"начальным адресом `0x7c00`. Наконец, [.filename]#boot1# создается из [."
+"filename]#boot1.out# применением соответствующего правила. Это команда [."
+"filename]#objcopy#, применяемая к [.filename]#boot1.out#. Обратите внимание "
+"на флаги, передаваемые [.filename]#objcopy#: `-S` указывает на удаление всей "
 "информации о перемещении и символов; `-O binary` указывает формат вывода, то "
 "есть простой, неформатированный двоичный файл."
 
@@ -2164,8 +2157,7 @@ msgid ""
 "\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC}\n"
 msgstr ""
 "      boot2.out: ${BTXCRT} boot2.o sio.o ashldi3.o\n"
-"\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${."
-"ALLSRC}\n"
+"\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC}\n"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:828
@@ -2181,8 +2173,7 @@ msgstr ""
 "      boot2.h: boot1.out\n"
 "\t${NM} -t d ${.ALLSRC} | awk '/([0-9])+ T xread/ \\\n"
 "\t    { x = $$1 - ORG1; \\\n"
-"\t    printf(\"#define XREADORG %#x\\n"
-"\", REL1 + x) }' \\\n"
+"\t    printf(\"#define XREADORG %#x\\n\", REL1 + x) }' \\\n"
 "\t    ORG1=`printf \"%d\" ${ORG1}` \\\n"
 "\t    REL1=`printf \"%d\" ${REL1}` > ${.TARGET}\n"
 
@@ -2253,8 +2244,8 @@ msgstr "[.filename]#stand/i386/boot2/boot2.h# [[boot-boot1-make-boot2h]]"
 msgid ""
 "Recall that [.filename]#boot1# was relocated (i.e., copied from `0x7c00` to "
 "`0x700`).  This relocation will now make sense, because as we will see, the "
-"BTX server reclaims some memory, including the space where "
-"[.filename]#boot1# was originally loaded.  However, the BTX server needs "
+"BTX server reclaims some memory, including the space where [."
+"filename]#boot1# was originally loaded.  However, the BTX server needs "
 "access to [.filename]#boot1#'s `xread` function; this function, according to "
 "the output of [.filename]#boot2.h#, is at location `0x725`.  Indeed, the BTX "
 "server uses the `xread` function from [.filename]#boot1#'s relocated code.  "
@@ -2272,19 +2263,19 @@ msgstr ""
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:868
 msgid ""
-"The next rule directs the linker to link various files "
-"([.filename]#ashldi3.o#, [.filename]#boot2.o# and [.filename]#sio.o#).  Note "
-"that the output file, [.filename]#boot2.out#, is linked to execute at "
-"address `0x2000` (${ORG2}).  Recall that [.filename]#boot2# will be executed "
-"in user mode, within a special user segment set up by the BTX server.  This "
-"segment starts at `0xa000`.  Also, remember that the [.filename]#boot2# "
-"portion of [.filename]#boot# was copied to address `0xc000`, that is, offset "
-"`0x2000` from the start of the user segment, so [.filename]#boot2# will work "
-"properly when we transfer control to it.  Next, [.filename]#boot2.bin# is "
-"created from [.filename]#boot2.out# by stripping its symbols and format "
-"information; boot2.bin is a _raw_ binary.  Now, note that a file "
-"[.filename]#boot2.ldr# is created as a 512-byte file full of zeros.  This "
-"space is reserved for the bsdlabel."
+"The next rule directs the linker to link various files ([.filename]#ashldi3."
+"o#, [.filename]#boot2.o# and [.filename]#sio.o#).  Note that the output "
+"file, [.filename]#boot2.out#, is linked to execute at address `0x2000` "
+"(${ORG2}).  Recall that [.filename]#boot2# will be executed in user mode, "
+"within a special user segment set up by the BTX server.  This segment starts "
+"at `0xa000`.  Also, remember that the [.filename]#boot2# portion of [."
+"filename]#boot# was copied to address `0xc000`, that is, offset `0x2000` "
+"from the start of the user segment, so [.filename]#boot2# will work properly "
+"when we transfer control to it.  Next, [.filename]#boot2.bin# is created "
+"from [.filename]#boot2.out# by stripping its symbols and format information; "
+"boot2.bin is a _raw_ binary.  Now, note that a file [.filename]#boot2.ldr# "
+"is created as a 512-byte file full of zeros.  This space is reserved for the "
+"bsdlabel."
 msgstr ""
 "Следующее правило указывает компоновщику на необходимость связать различные "
 "файлы ([.filename]#ashldi3.o#, [.filename]#boot2.o# и [.filename]#sio.o#). "
@@ -2305,31 +2296,31 @@ msgstr ""
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:873
 msgid ""
-"Now that we have files [.filename]#boot1#, [.filename]#boot2.bin# and "
-"[.filename]#boot2.ldr#, only the BTX server is missing before creating the "
-"all-in-one [.filename]#boot# file.  The BTX server is located in "
-"[.filename]#stand/i386/btx/btx#; it has its own [.filename]#Makefile# with "
-"its own set of rules for building.  The important thing to notice is that it "
-"is also compiled as a _raw_ binary, and that it is linked to execute at "
-"address `0x9000`.  The details can be found in [.filename]#stand/i386/btx/"
-"btx/Makefile#."
+"Now that we have files [.filename]#boot1#, [.filename]#boot2.bin# and [."
+"filename]#boot2.ldr#, only the BTX server is missing before creating the all-"
+"in-one [.filename]#boot# file.  The BTX server is located in [."
+"filename]#stand/i386/btx/btx#; it has its own [.filename]#Makefile# with its "
+"own set of rules for building.  The important thing to notice is that it is "
+"also compiled as a _raw_ binary, and that it is linked to execute at address "
+"`0x9000`.  The details can be found in [.filename]#stand/i386/btx/btx/"
+"Makefile#."
 msgstr ""
-"Теперь, когда у нас есть файлы [.filename]#boot1#, [.filename]#boot2.bin# и ["
-".filename]#boot2.ldr#, осталось только добавить сервер BTX перед созданием "
-"универсального файла [.filename]#boot#. Сервер BTX находится в [.filename]#"
-"stand/i386/btx/btx#; у него есть собственный [.filename]#Makefile# со своим "
-"набором правил для сборки. Важно отметить, что он также компилируется как "
-"_сырой_ бинарный файл и линкуется для выполнения по адресу `0x9000`. "
-"Подробности можно найти в [.filename]#stand/i386/btx/btx/Makefile#."
+"Теперь, когда у нас есть файлы [.filename]#boot1#, [.filename]#boot2.bin# и "
+"[.filename]#boot2.ldr#, осталось только добавить сервер BTX перед созданием "
+"универсального файла [.filename]#boot#. Сервер BTX находится в [."
+"filename]#stand/i386/btx/btx#; у него есть собственный [.filename]#Makefile# "
+"со своим набором правил для сборки. Важно отметить, что он также "
+"компилируется как _сырой_ бинарный файл и линкуется для выполнения по адресу "
*** 1371 LINES SKIPPED ***
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.