git: 61907dad5d - main - update translation of books/arch-handbook to Russian Reviewed by: andy Differential Revision: https://reviews.freebsd.org/D53717
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 18 Nov 2025 18:22:31 UTC
The branch main has been updated by vladlen:
URL: https://cgit.FreeBSD.org/doc/commit/?id=61907dad5dce51a7bd40f8fca0108636fb71707d
commit 61907dad5dce51a7bd40f8fca0108636fb71707d
Author: Vladlen Popolitov <vladlen@FreeBSD.org>
AuthorDate: 2025-11-18 18:22:13 +0000
Commit: Vladlen Popolitov <vladlen@FreeBSD.org>
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 <vladlenpopolitov@list.ru>\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 <vladlenpopolitov@list.ru>\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 <vladlenpopolitov@list.ru>\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"
"(root@releng1.nyi.freebsd.org, 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"
-" root@releng1.nyi.freebsd.org:/usr/obj/usr/src/i386.i386/sys/GENERIC "
-"i386\n"
-"FreeBSD clang version 11.0.1 (git@github.com: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"
+" root@releng1.nyi.freebsd.org:/usr/obj/usr/src/i386.i386/sys/GENERIC i386\n"
+"FreeBSD clang version 11.0.1 (git@github.com: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 ***