git: c0ce4b4861 - main - update translation of books/arch-handbook to Russian
Vladlen Popolitov <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.doc |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=c0ce4b4861e07028ed289a510bf966cf242b4deb commit c0ce4b4861e07028ed289a510bf966cf242b4deb Author: Vladlen Popolitov <[email protected]> AuthorDate: 2026-03-15 12:00:55 +0000 Commit: Vladlen Popolitov <[email protected]> CommitDate: 2026-03-15 12:00:55 +0000 update translation of books/arch-handbook to Russian Differential Revision: https://reviews.freebsd.org/D55723 --- .../ru/books/arch-handbook/boot/_index.adoc | 20 +- .../content/ru/books/arch-handbook/boot/_index.po | 34 +-- .../books/arch-handbook/driverbasics/_index.adoc | 2 +- .../ru/books/arch-handbook/driverbasics/_index.po | 4 +- .../content/ru/books/arch-handbook/isa/_index.adoc | 6 +- .../content/ru/books/arch-handbook/isa/_index.po | 10 +- .../ru/books/arch-handbook/jail/_index.adoc | 8 +- .../content/ru/books/arch-handbook/jail/_index.po | 26 +- .../ru/books/arch-handbook/kobj/_index.adoc | 2 +- .../content/ru/books/arch-handbook/kobj/_index.po | 10 +- .../content/ru/books/arch-handbook/mac/_index.adoc | 262 ++++++++++----------- .../content/ru/books/arch-handbook/mac/_index.po | 130 +++++----- .../ru/books/arch-handbook/pccard/_index.adoc | 4 +- .../ru/books/arch-handbook/pccard/_index.po | 10 +- .../ru/books/arch-handbook/scsi/_index.adoc | 14 +- .../content/ru/books/arch-handbook/scsi/_index.po | 18 +- .../content/ru/books/arch-handbook/smp/_index.adoc | 16 +- .../content/ru/books/arch-handbook/smp/_index.po | 38 +-- .../ru/books/arch-handbook/sysinit/_index.adoc | 2 +- .../ru/books/arch-handbook/sysinit/_index.po | 6 +- .../content/ru/books/arch-handbook/usb/_index.adoc | 6 +- .../content/ru/books/arch-handbook/usb/_index.po | 12 +- .../content/ru/books/arch-handbook/vm/_index.adoc | 6 +- .../content/ru/books/arch-handbook/vm/_index.po | 8 +- 24 files changed, 327 insertions(+), 327 deletions(-) diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.adoc b/documentation/content/ru/books/arch-handbook/boot/_index.adoc index 43dacd74c7..abfcf1feaa 100644 --- a/documentation/content/ru/books/arch-handbook/boot/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/boot/_index.adoc @@ -53,7 +53,7 @@ endif::[] ÐÑа глава пÑедÑÑавлÑÐµÑ Ñобой Ð¾Ð±Ð·Ð¾Ñ Ð¿ÑоÑеÑÑов загÑÑзки и иниÑиализаÑии ÑиÑÑемÑ, наÑÐ¸Ð½Ð°Ñ Ñ POST в BIOS (микÑопÑогÑамме) и заканÑÐ¸Ð²Ð°Ñ Ñозданием пеÑвого полÑзоваÑелÑÑкого пÑоÑеÑÑа. ÐоÑколÑÐºÑ Ð½Ð°ÑалÑнÑе ÑÑÐ°Ð¿Ñ Ð·Ð°Ð³ÑÑзки ÑиÑÑÐµÐ¼Ñ ÑилÑно завиÑÑÑ Ð¾Ñ Ð°ÑÑ Ð¸ÑекÑÑÑÑ, в каÑеÑÑве пÑимеÑа иÑполÑзÑеÑÑÑ Ð°ÑÑ Ð¸ÑекÑÑÑа IA-32. Ðднако аÑÑ Ð¸ÑекÑÑÑÑ AMD64 и ARM64 гоÑаздо важнее и инÑеÑеÑнее, и Ð¸Ñ ÑледÑÐµÑ ÑаÑÑмоÑÑеÑÑ Ð² ближайÑем бÑдÑÑем в ÑооÑвеÑÑÑвии Ñ Ñемой ÑÑого докÑмРµÐ½Ñа. -ÐÑоÑеÑÑ Ð·Ð°Ð³ÑÑзки FreeBSD Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑдивиÑелÑно ÑложнÑм. ÐоÑле пеÑедаÑи ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ BIOS Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ вÑполниÑÑ Ð·Ð½Ð°ÑиÑелÑнÑй обÑем низкоÑÑовневой наÑÑÑойки пеÑед загÑÑзкой и вÑполнением ÑдÑа. ÐÑа наÑÑÑойка должна бÑÑÑ Ð²Ñполнена пÑоÑÑÑм и гибким ÑпоÑобом, пÑедоÑÑавлÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ ÑиÑокие возможноÑÑи Ð´Ð»Ñ Ð½Ð°ÑÑÑойки и адапÑаÑии. +ÐÑоÑеÑÑ Ð·Ð°Ð³ÑÑзки FreeBSD Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑдивиÑелÑно ÑложнÑм. ÐоÑле пеÑедаÑи ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ BIOS Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ вÑполниÑÑ Ð·Ð½Ð°ÑиÑелÑнÑй обÑÑм низкоÑÑовневой наÑÑÑойки пеÑед загÑÑзкой и вÑполнением ÑдÑа. ÐÑа наÑÑÑойка должна бÑÑÑ Ð²Ñполнена пÑоÑÑÑм и гибким ÑпоÑобом, пÑедоÑÑавлÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ ÑиÑокие возможноÑÑи Ð´Ð»Ñ Ð½Ð°ÑÑÑойки и адапÑаÑии. [[boot-overview]] == ÐÐ±Ð·Ð¾Ñ @@ -131,9 +131,9 @@ FreeBSD clang version 11.0.1 ([email protected]:llvm/llvm-project.git llvmorg-11.0. ÐнаÑение `0xfffffff0` немного менÑÑе 4 ÐÐ, поÑÑомÑ, еÑли в маÑине Ð½ÐµÑ 4 ÐÐ ÑизиÑеÑкой памÑÑи, оно не Ð¼Ð¾Ð¶ÐµÑ ÑказÑваÑÑ Ð½Ð° дейÑÑвиÑелÑнÑй адÑÐµÑ Ð¿Ð°Ð¼ÑÑи. ÐппаÑаÑное обеÑпеÑение компÑÑÑеÑа пÑеобÑазÑÐµÑ ÑÑÐ¾Ñ Ð°Ð´ÑÐµÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð½ ÑказÑвал на блок памÑÑи BIOS. -BIOS (Basic Input Output System) â ÑÑо микÑоÑÑ ÐµÐ¼Ð° на маÑеÑинÑкой плаÑе, коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾ÑноÑиÑелÑно неболÑÑой обÑем памÑÑи ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ (ROM). ÐÑа памÑÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑазлиÑнÑе низкоÑÑовневÑе пÑоÑедÑÑÑ, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ Ð¾Ð±Ð¾ÑÑдованиÑ, поÑÑавлÑемого Ñ Ð¼Ð°ÑеÑинÑкой плаÑой. ÐÑоÑеÑÑÐ¾Ñ ÑнаÑала пеÑÐµÑ Ð¾Ð´Ð¸Ñ Ð¿Ð¾ адÑеÑÑ 0xfffffff0, коÑоÑÑй ÑакÑиÑеÑки Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² памÑÑи BIOS. ÐбÑÑно по ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ ÑодеÑжиÑÑÑ Ð¸Ð½ÑÑÑÑкÑÐ¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° к пÑоÑедÑÑам POST BIOS. +BIOS (Basic Input Output System) â ÑÑо микÑоÑÑ ÐµÐ¼Ð° на маÑеÑинÑкой плаÑе, коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾ÑноÑиÑелÑно неболÑÑой обÑÑм памÑÑи ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ (ROM). ÐÑа памÑÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑазлиÑнÑе низкоÑÑовневÑе пÑоÑедÑÑÑ, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ Ð¾Ð±Ð¾ÑÑдованиÑ, поÑÑавлÑемого Ñ Ð¼Ð°ÑеÑинÑкой плаÑой. ÐÑоÑеÑÑÐ¾Ñ ÑнаÑала пеÑÐµÑ Ð¾Ð´Ð¸Ñ Ð¿Ð¾ адÑеÑÑ 0xfffffff0, коÑоÑÑй ÑакÑиÑеÑки Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² памÑÑи BIOS. ÐбÑÑно по ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ ÑодеÑжиÑÑÑ Ð¸Ð½ÑÑÑÑкÑÐ¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° к пÑоÑедÑÑам POST BIOS. -POST (Power On Self Test) â ÑÑо Ð½Ð°Ð±Ð¾Ñ Ð¿ÑоÑедÑÑ, вклÑÑаÑÑÐ¸Ñ Ð¿ÑовеÑÐºÑ Ð¿Ð°Ð¼ÑÑи, пÑовеÑÐºÑ ÑиÑÑемной ÑÐ¸Ð½Ñ Ð¸ дÑÑгÑÑ Ð½Ð¸Ð·ÐºÐ¾ÑÑовневÑÑ Ð¸Ð½Ð¸ÑиализаÑиÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑоÑеÑÑÐ¾Ñ Ð¼Ð¾Ð³ пÑавилÑно наÑÑÑоиÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑ. ÐажнÑм ÑÑапом на ÑÑой ÑÑадии ÑвлÑеÑÑÑ Ð¾Ð¿Ñеделение загÑÑзоÑного ÑÑÑÑойÑÑва. СовÑеменнÑе ÑеализаÑии BIOS позволÑÑÑ Ð²ÑбиÑаÑÑ Ð·Ð°Ð³ÑÑзоÑное ÑÑÑÑойÑÑво, обеÑпеÑÐ¸Ð²Ð°Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ñ Ð´Ð¸ÑкеÑÑ, CD-ROM, жеÑÑкого диÑка или дÑÑÐ³Ð¸Ñ ÑÑÑÑойÑÑв. +POST (Power On Self Test) â ÑÑо Ð½Ð°Ð±Ð¾Ñ Ð¿ÑоÑедÑÑ, вклÑÑаÑÑÐ¸Ñ Ð¿ÑовеÑÐºÑ Ð¿Ð°Ð¼ÑÑи, пÑовеÑÐºÑ ÑиÑÑемной ÑÐ¸Ð½Ñ Ð¸ дÑÑгÑÑ Ð½Ð¸Ð·ÐºÐ¾ÑÑовневÑÑ Ð¸Ð½Ð¸ÑиализаÑиÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑоÑеÑÑÐ¾Ñ Ð¼Ð¾Ð³ пÑавилÑно наÑÑÑоиÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑ. ÐажнÑм ÑÑапом на ÑÑой ÑÑадии ÑвлÑеÑÑÑ Ð¾Ð¿Ñеделение загÑÑзоÑного ÑÑÑÑойÑÑва. СовÑеменнÑе ÑеализаÑии BIOS позволÑÑÑ Ð²ÑбиÑаÑÑ Ð·Ð°Ð³ÑÑзоÑное ÑÑÑÑойÑÑво, обеÑпеÑÐ¸Ð²Ð°Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ñ Ð´Ð¸ÑкеÑÑ, CD-ROM, жÑÑÑкого диÑка или дÑÑÐ³Ð¸Ñ ÑÑÑÑойÑÑв. СамÑм поÑледним дейÑÑвием в POST ÑвлÑеÑÑÑ Ð¸Ð½ÑÑÑÑкÑÐ¸Ñ `INT 0x19`. ÐбÑабоÑÑик `INT 0x19` ÑÑиÑÑÐ²Ð°ÐµÑ 512 Ð±Ð°Ð¹Ñ Ð¸Ð· пеÑвого ÑекÑоÑа загÑÑзоÑного ÑÑÑÑойÑÑва в памÑÑÑ Ð¿Ð¾ адÑеÑÑ `0x7c00`. ТеÑмин _пеÑвÑй ÑекÑоÑ_ пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¸Ð· аÑÑ Ð¸ÑекÑÑÑÑ Ð¶ÑÑÑÐºÐ¸Ñ Ð´Ð¸Ñков, где магниÑÐ½Ð°Ñ Ð¿Ð»Ð°ÑÑина Ñазделена на множеÑÑво ÑилиндÑиÑеÑÐºÐ¸Ñ Ð´Ð¾Ñожек. ÐоÑожки нÑмеÑÑÑÑÑÑ, и ÐºÐ°Ð¶Ð´Ð°Ñ Ð´Ð¾Ñожка Ñазделена на неÑколÑко (обÑÑно 64) ÑекÑоÑов. ÐÑмеÑаÑÐ¸Ñ Ð´Ð¾Ñожек наÑинаеÑÑÑ Ñ 0, но нÑмеÑаÑÐ¸Ñ ÑекÑоÑов на ÑинаеÑÑÑ Ñ 1. ÐоÑожка 0 Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð° внеÑней ÑÑоÑоне магниÑной плаÑÑинÑ, а ÑекÑÐ¾Ñ 1, пеÑвÑй ÑекÑоÑ, Ð¸Ð¼ÐµÐµÑ Ð ¾Ñобое назнаÑение. Ðн Ñакже назÑваеÑÑÑ MBR (Master Boot Record) или ÐÐ»Ð°Ð²Ð½Ð°Ñ ÐагÑÑзоÑÐ½Ð°Ñ ÐапиÑÑ. ÐÑÑалÑнÑе ÑекÑоÑÑ Ð½Ð° пеÑвой доÑожке не иÑполÑзÑÑÑÑÑ. @@ -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. @@ -402,7 +402,7 @@ main: .[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-main]] Ðак и [.filename]#boot0#, ÑÑÐ¾Ñ ÐºÐ¾Ð´ пеÑемеÑÐ°ÐµÑ [.filename]#boot1#, на ÑÑÐ¾Ñ Ñаз по адÑеÑÑ `0x700`. Ðднако, в оÑлиÑие Ð¾Ñ [.filename]#boot0#, он не пеÑÐµÑ Ð¾Ð´Ð¸Ñ ÑÑда. [.filename]#boot1# Ñкомпонован Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ адÑеÑÑ `0x7c00`, ÑакÑиÑеÑки Ñам, кÑда он бÑл изнаÑалÑно загÑÑжен. ÐÑиÑина ÑÑого пеÑемеÑÐµÐ½Ð¸Ñ Ð±ÑÐ´ÐµÑ ÑаÑÑмоÑÑена далее. -Ðалее Ð¸Ð´ÐµÑ Ñикл, коÑоÑÑй иÑÐµÑ ÑÐ»Ð°Ð¹Ñ FreeBSD. ХоÑÑ [.filename]#boot0# загÑÑзил [.filename]#boot1# из ÑлайÑа FreeBSD, ÐµÐ¼Ñ Ð½Ðµ бÑла пеÑедана инÑоÑмаÑÐ¸Ñ Ð¾Ð± ÑÑом footnote:[Ðа Ñамом деле Ð¼Ñ Ð¿ÐµÑедали ÑказаÑÐµÐ»Ñ Ð½Ð° адÑÐµÑ ÑлайÑа в ÑегиÑÑÑе %si. Ðднако boot1 не пÑедполагаеÑ, ÑÑо он бÑл загÑÑжен boot0 (возможно, его загÑÑзил дÑÑгой MBR и не пеÑедал ÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ), поÑÑÐ¾Ð¼Ñ Ð¾Ð½ ниÑего не пÑедполагаеÑ.], поÑÑÐ¾Ð¼Ñ [.filename]#boot1# должен повÑоÑно пÑоÑканиÑоваÑÑ ÑаблиÑÑ Ñазделов, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи наÑало ÑлайÑа FreeBSD. ÐÐ»Ñ ÑÑого он пеÑеÑиÑÑÐ²Ð°ÐµÑ MBR: +Ðалее идÑÑ Ñикл, коÑоÑÑй иÑÐµÑ ÑÐ»Ð°Ð¹Ñ FreeBSD. ХоÑÑ [.filename]#boot0# загÑÑзил [.filename]#boot1# из ÑлайÑа FreeBSD, ÐµÐ¼Ñ Ð½Ðµ бÑла пеÑедана инÑоÑмаÑÐ¸Ñ Ð¾Ð± ÑÑом footnote:[Ðа Ñамом деле Ð¼Ñ Ð¿ÐµÑедали ÑказаÑÐµÐ»Ñ Ð½Ð° адÑÐµÑ ÑлайÑа в ÑегиÑÑÑе %si. Ðднако boot1 не пÑедполагаеÑ, ÑÑо он бÑл загÑÑжен boot0 (возможно, его загÑÑзил дÑÑгой MBR и не пеÑедал ÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ), поÑÑÐ¾Ð¼Ñ Ð¾Ð½ ниÑего не пÑедполагаеÑ.], поÑÑÐ¾Ð¼Ñ [.filename]#boot1# должен повÑоÑно пÑоÑканиÑоваÑÑ ÑаблиÑÑ Ñазделов, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи наÑало ÑлайÑа FreeBSD. ÐÐ»Ñ ÑÑого он пеÑеÑиÑÑÐ²Ð°ÐµÑ MBR: [.programlisting] .... @@ -426,7 +426,7 @@ main: .... .[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]] -Ð ÑаÑÑноÑÑи, LBA Ð´Ð»Ñ ÑÑой ÑикÑивной Ñаздела жеÑÑко закодиÑован как нолÑ. ÐÑо иÑполÑзÑеÑÑÑ ÐºÐ°Ðº аÑгÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ BIOS пÑи ÑÑении абÑолÑÑного ÑекÑоÑа один Ñ Ð¶ÐµÑÑкого диÑка. ÐлÑÑеÑнаÑивно, Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð°Ð´ÑеÑаÑÐ¸Ñ CHS. Ð ÑÑом ÑлÑÑае, ÑикÑивнÑй Ñаздел ÑодеÑÐ¶Ð¸Ñ ÑÐ¸Ð»Ð¸Ð½Ð´Ñ 0, Ð³Ð¾Ð»Ð¾Ð²ÐºÑ 0 и ÑекÑÐ¾Ñ 1, ÑÑо ÑквиваленÑно абÑолÑÑÐ½Ð¾Ð¼Ñ ÑекÑоÑÑ Ð¾Ð´Ð¸Ð½. +Ð ÑаÑÑноÑÑи, LBA Ð´Ð»Ñ ÑÑой ÑикÑивной Ñаздела жÑÑÑко закодиÑован как нолÑ. ÐÑо иÑполÑзÑеÑÑÑ ÐºÐ°Ðº аÑгÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ BIOS пÑи ÑÑении абÑолÑÑного ÑекÑоÑа один Ñ Ð¶ÑÑÑкого диÑка. Ðли же Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð°Ð´ÑеÑаÑÐ¸Ñ CHS. Ð ÑÑом ÑлÑÑае ÑикÑивнÑй Ñаздел ÑодеÑÐ¶Ð¸Ñ ÑÐ¸Ð»Ð¸Ð½Ð´Ñ 0, Ð³Ð¾Ð»Ð¾Ð²ÐºÑ 0 и ÑекÑÐ¾Ñ 1, ÑÑо ÑквиваленÑно абÑолÑÑÐ½Ð¾Ð¼Ñ ÑекÑоÑÑ Ð¾Ð´Ð¸Ð½. ÐÑодолжим, ÑаÑÑмоÑÑев `nread`: @@ -802,7 +802,7 @@ init.8: xorl %ecx,%ecx # Zero .... .[.filename]#stand/i386/btx/btx/btx.S# [[btx-prot]] -СнаÑала вÑзÑваеÑÑÑ `setpic` Ð´Ð»Ñ Ð¿ÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ 8259A PIC (пÑогÑаммиÑÑемого конÑÑоллеÑа пÑеÑÑваний). ÐÑÐ¾Ñ Ñип подклÑÑен к неÑколÑким иÑÑоÑникам аппаÑаÑнÑÑ Ð¿ÑеÑÑваний. ÐÑи полÑÑении пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ ÑÑÑÑойÑÑва он ÑигнализиÑÑÐµÑ Ð¿ÑоÑеÑÑоÑÑ ÑооÑвеÑÑÑвÑÑÑим векÑоÑом пÑеÑÑваниÑ. ÐÑо можно наÑÑÑоиÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделеннÑе пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð±Ñли ÑвÑÐ·Ð°Ð½Ñ Ñ ÐºÐ¾Ð½ÐºÑеÑнÑми векÑоÑами пÑеÑÑваний, как обÑÑÑнÑлоÑÑ Ñанее. ÐаÑем ÑегиÑÑÑÑ IDTR (Interrupt Descriptor Table Register) и GDTR (Global Descriptor Table Register) загÑÑжаÑÑÑÑ Ð¸Ð½ÑÑÑÑкÑиÑми `lidt` и `lgdt` ÑооÑвеÑÑÑвенно. ÐÑи ÑегиÑÑÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð±Ð °Ð·Ð¾Ð²Ñм адÑеÑом и пÑеделÑнÑм адÑеÑом Ð´Ð»Ñ IDT и GDT. СледÑÑÑие ÑÑи инÑÑÑÑкÑии ÑÑÑанавливаÑÑ Ð±Ð¸Ñ Protection Enable (PE) в ÑегиÑÑÑе `%cr0`. ÐÑо ÑакÑиÑеÑки пеÑеклÑÑÐ°ÐµÑ Ð¿ÑоÑеÑÑÐ¾Ñ Ð² 32-биÑнÑй заÑиÑеннÑй Ñежим. ÐаÑем вÑполнÑеÑÑÑ Ð´Ð°Ð»Ñний пеÑÐµÑ Ð¾Ð´ на `init.8` Ñ Ð¸ÑполÑзованием ÑелекÑоÑа ÑегменÑа SEL_SCODE, коÑоÑÑй вÑбиÑÐ°ÐµÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð´Ð° ÑÑпеÑвизоÑа (Supervisor Code Segment). ÐоÑле ÑÑого пеÑÐµÑ Ð¾Ð´Ð° пÑоÑеÑÑÐ¾Ñ ÑакÑиÑеÑки ÑабоÑÐ°ÐµÑ Ð½Ð° ÑÑовне CPL 0 â наиболее пÑивилегиÑованном ÑÑовне. Ðако неÑ, Ð´Ð»Ñ ÑÑека вÑбиÑаеÑÑÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑпеÑвизоÑа (Supervisor Data Segment) пÑÑем пÑиÑÐ²Ð¾ÐµÐ½Ð¸Ñ ÑелекÑоÑа ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð° SEL_SDATA ÑегиÑÑÑÑ `%ss`. ÐÑÐ¾Ñ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ Ñакже Ð¸Ð¼ÐµÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿Ñивилегий `0`. +СнаÑала вÑзÑваеÑÑÑ `setpic` Ð´Ð»Ñ Ð¿ÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ 8259A PIC (пÑогÑаммиÑÑемого конÑÑоллеÑа пÑеÑÑваний). ÐÑÐ¾Ñ Ñип подклÑÑен к неÑколÑким иÑÑоÑникам аппаÑаÑнÑÑ Ð¿ÑеÑÑваний. ÐÑи полÑÑении пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ ÑÑÑÑойÑÑва он ÑигнализиÑÑÐµÑ Ð¿ÑоÑеÑÑоÑÑ ÑооÑвеÑÑÑвÑÑÑим векÑоÑом пÑеÑÑваниÑ. ÐÑо можно наÑÑÑоиÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделÑннÑе пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð±Ñли ÑвÑÐ·Ð°Ð½Ñ Ñ ÐºÐ¾Ð½ÐºÑеÑнÑми векÑоÑами пÑеÑÑваний, как обÑÑÑнÑлоÑÑ Ñанее. ÐаÑем ÑегиÑÑÑÑ IDTR (Interrupt Descriptor Table Register) и GDTR (Global Descriptor Table Register) загÑÑжаÑÑÑÑ Ð¸Ð½ÑÑÑÑкÑиÑми `lidt` и `lgdt` ÑооÑвеÑÑÑвенно. ÐÑи ÑегиÑÑÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð±Ð °Ð·Ð¾Ð²Ñм адÑеÑом и пÑеделÑнÑм адÑеÑом Ð´Ð»Ñ IDT и GDT. СледÑÑÑие ÑÑи инÑÑÑÑкÑии ÑÑÑанавливаÑÑ Ð±Ð¸Ñ Protection Enable (PE) в ÑегиÑÑÑе `%cr0`. ÐÑо ÑакÑиÑеÑки пеÑеклÑÑÐ°ÐµÑ Ð¿ÑоÑеÑÑÐ¾Ñ Ð² 32-биÑнÑй заÑиÑеннÑй Ñежим. ÐаÑем вÑполнÑеÑÑÑ Ð´Ð°Ð»Ñний пеÑÐµÑ Ð¾Ð´ на `init.8` Ñ Ð¸ÑполÑзованием ÑелекÑоÑа ÑегменÑа SEL_SCODE, коÑоÑÑй вÑбиÑÐ°ÐµÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð´Ð° ÑÑпеÑвизоÑа (Supervisor Code Segment). ÐоÑле ÑÑого пеÑÐµÑ Ð¾Ð´Ð° пÑоÑеÑÑÐ¾Ñ ÑакÑиÑеÑки ÑабоÑÐ°ÐµÑ Ð½Ð° ÑÑовне CPL 0 â наиболее пÑивилегиÑованном ÑÑовне. Ðако неÑ, Ð´Ð»Ñ ÑÑека вÑбиÑаеÑÑÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑпеÑвизоÑа (Supervisor Data Segment) пÑÑем пÑиÑÐ²Ð¾ÐµÐ½Ð¸Ñ ÑелекÑоÑа ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð° SEL_SDATA ÑегиÑÑÑÑ `%ss`. ÐÑÐ¾Ñ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ Ñакже Ð¸Ð¼ÐµÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿Ñивилегий `0`. ÐÐ°Ñ Ð¿Ð¾Ñледний блок кода оÑвеÑÐ°ÐµÑ Ð·Ð° загÑÑÐ·ÐºÑ TR (РегиÑÑÑа ÐадаÑ) Ñ ÑелекÑоÑом ÑегменÑа Ð´Ð»Ñ TSS, коÑоÑÑй Ð¼Ñ Ñоздали Ñанее, и наÑÑÑÐ¾Ð¹ÐºÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого Ñежима пеÑед пеÑедаÑей ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ [.filename]#boot2#. @@ -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] .... @@ -1064,7 +1064,7 @@ sys/kern/subr_param.c: Sysctl `kern.hz` пÑедÑÑавлÑÐµÑ Ñобой ÑÐ°ÐºÑ ÑиÑÑемнÑÑ ÑаÑов. ÐÑоме Ñого, ÑÑи паÑамеÑÑÑ sysctl ÑÑÑанавливаÑÑÑÑ ÑÑнкÑией `init_param1()`: `kern.maxswzone, kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.maxdsiz, kern.dflssiz, kern.maxssiz, kern.sgrowsiz`. ÐаÑем `init386()` подгоÑÐ°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐлобалÑнÑÑ Ð¢Ð°Ð±Ð»Ð¸ÑÑ ÐеÑкÑипÑоÑов -(GDT). ÐÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð´Ð°Ñа на x86 вÑполнÑеÑÑÑ Ð² Ñвоем ÑобÑÑвенном виÑÑÑалÑном +(GDT). ÐÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð´Ð°Ñа на x86 вÑполнÑеÑÑÑ Ð² ÑвоÑм ÑобÑÑвенном виÑÑÑалÑном адÑеÑном пÑоÑÑÑанÑÑве, и ÑÑо пÑоÑÑÑанÑÑво адÑеÑÑеÑÑÑ Ð¿Ð°Ñой ÑегменÑ:ÑмеÑение. ÐапÑимеÑ, еÑли ÑекÑÑÐ°Ñ Ð¸Ð½ÑÑÑÑкÑиÑ, коÑоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ вÑполниÑÑ Ð¿ÑоÑеÑÑоÑ, Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¿Ð¾ адÑеÑÑ CS:EIP, Ñо линейнÑй виÑÑÑалÑнÑй @@ -1145,7 +1145,7 @@ sys/i386/i386/machdep.c: #endif .... -Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (TSS) â ÑÑо еÑе одна ÑÑÑÑкÑÑÑа заÑиÑенного Ñежима x86, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¾Ð±Ð¾ÑÑдованием Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о задаÑе пÑи пеÑеклÑÑении задаÑ. +Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (TSS) â ÑÑо еÑÑ Ð¾Ð´Ð½Ð° ÑÑÑÑкÑÑÑа заÑиÑенного Ñежима x86, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¾Ð±Ð¾ÑÑдованием Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о задаÑе пÑи пеÑеклÑÑении задаÑ. ÐокалÑÐ½Ð°Ñ ÑаблиÑа деÑкÑипÑоÑов (LDT) иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑÑÑлки на код и даннÑе полÑзоваÑелÑÑкого пÑоÑÑÑанÑÑва. ÐпÑеделено неÑколÑко ÑелекÑоÑов, ÑказÑваÑÑÐ¸Ñ Ð½Ð° LDT, вклÑÑÐ°Ñ ÑлÑÐ·Ñ ÑиÑÑемнÑÑ Ð²Ñзовов, а Ñакже ÑелекÑоÑÑ ÐºÐ¾Ð´Ð° и даннÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ: diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.po b/documentation/content/ru/books/arch-handbook/boot/_index.po index 863c740fc1..8d2920051f 100644 --- a/documentation/content/ru/books/arch-handbook/boot/_index.po +++ b/documentation/content/ru/books/arch-handbook/boot/_index.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. -# Vladlen Popolitov <[email protected]>, 2025. +# Vladlen Popolitov <[email protected]>, 2025, 2026. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-12 04:45+0000\n" +"PO-Revision-Date: 2026-03-05 04:45+0000\n" "Last-Translator: Vladlen Popolitov <[email protected]>\n" "Language-Team: Russian <https://translate-dev.freebsd.org/projects/" "documentation/booksarch-handbookboot_index/ru/>\n" @@ -65,7 +65,7 @@ msgid "" "customization possibilities." msgstr "" "ÐÑоÑеÑÑ Ð·Ð°Ð³ÑÑзки FreeBSD Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑдивиÑелÑно ÑложнÑм. ÐоÑле пеÑедаÑи " -"ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ BIOS Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ вÑполниÑÑ Ð·Ð½Ð°ÑиÑелÑнÑй обÑем низкоÑÑовневой " +"ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ BIOS Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ вÑполниÑÑ Ð·Ð½Ð°ÑиÑелÑнÑй обÑÑм низкоÑÑовневой " "наÑÑÑойки пеÑед загÑÑзкой и вÑполнением ÑдÑа. ÐÑа наÑÑÑойка должна бÑÑÑ " "вÑполнена пÑоÑÑÑм и гибким ÑпоÑобом, пÑедоÑÑавлÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ ÑиÑокие " "возможноÑÑи Ð´Ð»Ñ Ð½Ð°ÑÑÑойки и адапÑаÑии." @@ -333,9 +333,9 @@ msgid "" "jump instruction to the BIOS's POST routines." msgstr "" "BIOS (Basic Input Output System) â ÑÑо микÑоÑÑ ÐµÐ¼Ð° на маÑеÑинÑкой плаÑе, " -"коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾ÑноÑиÑелÑно неболÑÑой обÑем памÑÑи ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ " -"(ROM). ÐÑа памÑÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑазлиÑнÑе низкоÑÑовневÑе пÑоÑедÑÑÑ, ÑпеÑиÑиÑнÑе " -"Ð´Ð»Ñ Ð¾Ð±Ð¾ÑÑдованиÑ, поÑÑавлÑемого Ñ Ð¼Ð°ÑеÑинÑкой плаÑой. ÐÑоÑеÑÑÐ¾Ñ ÑнаÑала " +"коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾ÑноÑиÑелÑно неболÑÑой обÑÑм памÑÑи ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ (ROM)" +". ÐÑа памÑÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑазлиÑнÑе низкоÑÑовневÑе пÑоÑедÑÑÑ, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ " +"обоÑÑдованиÑ, поÑÑавлÑемого Ñ Ð¼Ð°ÑеÑинÑкой плаÑой. ÐÑоÑеÑÑÐ¾Ñ ÑнаÑала " "пеÑÐµÑ Ð¾Ð´Ð¸Ñ Ð¿Ð¾ адÑеÑÑ 0xfffffff0, коÑоÑÑй ÑакÑиÑеÑки Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² памÑÑи BIOS. " "ÐбÑÑно по ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ ÑодеÑжиÑÑÑ Ð¸Ð½ÑÑÑÑкÑÐ¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° к пÑоÑедÑÑам POST BIOS." @@ -354,7 +354,7 @@ msgstr "" "пÑоÑеÑÑÐ¾Ñ Ð¼Ð¾Ð³ пÑавилÑно наÑÑÑоиÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑ. ÐажнÑм ÑÑапом на ÑÑой ÑÑадии " "ÑвлÑеÑÑÑ Ð¾Ð¿Ñеделение загÑÑзоÑного ÑÑÑÑойÑÑва. СовÑеменнÑе ÑеализаÑии BIOS " "позволÑÑÑ Ð²ÑбиÑаÑÑ Ð·Ð°Ð³ÑÑзоÑное ÑÑÑÑойÑÑво, обеÑпеÑÐ¸Ð²Ð°Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ñ Ð´Ð¸ÑкеÑÑ, " -"CD-ROM, жеÑÑкого диÑка или дÑÑÐ³Ð¸Ñ ÑÑÑÑойÑÑв." +"CD-ROM, жÑÑÑкого диÑка или дÑÑÐ³Ð¸Ñ ÑÑÑÑойÑÑв." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:179 @@ -1307,7 +1307,7 @@ msgid "" "and transferring control to it." msgstr "" "[.filename]#boot1# â ÑÑо ÑледÑÑÑий Ñаг в поÑледоваÑелÑноÑÑи загÑÑзки. ÐÑо " -"пеÑÐ²Ð°Ñ Ð¸Ð· ÑÑÐµÑ ÑÑадий загÑÑзки. ÐбÑаÑиÑе внимание, ÑÑо до ÑÐ¸Ñ Ð¿Ð¾Ñ Ð¼Ñ " +"пеÑÐ²Ð°Ñ Ð¸Ð· ÑÑÑÑ ÑÑадий загÑÑзки. ÐбÑаÑиÑе внимание, ÑÑо до ÑÐ¸Ñ Ð¿Ð¾Ñ Ð¼Ñ " "ÑабоÑали иÑклÑÑиÑелÑно Ñ ÑекÑоÑами диÑка. ÐейÑÑвиÑелÑно, BIOS загÑÑÐ¶Ð°ÐµÑ " "ÑамÑй пеÑвÑй ÑекÑоÑ, а [.filename]#boot0# загÑÑÐ¶Ð°ÐµÑ Ð¿ÐµÑвÑй ÑекÑÐ¾Ñ Ñаздела " "FreeBSD. Ðбе загÑÑзки пÑоиÑÑ Ð¾Ð´ÑÑ Ð¿Ð¾ адÑеÑÑ `0x7c00`. ÐÑ Ð¼Ð¾Ð¶ÐµÐ¼ конÑепÑÑалÑно " @@ -1438,7 +1438,7 @@ msgid "" "rescan the partition table to find where the FreeBSD slice starts. " "Therefore it rereads the MBR:" msgstr "" -"Ðалее Ð¸Ð´ÐµÑ Ñикл, коÑоÑÑй иÑÐµÑ ÑÐ»Ð°Ð¹Ñ FreeBSD. ХоÑÑ [.filename]#boot0# " +"Ðалее идÑÑ Ñикл, коÑоÑÑй иÑÐµÑ ÑÐ»Ð°Ð¹Ñ FreeBSD. ХоÑÑ [.filename]#boot0# " "загÑÑзил [.filename]#boot1# из ÑлайÑа FreeBSD, ÐµÐ¼Ñ Ð½Ðµ бÑла пеÑедана " "инÑоÑмаÑÐ¸Ñ Ð¾Ð± ÑÑом footnote:[Ðа Ñамом деле Ð¼Ñ Ð¿ÐµÑедали ÑказаÑÐµÐ»Ñ Ð½Ð° адÑÐµÑ " "ÑлайÑа в ÑегиÑÑÑе %si. Ðднако boot1 не пÑедполагаеÑ, ÑÑо он бÑл загÑÑжен " @@ -1519,11 +1519,11 @@ msgid "" "fake partition holds cylinder 0, head 0 and sector 1, which is equivalent to " "absolute sector one." msgstr "" -"Ð ÑаÑÑноÑÑи, LBA Ð´Ð»Ñ ÑÑой ÑикÑивной Ñаздела жеÑÑко закодиÑован как нолÑ. ÐÑо " +"Ð ÑаÑÑноÑÑи, LBA Ð´Ð»Ñ ÑÑой ÑикÑивной Ñаздела жÑÑÑко закодиÑован как нолÑ. ÐÑо " "иÑполÑзÑеÑÑÑ ÐºÐ°Ðº аÑгÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ BIOS пÑи ÑÑении абÑолÑÑного ÑекÑоÑа один Ñ " -"жеÑÑкого диÑка. ÐлÑÑеÑнаÑивно, Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð°Ð´ÑеÑаÑÐ¸Ñ CHS. Ð ÑÑом " -"ÑлÑÑае, ÑикÑивнÑй Ñаздел ÑодеÑÐ¶Ð¸Ñ ÑÐ¸Ð»Ð¸Ð½Ð´Ñ 0, Ð³Ð¾Ð»Ð¾Ð²ÐºÑ 0 и ÑекÑÐ¾Ñ 1, ÑÑо " -"ÑквиваленÑно абÑолÑÑÐ½Ð¾Ð¼Ñ ÑекÑоÑÑ Ð¾Ð´Ð¸Ð½." +"жÑÑÑкого диÑка. Ðли же Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð°Ð´ÑеÑаÑÐ¸Ñ CHS. Ð ÑÑом ÑлÑÑае " +"ÑикÑивнÑй Ñаздел ÑодеÑÐ¶Ð¸Ñ ÑÐ¸Ð»Ð¸Ð½Ð´Ñ 0, Ð³Ð¾Ð»Ð¾Ð²ÐºÑ 0 и ÑекÑÐ¾Ñ 1, ÑÑо ÑквиваленÑно " +"абÑолÑÑÐ½Ð¾Ð¼Ñ ÑекÑоÑÑ Ð¾Ð´Ð¸Ð½." #. type: Plain text #: documentation/content/en/books/arch-handbook/boot/_index.adoc:591 @@ -2904,7 +2904,7 @@ msgstr "" "конÑÑоллеÑа пÑеÑÑваний). ÐÑÐ¾Ñ Ñип подклÑÑен к неÑколÑким иÑÑоÑникам " "аппаÑаÑнÑÑ Ð¿ÑеÑÑваний. ÐÑи полÑÑении пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ ÑÑÑÑойÑÑва он " "ÑигнализиÑÑÐµÑ Ð¿ÑоÑеÑÑоÑÑ ÑооÑвеÑÑÑвÑÑÑим векÑоÑом пÑеÑÑваниÑ. ÐÑо можно " -"наÑÑÑоиÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделеннÑе пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð±Ñли ÑвÑÐ·Ð°Ð½Ñ Ñ ÐºÐ¾Ð½ÐºÑеÑнÑми " +"наÑÑÑоиÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделÑннÑе пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð±Ñли ÑвÑÐ·Ð°Ð½Ñ Ñ ÐºÐ¾Ð½ÐºÑеÑнÑми " "векÑоÑами пÑеÑÑваний, как обÑÑÑнÑлоÑÑ Ñанее. ÐаÑем ÑегиÑÑÑÑ IDTR (Interrupt " "Descriptor Table Register) и GDTR (Global Descriptor Table Register) " "загÑÑжаÑÑÑÑ Ð¸Ð½ÑÑÑÑкÑиÑми `lidt` и `lgdt` ÑооÑвеÑÑÑвенно. ÐÑи ÑегиÑÑÑÑ " @@ -3110,7 +3110,7 @@ msgstr "" "иниÑиализиÑÑеÑÑÑ `boot2` и пеÑедаÑÑÑÑ Ð·Ð°Ð³ÑÑзÑикÑ, а заÑем ÑдÑÑ. ÐекоÑоÑÑе " "ÑÐ·Ð»Ñ ÑÑой ÑÑÑÑкÑÑÑÑ ÑÑÑанавливаÑÑÑÑ `boot2`, оÑÑалÑнÑе â загÑÑзÑиком. ÐÑа " "ÑÑÑÑкÑÑÑа, ÑÑеди пÑоÑей инÑоÑмаÑии, ÑодеÑÐ¶Ð¸Ñ Ð¸Ð¼Ñ Ñайла ÑдÑа, геомеÑÑÐ¸Ñ " -"жеÑÑкого диÑка в BIOS, Ð½Ð¾Ð¼ÐµÑ Ð´Ð¸Ñка в BIOS Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзоÑного ÑÑÑÑойÑÑва, " +"жÑÑÑкого диÑка в BIOS, Ð½Ð¾Ð¼ÐµÑ Ð´Ð¸Ñка в BIOS Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзоÑного ÑÑÑÑойÑÑва, " "доÑÑÑпнÑÑ ÑизиÑеÑкÑÑ Ð¿Ð°Ð¼ÑÑÑ, ÑказаÑÐµÐ»Ñ `envp` и Ñ.д. Ðе опÑеделение вÑглÑÐ´Ð¸Ñ " "Ñак:" @@ -3696,7 +3696,7 @@ msgid "" "selector). FreeBSD's GDT holds descriptors for 15 selectors per CPU:" msgstr "" "ÐаÑем `init386()` подгоÑÐ°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐлобалÑнÑÑ Ð¢Ð°Ð±Ð»Ð¸ÑÑ ÐеÑкÑипÑоÑов (GDT). " -"ÐÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð´Ð°Ñа на x86 вÑполнÑеÑÑÑ Ð² Ñвоем ÑобÑÑвенном виÑÑÑалÑном адÑеÑном " +"ÐÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð´Ð°Ñа на x86 вÑполнÑеÑÑÑ Ð² ÑвоÑм ÑобÑÑвенном виÑÑÑалÑном адÑеÑном " "пÑоÑÑÑанÑÑве, и ÑÑо пÑоÑÑÑанÑÑво адÑеÑÑеÑÑÑ Ð¿Ð°Ñой ÑегменÑ:ÑмеÑение. " "ÐапÑимеÑ, еÑли ÑекÑÑÐ°Ñ Ð¸Ð½ÑÑÑÑкÑиÑ, коÑоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ вÑполниÑÑ Ð¿ÑоÑеÑÑоÑ, " "Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¿Ð¾ адÑеÑÑ CS:EIP, Ñо линейнÑй виÑÑÑалÑнÑй адÑÐµÑ ÑÑой инÑÑÑÑкÑии " @@ -3887,7 +3887,7 @@ msgid "" "The Task State Segment is another x86 protected mode structure, the TSS is " "used by the hardware to store task information when a task switch occurs." msgstr "" -"Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (TSS) â ÑÑо еÑе одна ÑÑÑÑкÑÑÑа заÑиÑенного Ñежима " +"Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (TSS) â ÑÑо еÑÑ Ð¾Ð´Ð½Ð° ÑÑÑÑкÑÑÑа заÑиÑенного Ñежима " "x86, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¾Ð±Ð¾ÑÑдованием Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о задаÑе пÑи " "пеÑеклÑÑении задаÑ." diff --git a/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc b/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc index aacb879d84..bdd854cf6b 100644 --- a/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/driverbasics/_index.adoc @@ -140,7 +140,7 @@ KMOD=skeleton [[driverbasics-char]] == СимволÑнÑе ÑÑÑÑойÑÑва -ÐÑÐ°Ð¹Ð²ÐµÑ ÑимволÑного ÑÑÑÑойÑÑва â ÑÑо дÑайвеÑ, коÑоÑÑй пеÑедаÑÑ Ð´Ð°Ð½Ð½Ñе напÑÑмÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑÑойÑÑвом и полÑзоваÑелÑÑким пÑоÑеÑÑом. ÐÑо наиболее ÑаÑпÑоÑÑÑаненнÑй Ñип дÑайвеÑа ÑÑÑÑойÑÑв, и в деÑеве иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кода еÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво пÑоÑÑÑÑ Ð¿ÑимеÑов. +ÐÑÐ°Ð¹Ð²ÐµÑ ÑимволÑного ÑÑÑÑойÑÑва â ÑÑо дÑайвеÑ, коÑоÑÑй пеÑедаÑÑ Ð´Ð°Ð½Ð½Ñе напÑÑмÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑÑойÑÑвом и полÑзоваÑелÑÑким пÑоÑеÑÑом. ÐÑо наиболее ÑаÑпÑоÑÑÑанÑннÑй Ñип дÑайвеÑа ÑÑÑÑойÑÑв, и в деÑеве иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кода еÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво пÑоÑÑÑÑ Ð¿ÑимеÑов. ÐÑÐ¾Ñ Ð¿ÑоÑÑой пÑÐ¸Ð¼ÐµÑ Ð¿ÑевдоÑÑÑÑойÑÑва Ð·Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°ÐµÑ Ð²Ñе знаÑениÑ, запиÑаннÑе в него, и Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ñем воÑпÑоизводиÑÑ Ð¸Ñ Ð¿Ñи ÑÑении. diff --git a/documentation/content/ru/books/arch-handbook/driverbasics/_index.po b/documentation/content/ru/books/arch-handbook/driverbasics/_index.po index 57748f9514..3116e73e78 100644 --- a/documentation/content/ru/books/arch-handbook/driverbasics/_index.po +++ b/documentation/content/ru/books/arch-handbook/driverbasics/_index.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-05-01 19:56-0300\n" -"PO-Revision-Date: 2025-11-12 04:45+0000\n" +"PO-Revision-Date: 2025-11-20 04:45+0000\n" "Last-Translator: Vladlen Popolitov <[email protected]>\n" "Language-Team: Russian <https://translate-dev.freebsd.org/projects/" "documentation/booksarch-handbookdriverbasics_index/ru/>\n" @@ -306,7 +306,7 @@ msgid "" msgstr "" "ÐÑÐ°Ð¹Ð²ÐµÑ ÑимволÑного ÑÑÑÑойÑÑва â ÑÑо дÑайвеÑ, коÑоÑÑй пеÑедаÑÑ Ð´Ð°Ð½Ð½Ñе " "напÑÑмÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑÑойÑÑвом и полÑзоваÑелÑÑким пÑоÑеÑÑом. ÐÑо наиболее " -"ÑаÑпÑоÑÑÑаненнÑй Ñип дÑайвеÑа ÑÑÑÑойÑÑв, и в деÑеве иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кода еÑÑÑ " +"ÑаÑпÑоÑÑÑанÑннÑй Ñип дÑайвеÑа ÑÑÑÑойÑÑв, и в деÑеве иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кода еÑÑÑ " "множеÑÑво пÑоÑÑÑÑ Ð¿ÑимеÑов." #. type: Plain text diff --git a/documentation/content/ru/books/arch-handbook/isa/_index.adoc b/documentation/content/ru/books/arch-handbook/isa/_index.adoc index 61caf17b2a..a36105d19f 100644 --- a/documentation/content/ru/books/arch-handbook/isa/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/isa/_index.adoc @@ -340,7 +340,7 @@ flags - ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿ÑиоÑиÑеÑа пÑеÑÑваниÑ, один из: СнаÑала Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñделен (а заÑем оÑвобожден) блок непÑеÑÑвной памÑÑи, ÑооÑвеÑÑÑвÑÑÑий ÑÑебованиÑм Ñега. ÐбÑÑно ÑÑо иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¾ÑноÑиÑелÑно долгоживÑÑÐ¸Ñ Ð¾Ð±Ð»Ð°ÑÑей памÑÑи Ð´Ð»Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ñ ÑÑÑÑойÑÑвом. ÐагÑÑзка Ñакой памÑÑи в каÑÑÑ ÑÑивиалÑна: она вÑегда ÑаÑÑмаÑÑиваеÑÑÑ ÐºÐ°Ðº один блок в ÑооÑвеÑÑÑвÑÑÑем диапазоне ÑизиÑеÑкой памÑÑи. -ÐÑоÑой моменÑ: пÑоизволÑÐ½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ Ð²Ð¸ÑÑÑалÑной памÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð³ÑÑжена в каÑÑÑ. ÐÐ°Ð¶Ð´Ð°Ñ ÑÑÑаниÑа ÑÑой памÑÑи бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑÑÑ Ð½Ð° ÑооÑвеÑÑÑвие ÑÑебованиÑм каÑÑÑ. ÐÑли она ÑооÑвеÑÑÑвÑеÑ, Ñо оÑÑаеÑÑÑ Ð½Ð° Ñвоем иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ меÑÑе. ÐÑли неÑ, Ñо вÑделÑеÑÑÑ Ð½Ð¾Ð²Ð°Ñ ÑооÑвеÑÑÑвÑÑÑÐ°Ñ Ð¿ÑомежÑÑоÑÐ½Ð°Ñ ÑÑÑаниÑа (bounce page), коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ ÐºÐ°Ðº пÑомежÑÑоÑное Ñ ÑанилиÑе. ÐÑи запиÑи даннÑÑ Ñ Ð½ÐµÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð¾Ð½Ð¸ ÑнаÑала копиÑÑÑÑÑ Ñ Ð½Ð° Ñвои пÑомежÑÑоÑнÑе ÑÑÑаниÑÑ, а заÑем пеÑедаÑÑÑÑ Ñ Ð¿ÑомежÑÑоÑнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð½Ð° ÑÑÑÑойÑÑво. ÐÑи ÑÑении даннÑе поÑÑÑпаÑÑ Ñ ÑÑÑÑойÑÑва на пÑомежÑÑоÑнÑе ÑÑÑаниÑÑ, а заÑем копиÑÑÑÑÑÑ Ð½Ð° Ñвои неÑооÑвеÑÑÑвÑÑÑие иÑÑ Ð¾Ð´Ð½Ñе ÑÑÑаниÑÑ. ÐÑоÑеÑÑ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ñми и пÑомежÑÑоÑнÑми ÑÑÑаниÑами назÑваеÑÑÑ ÑÐ¸Ð½Ñ ÑонизаÑией. ÐбÑÑно ÑÑо иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ пеÑедаÑи: бÑÑÐµÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ пеÑедаÑи загÑÑжаеÑÑÑ, пеÑедаÑа вÑполнÑеÑÑÑ, и бÑÑÐµÑ Ð²ÑгÑÑжаеÑÑÑ. +ÐÑоÑой моменÑ: пÑоизволÑÐ½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ Ð²Ð¸ÑÑÑалÑной памÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð³ÑÑжена в каÑÑÑ. ÐÐ°Ð¶Ð´Ð°Ñ ÑÑÑаниÑа ÑÑой памÑÑи бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑÑÑ Ð½Ð° ÑооÑвеÑÑÑвие ÑÑебованиÑм каÑÑÑ. ÐÑли она ÑооÑвеÑÑÑвÑеÑ, Ñо оÑÑаÑÑÑÑ Ð½Ð° ÑвоÑм иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ меÑÑе. ÐÑли неÑ, Ñо вÑделÑеÑÑÑ Ð½Ð¾Ð²Ð°Ñ ÑооÑвеÑÑÑвÑÑÑÐ°Ñ Ð¿ÑомежÑÑоÑÐ½Ð°Ñ ÑÑÑаниÑа (bounce page), коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ ÐºÐ°Ðº пÑомежÑÑоÑное Ñ ÑанилиÑе. ÐÑи запиÑи даннÑÑ Ñ Ð½ÐµÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð¾Ð½Ð¸ ÑнаÑала копиÑÑÑÑÑ Ñ Ð½Ð° Ñвои пÑомежÑÑоÑнÑе ÑÑÑаниÑÑ, а заÑем пеÑедаÑÑÑÑ Ñ Ð¿ÑомежÑÑоÑнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð½Ð° ÑÑÑÑойÑÑво. ÐÑи ÑÑении даннÑе поÑÑÑпаÑÑ Ñ ÑÑÑÑойÑÑва на пÑомежÑÑоÑнÑе ÑÑÑаниÑÑ, а заÑем копиÑÑÑÑÑÑ Ð½Ð° Ñвои неÑооÑвеÑÑÑвÑÑÑие иÑÑ Ð¾Ð´Ð½Ñе ÑÑÑаниÑÑ. ÐÑоÑеÑÑ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ñми и пÑомежÑÑоÑнÑми ÑÑÑаниÑами назÑваеÑÑÑ ÑÐ¸Ð½Ñ ÑонизаÑией. ÐбÑÑно ÑÑо иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ пеÑедаÑи: бÑÑÐµÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ пеÑедаÑи загÑÑжаеÑÑÑ, пеÑедаÑа вÑполнÑеÑÑÑ, и бÑÑÐµÑ Ð²ÑгÑÑжаеÑÑÑ. ФÑнкÑии, ÑабоÑаÑÑие Ñ Ð¿Ð°Ð¼ÑÑÑÑ DMA: @@ -463,7 +463,7 @@ dmat - Ñег, коÑоÑÑй должен бÑÑÑ ÑниÑÑожен. Ðиже пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ ÑипиÑнÑе поÑледоваÑелÑноÑÑи вÑзовов пÑи иÑполÑзовании каÑÑÑ Ð² завиÑимоÑÑи Ð¾Ñ ÐµÑ Ð½Ð°Ð·Ð½Ð°ÑениÑ. Ð¡Ð¸Ð¼Ð²Ð¾Ð»Ñ -> иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ÑледоваÑелÑноÑÑи во вÑемени. -ÐÐ»Ñ Ð±ÑÑеÑа, коÑоÑÑй оÑÑаеÑÑÑ Ð¿ÑакÑиÑеÑки неизменнÑм в ÑеÑение вÑего вÑемени Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑиÑоединением и оÑÑоединением ÑÑÑÑойÑÑва: +ÐÐ»Ñ Ð±ÑÑеÑа, коÑоÑÑй оÑÑаÑÑÑÑ Ð¿ÑакÑиÑеÑки неизменнÑм в ÑеÑение вÑего вÑемени Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑиÑоединением и оÑÑоединением ÑÑÑÑойÑÑва: bus_dmamem_alloc -> bus_dmamap_load -> ...use buffer... -> -> bus_dmamap_unload -> bus_dmamem_free @@ -711,7 +711,7 @@ bus_dmamem_alloc -> bus_dmamap_load -> ...use buffer... -> -> bus_dmamap_unload return ENXIO; .... -ÐонеÑно, обÑÑно Ð´Ð»Ñ ÑÐ°ÐºÐ¸Ñ Ð²ÐµÑей ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¿ÑоÑедÑÑÑ `identify()` дÑайвеÑа. Ðднако Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð° веÑÐºÐ°Ñ Ð¿ÑиÑина, поÑÐµÐ¼Ñ Ð»ÑÑÑе ÑделаÑÑ ÑÑо в `probe()`: еÑли ÑÑÐ¾Ñ Ð¾Ð±Ð½Ð°ÑÑжение Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к ÑÐ±Ð¾Ñ Ð´ÑÑгого ÑÑвÑÑвиÑелÑного ÑÑÑÑойÑÑва. ÐÑоÑедÑÑÑ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ ÑпоÑÑдоÑÐµÐ½Ñ Ñ ÑÑеÑом Ñлага `sensitive`: ÑÑвÑÑвиÑелÑнÑе ÑÑÑÑойÑÑва пÑовеÑÑÑÑÑÑ Ð¿ÐµÑвÑми, а оÑÑалÑнÑе ÑÑÑÑойÑÑва â позже. Ðо пÑоÑедÑÑÑ `identify()` вÑзÑваÑÑÑÑ Ð´Ð¾ лÑбого обнаÑÑжениÑ, поÑÑÐ¾Ð¼Ñ Ð¾Ð ½Ð¸ не ÑÑиÑÑваÑÑ ÑÑвÑÑвиÑелÑнÑе ÑÑÑÑойÑÑва и могÑÑ Ð²ÑзваÑÑ Ð¸Ñ Ñбой. +ÐонеÑно, обÑÑно Ð´Ð»Ñ ÑÐ°ÐºÐ¸Ñ Ð²ÐµÑей ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¿ÑоÑедÑÑÑ `identify()` дÑайвеÑа. Ðднако Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð° веÑÐºÐ°Ñ Ð¿ÑиÑина, поÑÐµÐ¼Ñ Ð»ÑÑÑе ÑделаÑÑ ÑÑо в `probe()`: еÑли ÑÑÐ¾Ñ Ð¾Ð±Ð½Ð°ÑÑжение Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к ÑÐ±Ð¾Ñ Ð´ÑÑгого ÑÑвÑÑвиÑелÑного ÑÑÑÑойÑÑва. ÐÑоÑедÑÑÑ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ ÑпоÑÑдоÑÐµÐ½Ñ Ñ ÑÑÑÑом Ñлага `sensitive`: ÑÑвÑÑвиÑелÑнÑе ÑÑÑÑойÑÑва пÑовеÑÑÑÑÑÑ Ð¿ÐµÑвÑми, а оÑÑалÑнÑе ÑÑÑÑойÑÑва â позже. Ðо пÑоÑедÑÑÑ `identify()` вÑзÑваÑÑÑÑ Ð´Ð¾ лÑбого обнаÑÑжениÑ, поÑÑÐ¾Ð¼Ñ Ð¾Ð ½Ð¸ не ÑÑиÑÑваÑÑ ÑÑвÑÑвиÑелÑнÑе ÑÑÑÑойÑÑва и могÑÑ Ð²ÑзваÑÑ Ð¸Ñ Ñбой. ÐоÑ, поÑле Ñого как Ð¼Ñ Ð¿Ð¾Ð»ÑÑили наÑалÑнÑй поÑÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑÑÑановиÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво поÑÑов (за иÑклÑÑением ÑÑÑÑойÑÑв PnP), Ñак как в Ñайле конÑигÑÑаÑии ÑдÑа ÑÑа инÑоÑмаÑÐ¸Ñ Ð¾ÑÑÑÑÑÑвÑеÑ. diff --git a/documentation/content/ru/books/arch-handbook/isa/_index.po b/documentation/content/ru/books/arch-handbook/isa/_index.po index 599e6b01a8..20b145402c 100644 --- a/documentation/content/ru/books/arch-handbook/isa/_index.po +++ b/documentation/content/ru/books/arch-handbook/isa/_index.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. -# Vladlen Popolitov <[email protected]>, 2025. +# Vladlen Popolitov <[email protected]>, 2025, 2026. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-05-01 19:56-0300\n" -"PO-Revision-Date: 2025-11-12 04:45+0000\n" +"PO-Revision-Date: 2026-03-04 20:01+0000\n" "Last-Translator: Vladlen Popolitov <[email protected]>\n" "Language-Team: Russian <https://translate-dev.freebsd.org/projects/" "documentation/booksarch-handbookisa_index/ru/>\n" @@ -1467,7 +1467,7 @@ msgid "" msgstr "" "ÐÑоÑой моменÑ: пÑоизволÑÐ½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ Ð²Ð¸ÑÑÑалÑной памÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð³ÑÑжена " "в каÑÑÑ. ÐÐ°Ð¶Ð´Ð°Ñ ÑÑÑаниÑа ÑÑой памÑÑи бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑÑÑ Ð½Ð° ÑооÑвеÑÑÑвие " -"ÑÑебованиÑм каÑÑÑ. ÐÑли она ÑооÑвеÑÑÑвÑеÑ, Ñо оÑÑаеÑÑÑ Ð½Ð° Ñвоем иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ " +"ÑÑебованиÑм каÑÑÑ. ÐÑли она ÑооÑвеÑÑÑвÑеÑ, Ñо оÑÑаÑÑÑÑ Ð½Ð° ÑвоÑм иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ " "меÑÑе. ÐÑли неÑ, Ñо вÑделÑеÑÑÑ Ð½Ð¾Ð²Ð°Ñ ÑооÑвеÑÑÑвÑÑÑÐ°Ñ Ð¿ÑомежÑÑоÑÐ½Ð°Ñ ÑÑÑаниÑа (" "bounce page), коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ ÐºÐ°Ðº пÑомежÑÑоÑное Ñ ÑанилиÑе. ÐÑи запиÑи " "даннÑÑ Ñ Ð½ÐµÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð¾Ð½Ð¸ ÑнаÑала копиÑÑÑÑÑÑ Ð½Ð° Ñвои " @@ -2113,7 +2113,7 @@ msgid "" "For a buffer which stays practically fixed during all the time between " "attachment and detachment of a device:" msgstr "" -"ÐÐ»Ñ Ð±ÑÑеÑа, коÑоÑÑй оÑÑаеÑÑÑ Ð¿ÑакÑиÑеÑки неизменнÑм в ÑеÑение вÑего вÑемени " +"ÐÐ»Ñ Ð±ÑÑеÑа, коÑоÑÑй оÑÑаÑÑÑÑ Ð¿ÑакÑиÑеÑки неизменнÑм в ÑеÑение вÑего вÑемени " "Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑиÑоединением и оÑÑоединением ÑÑÑÑойÑÑва:" #. type: Plain text @@ -3064,7 +3064,7 @@ msgstr "" "ÐонеÑно, обÑÑно Ð´Ð»Ñ ÑÐ°ÐºÐ¸Ñ Ð²ÐµÑей ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¿ÑоÑедÑÑÑ `identify()` " "дÑайвеÑа. Ðднако Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð° веÑÐºÐ°Ñ Ð¿ÑиÑина, поÑÐµÐ¼Ñ Ð»ÑÑÑе ÑделаÑÑ ÑÑо в " "`probe()`: еÑли ÑÑÐ¾Ñ Ð¾Ð±Ð½Ð°ÑÑжение Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к ÑÐ±Ð¾Ñ Ð´ÑÑгого " -"ÑÑвÑÑвиÑелÑного ÑÑÑÑойÑÑва. ÐÑоÑедÑÑÑ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ ÑпоÑÑдоÑÐµÐ½Ñ Ñ ÑÑеÑом Ñлага " +"ÑÑвÑÑвиÑелÑного ÑÑÑÑойÑÑва. ÐÑоÑедÑÑÑ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ ÑпоÑÑдоÑÐµÐ½Ñ Ñ ÑÑÑÑом Ñлага " "`sensitive`: ÑÑвÑÑвиÑелÑнÑе ÑÑÑÑойÑÑва пÑовеÑÑÑÑÑÑ Ð¿ÐµÑвÑми, а оÑÑалÑнÑе " "ÑÑÑÑойÑÑва â позже. Ðо пÑоÑедÑÑÑ `identify()` вÑзÑваÑÑÑÑ Ð´Ð¾ лÑбого " "обнаÑÑжениÑ, поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ не ÑÑиÑÑваÑÑ ÑÑвÑÑвиÑелÑнÑе ÑÑÑÑойÑÑва и могÑÑ " diff --git a/documentation/content/ru/books/arch-handbook/jail/_index.adoc b/documentation/content/ru/books/arch-handbook/jail/_index.adoc index 14b36f4151..cc414c6ffa 100644 --- a/documentation/content/ru/books/arch-handbook/jail/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/jail/_index.adoc @@ -48,7 +48,7 @@ toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] -Ðа болÑÑинÑÑве ÑиÑÑем UNIX(R) полÑзоваÑÐµÐ»Ñ `root` Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð½ÐµÐ¾Ð³ÑаниÑенной влаÑÑÑÑ. ÐÑо не ÑпоÑобÑÑвÑÐµÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи. ÐÑли злоÑмÑÑленник полÑÑÐ¸Ñ Ð¿Ñава `root` в ÑиÑÑеме, Ñ Ð½ÐµÐ³Ð¾ окажÑÑÑÑ Ð²Ñе ÑÑнкÑии под ÑÑкой. Ð FreeBSD ÑÑÑеÑÑвÑÑÑ sysctl-паÑамеÑÑÑ, коÑоÑÑе огÑаниÑиваÑÑ Ð²Ð»Ð°ÑÑÑ `root`, ÑÑÐ¾Ð±Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð¸ÑоваÑÑ ÑÑеÑб Ð¾Ñ Ð´ÐµÐ¹ÑÑвий злоÑмÑÑленника. Ð ÑаÑÑноÑÑи, одна из ÑÐ°ÐºÐ¸Ñ ÑÑнкÑий назÑваеÑÑÑ `ÑÑовни безопаÑноÑÑи`. ÐналогиÑно, дÑÑÐ³Ð°Ñ ÑÑнкÑиÑ, доÑÑÑÐ¿Ð½Ð°Ñ Ð½Ð°ÑÐ¸Ð½Ð°Ñ Ñ FreeBSD 4.0, â ÑÑо ÑÑилиÑа man:jail[8] â клеÑка. ÐлеÑка ÑÐ¾Ð·Ð´Ð°ÐµÑ chroot-окÑÑжение и накладÑÐ²Ð°ÐµÑ Ð¾Ð¿ÑеделеннÑе огÑÐ°Ð½Ð¸Ñ ÐµÐ½Ð¸Ñ Ð½Ð° пÑоÑеÑÑÑ, запÑÑеннÑе внÑÑÑи `клеÑки`. ÐапÑимеÑ, пÑоÑеÑÑ Ð² `клеÑке` не Ð¼Ð¾Ð¶ÐµÑ Ð²Ð»Ð¸ÑÑÑ Ð½Ð° пÑоÑеÑÑÑ Ð²Ð½Ðµ еÑ, иÑполÑзоваÑÑ Ð¾Ð¿ÑеделеннÑе ÑиÑÑемнÑе вÑÐ·Ð¾Ð²Ñ Ð¸Ð»Ð¸ наноÑиÑÑ ÐºÐ°ÐºÐ¾Ð¹-либо ÑÑеÑб оÑновной ÑиÑÑеме. +Ðа болÑÑинÑÑве ÑиÑÑем UNIX(R) полÑзоваÑÐµÐ»Ñ `root` Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð½ÐµÐ¾Ð³ÑаниÑенной влаÑÑÑÑ. ÐÑо не ÑпоÑобÑÑвÑÐµÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи. ÐÑли злоÑмÑÑленник полÑÑÐ¸Ñ Ð¿Ñава `root` в ÑиÑÑеме, Ñ Ð½ÐµÐ³Ð¾ окажÑÑÑÑ Ð²Ñе ÑÑнкÑии под ÑÑкой. Ð FreeBSD ÑÑÑеÑÑвÑÑÑ sysctl-паÑамеÑÑÑ, коÑоÑÑе огÑаниÑиваÑÑ Ð²Ð»Ð°ÑÑÑ `root`, ÑÑÐ¾Ð±Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð¸ÑоваÑÑ ÑÑеÑб Ð¾Ñ Ð´ÐµÐ¹ÑÑвий злоÑмÑÑленника. Ð ÑаÑÑноÑÑи, одна из ÑÐ°ÐºÐ¸Ñ ÑÑнкÑий назÑваеÑÑÑ `ÑÑовни безопаÑноÑÑи`. ÐналогиÑно, дÑÑÐ³Ð°Ñ ÑÑнкÑиÑ, доÑÑÑÐ¿Ð½Ð°Ñ Ð½Ð°ÑÐ¸Ð½Ð°Ñ Ñ FreeBSD 4.0, â ÑÑо ÑÑилиÑа man:jail[8] â клеÑка. ÐлеÑка ÑÐ¾Ð·Ð´Ð°ÐµÑ chroot-окÑÑжение и накладÑÐ²Ð°ÐµÑ Ð¾Ð¿ÑеделÑннÑе огÑÐ°Ð½Ð¸Ñ ÐµÐ½Ð¸Ñ Ð½Ð° пÑоÑеÑÑÑ, запÑÑеннÑе внÑÑÑи `клеÑки`. ÐапÑимеÑ, пÑоÑеÑÑ Ð² `клеÑке` не Ð¼Ð¾Ð¶ÐµÑ Ð²Ð»Ð¸ÑÑÑ Ð½Ð° пÑоÑеÑÑÑ Ð²Ð½Ðµ еÑ, иÑполÑзоваÑÑ Ð¾Ð¿ÑеделÑннÑе ÑиÑÑемнÑе вÑÐ·Ð¾Ð²Ñ Ð¸Ð»Ð¸ наноÑиÑÑ ÐºÐ°ÐºÐ¾Ð¹-либо ÑÑеÑб оÑновной ÑиÑÑеме. ÐлеÑка ÑÑановиÑÑÑ Ð½Ð¾Ð²Ð¾Ð¹ моделÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи. ÐолÑзоваÑели запÑÑкаÑÑ Ð¿Ð¾ÑенÑиалÑно ÑÑзвимÑе ÑеÑвеÑÑ, Ñакие как Apache, BIND и sendmail, внÑÑÑи клеÑок, Ñак ÑÑо еÑли злоÑмÑÑленник полÑÑÐ¸Ñ Ð¿Ñава `root` внÑÑÑи клеÑки, ÑÑо бÑÐ´ÐµÑ Ð»Ð¸ÑÑ Ð½ÐµÑдобÑÑвом, а не каÑаÑÑÑоÑой. ÐÐ°Ð½Ð½Ð°Ñ ÑÑаÑÑÑ Ð² оÑновном ÑоÑÑедоÑоÑена на внÑÑÑеннем ÑÑÑÑойÑÑве (иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ коде) клеÑки. ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о наÑÑÑойке клеÑки Ñм. extref:{handbook}jails[Ñаздел о клеÑÐºÐ°Ñ Ð ÑководÑÑва FreeBSD, jails-synop sis]. @@ -313,7 +313,7 @@ jail_attach(struct thread *td, struct jail_attach_args *uap) } .... -Ðогда пÑоÑеÑÑ ÑоздаеÑÑÑ Ð¸Ð· ÑодиÑелÑÑкого пÑоÑеÑÑа, ÑиÑÑемнÑй вÑзов man:fork[2] иÑполÑзÑÐµÑ `crhold()` Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ пÑоÑеÑÑа. ÐÑо авÑомаÑиÑеÑки ÑÐ¾Ñ ÑанÑÐµÑ ÑÑеÑнÑе даннÑе нового доÑеÑнего пÑоÑеÑÑа ÑоглаÑованнÑми Ñ ÑодиÑелÑÑким, поÑÑÐ¾Ð¼Ñ Ð´Ð¾ÑеÑний пÑоÑеÑÑ Ñакже оÑÑаеÑÑÑ Ð² клеÑке. +Ðогда пÑоÑеÑÑ ÑоздаеÑÑÑ Ð¸Ð· ÑодиÑелÑÑкого пÑоÑеÑÑа, ÑиÑÑемнÑй вÑзов man:fork[2] иÑполÑзÑÐµÑ `crhold()` Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ пÑоÑеÑÑа. ÐÑо авÑомаÑиÑеÑки ÑÐ¾Ñ ÑанÑÐµÑ ÑÑÑÑнÑе даннÑе нового доÑеÑнего пÑоÑеÑÑа ÑоглаÑованнÑми Ñ ÑодиÑелÑÑким, поÑÑÐ¾Ð¼Ñ Ð´Ð¾ÑеÑний пÑоÑеÑÑ Ñакже оÑÑаÑÑÑÑ Ð² клеÑке. [.programlisting] .... @@ -402,7 +402,7 @@ socreate(int dom, struct socket **aso, int type, int proto, === ÐÑоÑÐ¾ÐºÐ¾Ð»Ñ -СÑÑеÑÑвÑÑÑ Ð¾Ð¿ÑеделеннÑе пÑоÑоколÑ, коÑоÑÑе оÑÐµÐ½Ñ ÑаÑпÑоÑÑÑаненÑ, Ñакие как TCP, UDP, IP и ICMP. IP и ICMP Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð½Ð° одном ÑÑовне: ÑеÑевом ÑÑовне 2. ÐÑинимаÑÑÑÑ Ð¾Ð¿ÑеделеннÑе меÑÑ Ð¿ÑедоÑÑоÑожноÑÑи, ÑÑÐ¾Ð±Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ð¿ÑивÑÐ·ÐºÑ Ð¿ÑоÑокола к опÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ Ð¿ÑоÑеÑÑом в клеÑке, ÑолÑко еÑли ÑÑÑановлен паÑамеÑÑ `nam`. `nam` ÑвлÑеÑÑÑ ÑказаÑелем на ÑÑÑÑкÑÑÑÑ `sockaddr`, коÑоÑÐ°Ñ Ð¾Ð¿Ð¸ÑÑÐ²Ð°ÐµÑ Ð°Ð´ÑеÑ, к коÑоÑÐ¾Ð¼Ñ Ð¿ÑивÑзÑваеÑÑÑ ÑлÑжба. Ðолее ÑоÑное опÑеделение Ð ·Ð°ÐºÐ»ÑÑаеÑÑÑ Ð² Ñом, ÑÑо `sockaddr` "Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÐºÐ°Ðº Ñаблон Ð´Ð»Ñ ÑÑÑлки на иденÑиÑикаÑионнÑй Ñег и длиР½Ñ каждого адÑеÑа". Ð ÑÑнкÑии `in_pcbbind_setup()`, `sin` â ÑÑо ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑÑÑкÑÑÑÑ `sockaddr_in`, коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾ÑÑ, адÑеÑ, Ð´Ð»Ð¸Ð½Ñ Ð¸ ÑемейÑÑво доменов ÑокеÑа, коÑоÑÑй должен бÑÑÑ Ð¿ÑивÑзан. РоÑновном, ÑÑо запÑеÑÐ°ÐµÑ Ð»ÑбÑм пÑоÑеÑÑам из клеÑки ÑказÑваÑÑ Ð°Ð´ÑеÑ, коÑоÑÑй не пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÐºÐ»ÐµÑке, в коÑоÑой ÑÑÑеÑÑвÑÐµÑ Ð²ÑзÑваÑÑий пÑоÑеÑÑ. +СÑÑеÑÑвÑÑÑ Ð¾Ð¿ÑеделÑннÑе пÑоÑоколÑ, коÑоÑÑе оÑÐµÐ½Ñ ÑаÑпÑоÑÑÑаненÑ, Ñакие как TCP, UDP, IP и ICMP. IP и ICMP Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð½Ð° одном ÑÑовне: ÑеÑевом ÑÑовне 2. ÐÑинимаÑÑÑÑ Ð¾Ð¿ÑеделÑннÑе меÑÑ Ð¿ÑедоÑÑоÑожноÑÑи, ÑÑÐ¾Ð±Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ð¿ÑивÑÐ·ÐºÑ Ð¿ÑоÑокола к опÑеделÑÐ½Ð½Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ Ð¿ÑоÑеÑÑом в клеÑке, ÑолÑко еÑли ÑÑÑановлен паÑамеÑÑ `nam`. `nam` ÑвлÑеÑÑÑ ÑказаÑелем на ÑÑÑÑкÑÑÑÑ `sockaddr`, коÑоÑÐ°Ñ Ð¾Ð¿Ð¸ÑÑÐ²Ð°ÐµÑ Ð°Ð´ÑеÑ, к коÑоÑÐ¾Ð¼Ñ Ð¿ÑивÑзÑваеÑÑÑ ÑлÑжба. Ðолее ÑоÑное опÑеделение Ð ·Ð°ÐºÐ»ÑÑаеÑÑÑ Ð² Ñом, ÑÑо `sockaddr` "Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÐºÐ°Ðº Ñаблон Ð´Ð»Ñ ÑÑÑлки на иденÑиÑикаÑионнÑй Ñег и длиР½Ñ каждого адÑеÑа". Ð ÑÑнкÑии `in_pcbbind_setup()`, `sin` â ÑÑо ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑÑÑкÑÑÑÑ `sockaddr_in`, коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾ÑÑ, адÑеÑ, Ð´Ð»Ð¸Ð½Ñ Ð¸ ÑемейÑÑво доменов ÑокеÑа, коÑоÑÑй должен бÑÑÑ Ð¿ÑивÑзан. РоÑновном, ÑÑо запÑеÑÐ°ÐµÑ Ð»ÑбÑм пÑоÑеÑÑам из клеÑки ÑказÑваÑÑ Ð°Ð´ÑеÑ, коÑоÑÑй не пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÐºÐ»ÐµÑке, в коÑоÑой ÑÑÑеÑÑвÑÐµÑ Ð²ÑзÑваÑÑий пÑоÑеÑÑ. [.programlisting] .... @@ -442,7 +442,7 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr *nam, in_addr_t *laddrp, } .... -ÐÑ Ð¼Ð¾Ð¶ÐµÑе задаÑÑÑÑ Ð²Ð¾Ð¿ÑоÑом, какÑÑ ÑÑнкÑÐ¸Ñ Ð²ÑполнÑÐµÑ `prison_ip()`. `prison_ip()` пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑи аÑгÑменÑа: ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑеÑнÑе даннÑе (пÑедÑÑавленнÑе как `cred`), лÑбÑе Ñлаги и IP-адÑеÑ. Ðна возвÑаÑÐ°ÐµÑ 1, еÑли IP-адÑÐµÑ ÐРпÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÐºÐ»ÐµÑке, и 0 в пÑоÑивном ÑлÑÑае. Ðак видно из кода, еÑли ÑÑо дейÑÑвиÑелÑно IP-адÑеÑ, не пÑинадлежаÑий клеÑке, пÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð½Ðµ ÑазÑеÑаеÑÑÑ Ð¿ÑивÑзÑваÑÑÑÑ Ðº ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ. +ÐÑ Ð¼Ð¾Ð¶ÐµÑе задаÑÑÑÑ Ð²Ð¾Ð¿ÑоÑом, какÑÑ ÑÑнкÑÐ¸Ñ Ð²ÑполнÑÐµÑ `prison_ip()`. `prison_ip()` пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑи аÑгÑменÑа: ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑÑÑнÑе даннÑе (пÑедÑÑавленнÑе как `cred`), лÑбÑе Ñлаги и IP-адÑеÑ. Ðна возвÑаÑÐ°ÐµÑ 1, еÑли IP-адÑÐµÑ ÐРпÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÐºÐ»ÐµÑке, и 0 в пÑоÑивном ÑлÑÑае. Ðак видно из кода, еÑли ÑÑо дейÑÑвиÑелÑно IP-адÑеÑ, не пÑинадлежаÑий клеÑке, пÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð½Ðµ ÑазÑеÑаеÑÑÑ Ð¿ÑивÑзÑваÑÑÑÑ Ðº ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ. [.programlisting] .... diff --git a/documentation/content/ru/books/arch-handbook/jail/_index.po b/documentation/content/ru/books/arch-handbook/jail/_index.po index 7486e99aac..43d8e6834c 100644 --- a/documentation/content/ru/books/arch-handbook/jail/_index.po +++ b/documentation/content/ru/books/arch-handbook/jail/_index.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. -# Vladlen Popolitov <[email protected]>, 2025. +# Vladlen Popolitov <[email protected]>, 2025, 2026. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-11 04:45+0000\n" +"PO-Revision-Date: 2026-03-04 20:01+0000\n" "Last-Translator: Vladlen Popolitov <[email protected]>\n" "Language-Team: Russian <https://translate-dev.freebsd.org/projects/" "documentation/booksarch-handbookjail_index/ru/>\n" @@ -52,9 +52,9 @@ msgstr "" "минимизиÑоваÑÑ ÑÑеÑб Ð¾Ñ Ð´ÐµÐ¹ÑÑвий злоÑмÑÑленника. Ð ÑаÑÑноÑÑи, одна из ÑÐ°ÐºÐ¸Ñ " "ÑÑнкÑий назÑваеÑÑÑ `ÑÑовни безопаÑноÑÑи`. ÐналогиÑно, дÑÑÐ³Ð°Ñ ÑÑнкÑиÑ, " "доÑÑÑÐ¿Ð½Ð°Ñ Ð½Ð°ÑÐ¸Ð½Ð°Ñ Ñ FreeBSD 4.0, â ÑÑо ÑÑилиÑа man:jail[8] â клеÑка. ÐлеÑка " -"ÑÐ¾Ð·Ð´Ð°ÐµÑ chroot-окÑÑжение и накладÑÐ²Ð°ÐµÑ Ð¾Ð¿ÑеделеннÑе огÑаниÑÐµÐ½Ð¸Ñ Ð½Ð° пÑоÑеÑÑÑ, " +"ÑÐ¾Ð·Ð´Ð°ÐµÑ chroot-окÑÑжение и накладÑÐ²Ð°ÐµÑ Ð¾Ð¿ÑеделÑннÑе огÑаниÑÐµÐ½Ð¸Ñ Ð½Ð° пÑоÑеÑÑÑ, " "запÑÑеннÑе внÑÑÑи `клеÑки`. ÐапÑимеÑ, пÑоÑеÑÑ Ð² `клеÑке` не Ð¼Ð¾Ð¶ÐµÑ Ð²Ð»Ð¸ÑÑÑ Ð½Ð° " -"пÑоÑеÑÑÑ Ð²Ð½Ðµ еÑ, иÑполÑзоваÑÑ Ð¾Ð¿ÑеделеннÑе ÑиÑÑемнÑе вÑÐ·Ð¾Ð²Ñ Ð¸Ð»Ð¸ наноÑиÑÑ " +"пÑоÑеÑÑÑ Ð²Ð½Ðµ еÑ, иÑполÑзоваÑÑ Ð¾Ð¿ÑеделÑннÑе ÑиÑÑемнÑе вÑÐ·Ð¾Ð²Ñ Ð¸Ð»Ð¸ наноÑиÑÑ " "какой-либо ÑÑеÑб оÑновной ÑиÑÑеме." #. type: Plain text @@ -820,11 +820,11 @@ msgid "" "process. It inherently keep the newly forked child's credential consistent " "with its parent, so the child process is also jailed." msgstr "" -"Ðогда пÑоÑеÑÑ ÑоздаеÑÑÑ Ð¸Ð· ÑодиÑелÑÑкого пÑоÑеÑÑа, ÑиÑÑемнÑй вÑзов man:" -"fork[2] иÑполÑзÑÐµÑ `crhold()` Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ " -"пÑоÑеÑÑа. ÐÑо авÑомаÑиÑеÑки ÑÐ¾Ñ ÑанÑÐµÑ ÑÑеÑнÑе даннÑе нового доÑеÑнего " +"Ðогда пÑоÑеÑÑ ÑоздаеÑÑÑ Ð¸Ð· ÑодиÑелÑÑкого пÑоÑеÑÑа, ÑиÑÑемнÑй вÑзов " +"man:fork[2] иÑполÑзÑÐµÑ `crhold()` Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ " +"пÑоÑеÑÑа. ÐÑо авÑомаÑиÑеÑки ÑÐ¾Ñ ÑанÑÐµÑ ÑÑÑÑнÑе даннÑе нового доÑеÑнего " "пÑоÑеÑÑа ÑоглаÑованнÑми Ñ ÑодиÑелÑÑким, поÑÑÐ¾Ð¼Ñ Ð´Ð¾ÑеÑний пÑоÑеÑÑ Ñакже " -"оÑÑаеÑÑÑ Ð² клеÑке." +"оÑÑаÑÑÑÑ Ð² клеÑке." #. type: delimited block . 4 #: documentation/content/en/books/arch-handbook/jail/_index.adoc:324 @@ -1169,10 +1169,10 @@ msgid "" "disallows any processes from jail to be able to specify the address that " "does not belong to the jail in which the calling process exists." msgstr "" -"СÑÑеÑÑвÑÑÑ Ð¾Ð¿ÑеделеннÑе пÑоÑоколÑ, коÑоÑÑе оÑÐµÐ½Ñ ÑаÑпÑоÑÑÑаненÑ, Ñакие как " +"СÑÑеÑÑвÑÑÑ Ð¾Ð¿ÑеделÑннÑе пÑоÑоколÑ, коÑоÑÑе оÑÐµÐ½Ñ ÑаÑпÑоÑÑÑаненÑ, Ñакие как " "TCP, UDP, IP и ICMP. IP и ICMP Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð½Ð° одном ÑÑовне: ÑеÑевом ÑÑовне 2. " -"ÐÑинимаÑÑÑÑ Ð¾Ð¿ÑеделеннÑе меÑÑ Ð¿ÑедоÑÑоÑожноÑÑи, ÑÑÐ¾Ð±Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ð¿ÑивÑÐ·ÐºÑ " -"пÑоÑокола к опÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ Ð¿ÑоÑеÑÑом в клеÑке, ÑолÑко еÑли ÑÑÑановлен " +"ÐÑинимаÑÑÑÑ Ð¾Ð¿ÑеделÑннÑе меÑÑ Ð¿ÑедоÑÑоÑожноÑÑи, ÑÑÐ¾Ð±Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ð¿ÑивÑÐ·ÐºÑ " +"пÑоÑокола к опÑеделÑÐ½Ð½Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ Ð¿ÑоÑеÑÑом в клеÑке, ÑолÑко еÑли ÑÑÑановлен " "паÑамеÑÑ `nam`. `nam` ÑвлÑеÑÑÑ ÑказаÑелем на ÑÑÑÑкÑÑÑÑ `sockaddr`, коÑоÑÐ°Ñ " "опиÑÑÐ²Ð°ÐµÑ Ð°Ð´ÑеÑ, к коÑоÑÐ¾Ð¼Ñ Ð¿ÑивÑзÑваеÑÑÑ ÑлÑжба. Ðолее ÑоÑное опÑеделение " "заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо `sockaddr` \"Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÐºÐ°Ðº Ñаблон Ð´Ð»Ñ " @@ -1268,8 +1268,8 @@ msgid "" "that address." msgstr "" "ÐÑ Ð¼Ð¾Ð¶ÐµÑе задаÑÑÑÑ Ð²Ð¾Ð¿ÑоÑом, какÑÑ ÑÑнкÑÐ¸Ñ Ð²ÑполнÑÐµÑ `prison_ip()`. " -"`prison_ip()` пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑи аÑгÑменÑа: ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑеÑнÑе даннÑе " -"(пÑедÑÑавленнÑе как `cred`), лÑбÑе Ñлаги и IP-адÑеÑ. Ðна возвÑаÑÐ°ÐµÑ 1, еÑли " +"`prison_ip()` пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑи аÑгÑменÑа: ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑÑÑнÑе даннÑе (" +"пÑедÑÑавленнÑе как `cred`), лÑбÑе Ñлаги и IP-адÑеÑ. Ðна возвÑаÑÐ°ÐµÑ 1, еÑли " "IP-адÑÐµÑ ÐРпÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÐºÐ»ÐµÑке, и 0 в пÑоÑивном ÑлÑÑае. Ðак видно из кода, " "еÑли ÑÑо дейÑÑвиÑелÑно IP-адÑеÑ, не пÑинадлежаÑий клеÑке, пÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð½Ðµ " "ÑазÑеÑаеÑÑÑ Ð¿ÑивÑзÑваÑÑÑÑ Ðº ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ." diff --git a/documentation/content/ru/books/arch-handbook/kobj/_index.adoc b/documentation/content/ru/books/arch-handbook/kobj/_index.adoc index fa43b32738..7d9e498d53 100644 --- a/documentation/content/ru/books/arch-handbook/kobj/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/kobj/_index.adoc @@ -70,7 +70,7 @@ endif::[] Kobj ÑабоÑÐ°ÐµÑ Ð¿ÑÑем генеÑаÑии опиÑаний меÑодов. Ðаждое опиÑание ÑодеÑÐ¶Ð¸Ñ ÑникалÑнÑй иденÑиÑикаÑоÑ, а Ñакже ÑÑнкÑÐ¸Ñ Ð¿Ð¾ ÑмолÑаниÑ. ÐдÑÐµÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñной иденÑиÑикаÑии меÑода в ÑаблиÑе меÑодов клаÑÑа. -ÐлаÑÑ ÑоздаеÑÑÑ Ð¿ÑÑем поÑÑÑÐ¾ÐµÐ½Ð¸Ñ ÑаблиÑÑ Ð¼ÐµÑодов, ÑвÑзÑваÑÑей Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко ÑÑнкÑий Ñ Ð¾Ð¿Ð¸ÑаниÑми меÑодов. ÐеÑед иÑполÑзованием клаÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸ÑÑеÑÑÑ. РпÑоÑеÑÑе компилÑÑии вÑделÑеÑÑÑ ÐºÑÑ Ð¸ ÑвÑзÑваеÑÑÑ Ñ ÐºÐ»Ð°ÑÑом. УникалÑнÑй иденÑиÑикаÑÐ¾Ñ Ð½Ð°Ð·Ð½Ð°ÑаеÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑода в ÑаблиÑе меÑодов клаÑÑа, еÑли ÑÑо еÑе не бÑло Ñделано дÑÑгой ÑÑÑлаÑÑейÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑией клаÑÑа. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ иÑполÑзÑемого меÑода ÑкÑипÑом генеÑиÑÑеÑÑÑ ÑÑнк ÑÐ¸Ñ Ð´Ð»Ñ Ð¿ÑовеÑки аÑгÑменÑов и авÑомаÑиÑеÑкого обÑаÑÐµÐ½Ð¸Ñ Ðº опиÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑода Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка. СгенеÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑÐµÑ Ð¼ÐµÑод, иÑполÑзÑÑ ÑникалÑнÑй иденÑиÑикаÑоÑ, ÑвÑзаннÑй Ñ Ð¾Ð¿Ð¸Ñанием меÑода, в каÑеÑÑве Ñ ÑÑа Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к кÑÑÑ, ÑвÑÐ·Ð°Ð½Ð½Ð¾Ð¼Ñ Ñ ÐºÐ»Ð°ÑÑом обÑекÑа. ÐÑли меÑод не найден в кÑÑе, ÑгенеÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑполÑзÑÐµÑ ÑаблиÑÑ ÐºÐ»Ð°ÑÑа Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка меÑода. ÐÑли меÑод найден, иÑполÑзÑеÑÑÑ ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ Ð½Ð¸Ð¼ ÑÑнкÑÐ¸Ñ Ð²Ð½ÑÑÑи клаÑÑа; в пÑоÑивном ÑлÑÑае иÑполÑзÑеÑÑÑ ÑÑнкÑÐ¸Ñ Ð¿Ð¾ ÑмолÑаниÑ, ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ Ð¾Ð¿Ð¸Ñанием меÑода. +ÐлаÑÑ ÑоздаеÑÑÑ Ð¿ÑÑем поÑÑÑÐ¾ÐµÐ½Ð¸Ñ ÑаблиÑÑ Ð¼ÐµÑодов, ÑвÑзÑваÑÑей Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко ÑÑнкÑий Ñ Ð¾Ð¿Ð¸ÑаниÑми меÑодов. ÐеÑед иÑполÑзованием клаÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸ÑÑеÑÑÑ. РпÑоÑеÑÑе компилÑÑии вÑделÑеÑÑÑ ÐºÑÑ Ð¸ ÑвÑзÑваеÑÑÑ Ñ ÐºÐ»Ð°ÑÑом. УникалÑнÑй иденÑиÑикаÑÐ¾Ñ Ð½Ð°Ð·Ð½Ð°ÑаеÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑода в ÑаблиÑе меÑодов клаÑÑа, еÑли ÑÑо еÑÑ Ð½Ðµ бÑло Ñделано дÑÑгой компилÑÑией, ÑÑÑлаÑÑейÑÑ Ð½Ð° ÑÑÐ¾Ñ ÐºÐ»Ð°ÑÑ. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ иÑполÑзÑемого меÑода ÑкÑипÑом генеÑиÑÑÐµÑ ÑÑ ÑÑнкÑÐ¸Ñ Ð´Ð»Ñ Ð¿ÑовеÑки аÑгÑменÑов и авÑомаÑиÑеÑкого обÑаÑÐµÐ½Ð¸Ñ Ðº опиÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑода Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка. СгенеÑиÑÐ ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑÐµÑ Ð¼ÐµÑод, иÑполÑзÑÑ ÑникалÑнÑй иденÑиÑикаÑоÑ, ÑвÑзаннÑй Ñ Ð¾Ð¿Ð¸Ñанием меÑода, в каÑеÑÑве Ñ ÑÑа Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к кÑÑÑ, ÑвÑÐ·Ð°Ð½Ð½Ð¾Ð¼Ñ Ñ ÐºÐ»Ð°ÑÑом обÑекÑа. ÐÑли меÑод не найден в кÑÑе, ÑгенеÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑполÑзÑÐµÑ ÑаблиÑÑ ÐºÐ»Ð°ÑÑа Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка меÑода. ÐÑли меÑод найден, иÑполÑзÑеÑÑÑ ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ Ð½Ð¸Ð¼ ÑÑнкÑÐ¸Ñ Ð²Ð½ÑÑÑи клаÑÑа; в пÑоÑивном ÑлÑÑае иÑполÑзÑеÑÑÑ ÑÑнкÑÐ¸Ñ Ð¿Ð¾ ÑмолÑаниÑ, ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ Ð¾Ð¿Ð¸Ñанием меÑода. ÐÑи пеÑенапÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ визÑализиÑоваÑÑ ÑледÑÑÑим обÑазом: diff --git a/documentation/content/ru/books/arch-handbook/kobj/_index.po b/documentation/content/ru/books/arch-handbook/kobj/_index.po index 4209eb3967..26ad1feeb8 100644 --- a/documentation/content/ru/books/arch-handbook/kobj/_index.po +++ b/documentation/content/ru/books/arch-handbook/kobj/_index.po @@ -6,7 +6,7 @@ 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" +"PO-Revision-Date: 2025-11-26 04:45+0000\n" "Last-Translator: Vladlen Popolitov <[email protected]>\n" "Language-Team: Russian <https://translate-dev.freebsd.org/projects/" "documentation/booksarch-handbookkobj_index/ru/>\n" @@ -133,10 +133,10 @@ msgstr "" "неÑколÑко ÑÑнкÑий Ñ Ð¾Ð¿Ð¸ÑаниÑми меÑодов. ÐеÑед иÑполÑзованием клаÑÑ " "компилиÑÑеÑÑÑ. РпÑоÑеÑÑе компилÑÑии вÑделÑеÑÑÑ ÐºÑÑ Ð¸ ÑвÑзÑваеÑÑÑ Ñ ÐºÐ»Ð°ÑÑом. " "УникалÑнÑй иденÑиÑикаÑÐ¾Ñ Ð½Ð°Ð·Ð½Ð°ÑаеÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑода в ÑаблиÑе " -"меÑодов клаÑÑа, еÑли ÑÑо еÑе не бÑло Ñделано дÑÑгой ÑÑÑлаÑÑейÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑией " -"клаÑÑа. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ иÑполÑзÑемого меÑода ÑкÑипÑом генеÑиÑÑеÑÑÑ ÑÑнкÑÐ¸Ñ Ð´Ð»Ñ " -"пÑовеÑки аÑгÑменÑов и авÑомаÑиÑеÑкого обÑаÑÐµÐ½Ð¸Ñ Ðº опиÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑода Ð´Ð»Ñ " -"поиÑка. СгенеÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑÐµÑ Ð¼ÐµÑод, иÑполÑзÑÑ ÑникалÑнÑй " +"меÑодов клаÑÑа, еÑли ÑÑо еÑÑ Ð½Ðµ бÑло Ñделано дÑÑгой компилÑÑией, ÑÑÑлаÑÑейÑÑ " +"на ÑÑÐ¾Ñ ÐºÐ»Ð°ÑÑ. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ иÑполÑзÑемого меÑода ÑкÑипÑом генеÑиÑÑеÑÑÑ " +"ÑÑнкÑÐ¸Ñ Ð´Ð»Ñ Ð¿ÑовеÑки аÑгÑменÑов и авÑомаÑиÑеÑкого обÑаÑÐµÐ½Ð¸Ñ Ðº опиÑÐ°Ð½Ð¸Ñ " +"меÑода Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка. СгенеÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑÐµÑ Ð¼ÐµÑод, иÑполÑзÑÑ ÑникалÑнÑй " "иденÑиÑикаÑоÑ, ÑвÑзаннÑй Ñ Ð¾Ð¿Ð¸Ñанием меÑода, в каÑеÑÑве Ñ ÑÑа Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к " "кÑÑÑ, ÑвÑÐ·Ð°Ð½Ð½Ð¾Ð¼Ñ Ñ ÐºÐ»Ð°ÑÑом обÑекÑа. ÐÑли меÑод не найден в кÑÑе, " "ÑгенеÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸ÑполÑзÑÐµÑ ÑаблиÑÑ ÐºÐ»Ð°ÑÑа Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка меÑода. ÐÑли " diff --git a/documentation/content/ru/books/arch-handbook/mac/_index.adoc b/documentation/content/ru/books/arch-handbook/mac/_index.adoc index d27bbccef5..133fe61ed3 100644 --- a/documentation/content/ru/books/arch-handbook/mac/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/mac/_index.adoc @@ -135,12 +135,12 @@ FreeBSD вклÑÑÐ°ÐµÑ ÑкÑпеÑименÑалÑнÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ [[mac-framework-kernel-arch-label-synchronization]] === Ð¡Ð¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð¼ÐµÑок -ÐоÑколÑÐºÑ Ðº обÑекÑам ÑдÑа обÑÑно Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð±ÑаÑаÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ одного поÑока одновÑеменно, и допÑÑкаеÑÑÑ Ð¾Ð´Ð½Ð¾Ð²ÑеменнÑй Ð²Ñ Ð¾Ð´ неÑколÑÐºÐ¸Ñ Ð¿Ð¾Ñоков в MAC Framework, Ñ Ñанение аÑÑибÑÑов безопаÑноÑÑи, поддеÑживаемое MAC Framework, ÑÑаÑелÑно ÑÐ¸Ð½Ñ ÑонизиÑовано. Ðак пÑавило, ÑÑÑеÑÑвÑÑÑÐ°Ñ ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ ÑдÑа Ð´Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾Ð±ÑекÑов ÑдÑа иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð·Ð°ÑиÑÑ Ð¼ÐµÑок безопаÑноÑÑи MAC Framework на обÑекÑе: напÑимеÑ, меÑки MAC на ÑокеÑÐ°Ñ Ð·Ð°ÑиÑаÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑÑеÑÑвÑÑÑего Ð¼Ñ ÑÑекÑа ÑокеÑа. ÐналогиÑно, ÑеманÑика паÑаллелÑного доÑÑÑпа обÑÑно иденÑиÑна ÑеманÑике конÑейнеÑнÑÑ Ð¾ бÑекÑов: Ð´Ð»Ñ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑеманÑика копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи запиÑи Ð´Ð»Ñ ÑодеÑжимого меÑок, как и Ð´Ð»Ñ Ð¾ÑÑалÑной ÑÑÑÑкÑÑÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ . MAC Framework ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе блокиÑовки на обÑекÑÑ Ð¿Ñи вÑзове Ñ ÑÑÑлкой на обÑекÑ. ÐвÑоÑам полиÑик Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑÑиÑÑваÑÑ ÑÑи ÑеманÑики ÑÐ¸Ð½Ñ ÑонизаÑии, Ñак как они иногда огÑаниÑиваÑÑ ÑÐ¸Ð¿Ñ Ð´Ð¾ÑÑÑпа к меÑкам: напÑимеÑ, когда ÑÑÑлка ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð½Ð° ÑÑеÑнÑе даннÑе пеÑедаÑÑÑÑ Ð¿Ð¾Ð»Ð¸Ñике ÑеÑез ÑоÑÐºÑ Ð²Ñ Ð¾Ð´Ð°, ÑазÑеÑÐµÐ½Ñ ÑолÑко опеÑаÑии ÑÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð¼ÐµÑки, пÑикÑепленного к ÑÑеÑнÑм даннÑм. +ÐоÑколÑÐºÑ Ðº обÑекÑам ÑдÑа обÑÑно Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð±ÑаÑаÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ одного поÑока одновÑеменно, и допÑÑкаеÑÑÑ Ð¾Ð´Ð½Ð¾Ð²ÑеменнÑй Ð²Ñ Ð¾Ð´ неÑколÑÐºÐ¸Ñ Ð¿Ð¾Ñоков в MAC Framework, Ñ Ñанение аÑÑибÑÑов безопаÑноÑÑи, поддеÑживаемое MAC Framework, ÑÑаÑелÑно ÑÐ¸Ð½Ñ ÑонизиÑовано. Ðак пÑавило, ÑÑÑеÑÑвÑÑÑÐ°Ñ ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ ÑдÑа Ð´Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾Ð±ÑекÑов ÑдÑа иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð·Ð°ÑиÑÑ Ð¼ÐµÑок безопаÑноÑÑи MAC Framework на обÑекÑе: напÑимеÑ, меÑки MAC на ÑокеÑÐ°Ñ Ð·Ð°ÑиÑаÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑÑеÑÑвÑÑÑего Ð¼Ñ ÑÑекÑа ÑокеÑа. ÐналогиÑно, ÑеманÑика паÑаллелÑного доÑÑÑпа обÑÑно иденÑиÑна ÑеманÑике конÑейнеÑнÑÑ Ð¾ бÑекÑов: Ð´Ð»Ñ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑеманÑика копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи запиÑи Ð´Ð»Ñ ÑодеÑжимого меÑок, как и Ð´Ð»Ñ Ð¾ÑÑалÑной ÑÑÑÑкÑÑÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ . MAC Framework ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе блокиÑовки на обÑекÑÑ Ð¿Ñи вÑзове Ñ ÑÑÑлкой на обÑекÑ. ÐвÑоÑам полиÑик Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑÑиÑÑваÑÑ ÑÑи ÑеманÑики ÑÐ¸Ð½Ñ ÑонизаÑии, Ñак как они иногда огÑаниÑиваÑÑ ÑÐ¸Ð¿Ñ Ð´Ð¾ÑÑÑпа к меÑкам: напÑимеÑ, когда ÑÑÑлка ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð½Ð° ÑÑÑÑнÑе даннÑе пеÑедаÑÑÑÑ Ð¿Ð¾Ð»Ð¸Ñике ÑеÑез ÑоÑÐºÑ Ð²Ñ Ð¾Ð´Ð°, ÑазÑеÑÐµÐ½Ñ ÑолÑко опеÑаÑии ÑÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð¼ÐµÑки, пÑикÑепленного к ÑÑÑÑнÑм даннÑм. [[mac-framework-kernel-arch-policy-synchronization]] === Ð¡Ð¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð¿Ð¾Ð»Ð¸Ñики и паÑаллелизм -ÐодÑли полиÑик Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ñ Ñ ÑÑеÑом Ñого, ÑÑо множеÑÑво поÑоков ÑдÑа могÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно войÑи в Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко ÑоÑек Ð²Ñ Ð¾Ð´Ð° полиÑики из-за паÑаллелÑной и вÑÑеÑнÑÑÑей пÑиÑÐ¾Ð´Ñ ÑдÑа FreeBSD. ÐÑли модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики иÑполÑзÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ñемое ÑоÑÑоÑние, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÑимиÑивов ÑÐ¸Ð½Ñ ÑонизаÑии внÑÑÑи полиÑики, ÑÑÐ¾Ð±Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ð½ÐµÑоглаÑованнÑе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑого ÑоÑÑоÑниÑ, ведÑÑие к некоÑÑекÑной ÑабоÑе полиÑиРºÐ¸. ÐолиÑики, как пÑавило, могÑÑ Ð¸ÑполÑзоваÑÑ ÑÑÑеÑÑвÑÑÑие пÑимиÑÐ¸Ð²Ñ ÑÐ¸Ð½Ñ ÑонизаÑии FreeBSD Ð´Ð»Ñ ÑÑой Ñели, в клÑÑÐ°Ñ Ð¼ÑÑÑекÑÑ, блокиÑовки Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸ÐµÐ¼, ÑÑловнÑе пеÑеменнÑе и ÑÑÑÑнÑе ÑемаÑоÑÑ. Ðднако полиÑики Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ñ Ñак, ÑÑÐ¾Ð±Ñ Ð¿ÑименÑÑÑ ÑÑи пÑимиÑÐ¸Ð²Ñ Ð¾ÑÑоÑожно, ÑоблÑÐ´Ð°Ñ ÑÑÑеÑÑвÑÑÑие поÑÑдки блокиÑовок в ÑдÑе и ÑÑиÑÑваÑ, ÑÑо некоÑоÑÑе ÑоÑки Ð²Ñ Ð¾Ð´Ð° не допÑÑкаÑÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ, огÑаниÑÐ¸Ð²Ð°Ñ Ð¸ÑполÑзование пÑимиÑивов в ÑÑÐ¸Ñ ÑоÑÐºÐ°Ñ Ð²Ñ Ð¾Ð´Ð° мÑÑÑекÑами и опеÑаÑиÑми пÑобÑждениÑ. +ÐодÑли полиÑик Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ñ Ñ ÑÑÑÑом Ñого, ÑÑо множеÑÑво поÑоков ÑдÑа могÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно войÑи в Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко ÑоÑек Ð²Ñ Ð¾Ð´Ð° полиÑики из-за паÑаллелÑной и вÑÑеÑнÑÑÑей пÑиÑÐ¾Ð´Ñ ÑдÑа FreeBSD. ÐÑли модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики иÑполÑзÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ñемое ÑоÑÑоÑние, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÑимиÑивов ÑÐ¸Ð½Ñ ÑонизаÑии внÑÑÑи полиÑики, ÑÑÐ¾Ð±Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ð½ÐµÑоглаÑованнÑе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑого ÑоÑÑоÑниÑ, ведÑÑие к некоÑÑекÑной ÑабоÑе полиÑиРºÐ¸. ÐолиÑики, как пÑавило, могÑÑ Ð¸ÑполÑзоваÑÑ ÑÑÑеÑÑвÑÑÑие пÑимиÑÐ¸Ð²Ñ ÑÐ¸Ð½Ñ ÑонизаÑии FreeBSD Ð´Ð»Ñ ÑÑой Ñели, в клÑÑÐ°Ñ Ð¼ÑÑÑекÑÑ, блокиÑовки Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸ÐµÐ¼, ÑÑловнÑе пеÑеменнÑе и ÑÑÑÑнÑе ÑемаÑоÑÑ. Ðднако полиÑики Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ñ Ñак, ÑÑÐ¾Ð±Ñ Ð¿ÑименÑÑÑ ÑÑи пÑимиÑÐ¸Ð²Ñ Ð¾ÑÑоÑожно, ÑоблÑÐ´Ð°Ñ ÑÑÑеÑÑвÑÑÑие поÑÑдки блокиÑовок в ÑдÑе и ÑÑиÑÑваÑ, ÑÑо некоÑоÑÑе ÑоÑки Ð²Ñ Ð¾Ð´Ð° не допÑÑкаÑÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ, огÑаниÑÐ¸Ð²Ð°Ñ Ð¸ÑполÑзование пÑимиÑивов в ÑÑÐ¸Ñ ÑоÑÐºÐ°Ñ Ð²Ñ Ð¾Ð´Ð° мÑÑÑекÑами и опеÑаÑиÑми пÑобÑждениÑ. Ðогда модÑли полиÑики обÑаÑаÑÑÑÑ Ðº дÑÑгим подÑиÑÑемам ÑдÑа, они обÑÑно Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾ÑвобождаÑÑ Ð»ÑбÑе блокиÑовки внÑÑÑи полиÑики, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð½Ð°ÑÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑдка блокиÑовок ÑдÑа или ÑиÑка ÑекÑÑÑивнÑÑ Ð±Ð»Ð¾ÐºÐ¸Ñовок. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑÐ¾Ñ ÑаниÑÑ Ð±Ð»Ð¾ÐºÐ¸Ñовки полиÑики как конеÑнÑе блокиÑовки в глобалÑном поÑÑдке блокиÑовок, Ð¿Ð¾Ð¼Ð¾Ð³Ð°Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð±Ð»Ð¾ÐºÐ¸Ñовки. @@ -152,7 +152,7 @@ FreeBSD вклÑÑÐ°ÐµÑ ÑкÑпеÑименÑалÑнÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ [[mac-framework-kernel-arch-entrypoints]] === ТоÑки Ð²Ñ Ð¾Ð´Ð° -ЯдÑо взаимодейÑÑвÑÐµÑ Ñ MAC Framework двÑÐ¼Ñ ÑпоÑобами: вÑзÑÐ²Ð°ÐµÑ Ð½Ð°Ð±Ð¾Ñ API Ð´Ð»Ñ ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ ÑÑеймвоÑка о ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ ÑобÑÑиÑÑ Ð¸ пÑедоÑÑавлÑÐµÑ ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑÑÑкÑÑÑÑ Ð¼ÐµÑок, не завиÑÑÑÑÑ Ð¾Ñ Ð¿Ð¾Ð»Ð¸Ñики, в обÑекÑÐ°Ñ , ÑвÑзаннÑÑ Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑÑÑ. УказаÑÐµÐ»Ñ Ð¼ÐµÑки ÑпÑавлÑеÑÑÑ MAC Framework ÑеÑез ÑоÑки Ð²Ñ Ð¾Ð´Ð° ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑками, ÑÑо позволÑÐµÑ ÑÑеймвоÑÐºÑ Ð¿ÑедоÑÑавлÑÑÑ ÑлÑÐ¶Ð±Ñ Ð¼Ð°ÑкиÑовки модÑлÑм полиÑик Ñ Ð¾ÑноÑиÑелÑно минималÑнÑми изменениÑми в подÑиÑÑеме ÑдÑа, ÑпÑавлÑÑÑей обÑекÑом. ÐапÑимеÑ, ÑказаÑели меÑок бÑли Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ðº пÑоÑеÑÑам, ÑÑеÑнÑм даннÑм пÑоÑе ÑÑов, ÑокеÑам, каналам, vnode, Mbuf, ÑеÑевÑм инÑеÑÑейÑам, оÑеÑедÑм ÑбоÑки IP-пакеÑов и множеÑÑÐ²Ñ Ð´ÑÑÐ³Ð¸Ñ ÑÑÑÑкÑÑÑ, ÑвÑзаннÑÑ Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑÑÑ. ЯдÑо Ñакже вÑзÑÐ²Ð°ÐµÑ MAC Framework пÑи пÑинÑÑии важнÑÑ ÑеÑений по безопаÑноÑÑи, позволÑÑ Ð¼Ð¾Ð´ÑлÑм полиÑик дополнÑÑÑ ÑÑи ÑеÑÐµÐ½Ð¸Ñ Ð½Ð° оÑнове ÑобÑÑвеннÑÑ ÐºÑиÑеÑиев (вклÑÑаÑ, возможно, даннÑе, Ñ ÑанÑÑиеÑÑ Ð² меÑÐºÐ°Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи). ÐолÑÑинÑÑво ÑÑÐ¸Ñ ÐºÑиÑиÑеÑки важнÑÑ ÑеÑений по безопаÑноÑÑи бÑдÑÑ ÑвнÑми пÑовеÑками ко нÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа; однако некоÑоÑÑе влиÑÑÑ Ð½Ð° более обÑие ÑÑнкÑии пÑинÑÑÐ¸Ñ ÑеÑений, Ñакие как ÑопоÑÑавлен ие пакеÑов Ð´Ð»Ñ ÑокеÑов и пеÑÐµÑ Ð¾Ð´ меÑок пÑи вÑполнении пÑогÑаммÑ. +ЯдÑо взаимодейÑÑвÑÐµÑ Ñ MAC Framework двÑÐ¼Ñ ÑпоÑобами: вÑзÑÐ²Ð°ÐµÑ Ð½Ð°Ð±Ð¾Ñ API Ð´Ð»Ñ ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ ÑÑеймвоÑка о ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ ÑобÑÑиÑÑ Ð¸ пÑедоÑÑавлÑÐµÑ ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑÑÑкÑÑÑÑ Ð¼ÐµÑок, не завиÑÑÑÑÑ Ð¾Ñ Ð¿Ð¾Ð»Ð¸Ñики, в обÑекÑÐ°Ñ , ÑвÑзаннÑÑ Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑÑÑ. УказаÑÐµÐ»Ñ Ð¼ÐµÑки ÑпÑавлÑеÑÑÑ MAC Framework ÑеÑез ÑоÑки Ð²Ñ Ð¾Ð´Ð° ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑками, ÑÑо позволÑÐµÑ ÑÑеймвоÑÐºÑ Ð¿ÑедоÑÑавлÑÑÑ ÑлÑÐ¶Ð±Ñ Ð¼Ð°ÑкиÑовки модÑлÑм полиÑик Ñ Ð¾ÑноÑиÑелÑно минималÑнÑми изменениÑми в подÑиÑÑеме ÑдÑа, ÑпÑавлÑÑÑей обÑекÑом. ÐапÑимеÑ, ÑказаÑели меÑок бÑли Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ðº пÑоÑеÑÑам, ÑÑÑÑнÑм даннÑм пÑоÑе ÑÑов, ÑокеÑам, каналам, vnode, Mbuf, ÑеÑевÑм инÑеÑÑейÑам, оÑеÑедÑм ÑбоÑки IP-пакеÑов и множеÑÑÐ²Ñ Ð´ÑÑÐ³Ð¸Ñ ÑÑÑÑкÑÑÑ, ÑвÑзаннÑÑ Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑÑÑ. ЯдÑо Ñакже вÑзÑÐ²Ð°ÐµÑ MAC Framework пÑи пÑинÑÑии важнÑÑ ÑеÑений по безопаÑноÑÑи, позволÑÑ Ð¼Ð¾Ð´ÑлÑм полиÑик дополнÑÑÑ ÑÑи ÑеÑÐµÐ½Ð¸Ñ Ð½Ð° оÑнове ÑобÑÑвеннÑÑ ÐºÑиÑеÑиев (вклÑÑаÑ, возможно, даннÑе, Ñ ÑанÑÑиеÑÑ Ð² меÑÐºÐ°Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи). ÐолÑÑинÑÑво ÑÑÐ¸Ñ ÐºÑиÑиÑеÑки важнÑÑ ÑеÑений по безопаÑноÑÑи бÑдÑÑ ÑвнÑми пÑовеÑками ко нÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа; однако некоÑоÑÑе влиÑÑÑ Ð½Ð° более обÑие ÑÑнкÑии пÑинÑÑÐ¸Ñ ÑеÑений, Ñакие как ÑопоÑÑавлен ие пакеÑов Ð´Ð»Ñ ÑокеÑов и пеÑÐµÑ Ð¾Ð´ меÑок пÑи вÑполнении пÑогÑаммÑ. [[mac-framework-kernel-arch-composition]] === ÐомпозиÑÐ¸Ñ Ð¿Ð¾Ð»Ð¸Ñик @@ -266,7 +266,7 @@ MPC_LOADTIME_FLAG_LABELMBUFS:: ÐвÑоÑÑ Ð¼Ð¾Ð´Ñлей полиÑик Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ñ Ð¾ ÑÑÑаÑегии блокиÑовок в ÑдÑе, а Ñакже о Ñом, какие блокиÑовки обÑекÑов доÑÑÑÐ¿Ð½Ñ Ð½Ð° ÑазлиÑнÑÑ ÑоÑÐºÐ°Ñ Ð²Ñ Ð¾Ð´Ð°. Ðм ÑледÑÐµÑ Ð¸Ð·Ð±ÐµÐ³Ð°ÑÑ ÑÑенаÑиев взаимоблокиÑовок, не Ð·Ð°Ñ Ð²Ð°ÑÑÐ²Ð°Ñ Ð½ÐµÐ»Ð¸ÑÑовÑе блокиÑовки внÑÑÑи ÑоÑек Ð²Ñ Ð¾Ð´Ð°, а Ñакже ÑоблÑдаÑÑ Ð¿ÑоÑокол блокиÑовок Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑекÑов. Ð ÑаÑÑноÑÑи, авÑоÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÑиÑÑваÑÑ, ÑÑо Ñ Ð¾ÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе блокиÑовки Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к обÑекÑам и Ð¸Ñ Ð¼ÐµÑкР°Ð¼ обÑÑно ÑдеÑживаÑÑÑÑ, доÑÑаÑоÑнÑе блокиÑовки Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑекÑа или его меÑки могÑÑ Ð¾ÑÑÑÑÑÑвоваÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ ÑоÑек Ð²Ñ Ð¾Ð´Ð°. ÐнÑоÑмаÑÐ¸Ñ Ð¾ блокиÑÐ¾Ð²ÐºÐ°Ñ Ð°ÑгÑменÑов докÑменÑиÑована в опиÑании ÑоÑек Ð²Ñ Ð¾Ð´Ð° ÑÑеймвоÑка MAC. -ТоÑки Ð²Ñ Ð¾Ð´Ð° полиÑики бÑдÑÑ Ð¿ÐµÑедаваÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° меÑÐºÑ Ð¾Ð±ÑекÑа вмеÑÑе Ñ Ñамим обÑекÑом. ÐÑо позволÑÐµÑ Ð¿Ð¾Ð¼ÐµÑеннÑм полиÑикам не знаÑÑ Ð²Ð½ÑÑÑенней ÑÑÑÑкÑÑÑÑ Ð¾Ð±ÑекÑа, но пÑи ÑÑом пÑинимаÑÑ ÑеÑÐµÐ½Ð¸Ñ Ð½Ð° оÑнове меÑки. ÐÑклÑÑением из ÑÑого ÑвлÑÑÑÑÑ ÑÑеÑнÑе даннÑе пÑоÑеÑÑа, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑе пÑедполагаеÑÑÑ, ÑÑо полиÑики понимаÑÑ Ð¸Ñ , как обÑÐµÐºÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи пеÑвого клаÑÑа в ÑдÑе. +ТоÑки Ð²Ñ Ð¾Ð´Ð° полиÑики бÑдÑÑ Ð¿ÐµÑедаваÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° меÑÐºÑ Ð¾Ð±ÑекÑа вмеÑÑе Ñ Ñамим обÑекÑом. ÐÑо позволÑÐµÑ Ð¿Ð¾Ð¼ÐµÑеннÑм полиÑикам не знаÑÑ Ð²Ð½ÑÑÑенней ÑÑÑÑкÑÑÑÑ Ð¾Ð±ÑекÑа, но пÑи ÑÑом пÑинимаÑÑ ÑеÑÐµÐ½Ð¸Ñ Ð½Ð° оÑнове меÑки. ÐÑклÑÑением из ÑÑого ÑвлÑÑÑÑÑ ÑÑÑÑнÑе даннÑе пÑоÑеÑÑа, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑе пÑедполагаеÑÑÑ, ÑÑо полиÑики понимаÑÑ Ð¸Ñ , как обÑÐµÐºÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи пеÑвого клаÑÑа в ÑдÑе. [[mac-entry-point-reference]] == СпÑавоÑник по ÑоÑкам Ð²Ñ Ð¾Ð´Ð° полиÑики MAC @@ -420,7 +420,7 @@ void mpo_init_cred_label(struct label *label); | |=== -ÐниÑиализиÑоваÑÑ Ð¼ÐµÑÐºÑ Ð´Ð»Ñ Ð²Ð½Ð¾Ð²Ñ ÑозданнÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ. РазÑеÑено пÑиоÑÑанавливаÑÑ Ð²Ñполнение. +ÐниÑиализиÑоваÑÑ Ð¼ÐµÑÐºÑ Ð´Ð»Ñ Ð²Ð½Ð¾Ð²Ñ ÑозданнÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ. РазÑеÑено пÑиоÑÑанавливаÑÑ Ð²Ñполнение. [[mac-mpo-init-devfsdirent]] ==== `mpo_init_devfsdirent_label` @@ -704,7 +704,7 @@ void mpo_destroy_bpfdesc_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° деÑкÑипÑоÑе BPF. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° полиÑика должна оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° деÑкÑипÑоÑе BPF. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° полиÑика должна оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-cred]] ==== `mpo_destroy_cred_label` @@ -726,7 +726,7 @@ void mpo_destroy_cred_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ . Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ . Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-devfsdirent]] ==== `mpo_destroy_devfsdirent_label` @@ -748,7 +748,7 @@ void mpo_destroy_devfsdirent_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° запиÑи devfs. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° запиÑи devfs. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-ifnet-label]] ==== `mpo_destroy_ifnet_label` @@ -770,7 +770,7 @@ void mpo_destroy_ifnet_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° Ñдаленном инÑеÑÑейÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° Ñдаленном инÑеÑÑейÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-ipq-label]] ==== `mpo_destroy_ipq_label` @@ -792,7 +792,7 @@ void mpo_destroy_ipq_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð² оÑеÑеди IP-ÑÑагменÑов. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð² оÑеÑеди IP-ÑÑагменÑов. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-mbuf-label]] ==== `mpo_destroy_mbuf_label` @@ -814,7 +814,7 @@ void mpo_destroy_mbuf_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð² заголовке mbuf. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð² заголовке mbuf. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-mount-label]] ==== `mpo_destroy_mount_label` @@ -836,7 +836,7 @@ void mpo_destroy_mount_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑки на ÑоÑке монÑиÑованиÑ. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð²Ð½ÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `mntlabel`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑки на ÑоÑке монÑиÑованиÑ. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð²Ð½ÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `mntlabel`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-mount]] ==== `mpo_destroy_mount_label` @@ -884,7 +884,7 @@ void mpo_destroy_socket_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑокеÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑокеÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-socket-peer-label]] ==== `mpo_destroy_socket_peer_label` @@ -906,7 +906,7 @@ void mpo_destroy_socket_peer_label(struct label *peerlabel); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð¾Ð´Ð½Ð¾Ñангового Ñзла на ÑокеÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð¾Ð´Ð½Ð¾Ñангового Ñзла на ÑокеÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-pipe-label]] ==== `mpo_destroy_pipe_label` @@ -950,7 +950,7 @@ void mpo_destroy_proc_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° пÑоÑеÑÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° пÑоÑеÑÑе. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-destroy-vnode-label]] ==== `mpo_destroy_vnode_label` @@ -972,7 +972,7 @@ void mpo_destroy_vnode_label(struct label *label); | |=== -УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° vnode. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÐµ можно бÑло ÑниÑÑожиÑÑ. +УниÑÑожиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° vnode. Ð ÑÑой ÑоÑке Ð²Ñ Ð¾Ð´Ð° модÑÐ»Ñ Ð¿Ð¾Ð»Ð¸Ñики должен оÑвободиÑÑ Ð»Ñбое внÑÑÑеннее Ñ ÑанилиÑе, ÑвÑзанное Ñ `label`, ÑÑÐ¾Ð±Ñ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑниÑÑожиÑÑ. [[mac-mpo-copy-mbuf-label]] ==== `mpo_copy_mbuf_label` @@ -1664,7 +1664,7 @@ void mpo_create_devfs_symlink(struct ucred *cred, struct mount *mp, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`mp` @@ -1708,7 +1708,7 @@ int mpo_create_vnode_extattr(struct ucred *cred, struct mount *mp, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`mount` @@ -1759,7 +1759,7 @@ void mpo_create_mount(struct ucred *cred, struct mount *mp, struct label *mnt, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`mp` @@ -1775,7 +1775,7 @@ void mpo_create_mount(struct ucred *cred, struct mount *mp, struct label *mnt, | |=== -ÐаполниÑÑ Ð¼ÐµÑки на ÑоÑке монÑиÑованиÑ, Ñоздаваемой пеÑеданнÑми ÑÑеÑнÑми даннÑми ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов бÑÐ´ÐµÑ Ð²Ñполнен пÑи монÑиÑовании новой Ñайловой ÑиÑÑемÑ. +ÐаполниÑÑ Ð¼ÐµÑки на ÑоÑке монÑиÑованиÑ, Ñоздаваемой пеÑеданнÑми ÑÑÑÑнÑми даннÑми ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов бÑÐ´ÐµÑ Ð²Ñполнен пÑи монÑиÑовании новой Ñайловой ÑиÑÑемÑ. [[mac-mpo-create-root-mount]] ===== `mpo_create_root_mount` @@ -1796,7 +1796,7 @@ void mpo_create_root_mount(struct ucred *cred, struct mount *mp, 3+|См. crossref:mac[mac-mpo-create-mount, `mpo_create_mount`]. |=== -ÐаполниÑÑ Ð¼ÐµÑки на ÑоÑке монÑиÑованиÑ, Ñоздаваемой пеÑеданнÑми ÑÑеÑнÑми даннÑми ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов бÑÐ´ÐµÑ Ð²Ñполнен пÑи монÑиÑовании коÑневой Ñайловой ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ñле `mpo_create_mount;`. +ÐаполниÑÑ Ð¼ÐµÑки на ÑоÑке монÑиÑованиÑ, Ñоздаваемой пеÑеданнÑми ÑÑÑÑнÑми даннÑми ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов бÑÐ´ÐµÑ Ð²Ñполнен пÑи монÑиÑовании коÑневой Ñайловой ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ñле `mpo_create_mount;`. [[mac-mpo-relabel-vnode]] ===== `mpo_relabel_vnode` @@ -1815,7 +1815,7 @@ void mpo_relabel_vnode(struct ucred *cred, struct vnode *vp, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`vp` @@ -1831,7 +1831,7 @@ void mpo_relabel_vnode(struct ucred *cred, struct vnode *vp, | |=== -ÐбновиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° пеÑеданном vnode Ñ ÑÑеÑом пеÑеданной обновленной меÑки vnode и пеÑеданнÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. +ÐбновиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° пеÑеданном vnode Ñ ÑÑÑÑом пеÑеданной обновленной меÑки vnode и пеÑеданнÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. [[mac-mpo-setlabel-vnode-extattr]] ===== `mpo_setlabel_vnode_extattr` @@ -1850,7 +1850,7 @@ int mpo_setlabel_vnode_extattr(struct ucred *cred, struct vnode *vp, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`vp` @@ -1958,7 +1958,7 @@ void mpo_create_pipe(struct ucred *cred, struct pipe *pipe, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`pipe` @@ -1970,7 +1970,7 @@ void mpo_create_pipe(struct ucred *cred, struct pipe *pipe, | |=== -УÑÑановиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑолÑко ÑÑо Ñозданном канале из пеÑеданнÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов вÑполнÑеÑÑÑ Ð¿Ñи Ñоздании нового канала. +УÑÑановиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑолÑко ÑÑо Ñозданном канале из пеÑеданнÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов вÑполнÑеÑÑÑ Ð¿Ñи Ñоздании нового канала. [[mac-mpo-create-socket]] ===== `mpo_create_socket` @@ -1989,7 +1989,7 @@ void mpo_create_socket(struct ucred *cred, struct socket *so, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа |ÐеизменÑемÑй |`so` @@ -2001,7 +2001,7 @@ void mpo_create_socket(struct ucred *cred, struct socket *so, | |=== -УÑÑановиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° новом ÑокеÑе из пеÑеданнÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов вÑполнÑеÑÑÑ Ð¿Ñи Ñоздании ÑокеÑа. +УÑÑановиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° новом ÑокеÑе из пеÑеданнÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. ÐÑÐ¾Ñ Ð²Ñзов вÑполнÑеÑÑÑ Ð¿Ñи Ñоздании ÑокеÑа. [[mac-mpo-create-socket-from-socket]] ===== `mpo_create_socket_from_socket` @@ -2056,7 +2056,7 @@ void mpo_relabel_pipe(struct ucred *cred, struct pipe *pipe, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`pipe` @@ -2091,7 +2091,7 @@ void mpo_relabel_socket(struct ucred *cred, struct socket *so, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа |ÐеизменÑемÑй |`so` @@ -2200,7 +2200,7 @@ void mpo_create_bpfdesc(struct ucred *cred, struct bpf_d *bpf_d, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа |ÐеизменÑемÑй |`bpf_d` @@ -2616,7 +2616,7 @@ void mpo_relabel_ifnet(struct ucred *cred, struct ifnet *ifnet, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`ifnet` @@ -2632,7 +2632,7 @@ void mpo_relabel_ifnet(struct ucred *cred, struct ifnet *ifnet, | |=== -ÐбновиÑÑ Ð¼ÐµÑÐºÑ ÑеÑевого инÑеÑÑейÑа, `ifnet`, на оÑнове пеÑеданной новой меÑки, `newlabel`, и пеÑеданнÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа, `cred`. +ÐбновиÑÑ Ð¼ÐµÑÐºÑ ÑеÑевого инÑеÑÑейÑа, `ifnet`, на оÑнове пеÑеданной новой меÑки, `newlabel`, и пеÑеданнÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа, `cred`. [[mac-mpo-update-ipq]] ===== `mpo_update_ipq` @@ -2688,7 +2688,7 @@ void mpo_create_cred(struct ucred *parent_cred, struct ucred *child_cred); | ÐлокиÑовка |`parent_cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑаâÑодиÑÐµÐ»Ñ +|УÑÑÑнÑе даннÑе ÑÑбÑекÑаâÑодиÑÐµÐ»Ñ | |`child_cred` @@ -2716,11 +2716,11 @@ void mpo_execve_transition(struct ucred *old, struct ucred *new, | ÐлокиÑовка |`old` -|УÑеÑнÑе даннÑе ÑÑÑеÑÑвÑÑÑего ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑÑеÑÑвÑÑÑего ÑÑбÑекÑа |ÐеизменÑемÑй |`new` -|УÑеÑнÑе даннÑе нового ÑÑбÑекÑа Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑки +|УÑÑÑнÑе даннÑе нового ÑÑбÑекÑа Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑки | |`vp` @@ -2732,7 +2732,7 @@ void mpo_execve_transition(struct ucred *old, struct ucred *new, | |=== -ÐбновиÑÑ Ð¼ÐµÑÐºÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð²Ð½Ð¾Ð²Ñ Ñозданного ÑÑбÑекÑа (`new`) на оÑнове пеÑеданнÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑÑеÑÑвÑÑÑего ÑÑбÑекÑа (`old`) в ÑооÑвеÑÑÑвии Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð¾Ð¼ меÑки, вÑзваннÑм вÑполнением пеÑеданного vnode (`vp`). ÐÑÐ¾Ñ Ð²Ñзов пÑоиÑÑ Ð¾Ð´Ð¸Ñ, когда пÑоÑеÑÑ Ð²ÑполнÑÐµÑ Ð¿ÐµÑеданнÑй vnode, и одна из полиÑик возвÑаÑÐ°ÐµÑ ÑÑÐ¿ÐµÑ Ð¸Ð· ÑоÑки Ð²Ñ Ð¾Ð´Ð° `mpo_execve_will_transition`. ÐолиÑики могÑÑ Ð²ÑбÑаÑÑ ÑеализаÑÐ¸Ñ ÑÑого вÑзова пÑоÑÑо пÑÑем вÑзова `mpo_create_cred` и пеÑедаÑи двÑÑ ÑÑбÑекÑов ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ , ÑÑÐ¾Ð±Ñ Ð½Ðµ ÑеализовÑваÑÑ ÑобÑÑие пеÑÐµÑ Ð¾Ð´Ð°. ÐолиÑики не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾ÑÑавлÑÑÑ ÑÑÑ ÑоÑÐºÑ Ð²Ñ Ð¾Ð´Ð° неÑеализованной, еÑли они ÑеализÑÑÑ `mpo_create_cred`, даже еÑли они не ÑеализÑÑÑ `mpo_execve_will_transition`. +ÐбновиÑÑ Ð¼ÐµÑÐºÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð²Ð½Ð¾Ð²Ñ Ñозданного ÑÑбÑекÑа (`new`) на оÑнове пеÑеданнÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑÑеÑÑвÑÑÑего ÑÑбÑекÑа (`old`) в ÑооÑвеÑÑÑвии Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð¾Ð¼ меÑки, вÑзваннÑм вÑполнением пеÑеданного vnode (`vp`). ÐÑÐ¾Ñ Ð²Ñзов пÑоиÑÑ Ð¾Ð´Ð¸Ñ, когда пÑоÑеÑÑ Ð²ÑполнÑÐµÑ Ð¿ÐµÑеданнÑй vnode, и одна из полиÑик возвÑаÑÐ°ÐµÑ ÑÑÐ¿ÐµÑ Ð¸Ð· ÑоÑки Ð²Ñ Ð¾Ð´Ð° `mpo_execve_will_transition`. ÐолиÑики могÑÑ Ð²ÑбÑаÑÑ ÑеализаÑÐ¸Ñ ÑÑого вÑзова пÑоÑÑо пÑÑем вÑзова `mpo_create_cred` и пеÑедаÑи двÑÑ ÑÑбÑекÑов ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ , ÑÑÐ¾Ð±Ñ Ð½Ðµ ÑеализовÑваÑÑ ÑобÑÑие пеÑÐµÑ Ð¾Ð´Ð°. ÐолиÑики не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾ÑÑавлÑÑÑ ÑÑÑ ÑоÑÐºÑ Ð²Ñ Ð¾Ð´Ð° неÑеализованной, еÑли они ÑеализÑÑÑ `mpo_create_cred`, даже еÑли они не ÑеализÑÑÑ `mpo_execve_will_transition`. [[mac-mpo-execve-will-transition]] ===== `mpo_execve_will_transition` @@ -2751,7 +2751,7 @@ int mpo_execve_will_transition(struct ucred *old, struct vnode *vp, | ÐлокиÑовка |`old` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа пеÑед man:execve[2] +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа пеÑед man:execve[2] |ÐеизменÑемÑй |`vp` @@ -2763,7 +2763,7 @@ int mpo_execve_will_transition(struct ucred *old, struct vnode *vp, | |=== -ÐпÑеделиÑÑ, бÑÐ´ÐµÑ Ð»Ð¸ полиÑика вÑполнÑÑÑ ÑобÑÑие пеÑÐµÑ Ð¾Ð´Ð° в ÑезÑлÑÑаÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÐµÑеданного vnode Ñ Ð¸ÑполÑзованием пеÑеданнÑÑ ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. ÐеÑнÑÑÑ 1, еÑли пеÑÐµÑ Ð¾Ð´ ÑÑебÑеÑÑÑ, и 0, еÑли неÑ. Ðаже еÑли полиÑика возвÑаÑÐ°ÐµÑ 0, она должна коÑÑекÑно обÑабаÑÑваÑÑ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñй вÑзов `mpo_execve_transition`, Ñак как ÑÑÐ¾Ñ Ð²Ñзов Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоизойÑи из-за запÑоÑа пеÑÐµÑ Ð¾Ð´Ð° дÑÑгой полиÑикой. +ÐпÑеделиÑÑ, бÑÐ´ÐµÑ Ð»Ð¸ полиÑика вÑполнÑÑÑ ÑобÑÑие пеÑÐµÑ Ð¾Ð´Ð° в ÑезÑлÑÑаÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÐµÑеданного vnode Ñ Ð¸ÑполÑзованием пеÑеданнÑÑ ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа. ÐеÑнÑÑÑ 1, еÑли пеÑÐµÑ Ð¾Ð´ ÑÑебÑеÑÑÑ, и 0, еÑли неÑ. Ðаже еÑли полиÑика возвÑаÑÐ°ÐµÑ 0, она должна коÑÑекÑно обÑабаÑÑваÑÑ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñй вÑзов `mpo_execve_transition`, Ñак как ÑÑÐ¾Ñ Ð²Ñзов Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоизойÑи из-за запÑоÑа пеÑÐµÑ Ð¾Ð´Ð° дÑÑгой полиÑикой. [[mac-mpo-create-proc0]] ===== `mpo_create_proc0` @@ -2781,11 +2781,11 @@ void mpo_create_proc0(struct ucred *cred); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ | |=== -СоздаÑÑ ÑÑеÑнÑе даннÑе ÑÑбÑекÑа пÑоÑеÑÑа 0, ÑодиÑÐµÐ»Ñ Ð²ÑÐµÑ Ð¿ÑоÑеÑÑов ÑдÑа. +СоздаÑÑ ÑÑÑÑнÑе даннÑе ÑÑбÑекÑа пÑоÑеÑÑа 0, ÑодиÑÐµÐ»Ñ Ð²ÑÐµÑ Ð¿ÑоÑеÑÑов ÑдÑа. [[mac-mpo-create-proc1]] ===== `mpo_create_proc1` @@ -2803,11 +2803,11 @@ void mpo_create_proc1(struct ucred *cred); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ | |=== -СоздаÑÑ ÑÑеÑнÑе даннÑе ÑÑбÑекÑа пÑоÑеÑÑа 1, ÑодиÑÐµÐ»Ñ Ð²ÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑÐºÐ¸Ñ Ð¿ÑоÑеÑÑов. +СоздаÑÑ ÑÑÑÑнÑе даннÑе ÑÑбÑекÑа пÑоÑеÑÑа 1, ÑодиÑÐµÐ»Ñ Ð²ÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑÐºÐ¸Ñ Ð¿ÑоÑеÑÑов. [[mac-mpo-relabel-cred]] ===== `mpo_relabel_cred` @@ -2825,7 +2825,7 @@ void mpo_relabel_cred(struct ucred *cred, struct label *newlabel); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`newlabel` @@ -2833,7 +2833,7 @@ void mpo_relabel_cred(struct ucred *cred, struct label *newlabel); | |=== -ÐбновиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑÑеÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа из пеÑеданной обновлÑемой меÑки. +ÐбновиÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° ÑÑÑÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑÑбÑекÑа из пеÑеданной обновлÑемой меÑки. [[mac-access-control-checks]] === ÐÑовеÑки конÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа @@ -2913,7 +2913,7 @@ int mpo_check_kenv_dump(struct ucred *cred); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |=== @@ -2935,7 +2935,7 @@ int mpo_check_kenv_get(struct ucred *cred, char *name); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`name` @@ -2961,7 +2961,7 @@ int mpo_check_kenv_set(struct ucred *cred, char *name); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`name` @@ -2987,7 +2987,7 @@ int mpo_check_kenv_unset(struct ucred *cred, char *name); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`name` @@ -3014,7 +3014,7 @@ int mpo_check_kld_load(struct ucred *cred, struct vnode *vp, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`vp` @@ -3044,7 +3044,7 @@ int mpo_check_kld_stat(struct ucred *cred); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |=== @@ -3066,7 +3066,7 @@ int mpo_check_kld_unload(struct ucred *cred); | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |=== @@ -3089,7 +3089,7 @@ int mpo_check_pipe_ioctl(struct ucred *cred, struct pipe *pipe, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | |`pipe` @@ -3128,7 +3128,7 @@ int mpo_check_pipe_poll(struct ucred *cred, struct pipe *pipe, | ÐлокиÑовка |`cred` -|УÑеÑнÑе даннÑе ÑÑбÑекÑа +|УÑÑÑнÑе даннÑе ÑÑбÑекÑа | *** 1783 LINES SKIPPED ***