From nobody Sun Nov 9 11:16:51 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4d49H74QjTz6GgMY; Sun, 09 Nov 2025 11:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4d49H72rMLz3hFg; Sun, 09 Nov 2025 11:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762687011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UuOgHmIR6nBxAaTF/l5Ax5H+fhZrbyIB2iA94o3g6KU=; b=SkPJycK6sJAkErO/jFJ5YjffzpEBHvVQcyZPl7tIab4MUjLXdS07Ib0CcPdEQ/Wrmf4sIZ iAxZkf5Ghm3P/T/C62J5zQSXxoTmKRYLKugRbqeXoNH1Ap1NEfHnoou83sDL+i3Ta0/A7S m27Zg8qnWuZL+fH5dk6iXJtxSgtUlDn5CQ2aGAJHXWvSevbAQINN9PnqM891yJmMsU/2pG hqPPXp/tBNdlLx4Rra1tmZWZ7v1a/5ShWbVai09v4px5pSVqmzoxD2FTy5RNuMiDVEPXvA S+HzxYPS+lNI01sq9GlIRTzp83CsfuP58THGi5FQ1Ibb6QUtAm5+Maje37pw7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762687011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UuOgHmIR6nBxAaTF/l5Ax5H+fhZrbyIB2iA94o3g6KU=; b=XXYTjwgIvedmvr27mUTO7VuKq222MNZXksS2udE70qPKfWXt0tOhGonamAtudUjpKDVDBB qAPymbBYmq+88o1VqzaAMza0V8llCDn66f+zinxoaDPOYX+TfMQHt9p/S63jdN52AQ8Exb ZZzpHTteMOR0dq3Kd+F5GFGqxkFlh/OBe8e3oczO2EbX69N/s9z7ZBCU967NTStb4F5XBG DcvV4+dyfo/3VpxYny4loS83H6kPTIGSykkMp7nQqBX+nqSOm42HhX6wKMmFE+ywIgsc6x pN+bMYwSGnESYosrqZxh4lVXeGmR7Ay5t+iPINxMbyTe3eg18w1M3L1ipfmtYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1762687011; a=rsa-sha256; cv=none; b=lzqP8h+r7C9Sp2qRkXvmOKco8Z6ke2VhYcjtuTz+pVwkUT6E1vsvMFX1QotdMQQi46Uy5Z NRjCgYSGahaKp+lJDmOwcwV2gim2J/MEAoH4hcUqLxpr17dESFNt7JSlk1bjmktlQgq76L c0IAJSonvcqEiRVhLJLS0dAZbyBVFdr+KfJ3dJgJWxgbQidvjEiFFdEsqGuYpH8GWm2Ofv ekuRTPsr5VJlBqBuMpYRXddJon3lACOEKsgfsBLt1Q6mzrI7NvrNUWCF7L9AYS5evf53J5 H9repRtcSUOGzgxrBDHwQjB/tq2giOXxMR0HX+acLd1EF98PvtWJI3Z4Tp2jJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4d49H72QtbzDSX; Sun, 09 Nov 2025 11:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5A9BGpRX099301; Sun, 9 Nov 2025 11:16:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5A9BGpvF099297; Sun, 9 Nov 2025 11:16:51 GMT (envelope-from git) Date: Sun, 9 Nov 2025 11:16:51 GMT Message-Id: <202511091116.5A9BGpvF099297@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Vladlen Popolitov Subject: git: a0e1df672e - main - update translation of books/arch-handbook to Russian Reviewed by: andy Differential Revision: https://reviews.freebsd.org/D53493 List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vladlen X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a0e1df672e153605c7bcf765b8740bf630342e45 Auto-Submitted: auto-generated The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=a0e1df672e153605c7bcf765b8740bf630342e45 commit a0e1df672e153605c7bcf765b8740bf630342e45 Author: Vladlen Popolitov AuthorDate: 2025-11-09 11:16:41 +0000 Commit: Vladlen Popolitov CommitDate: 2025-11-09 11:16:41 +0000 update translation of books/arch-handbook to Russian Reviewed by: andy Differential Revision: https://reviews.freebsd.org/D53493 --- .../content/ru/books/arch-handbook/_index.adoc | 4 +- .../content/ru/books/arch-handbook/_index.po | 22 +- .../books/arch-handbook/bibliography/_index.adoc | 2 +- .../ru/books/arch-handbook/bibliography/_index.po | 6 +- .../content/ru/books/arch-handbook/book.adoc | 2 +- .../content/ru/books/arch-handbook/book.po | 26 +- .../ru/books/arch-handbook/boot/_index.adoc | 2 +- .../content/ru/books/arch-handbook/boot/_index.po | 390 +++++++++++---------- .../books/arch-handbook/driverbasics/_index.adoc | 2 +- .../ru/books/arch-handbook/driverbasics/_index.po | 34 +- .../content/ru/books/arch-handbook/isa/_index.adoc | 2 +- .../content/ru/books/arch-handbook/isa/_index.po | 156 +++++---- .../ru/books/arch-handbook/jail/_index.adoc | 4 +- .../content/ru/books/arch-handbook/jail/_index.po | 95 ++--- .../ru/books/arch-handbook/kobj/_index.adoc | 2 +- .../content/ru/books/arch-handbook/kobj/_index.po | 36 +- .../ru/books/arch-handbook/locking/_index.adoc | 2 +- .../ru/books/arch-handbook/locking/_index.po | 31 +- .../content/ru/books/arch-handbook/mac/_index.adoc | 38 +- .../content/ru/books/arch-handbook/mac/_index.po | 245 +++++++------ .../ru/books/arch-handbook/newbus/_index.adoc | 6 +- .../ru/books/arch-handbook/newbus/_index.po | 64 ++-- .../content/ru/books/arch-handbook/parti.adoc | 2 +- .../content/ru/books/arch-handbook/parti.po | 4 +- .../content/ru/books/arch-handbook/partii.adoc | 2 +- .../content/ru/books/arch-handbook/partii.po | 4 +- .../content/ru/books/arch-handbook/partiii.adoc | 2 +- .../content/ru/books/arch-handbook/partiii.po | 4 +- .../ru/books/arch-handbook/pccard/_index.adoc | 2 +- .../ru/books/arch-handbook/pccard/_index.po | 45 +-- .../content/ru/books/arch-handbook/pci/_index.adoc | 2 +- .../content/ru/books/arch-handbook/pci/_index.po | 74 ++-- .../ru/books/arch-handbook/scsi/_index.adoc | 20 +- .../content/ru/books/arch-handbook/scsi/_index.po | 149 ++++---- .../content/ru/books/arch-handbook/smp/_index.adoc | 10 +- .../content/ru/books/arch-handbook/smp/_index.po | 107 +++--- .../ru/books/arch-handbook/sound/_index.adoc | 2 +- .../content/ru/books/arch-handbook/sound/_index.po | 48 +-- .../ru/books/arch-handbook/sysinit/_index.adoc | 2 +- .../ru/books/arch-handbook/sysinit/_index.po | 12 +- .../content/ru/books/arch-handbook/usb/_index.adoc | 2 +- .../content/ru/books/arch-handbook/usb/_index.po | 77 ++-- .../content/ru/books/arch-handbook/vm/_index.adoc | 2 +- .../content/ru/books/arch-handbook/vm/_index.po | 37 +- 44 files changed, 962 insertions(+), 818 deletions(-) diff --git a/documentation/content/ru/books/arch-handbook/_index.adoc b/documentation/content/ru/books/arch-handbook/_index.adoc index 7417861a9b..b615f17b1a 100644 --- a/documentation/content/ru/books/arch-handbook/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/_index.adoc @@ -1,5 +1,5 @@ --- -add_single_page_link: true +add_single_page_link: 'true' authors: - author: 'The FreeBSD Documentation Project' @@ -9,7 +9,7 @@ description: 'Для разработчиков систем FreeBSD. В это next: books/arch-handbook/parti params: path: /books/arch-handbook/ -showBookMenu: true +showBookMenu: 'true' tags: ["Arch Handbook", "FreeBSD"] title: 'Руководство по архитектуре FreeBSD' trademarks: ["freebsd", "apple", "microsoft", "unix", "general"] diff --git a/documentation/content/ru/books/arch-handbook/_index.po b/documentation/content/ru/books/arch-handbook/_index.po index 980f503404..c3bf8aae62 100644 --- a/documentation/content/ru/books/arch-handbook/_index.po +++ b/documentation/content/ru/books/arch-handbook/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-10-14 22:43+0300\n" +"POT-Creation-Date: 2025-05-01 19:56-0300\n" "PO-Revision-Date: 2025-08-16 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: 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 @@ -31,12 +33,12 @@ msgstr "Для разработчиков систем FreeBSD. В этой кн msgid "FreeBSD Architecture Handbook" msgstr "Руководство по архитектуре FreeBSD" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/_index.adoc:51 msgid "Abstract" msgstr "Аннотация" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/_index.adoc:53 msgid "" "Welcome to the FreeBSD Architecture Handbook. This manual is a _work in " @@ -50,7 +52,7 @@ msgstr "" "Если вы хотите помочь в работе над этим проектом, напишите на электронную " "почту списка рассылки {freebsd-doc}." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/_index.adoc:55 msgid "" "The latest version of this document is always available from the " @@ -61,11 +63,11 @@ msgid "" msgstr "" "Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/" "[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных " -"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/" -"[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:" -"{handbook}mirrors/[mirror sites, mirrors]." +"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/[" +"сервера загрузок FreeBSD] или одного из многочисленных зеркал " +"extref:{handbook}mirrors/[mirror sites, mirrors]." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/_index.adoc:56 msgid "'''" msgstr "'''" diff --git a/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc b/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc index 96ff388686..805bac4a4d 100644 --- a/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc @@ -3,7 +3,7 @@ description: 'Библиография Руководства по архите params: path: /books/arch-handbook/bibliography/ prev: books/arch-handbook/partiii -showBookMenu: true +showBookMenu: 'true' tags: ["bibliography", "Arch Handbook", "FreeBSD"] title: Библиография weight: 20 diff --git a/documentation/content/ru/books/arch-handbook/bibliography/_index.po b/documentation/content/ru/books/arch-handbook/bibliography/_index.po index c5253e7d57..3caebc93a7 100644 --- a/documentation/content/ru/books/arch-handbook/bibliography/_index.po +++ b/documentation/content/ru/books/arch-handbook/bibliography/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-10-14 22:43+0300\n" +"POT-Creation-Date: 2025-05-01 19:56-0300\n" "PO-Revision-Date: 2025-07-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/books/arch-handbook/bibliography/_index.adoc:1 #, no-wrap msgid "Bibliography of the FreeBSD Architecture Handbook" @@ -31,7 +31,7 @@ msgstr "Библиография Руководства по архитекту msgid "Bibliography" msgstr "Библиография" -#. type: appendix +#. type: Plain text #: documentation/content/en/books/arch-handbook/bibliography/_index.adoc:51 msgid "" "[1] _Marshall Kirk McKusick, Keith Bostic, Michael J Karels, and John S " diff --git a/documentation/content/ru/books/arch-handbook/book.adoc b/documentation/content/ru/books/arch-handbook/book.adoc index 22f9cfba0b..4aea684095 100644 --- a/documentation/content/ru/books/arch-handbook/book.adoc +++ b/documentation/content/ru/books/arch-handbook/book.adoc @@ -1,5 +1,5 @@ --- -add_split_page_link: true +add_split_page_link: 'true' authors: - author: 'The FreeBSD Documentation Project' diff --git a/documentation/content/ru/books/arch-handbook/book.po b/documentation/content/ru/books/arch-handbook/book.po index a099efa2f7..067584be72 100644 --- a/documentation/content/ru/books/arch-handbook/book.po +++ b/documentation/content/ru/books/arch-handbook/book.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-10-14 22:43+0300\n" +"POT-Creation-Date: 2022-07-07 23:22-0300\n" "PO-Revision-Date: 2025-08-16 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: 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 @@ -31,12 +33,12 @@ msgstr "Для разработчиков систем FreeBSD. В этой кн msgid "FreeBSD Architecture Handbook" msgstr "Руководство по архитектуре FreeBSD" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/book.adoc:49 msgid "Abstract" msgstr "Аннотация" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/book.adoc:51 msgid "" "Welcome to the FreeBSD Architecture Handbook. This manual is a _work in " @@ -50,22 +52,22 @@ msgstr "" "Если вы хотите помочь в работе над этим проектом, напишите на электронную " "почту списка рассылки {freebsd-doc}." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/book.adoc:53 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]." msgstr "" "Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/" "[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных " -"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/" -"[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:" -"{handbook}mirrors/[mirror sites, mirrors]." +"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/[" +"сервера загрузок FreeBSD] или одного из многочисленных зеркал " +"extref:{handbook}mirrors/[mirror sites, mirrors]." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/books/arch-handbook/book.adoc:55 msgid "'''" msgstr "'''" diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.adoc b/documentation/content/ru/books/arch-handbook/boot/_index.adoc index 5b356b42ac..f5a67dedba 100644 --- a/documentation/content/ru/books/arch-handbook/boot/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/boot/_index.adoc @@ -4,7 +4,7 @@ next: books/arch-handbook/locking params: path: /books/arch-handbook/boot/ prev: books/arch-handbook/parti -showBookMenu: true +showBookMenu: 'true' tags: ["boot", "BIOS", "kernel", "MBR", "FreeBSD"] title: 'Глава 1. Начальная загрузка и инициализация ядра' weight: 2 diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.po b/documentation/content/ru/books/arch-handbook/boot/_index.po index 171dbcf2b3..f013cc2bb5 100644 --- a/documentation/content/ru/books/arch-handbook/boot/_index.po +++ b/documentation/content/ru/books/arch-handbook/boot/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-10-14 22:43+0300\n" +"POT-Creation-Date: 2025-05-01 19:56-0300\n" "PO-Revision-Date: 2025-07-02 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian boot`." @@ -1819,12 +1826,12 @@ msgid "" "in the next section." msgstr "" "Итак, [.filename]#boot1# занимает ровно первые 512 байт [.filename]#boot#, " -"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, " -"[.filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` " -"читает первые 16 секторов слайса FreeBSD, он фактически читает весь файл " -"[.filename]#boot# footnote:[512*16=8192 байта, ровно размер boot]. Более " -"подробно о том, как [.filename]#boot# формируется из [.filename]#boot1# и " -"[.filename]#boot2#, мы увидим в следующем разделе." +"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, [" +".filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` " +"читает первые 16 секторов слайса FreeBSD, он фактически читает весь файл [." +"filename]#boot# footnote:[512*16=8192 байта, ровно размер boot]. Более " +"подробно о том, как [.filename]#boot# формируется из [.filename]#boot1# и [." +"filename]#boot2#, мы увидим в следующем разделе." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:713 @@ -1840,10 +1847,10 @@ msgstr "" "Напомним, что `nread` использует адрес памяти `0x8c00` в качестве буфера " "передачи для хранения прочитанных секторов. Этот адрес выбран не случайно. " "Действительно, поскольку [.filename]#boot1# принадлежит первым 512 байтам, " -"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт " -"(диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:" -"[Исторически известной как disklabel. Если вам когда-либо было интересно, " -"где FreeBSD хранит эту информацию, она находится в этой области — см. " +"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт (" +"диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:[" +"Исторически известной как disklabel. Если вам когда-либо было интересно, где " +"FreeBSD хранит эту информацию, она находится в этой области — см. " "man:bsdlabel[8]]." #. type: Plain text @@ -1990,11 +1997,11 @@ msgid "" "`0x9010`, the entry point of the BTX server." msgstr "" "[.filename]#boot1# загружает первые 16 секторов среза FreeBSD по адресу " -"`0x8c00`. Эти 16 секторов, или 8192 байта, представляют собой весь файл " -"[.filename]#boot#. Файл является объединением [.filename]#boot1# и " -"[.filename]#boot2#. [.filename]#boot2#, в свою очередь, содержит сервер BTX " -"и клиент [.filename]#boot2#. Наконец, выполняется переход по адресу " -"`0x9010`, точке входа сервера BTX." +"`0x8c00`. Эти 16 секторов, или 8192 байта, представляют собой весь файл [." +"filename]#boot#. Файл является объединением [.filename]#boot1# и [." +"filename]#boot2#. [.filename]#boot2#, в свою очередь, содержит сервер BTX и " +"клиент [.filename]#boot2#. Наконец, выполняется переход по адресу `0x9010`, " +"точке входа сервера BTX." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:770 @@ -2006,10 +2013,9 @@ msgid "" "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 @@ -2036,8 +2042,8 @@ msgid "" "simple:" msgstr "" "Это говорит нам, что [.filename]#boot1# и [.filename]#boot2# необходимы, и " -"правило просто объединяет их для создания одного файла с именем " -"[.filename]#boot#. Правила для создания [.filename]#boot1# также довольно " +"правило просто объединяет их для создания одного файла с именем [." +"filename]#boot#. Правила для создания [.filename]#boot1# также довольно " "просты:" #. type: delimited block . 4 @@ -2058,7 +2064,8 @@ 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 @@ -2082,18 +2089,18 @@ msgid "" "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# необходимо собрать [." +"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` указывает на " -"удаление всей информации о перемещении и символов; `-O binary` указывает " -"формат вывода, то есть простой, неформатированный двоичный файл." +"правило создания [.filename]#boot1.out#. Оно указывает, что [.filename]#boot1" +".o# должен быть скомпонован с точкой входа `start` и начальным адресом " +"`0x7c00`. Наконец, [.filename]#boot1# создается из [.filename]#boot1.out# " +"применением соответствующего правила. Это команда [.filename]#objcopy#, " +"применяемая к [.filename]#boot1.out#. Обратите внимание на флаги, " +"передаваемые [.filename]#objcopy#: `-S` указывает на удаление всей " +"информации о перемещении и символов; `-O binary` указывает формат вывода, то " +"есть простой, неформатированный двоичный файл." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:801 @@ -2157,7 +2164,8 @@ 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 @@ -2173,7 +2181,8 @@ 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" @@ -2224,8 +2233,8 @@ msgid "" msgstr "" "Отметим, что изначально файл заголовка [.filename]#boot2.h# отсутствует, но " "его создание зависит от [.filename]#boot1.out#, который у нас уже есть. " -"Правило его создания немного лаконично, но важно то, что результат, " -"[.filename]#boot2.h#, выглядит примерно так:" +"Правило его создания немного лаконично, но важно то, что результат, [." +"filename]#boot2.h#, выглядит примерно так:" #. type: delimited block . 4 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:851 @@ -2253,13 +2262,12 @@ msgid "" msgstr "" "Напомним, что [.filename]#boot1# был перемещён (т.е. скопирован из `0x7c00` " "в `0x700`). Это перемещение теперь обретает смысл, потому что, как мы " -"увидим, сервер BTX освобождает часть памяти, включая область, куда " -"[.filename]#boot1# был изначально загружен. Однако серверу BTX необходим " -"доступ к функции `xread` из [.filename]#boot1#; согласно выводу " -"[.filename]#boot2.h#, эта функция находится по адресу `0x725`. " -"Действительно, сервер BTX использует функцию `xread` из перемещённого кода " -"[.filename]#boot1#. Теперь эта функция доступна из клиента " -"[.filename]#boot2#." +"увидим, сервер BTX освобождает часть памяти, включая область, куда [." +"filename]#boot1# был изначально загружен. Однако серверу BTX необходим " +"доступ к функции `xread` из [.filename]#boot1#; согласно выводу [." +"filename]#boot2.h#, эта функция находится по адресу `0x725`. Действительно, " +"сервер BTX использует функцию `xread` из перемещённого кода [." +"filename]#boot1#. Теперь эта функция доступна из клиента [.filename]#boot2#." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:868 @@ -2284,11 +2292,11 @@ msgstr "" "выполнения по адресу `0x2000` (${ORG2}). Напомним, что [.filename]#boot2# " "будет выполняться в пользовательском режиме внутри специального " "пользовательского сегмента, созданного сервером BTX. Этот сегмент начинается " -"с адреса `0xa000`. Также помните, что часть [.filename]#boot2# в " -"[.filename]#boot# была скопирована по адресу `0xc000`, то есть со смещением " +"с адреса `0xa000`. Также помните, что часть [.filename]#boot2# в [." +"filename]#boot# была скопирована по адресу `0xc000`, то есть со смещением " "`0x2000` от начала пользовательского сегмента, поэтому [.filename]#boot2# " -"будет работать корректно при передаче управления на него. Далее, " -"[.filename]#boot2.bin# создается из [.filename]#boot2.out# путем удаления " +"будет работать корректно при передаче управления на него. Далее, [." +"filename]#boot2.bin# создается из [.filename]#boot2.out# путем удаления " "символов и информации о формате; boot2.bin представляет собой _сырой_ " "бинарный файл. Теперь обратите внимание, что файл [.filename]#boot2.ldr# " "создается как 512-байтный файл, заполненный нулями. Это пространство " @@ -2306,14 +2314,13 @@ msgid "" "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# со своим " +"набором правил для сборки. Важно отметить, что он также компилируется как " +"_сырой_ бинарный файл и линкуется для выполнения по адресу `0x9000`. " +"Подробности можно найти в [.filename]#stand/i386/btx/btx/Makefile#." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:880 @@ -2335,11 +2342,11 @@ msgstr "" "названием [.filename]#btxld# (исходный код расположен в [.filename]#/usr/src/" "usr.sbin/btxld#). Некоторые аргументы этой программы включают имя выходного " "файла ([.filename]#boot#), его точку входа (`0x2000`) и формат файла " -"(бинарный). Различные файлы окончательно объединяются этой утилитой в файл " -"[.filename]#boot#, который состоит из [.filename]#boot1#, " -"[.filename]#boot2#, `bsdlabel` и сервера BTX. Этот файл, занимающий ровно 16 " -"секторов или 8192 байта, записывается в начало раздела FreeBSD во время " -"установки. Теперь перейдем к изучению программы сервера BTX." +"(бинарный). Различные файлы окончательно объединяются этой утилитой в файл [." +"filename]#boot#, который состоит из [.filename]#boot1#, [.filename]#boot2#, " +"`bsdlabel` и сервера BTX. Этот файл, занимающий ровно 16 секторов или 8192 " +"байта, записывается в начало раздела FreeBSD во время установки. Теперь " +"перейдем к изучению программы сервера BTX." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:883 @@ -2412,12 +2419,11 @@ msgid "" "has a special header at address range `0x9000-0x900f`, right before its " "entry point. This header is defined as follows:" msgstr "" -"Приступим к изучению фактической реализации. Напомним, что " -"[.filename]#boot1# выполнил переход на адрес `0x9010` — точку входа сервера " -"BTX. Прежде чем изучать выполнение программы там, обратите внимание, что " -"сервер BTX имеет специальный заголовок в диапазоне адресов `0x9000-0x900f`, " -"непосредственно перед точкой входа. Этот заголовок определён следующим " -"образом:" +"Приступим к изучению фактической реализации. Напомним, что [.filename]#boot1#" +" выполнил переход на адрес `0x9010` — точку входа сервера BTX. Прежде чем " +"изучать выполнение программы там, обратите внимание, что сервер BTX имеет " +"специальный заголовок в диапазоне адресов `0x9000-0x900f`, непосредственно " +"перед точкой входа. Этот заголовок определён следующим образом:" #. type: delimited block . 4 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:915 @@ -2469,10 +2475,10 @@ msgid "" msgstr "" "Обратите внимание, что первые два байта — это `0xeb` и `0xe`. В архитектуре " "IA-32 эти два байта интерпретируются как относительный переход за заголовок " -"к точке входа, поэтому теоретически [.filename]#boot1# мог бы перейти сюда " -"(адрес `0x9000`) вместо адреса `0x9010`. Обратите внимание, что последнее " -"поле в заголовке BTX — это указатель на точку входа клиента " -"([.filename]#boot2#)b2. Это поле исправляется во время компоновки." +"к точке входа, поэтому теоретически [.filename]#boot1# мог бы перейти сюда (" +"адрес `0x9000`) вместо адреса `0x9010`. Обратите внимание, что последнее " +"поле в заголовке BTX — это указатель на точку входа клиента ([." +"filename]#boot2#)b2. Это поле исправляется во время компоновки." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:924 @@ -2759,8 +2765,8 @@ msgstr "" "только дескрипторы для векторов прерываний `0x30`, `0x31` и `0x32` имеют " "уровень привилегий 3, такой же, как у клиента [.filename]#boot2#, что " "означает, что клиент может выполнить программно-генерируемое прерывание к " -"этим векторам через инструкцию `int` без ошибки (это способ, которым " -"[.filename]#boot2# использует сервисы, предоставляемые сервером BTX). Также " +"этим векторам через инструкцию `int` без ошибки (это способ, которым [." +"filename]#boot2# использует сервисы, предоставляемые сервером BTX). Также " "обратите внимание, что _только_ программно-генерируемые прерывания защищены " "от кода, выполняющегося на более низких уровнях привилегий. Аппаратно-" "генерируемые прерывания и исключения, генерируемые процессором, _всегда_ " @@ -2931,8 +2937,8 @@ msgid "" msgstr "" "Наш последний блок кода отвечает за загрузку TR (Регистра Задач) с " "селектором сегмента для TSS, который мы создали ранее, и настройку окружения " -"пользовательского режима перед передачей управления исполнения клиенту " -"[.filename]#boot2#." +"пользовательского режима перед передачей управления исполнения клиенту [." +"filename]#boot2#." #. type: delimited block . 4 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:1123 @@ -3181,14 +3187,13 @@ msgid "" msgstr "" "`boot2` входит в бесконечный цикл, ожидая ввода пользователя, затем вызывает " "`load()`. Если пользователь ничего не нажимает, цикл прерывается по " -"таймауту, и `load()` загружает файл по умолчанию ([.filename]#/boot/" -"loader#). Функции `ino_t lookup(char *filename)` и `int xfsread(ino_t inode, " -"void *buf, size_t nbyte)` используются для чтения содержимого файла в " -"память. [.filename]#/boot/loader# — это ELF-бинарный файл, но с заголовком " -"ELF, перед которым добавлена структура `struct exec` из [.filename]#a.out#. " -"`load()` анализирует ELF-заголовок загрузчика, загружает содержимое " -"[.filename]#/boot/loader# в память и передаёт управление на точку входа " -"загрузчика:" +"таймауту, и `load()` загружает файл по умолчанию ([.filename]#/boot/loader#)" +". Функции `ino_t lookup(char *filename)` и `int xfsread(ino_t inode, void *" +"buf, size_t nbyte)` используются для чтения содержимого файла в память. [." +"filename]#/boot/loader# — это ELF-бинарный файл, но с заголовком ELF, перед " +"которым добавлена структура `struct exec` из [.filename]#a.out#. `load()` " +"анализирует ELF-заголовок загрузчика, загружает содержимое [.filename]#/boot/" +"loader# в память и передаёт управление на точку входа загрузчика:" #. type: delimited block . 4 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:1201 @@ -3275,8 +3280,10 @@ msgid "" "\n" msgstr "" "/usr/obj/usr/src/i386.i386/sys/GENERIC/kernel.meta:\n" -"ld -m elf_i386_fbsd -Bdynamic -T /usr/src/sys/conf/ldscript.i386 --build-id=sha1 --no-warn-mismatch \\\n" -"--warn-common --export-dynamic --dynamic-linker /red/herring -X -o kernel locore.o\n" +"ld -m elf_i386_fbsd -Bdynamic -T /usr/src/sys/conf/ldscript.i386 --build-" +"id=sha1 --no-warn-mismatch \\\n" +"--warn-common --export-dynamic --dynamic-linker /red/herring -X -o kernel " +"locore.o\n" "\n" #. type: Plain text @@ -3312,8 +3319,8 @@ msgid "" "says that a kernel's entry point is the symbol `btext`. This symbol is " *** 3825 LINES SKIPPED ***