Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/units/?format=api&page=3
https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/units/?format=api&page=4", "previous": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/units/?format=api&page=2", "results": [ { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<filename>boot0</filename> relocated itself to the location it was linked to execute (<literal>0x600</literal>), followed by a jump to continue execution at the appropriate place. Finally, <filename>boot0</filename> loaded the first disk sector from the FreeBSD slice to address <literal>0x7c00</literal>. Execution control was passed to that location." ], "previous_source": "", "target": [ "<filename>boot0</filename> realocado para o local que estava lincado para executar (<literal>0x600</literal>), seguido por um salto para continuar a execução no local apropriado. Finalmente, <filename>boot0</filename> carregou o primeiro setor de disco da slice do FreeBSD para endereço <literal>0x7c00</literal>. O controle de execução foi passado para essa localização." ], "id_hash": -3344737101880628681, "content_hash": -3344737101880628681, "location": "book.translate.xml:965", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 105, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 44, "source_unit": "https://translate-dev.freebsd.org/api/units/102251/?format=api", "priority": 100, "id": 31202, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=51951b53b755ea37", "url": "https://translate-dev.freebsd.org/api/units/31202/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.824500Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "There is a file <filename>/boot/boot1</filename>, but it is not the written to the beginning of the FreeBSD slice. Instead, it is concatenated with <filename>boot2</filename> to form <filename>boot</filename>, which <emphasis>is</emphasis> written to the beginning of the FreeBSD slice and read at boot time." ], "previous_source": "", "target": [ "Existe um arquivo <filename> / boot / boot1 </filename> , mas não é o escrito para o começo da fatia do FreeBSD. Em vez disso, é concatenado com <filename> boot2 </filename> formar <filename> bota </filename>, o qual <emphasis> é </emphasis> escrito para o inicio da fatia do FreeBSD e lido no momento da inicialização. " ], "id_hash": 6293098321505140683, "content_hash": 6293098321505140683, "location": "book.translate.xml:989", "context": "", "note": "(itstool) path: footnote/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 106, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 42, "source_unit": "https://translate-dev.freebsd.org/api/units/102252/?format=api", "priority": 100, "id": 31203, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=d7559394c5ebbfcb", "url": "https://translate-dev.freebsd.org/api/units/31203/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.834778Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<filename>boot1</filename> is the next step in the boot-loading sequence. It is the first of three boot stages. Note that we have been dealing exclusively with disk sectors. Indeed, the <acronym>BIOS</acronym> loads the absolute first sector, while <filename>boot0</filename> loads the first sector of the FreeBSD slice. Both loads are to address <literal>0x7c00</literal>. We can conceptually think of these disk sectors as containing the files <filename>boot0</filename> and <filename>boot1</filename>, respectively, but in reality this is not entirely true for <filename>boot1</filename>. Strictly speaking, unlike <filename>boot0</filename>, <filename>boot1</filename> is not part of the boot blocks <_:footnote-1/>. Instead, a single, full-blown file, <filename>boot</filename> (<filename>/boot/boot</filename>), is what ultimately is written to disk. This file is a combination of <filename>boot1</filename>, <filename>boot2</filename> and the <literal>Boot Extender</literal> (or <acronym>BTX</acronym>). This single file is greater in size than a single sector (greater than 512 bytes). Fortunately, <filename>boot1</filename> occupies <emphasis>exactly</emphasis> the first 512 bytes of this single file, so when <filename>boot0</filename> loads the first sector of the FreeBSD slice (512 bytes), it is actually loading <filename>boot1</filename> and transferring control to it." ], "previous_source": "", "target": [ "<filename>boot1</filename> é o próximo passo na sequência de carregamento de inicialização. É o primeiro de três estágios de inicialização. Observe que estamos lidando exclusivamente com setores de disco. De fato, a <acronym>BIOS</acronym> carrega o primeiro setor absoluto, enquanto <filename>boot0</filename> carrega o primeiro setor da fatia do FreeBSD. Ambas as carregamentos são para endereçar <literal>0x7c00</literal>. Podemos conceitualmente pensar nesses setores de disco como contendo os arquivos <filename>boot0</filename> e <filename>boot1</filename>, respectivamente, mas na realidade isso não é inteiramente verdade para <filename>boot1</filename>. Estritamente falando, diferentemente de <filename>boot0</filename> , <filename>boot1</filename> não faz parte dos blocos de inicialização <_:footnote-1/>. Em vez disso, um único arquivo completo, <filename>boot</filename> (<filename>/boot/boot</filename>), é o que finalmente é gravado em disco. Este arquivo é uma combinação de <filename>boot1</filename> , <filename>boot2</filename> e o <literal>Boot Extender</literal> (ou <acronym>BTX</acronym>). Este arquivo único é maior em tamanho do que um único setor (maior que 512 bytes). Felizmente, <filename>boot1</filename> ocupa <emphasis>exatamente</emphasis> os primeiros 512 bytes deste arquivo único, então quando <filename>boot0</filename> carrega o primeiro setor da fatia do FreeBSD (512 bytes), ele está realmente carregando <filename>boot1</filename> e transferindo o controle para ele." ], "id_hash": -8377209143269380500, "content_hash": -8377209143269380500, "location": "book.translate.xml:975", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 107, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 168, "source_unit": "https://translate-dev.freebsd.org/api/units/102253/?format=api", "priority": 100, "id": 31204, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=0bbe2cab26462e6c", "url": "https://translate-dev.freebsd.org/api/units/31204/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.844321Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The main task of <filename>boot1</filename> is to load the next boot stage. This next stage is somewhat more complex. It is composed of a server called the <quote>Boot Extender</quote>, or <acronym>BTX</acronym>, and a client, called <filename>boot2</filename>. As we will see, the last boot stage, <filename>loader</filename>, is also a client of the <acronym>BTX</acronym> server." ], "previous_source": "", "target": [ "A principal tarefa de <filename>boot1</filename> é carregar o próximo estágio de inicialização. Este próximo estágio é um pouco mais complexo. É composto por um servidor chamado <quote>Boot Extender</quote>, ou <acronym>BTX</acronym>, e um cliente, chamado <filename>boot2</filename> . Como veremos, o último estágio de inicialização <filename>loader</filename> é também um cliente do servidor <acronym>BTX</acronym>." ], "id_hash": 8487644768197878083, "content_hash": 8487644768197878083, "location": "book.translate.xml:1009", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 108, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 53, "source_unit": "https://translate-dev.freebsd.org/api/units/102254/?format=api", "priority": 100, "id": 31205, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=f5ca2bf27c232143", "url": "https://translate-dev.freebsd.org/api/units/31205/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.860246Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Let us now look in detail at what exactly is done by <filename>boot1</filename>, starting like we did for <filename>boot0</filename>, at its entry point:" ], "previous_source": "", "target": [ "Vamos agora olhar em detalhes para o que exatamente é feito por <filename>boot1</filename> , começando como fizemos para <filename>boot0</filename> , no seu ponto de entrada:" ], "id_hash": -9110961298920602387, "content_hash": -9110961298920602387, "location": "book.translate.xml:1017", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 109, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 23, "source_unit": "https://translate-dev.freebsd.org/api/units/102255/?format=api", "priority": 100, "id": 31206, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=018f5cf8778184ed", "url": "https://translate-dev.freebsd.org/api/units/31206/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.871973Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<filename>sys/boot/i386/boot2/boot1.S</filename>" ], "previous_source": "", "target": [ "<filename>sys/boot/i386/boot2/boot1.S</filename>" ], "id_hash": 4963965183127907205, "content_hash": 4963965183127907205, "location": "book.translate.xml:1022, book.translate.xml:1033, book.translate.xml:1073, book.translate.xml:1118, book.translate.xml:1153, book.translate.xml:1180, book.translate.xml:1209, book.translate.xml:1316", "context": "", "note": "(itstool) path: figure/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 110, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/102256/?format=api", "priority": 100, "id": 31207, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=c4e38c08a9beeb85", "url": "https://translate-dev.freebsd.org/api/units/31207/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.882991Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "start:\n\tjmp main" ], "previous_source": "", "target": [ "start:\n\tjmp main" ], "id_hash": -2933928848880139714, "content_hash": -2933928848880139714, "location": "book.translate.xml:1024", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 111, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/102257/?format=api", "priority": 100, "id": 31208, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=57489741ae3a823e", "url": "https://translate-dev.freebsd.org/api/units/31208/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.898879Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The entry point at <literal>start</literal> simply jumps past a special data area to the label <literal>main</literal>, which in turn looks like this:" ], "previous_source": "", "target": [ "O ponto de entrada em <literal>start</literal> simplesmente passa por uma área de dados especial para o rótulo <literal>main</literal>, que por sua vez se parece com isso:" ], "id_hash": 4507621407725888329, "content_hash": 4507621407725888329, "location": "book.translate.xml:1028", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 112, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 22, "source_unit": "https://translate-dev.freebsd.org/api/units/102258/?format=api", "priority": 100, "id": 31209, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=be8e49c9b572a349", "url": "https://translate-dev.freebsd.org/api/units/31209/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.911033Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "main:\n cld\t\t\t# String ops inc\n xor %cx,%cx\t\t# Zero\n mov %cx,%es\t\t# Address\n mov %cx,%ds\t\t# data\n mov %cx,%ss\t\t# Set up\n mov $start,%sp\t\t# stack\n mov %sp,%si\t\t# Source\n mov $0x700,%di\t\t# Destination\n incb %ch\t\t\t# Word count\n rep\t\t\t# Copy\n movsw\t\t\t# code" ], "previous_source": "", "target": [ "main:\n cld\t\t\t# String ops inc\n xor %cx,%cx\t\t# Zero\n mov %cx,%es\t\t# Address\n mov %cx,%ds\t\t# data\n mov %cx,%ss\t\t# Set up\n mov $start,%sp\t\t# stack\n mov %sp,%si\t\t# Source\n mov $0x700,%di\t\t# Destination\n incb %ch\t\t\t# Word count\n rep\t\t\t# Copy\n movsw\t\t\t# code" ], "id_hash": 1612367318754928793, "content_hash": 1612367318754928793, "location": "book.translate.xml:1035", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 113, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 46, "source_unit": "https://translate-dev.freebsd.org/api/units/102259/?format=api", "priority": 100, "id": 31210, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=96604788a1d62899", "url": "https://translate-dev.freebsd.org/api/units/31210/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.923789Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Just like <filename>boot0</filename>, this code relocates <filename>boot1</filename>, this time to memory address <literal>0x700</literal>. However, unlike <filename>boot0</filename>, it does not jump there. <filename>boot1</filename> is linked to execute at address <literal>0x7c00</literal>, effectively where it was loaded in the first place. The reason for this relocation will be discussed shortly." ], "previous_source": "", "target": [ "Assim como <filename>boot0</filename> , este código realoca <filename>boot1</filename>, desta vez para o endereço de memória <literal>0x700</literal> . No entanto, ao contrário de <filename>boot0</filename> , não salta para lá. <filename>boot1</filename> é lincado para executar no endereço <literal>0x7c00</literal> , efetivamente onde foi carregado em primeiro lugar. A razão para essa realocação será discutida em breve." ], "id_hash": -8047247271417493917, "content_hash": -8047247271417493917, "location": "book.translate.xml:1049", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 114, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 47, "source_unit": "https://translate-dev.freebsd.org/api/units/102260/?format=api", "priority": 100, "id": 31211, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=10526f3e276dc663", "url": "https://translate-dev.freebsd.org/api/units/31211/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.934225Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Actually we did pass a pointer to the slice entry in register <literal>%si</literal>. However, <filename>boot1</filename> does not assume that it was loaded by <filename>boot0</filename> (perhaps some other <acronym>MBR</acronym> loaded it, and did not pass this information), so it assumes nothing." ], "previous_source": "", "target": [ "Na verdade nós passamos um ponteiro para a entrada da fatia no registro <literal>%si</literal>. Contudo, <filename>boot1</filename> não assume que foi carregado por <filename>boot0</filename> (talvez algum outro <acronym>MBR</acronym> tenha carregado e não tenha passado essa informação), por isso não assume nada." ], "id_hash": -6940953073087411096, "content_hash": -6940953073087411096, "location": "book.translate.xml:1062", "context": "", "note": "(itstool) path: footnote/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 115, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 40, "source_unit": "https://translate-dev.freebsd.org/api/units/102261/?format=api", "priority": 100, "id": 31212, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=1facc7f46bf80c68", "url": "https://translate-dev.freebsd.org/api/units/31212/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.948218Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Next comes a loop that looks for the FreeBSD slice. Although <filename>boot0</filename> loaded <filename>boot1</filename> from the FreeBSD slice, no information was passed to it about this <_:footnote-1/>, so <filename>boot1</filename> must rescan the partition table to find where the FreeBSD slice starts. Therefore it rereads the <acronym>MBR</acronym>:" ], "previous_source": "", "target": [ "Em seguida vem um loop que procura a fatia do FreeBSD. Embora <filename>boot0</filename> carregue <filename>boot1</filename> da fatia do FreeBSD, nenhuma informação foi passada para ele sobre isso <_:footnote-1/>, então <filename>boot1</filename> deve varrer novamente a tabela de partições para encontrar onde a fatia do FreeBSD iniciou. Por isso, releia o <acronym>MBR</acronym>: " ], "id_hash": -5952894380545595670, "content_hash": -5952894380545595670, "location": "book.translate.xml:1058", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 116, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 46, "source_unit": "https://translate-dev.freebsd.org/api/units/102262/?format=api", "priority": 100, "id": 31213, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=2d631219c62926ea", "url": "https://translate-dev.freebsd.org/api/units/31213/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.964167Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ " mov $part4,%si\t\t# Partition\n cmpb $0x80,%dl\t\t# Hard drive?\n jb main.4\t\t\t# No\n movb $0x1,%dh\t\t# Block count\n callw nread\t\t# Read MBR" ], "previous_source": "", "target": [ " mov $part4,%si\t\t# Partition\n cmpb $0x80,%dl\t\t# Hard drive?\n jb main.4\t\t\t# No\n movb $0x1,%dh\t\t# Block count\n callw nread\t\t# Read MBR" ], "id_hash": 4228258536963944823, "content_hash": 4228258536963944823, "location": "book.translate.xml:1075", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 117, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 23, "source_unit": "https://translate-dev.freebsd.org/api/units/102263/?format=api", "priority": 100, "id": 31214, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=baadcabcb23fb177", "url": "https://translate-dev.freebsd.org/api/units/31214/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:42.982712Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "In the code above, register <literal>%dl</literal> maintains information about the boot device. This is passed on by the <acronym>BIOS</acronym> and preserved by the <acronym>MBR</acronym>. Numbers <literal>0x80</literal> and greater tells us that we are dealing with a hard drive, so a call is made to <literal>nread</literal>, where the <acronym>MBR</acronym> is read. Arguments to <literal>nread</literal> are passed through <literal>%si</literal> and <literal>%dh</literal>. The memory address at label <literal>part4</literal> is copied to <literal>%si</literal>. This memory address holds a <quote>fake partition</quote> to be used by <literal>nread</literal>. The following is the data in the fake partition:" ], "previous_source": "", "target": [ "No código acima, o registro <literal>%dl</literal> mantém informações sobre o dispositivo de inicialização. Isso é transmitido pelo <acronym>BIOS</acronym> e preservado pelo <acronym>MBR</acronym>. Os números <literal>0x80</literal> e maiores nos dizem que estamos lidando com um disco rígido, então uma chamada é feita para <literal>nread</literal>, onde o <acronym>MBR</acronym> é lido. Argumentos para <literal>nread</literal> são passados através de <literal>%si</literal> e <literal>%dh</literal>. O endereço de memória no rótulo <literal>part4</literal> é copiado para <literal>%si</literal>. Este endereço de memória contém uma <quote>partição falsa</quote> a ser usada por <literal>nread</literal>. A seguir estão os dados na partição falsa:" ], "id_hash": -1512622224495492756, "content_hash": -1512622224495492756, "location": "book.translate.xml:1082", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 118, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 90, "source_unit": "https://translate-dev.freebsd.org/api/units/102264/?format=api", "priority": 100, "id": 31215, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=6b021619dd95c16c", "url": "https://translate-dev.freebsd.org/api/units/31215/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.004752Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<filename>sys/boot/i386/boot2/Makefile</filename>" ], "previous_source": "", "target": [ " <filename>sys/boot/i386/boot2/Makefile</filename> " ], "id_hash": 5628099223572385040, "content_hash": 5628099223572385040, "location": "book.translate.xml:1098, book.translate.xml:1392, book.translate.xml:1405, book.translate.xml:1437, book.translate.xml:1478", "context": "", "note": "(itstool) path: figure/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 119, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/102265/?format=api", "priority": 100, "id": 31216, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=ce1b066cc5af0d10", "url": "https://translate-dev.freebsd.org/api/units/31216/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.025089Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ " part4:\n\t.byte 0x80, 0x00, 0x01, 0x00\n\t.byte 0xa5, 0xfe, 0xff, 0xff\n\t.byte 0x00, 0x00, 0x00, 0x00\n\t.byte 0x50, 0xc3, 0x00, 0x00" ], "previous_source": "", "target": [ " part4:\n\t.byte 0x80, 0x00, 0x01, 0x00\n\t.byte 0xa5, 0xfe, 0xff, 0xff\n\t.byte 0x00, 0x00, 0x00, 0x00\n\t.byte 0x50, 0xc3, 0x00, 0x00" ], "id_hash": 6840952387173805943, "content_hash": 6840952387173805943, "location": "book.translate.xml:1100", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 120, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 21, "source_unit": "https://translate-dev.freebsd.org/api/units/102266/?format=api", "priority": 100, "id": 31217, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=deeff1f382daef77", "url": "https://translate-dev.freebsd.org/api/units/31217/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.058709Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "In particular, the <acronym>LBA</acronym> for this fake partition is hardcoded to zero. This is used as an argument to the <acronym>BIOS</acronym> for reading absolute sector one from the hard drive. Alternatively, CHS addressing could be used. In this case, the fake partition holds cylinder 0, head 0 and sector 1, which is equivalent to absolute sector one." ], "previous_source": "", "target": [ "Em particular, o <acronym>LBA</acronym> para essa partição falsa é codificado para zero. Isso é usado como um argumento para a <acronym>BIOS</acronym> para ler o setor absoluto do disco rigido. Alternativamente, o endereçamento CHS pode ser usado. Nesse caso, a partição falsa mantém cilindro 0, cabeça 0 e setor 1, o que equivale ao setor absoluto um." ], "id_hash": -1015605610338119619, "content_hash": -1015605610338119619, "location": "book.translate.xml:1107", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 121, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 57, "source_unit": "https://translate-dev.freebsd.org/api/units/102267/?format=api", "priority": 100, "id": 31218, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=71e7d8140be7103d", "url": "https://translate-dev.freebsd.org/api/units/31218/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.075289Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Let us now proceed to take a look at <literal>nread</literal>:" ], "previous_source": "", "target": [ "Vamos agora dar uma olhada em <literal>nread</literal>:" ], "id_hash": -264710834897695218, "content_hash": -264710834897695218, "location": "book.translate.xml:1114", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 122, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 10, "source_unit": "https://translate-dev.freebsd.org/api/units/102268/?format=api", "priority": 100, "id": 31219, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=7c538ee5edb9ce0e", "url": "https://translate-dev.freebsd.org/api/units/31219/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.088411Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "nread:\n mov $0x8c00,%bx\t\t# Transfer buffer\n mov 0x8(%si),%ax\t\t# Get\n mov 0xa(%si),%cx\t\t# LBA\n push %cs\t\t\t# Read from\n callw xread.1\t\t# disk\n jnc return\t\t# If success, return" ], "previous_source": "", "target": [ "nread:\n mov $0x8c00,%bx\t\t# Transfer buffer\n mov 0x8(%si),%ax\t\t# Get\n mov 0xa(%si),%cx\t\t# LBA\n push %cs\t\t\t# Read from\n callw xread.1\t\t# disk\n jnc return\t\t# If success, return" ], "id_hash": -68044345277244283, "content_hash": -68044345277244283, "location": "book.translate.xml:1120", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 123, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 29, "source_unit": "https://translate-dev.freebsd.org/api/units/102269/?format=api", "priority": 100, "id": 31220, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=7f0e42074ac69c85", "url": "https://translate-dev.freebsd.org/api/units/31220/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.105631Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "In the context of 16-bit real mode, a word is 2 bytes." ], "previous_source": "", "target": [ "No contexto do modo real de 16 bits, uma palavra é de 2 bytes." ], "id_hash": 5525829334199655490, "content_hash": 5525829334199655490, "location": "book.translate.xml:1132", "context": "", "note": "(itstool) path: footnote/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 124, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://translate-dev.freebsd.org/api/units/102270/?format=api", "priority": 100, "id": 31221, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=ccafb0809a675c42", "url": "https://translate-dev.freebsd.org/api/units/31221/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.121506Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Recall that <literal>%si</literal> points to the fake partition. The word <_:footnote-1/> at offset <literal>0x8</literal> is copied to register <literal>%ax</literal> and word at offset <literal>0xa</literal> to <literal>%cx</literal>. They are interpreted by the <acronym>BIOS</acronym> as the lower 4-byte value denoting the LBA to be read (the upper four bytes are assumed to be zero). Register <literal>%bx</literal> holds the memory address where the <acronym>MBR</acronym> will be loaded. The instruction pushing <literal>%cs</literal> onto the stack is very interesting. In this context, it accomplishes nothing. However, as we will see shortly, <filename>boot2</filename>, in conjunction with the <acronym>BTX</acronym> server, also uses <literal>xread.1</literal>. This mechanism will be discussed in the next section." ], "previous_source": "", "target": [ "Lembre-se que <literal>%si</literal> aponta para a partição falsa. A palavra <_:footnote-1/> no offset <literal>0x8</literal> é copiada para o registrador <literal>%ax</literal> e palavra no offset <literal>0xa</literal> para <literal>%cx</literal> . Eles são interpretados pela <acronym>BIOS</acronym> como o valor inferior de 4 bytes que indica o LBA a ser lido (os quatro bytes superiores são considerados como zero). Registrador <literal>%bx</literal> mantém o endereço de memória onde o <acronym>MBR</acronym> será carregado. A instrução pushing <literal>%cs</literal> na pilha é muito interessante. Neste contexto, não realiza nada. No entanto, como veremos em breve, <filename>boot2</filename> , em conjunto com o servidor <acronym>BTX</acronym> , também usa <literal>xread.1</literal> . Esse mecanismo será discutido na próxima seção." ], "id_hash": 1503455988164528453, "content_hash": 1503455988164528453, "location": "book.translate.xml:1129", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 125, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 105, "source_unit": "https://translate-dev.freebsd.org/api/units/102271/?format=api", "priority": 100, "id": 31222, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=94dd59416dfb0945", "url": "https://translate-dev.freebsd.org/api/units/31222/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.134659Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The code at <literal>xread.1</literal> further calls the <literal>read</literal> function, which actually calls the <acronym>BIOS</acronym> asking for the disk sector:" ], "previous_source": "", "target": [ "O código em <literal>xread.1</literal> ainda chama a função <literal>read</literal>, que realmente chama a <acronym>BIOS</acronym> pedindo o setor de disco:" ], "id_hash": -5437444287592262294, "content_hash": -5437444287592262294, "location": "book.translate.xml:1148", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 126, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 19, "source_unit": "https://translate-dev.freebsd.org/api/units/102272/?format=api", "priority": 100, "id": 31223, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=348a513ab016156a", "url": "https://translate-dev.freebsd.org/api/units/31223/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.150545Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "xread.1:\n\tpushl $0x0\t\t# absolute\n\tpush %cx\t\t# block\n\tpush %ax\t\t# number\n\tpush %es\t\t# Address of\n\tpush %bx\t\t# transfer buffer\n\txor %ax,%ax\t\t# Number of\n\tmovb %dh,%al\t\t# blocks to\n\tpush %ax\t\t# transfer\n\tpush $0x10\t\t# Size of packet\n\tmov %sp,%bp\t\t# Packet pointer\n\tcallw read\t\t# Read from disk\n\tlea 0x10(%bp),%sp\t# Clear stack\n\tlret\t\t\t# To far caller" ], "previous_source": "", "target": [ "xread.1:\n\tpushl $0x0\t\t# absolute\n\tpush %cx\t\t# block\n\tpush %ax\t\t# number\n\tpush %es\t\t# Address of\n\tpush %bx\t\t# transfer buffer\n\txor %ax,%ax\t\t# Number of\n\tmovb %dh,%al\t\t# blocks to\n\tpush %ax\t\t# transfer\n\tpush $0x10\t\t# Size of packet\n\tmov %sp,%bp\t\t# Packet pointer\n\tcallw read\t\t# Read from disk\n\tlea 0x10(%bp),%sp\t# Clear stack\n\tlret\t\t\t# To far caller" ], "id_hash": 6449847625678471492, "content_hash": 6449847625678471492, "location": "book.translate.xml:1155", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 127, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 64, "source_unit": "https://translate-dev.freebsd.org/api/units/102273/?format=api", "priority": 100, "id": 31224, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=d982763e27f64144", "url": "https://translate-dev.freebsd.org/api/units/31224/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.157699Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Note the long return instruction at the end of this block. This instruction pops out the <literal>%cs</literal> register pushed by <literal>nread</literal>, and returns. Finally, <literal>nread</literal> also returns." ], "previous_source": "", "target": [ "Observe a instrução de retorno longa no final deste bloco. Esta instrução mostra o registrador <literal>%cs</literal> pego por <literal>nread</literal> e retorna. Finalmente, <literal>nread</literal> também retorna." ], "id_hash": 3376851401700969942, "content_hash": 3376851401700969942, "location": "book.translate.xml:1171", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 128, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 27, "source_unit": "https://translate-dev.freebsd.org/api/units/102274/?format=api", "priority": 100, "id": 31225, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=aedcfc7561aa8dd6", "url": "https://translate-dev.freebsd.org/api/units/31225/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.165204Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "With the <acronym>MBR</acronym> loaded to memory, the actual loop for searching the FreeBSD slice begins:" ], "previous_source": "", "target": [ "Com o <acronym>MBR</acronym> carregado na memória, o loop real para procurar a fatia do FreeBSD começa:" ], "id_hash": -5635937038707746169, "content_hash": -5635937038707746169, "location": "book.translate.xml:1176", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 129, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://translate-dev.freebsd.org/api/units/102275/?format=api", "priority": 100, "id": 31226, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=31c9211faf5b9a87", "url": "https://translate-dev.freebsd.org/api/units/31226/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.171748Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "\tmov $0x1,%cx\t\t # Two passes\nmain.1:\n\tmov $0x8dbe,%si # Partition table\n\tmovb $0x1,%dh\t\t # Partition\nmain.2:\n\tcmpb $0xa5,0x4(%si)\t # Our partition type?\n\tjne main.3\t\t # No\n\tjcxz main.5\t\t # If second pass\n\ttestb $0x80,(%si)\t # Active?\n\tjnz main.5\t\t # Yes\nmain.3:\n\tadd $0x10,%si\t\t # Next entry\n\tincb %dh\t\t # Partition\n\tcmpb $0x5,%dh\t\t # In table?\n\tjb main.2\t\t # Yes\n\tdec %cx\t\t\t # Do two\n\tjcxz main.1\t\t # passes" ], "previous_source": "", "target": [ "\tmov $0x1,%cx\t\t # Two passes\nmain.1:\n\tmov $0x8dbe,%si # Partition table\n\tmovb $0x1,%dh\t\t # Partition\nmain.2:\n\tcmpb $0xa5,0x4(%si)\t # Our partition type?\n\tjne main.3\t\t # No\n\tjcxz main.5\t\t # If second pass\n\ttestb $0x80,(%si)\t # Active?\n\tjnz main.5\t\t # Yes\nmain.3:\n\tadd $0x10,%si\t\t # Next entry\n\tincb %dh\t\t # Partition\n\tcmpb $0x5,%dh\t\t # In table?\n\tjb main.2\t\t # Yes\n\tdec %cx\t\t\t # Do two\n\tjcxz main.1\t\t # passes" ], "id_hash": -3022798808838760924, "content_hash": -3022798808838760924, "location": "book.translate.xml:1182", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 130, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 68, "source_unit": "https://translate-dev.freebsd.org/api/units/102276/?format=api", "priority": 100, "id": 31227, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=560cdc7fb3b11624", "url": "https://translate-dev.freebsd.org/api/units/31227/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.179672Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "If a FreeBSD slice is identified, execution continues at <literal>main.5</literal>. Note that when a FreeBSD slice is found <literal>%si</literal> points to the appropriate entry in the partition table, and <literal>%dh</literal> holds the partition number. We assume that a FreeBSD slice is found, so we continue execution at <literal>main.5</literal>:" ], "previous_source": "", "target": [ "Se uma fatia do FreeBSD for identificada, a execução continua em <literal>main.5</literal> . Note que quando uma fatia do FreeBSD é encontrada <literal>%si</literal> aponta para a entrada apropriada na tabela de partições e <literal>%dh</literal> mantém o número da partição. Nós assumimos que uma fatia do FreeBSD é encontrada, então continuamos a execução em <literal>main.5</literal>:" ], "id_hash": -3997199934808984242, "content_hash": -3997199934808984242, "location": "book.translate.xml:1201", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 131, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 48, "source_unit": "https://translate-dev.freebsd.org/api/units/102277/?format=api", "priority": 100, "id": 31228, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=488717d65d7ef54e", "url": "https://translate-dev.freebsd.org/api/units/31228/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.187426Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "main.5:\n\tmov %dx,0x900\t\t\t # Save args\n\tmovb $0x10,%dh\t\t\t # Sector count\n\tcallw nread\t\t\t # Read disk\n\tmov $0x9000,%bx\t\t\t # BTX\n\tmov 0xa(%bx),%si\t\t # Get BTX length and set\n\tadd %bx,%si\t\t\t # %si to start of boot2.bin\n\tmov $0xc000,%di\t\t\t # Client page 2\n\tmov $0xa200,%cx\t\t\t # Byte\n\tsub %si,%cx\t\t\t # count\n\trep\t\t\t\t # Relocate\n\tmovsb\t\t\t\t # client" ], "previous_source": "", "target": [ "main.5:\n\tmov %dx,0x900\t\t\t # Save args\n\tmovb $0x10,%dh\t\t\t # Sector count\n\tcallw nread\t\t\t # Read disk\n\tmov $0x9000,%bx\t\t\t # BTX\n\tmov 0xa(%bx),%si\t\t # Get BTX length and set\n\tadd %bx,%si\t\t\t # %si to start of boot2.bin\n\tmov $0xc000,%di\t\t\t # Client page 2\n\tmov $0xa200,%cx\t\t\t # Byte\n\tsub %si,%cx\t\t\t # count\n\trep\t\t\t\t # Relocate\n\tmovsb\t\t\t\t # client" ], "id_hash": 5459108180280240374, "content_hash": 5459108180280240374, "location": "book.translate.xml:1211", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 132, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 56, "source_unit": "https://translate-dev.freebsd.org/api/units/102278/?format=api", "priority": 100, "id": 31229, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=cbc2a5f7640868f6", "url": "https://translate-dev.freebsd.org/api/units/31229/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.194184Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Recall that at this point, register <literal>%si</literal> points to the FreeBSD slice entry in the <acronym>MBR</acronym> partition table, so a call to <literal>nread</literal> will effectively read sectors at the beginning of this partition. The argument passed on register <literal>%dh</literal> tells <literal>nread</literal> to read 16 disk sectors. Recall that the first 512 bytes, or the first sector of the FreeBSD slice, coincides with the <filename>boot1</filename> program. Also recall that the file written to the beginning of the FreeBSD slice is not <filename>/boot/boot1</filename>, but <filename>/boot/boot</filename>. Let us look at the size of these files in the filesystem:" ], "previous_source": "", "target": [ "Lembre-se que neste momento, o registrador <literal>%si</literal> aponta para a entrada da fatia do FreeBSD na tabela de partição <acronym>MBR</acronym> , então uma chamada para <literal>nread</literal> efetivamente lerá setores no início desta partição. O argumento passou no registrador <literal>%dh</literal> diz ao <literal>nread</literal> para ler 16 setores de disco. Lembre-se que os primeiros 512 bytes, ou o primeiro setor da fatia do FreeBSD, coincide com o programa <filename>boot1</filename>. Lembre-se também que o arquivo gravado no início da fatia do FreeBSD não é <filename>/boot/boot1</filename> , mas <filename>/boot/boot</filename> . Vamos ver o tamanho desses arquivos no sistema de arquivos:" ], "id_hash": -7572189472946639742, "content_hash": -7572189472946639742, "location": "book.translate.xml:1225", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 133, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 95, "source_unit": "https://translate-dev.freebsd.org/api/units/102279/?format=api", "priority": 100, "id": 31230, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=16ea2dcb25102c82", "url": "https://translate-dev.freebsd.org/api/units/31230/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.207474Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "-r--r--r-- 1 root wheel 512B Jan 8 00:15 /boot/boot0\n-r--r--r-- 1 root wheel 512B Jan 8 00:15 /boot/boot1\n-r--r--r-- 1 root wheel 7.5K Jan 8 00:15 /boot/boot2\n-r--r--r-- 1 root wheel 8.0K Jan 8 00:15 /boot/boot" ], "previous_source": "", "target": [ "-r--r--r-- 1 root wheel 512B Jan 8 00:15 /boot/boot0\n-r--r--r-- 1 root wheel 512B Jan 8 00:15 /boot/boot1\n-r--r--r-- 1 root wheel 7.5K Jan 8 00:15 /boot/boot2\n-r--r--r-- 1 root wheel 8.0K Jan 8 00:15 /boot/boot" ], "id_hash": 9129360777712744707, "content_hash": 9129360777712744707, "location": "book.translate.xml:1238", "context": "", "note": "(itstool) path: sect1/screen\n(itstool) id: book.translate.xml#boot-boot1-filesize", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 134, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 36, "source_unit": "https://translate-dev.freebsd.org/api/units/102280/?format=api", "priority": 100, "id": 31231, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=feb2014205f3b903", "url": "https://translate-dev.freebsd.org/api/units/31231/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.214993Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Both <filename>boot0</filename> and <filename>boot1</filename> are 512 bytes each, so they fit <emphasis>exactly</emphasis> in one disk sector. <filename>boot2</filename> is much bigger, holding both the <acronym>BTX</acronym> server and the <filename>boot2</filename> client. Finally, a file called simply <filename>boot</filename> is 512 bytes larger than <filename>boot2</filename>. This file is a concatenation of <filename>boot1</filename> and <filename>boot2</filename>. As already noted, <filename>boot0</filename> is the file written to the absolute first disk sector (the <acronym>MBR</acronym>), and <filename>boot</filename> is the file written to the first sector of the FreeBSD slice; <filename>boot1</filename> and <filename>boot2</filename> are <emphasis>not</emphasis> written to disk. The command used to concatenate <filename>boot1</filename> and <filename>boot2</filename> into a single <filename>boot</filename> is merely <command>cat boot1 boot2 > boot</command>." ], "previous_source": "", "target": [ "Ambos <filename>boot0</filename> e <filename>boot1</filename> são 512 bytes cada, então eles se encaixam <emphasis>exatamente</emphasis> em um setor de disco. <filename>boot2</filename> é muito maior, mantendo tanto o servidor <acronym>BTX</acronym> quanto o cliente <filename>boot2</filename>. Finalmente, um arquivo chamado simplesmente de <filename>boot</filename> é 512 bytes maior que <filename>boot2</filename> . Este arquivo é uma concatenação de <filename>boot1</filename> e <filename>boot2</filename> . Como já foi dito, <filename>boot0</filename> é o arquivo gravado no primeiro setor de disco absoluto (o <acronym>MBR</acronym>) e <filename>boot</filename> é o arquivo escrito no primeiro setor da fatia do FreeBSD; <filename>boot1</filename> e <filename>boot2</filename> <emphasis>não</emphasis> são escritos em disco. O comando usado para concatenar <filename>boot1</filename> e <filename>boot2</filename> em um único <filename>boot</filename> é meramente <command>cat boot1 boot2> boot</command>." ], "id_hash": -6209804904800331581, "content_hash": -6209804904800331581, "location": "book.translate.xml:1243", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 135, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 107, "source_unit": "https://translate-dev.freebsd.org/api/units/102281/?format=api", "priority": 100, "id": 31232, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=29d257570ce5d8c3", "url": "https://translate-dev.freebsd.org/api/units/31232/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.235617Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "512*16=8192 bytes, exactly the size of <filename>boot</filename>" ], "previous_source": "", "target": [ "512*16=8192 bytes, exatamente o tamanho de <filename>boot</filename>" ], "id_hash": 2013120846602254977, "content_hash": 2013120846602254977, "location": "book.translate.xml:1271", "context": "", "note": "(itstool) path: footnote/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 136, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/102282/?format=api", "priority": 100, "id": 31233, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=9bf00abe77a93a81", "url": "https://translate-dev.freebsd.org/api/units/31233/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.243649Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Historically known as <quote>disklabel</quote>. If you ever wondered where FreeBSD stored this information, it is in this region. See <citerefentry><refentrytitle>bsdlabel</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "Historicamente conhecido como <quote>disklabel</quote> . Se você já se perguntou onde o FreeBSD armazenou esta informação, está nesta região. Veja <citerefentry><refentrytitle>bsdlabel</refentrytitle><manvolnum>8</manvolnum></citerefentry>" ], "id_hash": 6717484711425328192, "content_hash": 6717484711425328192, "location": "book.translate.xml:1287", "context": "", "note": "(itstool) path: footnote/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 138, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/102284/?format=api", "priority": 100, "id": 31235, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=dd394cc1189fc440", "url": "https://translate-dev.freebsd.org/api/units/31235/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.269318Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Recall that <literal>nread</literal> uses memory address <literal>0x8c00</literal> as the transfer buffer to hold the sectors read. This address is conveniently chosen. Indeed, because <filename>boot1</filename> belongs to the first 512 bytes, it ends up in the address range <literal>0x8c00</literal>-<literal>0x8dff</literal>. The 512 bytes that follows (range <literal>0x8e00</literal>-<literal>0x8fff</literal>) is used to store the <emphasis>bsdlabel</emphasis> <_:footnote-1/>." ], "previous_source": "", "target": [ "Lembre-se que <literal>nread</literal> usa endereço de memória <literal>0x8c00</literal> como o buffer de transferência para manter os setores lidos. Este endereço é convenientemente escolhido. De fato, porque <filename>boot1</filename> pertence aos primeiros 512 bytes, acaba na faixa de endereços <literal>0x8c00</literal>-<literal>0x8dff</literal> . Os 512 bytes seguintes (intervalo <literal>0x8e00</literal>-<literal>0x8fff</literal>) é usado para armazenar <emphasis>bsdlabel</emphasis> <_:footnote-1/>." ], "id_hash": -2341582302059471054, "content_hash": -2341582302059471054, "location": "book.translate.xml:1277", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 139, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 52, "source_unit": "https://translate-dev.freebsd.org/api/units/102285/?format=api", "priority": 100, "id": 31236, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=5f81074d71675f32", "url": "https://translate-dev.freebsd.org/api/units/31236/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.276438Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Starting at address <literal>0x9000</literal> is the beginning of the <acronym>BTX</acronym> server, and immediately following is the <filename>boot2</filename> client. The <acronym>BTX</acronym> server acts as a kernel, and executes in protected mode in the most privileged level. In contrast, the <acronym>BTX</acronym> clients (<filename>boot2</filename>, for example), execute in user mode. We will see how this is accomplished in the next section. The code after the call to <literal>nread</literal> locates the beginning of <filename>boot2</filename> in the memory buffer, and copies it to memory address <literal>0xc000</literal>. This is because the <acronym>BTX</acronym> server arranges <filename>boot2</filename> to execute in a segment starting at <literal>0xa000</literal>. We explore this in detail in the following section." ], "previous_source": "", "target": [ "Começando no endereço <literal>0x9000</literal> é o começo do servidor <acronym>BTX</acronym> , e imediatamente a seguir é o cliente <filename>boot2</filename>. O servidor <acronym>BTX</acronym> atua como um kernel e é executado no modo protegido no nível mais privilegiado. Em contraste, os clientes <acronym>BTX</acronym> (<filename>boot2</filename> , por exemplo), executam no modo de usuário. Vamos ver como isso é feito na próxima seção. O código após a chamada para <literal>nread</literal> localiza o começo de <filename>boot2</filename> no buffer de memória e copia para o endereço de memória <literal>0xc000</literal>. Isso ocorre porque o servidor <acronym>BTX</acronym> organiza <filename>boot2</filename> para executar em um segmento a partir de <literal>0xa000</literal> . Nés exploramos isso em detalhes na seção seguinte." ], "id_hash": -3867806288044379565, "content_hash": -3867806288044379565, "location": "book.translate.xml:1291", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 140, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 106, "source_unit": "https://translate-dev.freebsd.org/api/units/102286/?format=api", "priority": 100, "id": 31237, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=4a52caac6d17b253", "url": "https://translate-dev.freebsd.org/api/units/31237/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.296013Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "This is necessary for legacy reasons. Interested readers should see <link xlink:href=\"http://en.wikipedia.org/wiki/A20_line\"/>." ], "previous_source": "", "target": [ "Isso é necessário por razões de legado. Os leitores interessados devem ver <link xlink:href=\"http://en.wikipedia.org/wiki/A20_line\"/> " ], "id_hash": -8090371070958480627, "content_hash": -8090371070958480627, "location": "book.translate.xml:1310", "context": "", "note": "(itstool) path: footnote/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 141, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 12, "source_unit": "https://translate-dev.freebsd.org/api/units/102287/?format=api", "priority": 100, "id": 31238, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=0fb93a60266c530d", "url": "https://translate-dev.freebsd.org/api/units/31238/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.304829Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The last code block of <filename>boot1</filename> enables access to memory above 1MB <_:footnote-1/> and concludes with a jump to the starting point of the <acronym>BTX</acronym> server:" ], "previous_source": "", "target": [ "O último bloco de código de <filename>boot1</filename> permite o acesso à memória acima de 1MB <_:footnote-1/> e conclui com um salto para o ponto de partida do servidor <acronym>BTX</acronym>:" ], "id_hash": 1690622384688862773, "content_hash": 1690622384688862773, "location": "book.translate.xml:1307", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 142, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://translate-dev.freebsd.org/api/units/102288/?format=api", "priority": 100, "id": 31239, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=97764c1a00b41635", "url": "https://translate-dev.freebsd.org/api/units/31239/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.312189Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "seta20:\n\tcli\t\t\t# Disable interrupts\nseta20.1:\n\tdec %cx\t\t\t# Timeout?\n\tjz seta20.3\t\t# Yes\n\n\tinb $0x64,%al\t\t# Get status\n\ttestb $0x2,%al\t\t# Busy?\n\tjnz seta20.1\t\t# Yes\n\tmovb $0xd1,%al\t\t# Command: Write\n\toutb %al,$0x64\t\t# output port\nseta20.2:\n\tinb $0x64,%al\t\t# Get status\n\ttestb $0x2,%al\t\t# Busy?\n\tjnz seta20.2\t\t# Yes\n\tmovb $0xdf,%al\t\t# Enable\n\toutb %al,$0x60\t\t# A20\nseta20.3:\n\tsti\t\t\t# Enable interrupts\n\tjmp 0x9010\t\t# Start BTX" ], "previous_source": "", "target": [ "seta20:\n\tcli\t\t\t# Disable interrupts\nseta20.1:\n\tdec %cx\t\t\t# Timeout?\n\tjz seta20.3\t\t# Yes\n\n\tinb $0x64,%al\t\t# Get status\n\ttestb $0x2,%al\t\t# Busy?\n\tjnz seta20.1\t\t# Yes\n\tmovb $0xd1,%al\t\t# Command: Write\n\toutb %al,$0x64\t\t# output port\nseta20.2:\n\tinb $0x64,%al\t\t# Get status\n\ttestb $0x2,%al\t\t# Busy?\n\tjnz seta20.2\t\t# Yes\n\tmovb $0xdf,%al\t\t# Enable\n\toutb %al,$0x60\t\t# A20\nseta20.3:\n\tsti\t\t\t# Enable interrupts\n\tjmp 0x9010\t\t# Start BTX" ], "id_hash": -4033457430559943354, "content_hash": -4033457430559943354, "location": "book.translate.xml:1318", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 143, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 69, "source_unit": "https://translate-dev.freebsd.org/api/units/102289/?format=api", "priority": 100, "id": 31240, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=480647d64ad09546", "url": "https://translate-dev.freebsd.org/api/units/31240/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.324389Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Note that right before the jump, interrupts are enabled." ], "previous_source": "", "target": [ "Note que logo antes do salto, as interrupções estão habilitadas." ], "id_hash": 8456204836039797873, "content_hash": 8456204836039797873, "location": "book.translate.xml:1340", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 144, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/102290/?format=api", "priority": 100, "id": 31241, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=f55a797ed817ac71", "url": "https://translate-dev.freebsd.org/api/units/31241/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.338351Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The <acronym>BTX</acronym> Server" ], "previous_source": "", "target": [ "O servidor <acronym>BTX</acronym>" ], "id_hash": -4118145936343689782, "content_hash": -4118145936343689782, "location": "book.translate.xml:1345", "context": "", "note": "(itstool) path: sect1/title", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 145, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/102291/?format=api", "priority": 100, "id": 31242, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=46d96816fb0415ca", "url": "https://translate-dev.freebsd.org/api/units/31242/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.353624Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Next in our boot sequence is the <acronym>BTX</acronym> Server. Let us quickly remember how we got here:" ], "previous_source": "", "target": [ "O próximo passo na nossa sequência de inicialização é o servidor <acronym>BTX</acronym>. Vamos lembrar rapidamente como chegamos aqui:" ], "id_hash": -2868559032408011257, "content_hash": -2868559032408011257, "location": "book.translate.xml:1347", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 146, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 17, "source_unit": "https://translate-dev.freebsd.org/api/units/102292/?format=api", "priority": 100, "id": 31243, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=5830d4c220150e07", "url": "https://translate-dev.freebsd.org/api/units/31243/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.373781Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The <acronym>BIOS</acronym> loads the absolute sector one (the <acronym>MBR</acronym>, or <filename>boot0</filename>), to address <literal>0x7c00</literal> and jumps there." ], "previous_source": "", "target": [ "O <acronym>BIOS</acronym> carrega o setor absoluto (o <acronym>MBR</acronym> , ou <filename> boot0 </filename> ), endere�ar <literal> 0x7c00 </literal> e pula l�. " ], "id_hash": -1410755505741370095, "content_hash": -1410755505741370095, "location": "book.translate.xml:1353", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 147, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 17, "source_unit": "https://translate-dev.freebsd.org/api/units/102293/?format=api", "priority": 100, "id": 31244, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=6c6bfd578f5bed11", "url": "https://translate-dev.freebsd.org/api/units/31244/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.393587Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<filename>boot0</filename> relocates itself to <literal>0x600</literal>, the address it was linked to execute, and jumps over there. It then reads the first sector of the FreeBSD slice (which consists of <filename>boot1</filename>) into address <literal>0x7c00</literal> and jumps over there." ], "previous_source": "", "target": [ " <filename> boot0 </filename> se muda para <literal> 0x600 </literal> , o endere�o que estava ligado para executar e salta para l�. Ele ent�o l� o primeiro setor da fatia do FreeBSD (que consiste em <filename> boot1 </filename> ) no endere�o <literal> 0x7c00 </literal> e pula ali " ], "id_hash": -6790554406644967410, "content_hash": -6790554406644967410, "location": "book.translate.xml:1360", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 148, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 37, "source_unit": "https://translate-dev.freebsd.org/api/units/102294/?format=api", "priority": 100, "id": 31245, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=21c31abebbf6980e", "url": "https://translate-dev.freebsd.org/api/units/31245/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.402569Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<filename>boot1</filename> loads the first 16 sectors of the FreeBSD slice into address <literal>0x8c00</literal>. This 16 sectors, or 8192 bytes, is the whole file <filename>boot</filename>. The file is a concatenation of <filename>boot1</filename> and <filename>boot2</filename>. <filename>boot2</filename>, in turn, contains the <acronym>BTX</acronym> server and the <filename>boot2</filename> client. Finally, a jump is made to address <literal>0x9010</literal>, the entry point of the <acronym>BTX</acronym> server." ], "previous_source": "", "target": [ " <filename> boot1 </filename> carrega os primeiros 16 setores da fatia do FreeBSD no endere�o <literal> 0x8c00 </literal> . Este 16 setores, ou 8192 bytes, � o arquivo inteiro <filename> bota </filename> . O arquivo � uma concatena��o de <filename> boot1 </filename> e <filename> boot2 </filename> . <filename> boot2 </filename> , por sua vez, cont�m o servidor <acronym>BTX</acronym> eo <filename> boot2 </filename> cliente. Finalmente, um salto � feito para abordar <literal> 0x9010 </literal> , o ponto de entrada do servidor <acronym>BTX</acronym> . " ], "id_hash": -1259617436348836251, "content_hash": -1259617436348836251, "location": "book.translate.xml:1369", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 149, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 59, "source_unit": "https://translate-dev.freebsd.org/api/units/102295/?format=api", "priority": 100, "id": 31246, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=6e84f09d898a1665", "url": "https://translate-dev.freebsd.org/api/units/31246/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.424550Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Before studying the <acronym>BTX</acronym> Server in detail, let us further review how the single, all-in-one <filename>boot</filename> file is created. The way <filename>boot</filename> is built is defined in its <filename>Makefile</filename> (<filename>/usr/src/sys/boot/i386/boot2/Makefile</filename>). Let us look at the rule that creates the <filename>boot</filename> file:" ], "previous_source": "", "target": [ "Antes de estudar o <acronym>BTX</acronym> Server detalhadamente, vamos revisar ainda mais como o single, all-in-one <filename> bota </filename> arquivo � criado. O caminho <filename> bota </filename> � constru�do � definido em sua <filename> Makefile </filename> ( <filename> / usr / src / sys / boot / i386 / boot2 / Makefile </filename> ). Vamos olhar para a regra que cria o <filename> bota </filename> Arquivo:" ], "id_hash": -2146596315182942590, "content_hash": -2146596315182942590, "location": "book.translate.xml:1382", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 150, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 41, "source_unit": "https://translate-dev.freebsd.org/api/units/102296/?format=api", "priority": 100, "id": 31247, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=6235c206455bb682", "url": "https://translate-dev.freebsd.org/api/units/31247/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.434474Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ " boot: boot1 boot2\n\tcat boot1 boot2 > boot" ], "previous_source": "", "target": [ " boot: boot1 boot2\n\tcat boot1 boot2 > boot" ], "id_hash": -2882066827637789264, "content_hash": -2882066827637789264, "location": "book.translate.xml:1394", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 151, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 8, "source_unit": "https://translate-dev.freebsd.org/api/units/102297/?format=api", "priority": 100, "id": 31248, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=5800d77d77b66db0", "url": "https://translate-dev.freebsd.org/api/units/31248/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.444649Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "This tells us that <filename>boot1</filename> and <filename>boot2</filename> are needed, and the rule simply concatenates them to produce a single file called <filename>boot</filename>. The rules for creating <filename>boot1</filename> are also quite simple:" ], "previous_source": "", "target": [ "Isso nos diz que <filename> boot1 </filename> e <filename> boot2 </filename> s�o necess�rios, e a regra simplesmente concatena-os para produzir um �nico arquivo chamado <filename> bota </filename> . As regras para criar <filename> boot1 </filename> tamb�m s�o bastante simples: " ], "id_hash": -2477593704855350938, "content_hash": -2477593704855350938, "location": "book.translate.xml:1398", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 152, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 31, "source_unit": "https://translate-dev.freebsd.org/api/units/102298/?format=api", "priority": 100, "id": 31249, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=5d9dd1a6fc5a5166", "url": "https://translate-dev.freebsd.org/api/units/31249/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.455962Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ " boot1: boot1.out\n\tobjcopy -S -O binary boot1.out boot1\n\n boot1.out: boot1.o\n\tld -e start -Ttext 0x7c00 -o boot1.out boot1.o" ], "previous_source": "", "target": [ " boot1: boot1.out\n\tobjcopy -S -O binary boot1.out boot1\n\n boot1.out: boot1.o\n\tld -e start -Ttext 0x7c00 -o boot1.out boot1.o" ], "id_hash": -3890581462392060764, "content_hash": -3890581462392060764, "location": "book.translate.xml:1407", "context": "", "note": "(itstool) path: figure/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 153, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 18, "source_unit": "https://translate-dev.freebsd.org/api/units/102299/?format=api", "priority": 100, "id": 31250, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=4a01e0c5ec66c4a4", "url": "https://translate-dev.freebsd.org/api/units/31250/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.462460Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "To apply the rule for creating <filename>boot1</filename>, <filename>boot1.out</filename> must be resolved. This, in turn, depends on the existence of <filename>boot1.o</filename>. This last file is simply the result of assembling our familiar <filename>boot1.S</filename>, without linking. Now, the rule for creating <filename>boot1.out</filename> is applied. This tells us that <filename>boot1.o</filename> should be linked with <literal>start</literal> as its entry point, and starting at address <literal>0x7c00</literal>. Finally, <filename>boot1</filename> is created from <filename>boot1.out</filename> applying the appropriate rule. This rule is the <filename>objcopy</filename> command applied to <filename>boot1.out</filename>. Note the flags passed to <filename>objcopy</filename>: <literal>-S</literal> tells it to strip all relocation and symbolic information; <literal>-O binary</literal> indicates the output format, that is, a simple, unformatted binary file." ], "previous_source": "", "target": [ "Para aplicar a regra para criar <filename> boot1 </filename> , <filename> boot1.out </filename> deve ser resolvido. Isso, por sua vez, depende da exist�ncia de <filename> boot1.o </filename> . Este �ltimo arquivo � simplesmente o resultado da montagem de nosso familiar <filename> boot1.S </filename> , sem vincular. Agora, a regra para criar <filename> boot1.out </filename> � aplicado. Isso nos diz que <filename> boot1.o </filename> deve estar ligado a <literal> come�ar </literal> como seu ponto de entrada, e come�ando no endere�o <literal> 0x7c00 </literal> . Finalmente, <filename> boot1 </filename> � criado a partir de <filename> boot1.out </filename> aplicar a regra apropriada. Esta regra � a <filename> objcopy </filename> comando aplicado a <filename> boot1.out </filename> . Observe as bandeiras passadas para <filename> objcopy </filename> : <literal> -S </literal> diz para remover toda a reloca��o e informa��es simb�licas; <literal> Bin�rio -O </literal> indica o formato de sa�da, isto �, um arquivo bin�rio simples e n�o formatado. " ], "id_hash": 7897245605041597744, "content_hash": 7897245605041597744, "location": "book.translate.xml:1414", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 154, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 109, "source_unit": "https://translate-dev.freebsd.org/api/units/102300/?format=api", "priority": 100, "id": 31251, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=ed98a7095084ed30", "url": "https://translate-dev.freebsd.org/api/units/31251/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.472416Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Having <filename>boot1</filename>, let us take a look at how <filename>boot2</filename> is constructed:" ], "previous_source": "", "target": [ "Tendo <filename> boot1 </filename> , vamos dar uma olhada em como <filename> boot2 </filename> � constru�do:" ], "id_hash": 8690542101898321521, "content_hash": 8690542101898321521, "location": "book.translate.xml:1433", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 155, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://translate-dev.freebsd.org/api/units/102301/?format=api", "priority": 100, "id": 31252, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=f89b01ff4939de71", "url": "https://translate-dev.freebsd.org/api/units/31252/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:21:43.479271Z" } ] }{ "count": 2721, "next": "