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=55
https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/units/?format=api&page=54", "results": [ { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<personname> <firstname>Michael</firstname> <othername role=\"MI\">J</othername> <surname>Karels</surname> </personname>" ], "previous_source": "<personname><firstname>Michael</firstname><othername role=\"MI\">J</othername><surname>Karels</surname></personname>", "target": [ "<personname><firstname>Michael</firstname><othername role=\"MI\">J</othername><surname>Karels</surname></personname>" ], "id_hash": 3034677945306011853, "content_hash": 3034677945306011853, "location": "book.translate.xml:23930", "context": "", "note": "(itstool) path: authorgroup/author", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2715, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/92211/?format=api", "priority": 100, "id": 90410, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=aa1d578349ad58cd", "url": "https://translate-dev.freebsd.org/api/units/90410/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-11-02T20:37:18.432906Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "<personname> <firstname>John</firstname> <othername role=\"MI\">S</othername> <surname>Quarterman</surname> </personname>" ], "previous_source": "<personname><firstname>John</firstname><othername role=\"MI\">S</othername><surname>Quarterman</surname></personname>", "target": [ "<personname><firstname>John</firstname><othername role=\"MI\">S</othername><surname>Quarterman</surname></personname>" ], "id_hash": -2603425401615862519, "content_hash": -2603425401615862519, "location": "book.translate.xml:23937", "context": "", "note": "(itstool) path: authorgroup/author", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2716, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/92212/?format=api", "priority": 100, "id": 90411, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=5bdec66409753509", "url": "https://translate-dev.freebsd.org/api/units/90411/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-11-02T20:37:18.443382Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The value of <literal>0xfffffff0</literal> is slightly less than 4 GB, so unless the machine has 4 GB of physical memory, it cannot point to a valid memory address. The computer's hardware translates this address so that it points to a <acronym>BIOS</acronym> memory block." ], "previous_source": "The value of <literal>0xfffffff0</literal> is slightly less than 4 GB, so unless the machine has 4 GB of physical memory, it cannot point to a valid memory address. The computer's hardware translates this address so that it points to a <acronym>BIOS</acronym> memory block.", "target": [ "O valor de <literal>0xfffffff0</literal> é um pouco menor que 4 GB, portanto, a menos que a máquina tenha 4 GB de memória física, ela não pode apontar para um endereço de memória válido. O hardware do computador traduz esse endereço para que ele aponte para um bloco de memória da <acronym>BIOS</acronym> . " ], "id_hash": -5189313260644394010, "content_hash": -5189313260644394010, "location": "book.translate.xml:426", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 48, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 43, "source_unit": "https://translate-dev.freebsd.org/api/units/157530/?format=api", "priority": 100, "id": 157531, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=37fbdb1567111be6", "url": "https://translate-dev.freebsd.org/api/units/157531/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-04-18T18:15:03.427049Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "An interrupt is requested with number <literal>0x1a</literal> and argument <literal>0</literal> in register <literal>%ah</literal>. The <acronym>BIOS</acronym> has a predefined set of services, requested by applications as software-generated interrupts through the <literal>int</literal> instruction and receiving arguments in registers (in this case, <literal>%ah</literal>). Here, particularly, we are requesting the number of clock ticks since last midnight; this value is computed by the <acronym>BIOS</acronym> through the <acronym>RTC</acronym> (Real Time Clock). This clock can be programmed to work at frequencies ranging from 2 Hz to 8192 Hz. The <acronym>BIOS</acronym> sets it to 18.2 Hz at startup. When the request is satisfied, a 32-bit result is returned by the <acronym>BIOS</acronym> in registers <literal>%cx</literal> and <literal>%dx</literal> (lower bytes in <literal>%dx</literal>). This result (the <literal>%dx</literal> part) is copied to register <literal>%di</literal>, and the value of the <varname>TICKS</varname> variable is added to <literal>%di</literal>. This variable resides in <filename>boot0</filename> at offset <literal>_TICKS</literal> (a negative value) from register <literal>%bp</literal> (which, recall, points to <literal>0x800</literal>). The default value of this variable is <literal>0xb6</literal> (182 in decimal). Now, the idea is that <filename>boot0</filename> constantly requests the time from the <acronym>BIOS</acronym>, and when the value returned in register <literal>%dx</literal> is greater than the value stored in <literal>%di</literal>, the time is up and the default selection will be made. Since the RTC ticks 18.2 times per second, this condition will be met after 10 seconds (this default behavior can be changed in the <filename>Makefile</filename>). Until this time has passed, <filename>boot0</filename> continually asks the <acronym>BIOS</acronym> for any user input; this is done through <literal>int 0x16</literal>, argument <literal>1</literal> in <literal>%ah</literal>." ], "previous_source": "An interrupt is requested with number <literal>0x1a</literal> and argument <literal>0</literal> in register <literal>%ah</literal>. The <acronym>BIOS</acronym> has a predefined set of services, requested by applications as software-generated interrupts through the <literal>int</literal> instruction and receiving arguments in registers (in this case, <literal>%ah</literal>). Here, particularly, we are requesting the number of clock ticks since last midnight; this value is computed by the <acronym>BIOS</acronym> through the <acronym>RTC</acronym> (Real Time Clock). This clock can be programmed to work at frequencies ranging from 2 Hz to 8192 Hz. The <acronym>BIOS</acronym> sets it to 18.2 Hz at startup. When the request is satisfied, a 32-bit result is returned by the <acronym>BIOS</acronym> in registers <literal>%cx</literal> and <literal>%dx</literal> (lower bytes in <literal>%dx</literal>). This result (the <literal>%dx</literal> part) is copied to register <literal>%di</literal>, and the value of the <varname>TICKS</varname> variable is added to <literal>%di</literal>. This variable resides in <filename>boot0</filename> at offset <literal>_TICKS</literal> (a negative value) from register <literal>%bp</literal> (which, recall, points to <literal>0x800</literal>). The default value of this variable is <literal>0xb6</literal> (182 in decimal). Now, the idea is that <filename>boot0</filename> constantly requests the time from the <acronym>BIOS</acronym>, and when the value returned in register <literal>%dx</literal> is greater than the value stored in <literal>%di</literal>, the time is up and the default selection will be made. Since the RTC ticks 18.2 times per second, this condition will be met after 10 seconds (this default behavior can be changed in the <filename>Makefile</filename>). Until this time has passed, <filename>boot0</filename> continually asks the <acronym>BIOS</acronym> for any user input; this is done through <literal>int 0x16</literal>, argument <literal>1</literal> in <literal>%ah</literal>.", "target": [ "Uma interrupção é solicitada com o número <literal>0x1a</literal> e argumento <literal> </literal> no registrador <literal>%ah</literal>. A <acronym>BIOS</acronym> possui um conjunto predefinido de serviços, solicitados pelos aplicativos como interrupções geradas por software através de uma instrução <literal>int</literal> e receber argumentos nos registradores (neste caso, <literal>%ah</literal>). Aqui, particularmente, estamos solicitando o número de pulsos de clock desde a última meia-noite; esse valor é computado pela <acronym>BIOS</acronym> por meio do <acronym>RTC</acronym> (Real Time Clock). Este clock pode ser programado para funcionar em frequências que variam de 2 Hz a 8192 Hz. A <acronym>BIOS</acronym> define isso a 18,2 Hz na inicialização. Quando a solicitação é satisfeita, um resultado de 32 bits é retornado pela <acronym>BIOS</acronym> em registradores <literal>%cx</literal> e <literal>%dx</literal> (bytes inferiores em <literal>%dx</literal> ). Este resultado (a parte <literal>%dx</literal>) é copiado para registrador <literal>%di</literal> e o valor das variáveis <varname>TICKS</varname> � adicionado ao <literal>%di</literal> . Esta variável reside em <filename>boot0</filename> no deslocamento <literal>_TICKS</literal> (um valor negativo) do registrador <literal>%pb</literal> (que, lembre-se, aponta para <literal>0x800</literal> ). O valor padrão desta variável é <literal>0xb6</literal> (182 em decimal). Agora, a ideia é que <filename>boot0</filename> constantemente solicita o tempo da <acronym>BIOS</acronym>, e quando o valor retornado no registro <literal>%dx</literal> é maior que o valor armazenado em <literal>%di</literal>, o tempo acabou e a seleção padrão será feita. Como o RTC é de 18,2 vezes por segundo, essa condição será atendida após 10 segundos (esse comportamento padrão pode ser alterado no <filename>Makefile</filename> ). Até que esse tempo tenha passado <filename>boot0</filename> continuamente pede à <acronym>BIOS</acronym> por qualquer entrada do usuário; isso é feito através <literal>int 0x16</literal> argumento <literal>1</literal> em <literal>%ah</literal>." ], "id_hash": -2307518497613111655, "content_hash": -2307518497613111655, "location": "book.translate.xml:858", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 95, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 253, "source_unit": "https://translate-dev.freebsd.org/api/units/157532/?format=api", "priority": 100, "id": 157533, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=5ffa0c26f5209e99", "url": "https://translate-dev.freebsd.org/api/units/157533/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-04-18T18:15:03.460185Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Example of a Sample Echo Pseudo-Device Driver for FreeBSD 10.X - 12.X" ], "previous_source": "", "target": [ "Exemplo de um driver de pseudo-dispositivo de eco de amostra para o FreeBSD 10.X - 12.X" ], "id_hash": 9144301548006342219, "content_hash": 9144301548006342219, "location": "book.translate.xml:16259", "context": "", "note": "(itstool) path: example/title", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 1705, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://translate-dev.freebsd.org/api/units/157534/?format=api", "priority": 100, "id": 157535, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=fee715cf2ff8fe4b", "url": "https://translate-dev.freebsd.org/api/units/157535/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-04-18T18:15:03.713165Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "$FreeBSD$" ], "previous_source": "", "target": [ "" ], "id_hash": -6157127918850188850, "content_hash": -6157127918850188850, "location": "book.translate.xml:147, book.translate.xml:226", "context": "", "note": "(itstool) path: info/pubdate\n(itstool) path: info/releaseinfo", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 4, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/229385/?format=api", "priority": 100, "id": 229433, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=2a8d7cc7984b59ce", "url": "https://translate-dev.freebsd.org/api/units/229433/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:30.456082Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "As <filename>boot0</filename> is loaded by the <acronym>BIOS</acronym> to address <literal>0x7C00</literal>, it copies itself to address <literal>0x600</literal> and then transfers control there (recall that it was linked to execute at address <literal>0x600</literal>). The source address, <literal>0x7c00</literal>, is copied to register <literal>%si</literal>. The destination address, <literal>0x600</literal>, to register <literal>%di</literal>. The number of bytes to copy, <literal>512</literal> (the program's size), is copied to register <literal>%cx</literal>. Next, the <literal>rep</literal> instruction repeats the instruction that follows, that is, <literal>movsb</literal>, the number of times dictated by the <literal>%cx</literal> register. The <literal>movsb</literal> instruction copies the byte pointed to by <literal>%si</literal> to the address pointed to by <literal>%di</literal>. This is repeated another 511 times. On each repetition, both the source and destination registers, <literal>%si</literal> and <literal>%di</literal>, are incremented by one. Thus, upon completion of the 512-byte copy, <literal>%di</literal> has the value <literal>0x600</literal>+<literal>512</literal>= <literal>0x800</literal>, and <literal>%si</literal> has the value <literal>0x7c00</literal>+<literal>512</literal>= <literal>0x7e00</literal>; we have thus completed the code <emphasis>relocation</emphasis>." ], "previous_source": "Because <filename>boot0</filename> is loaded by the <acronym>BIOS</acronym> to address <literal>0x7C00</literal>, it copies itself to address <literal>0x600</literal> and then transfers control there (recall that it was linked to execute at address <literal>0x600</literal>). The source address, <literal>0x7c00</literal>, is copied to register <literal>%si</literal>. The destination address, <literal>0x600</literal>, to register <literal>%di</literal>. The number of bytes to copy, <literal>512</literal> (the program's size), is copied to register <literal>%cx</literal>. Next, the <literal>rep</literal> instruction repeats the instruction that follows, that is, <literal>movsb</literal>, the number of times dictated by the <literal>%cx</literal> register. The <literal>movsb</literal> instruction copies the byte pointed to by <literal>%si</literal> to the address pointed to by <literal>%di</literal>. This is repeated another 511 times. On each repetition, both the source and destination registers, <literal>%si</literal> and <literal>%di</literal>, are incremented by one. Thus, upon completion of the 512-byte copy, <literal>%di</literal> has the value <literal>0x600</literal>+<literal>512</literal>= <literal>0x800</literal>, and <literal>%si</literal> has the value <literal>0x7c00</literal>+<literal>512</literal>= <literal>0x7e00</literal>; we have thus completed the code <emphasis>relocation</emphasis>.", "target": [ "Porque <filename>boot0</filename> é carregado pelo <acronym>BIOS</acronym> para endereçar <literal>0x7C00</literal>, copia-se para endereçar <literal>0x600</literal> e depois transfere o controle para lá (lembre-se de que estava ligado para executar no endereço <literal>0x600</literal>. O endereço de origem, <literal>0x7c00</literal>, é copiado para se registrar <literal>%si</literal>. O endereço de destino, <literal>0x600</literal>, registrar <literal>%di</literal>. O número de bytes para copiar, <literal>512</literal> (tamanho do programa), é copiado para registrar <literal>%cx</literal>. Em seguida, a instrução <literal>rep</literal> repete a instrução que se segue, isto é, <literal>movsb</literal>, o número de vezes ditado pelo registrador <literal>%cx</literal>. A instrução <literal>movsb</literal> copia o byte apontado por <literal>%si</literal> para o endereço apontado por <literal>%di</literal>. Isso é repetido mais 511 vezes. Em cada repetição, os registros de origem e destino, <literal>%si</literal> e <literal>%di</literal>, são incrementados por um. Assim, após a conclusão da cópia de 512 bytes, <literal>%di</literal> tem o valor <literal>0x600</literal> + <literal>512</literal> = <literal>0x800</literal> e <literal>%si</literal> tem o valor <literal>0x7c00</literal> + <literal>512</literal> = <literal>0x7e00</literal>; assim, completamos o código de <emphasis>relocação</emphasis>." ], "id_hash": 7019296161213301053, "content_hash": 7019296161213301053, "location": "book.translate.xml:650", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 77, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 149, "source_unit": "https://translate-dev.freebsd.org/api/units/229386/?format=api", "priority": 100, "id": 229434, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=e1698cab3661c13d", "url": "https://translate-dev.freebsd.org/api/units/229434/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:30.617067Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "So <filename>boot1</filename> occupies exactly the first 512 bytes of <filename>boot</filename> and, because <filename>boot</filename> is written to the first sector of the FreeBSD slice, <filename>boot1</filename> fits exactly in this first sector. When <literal>nread</literal> reads the first 16 sectors of the FreeBSD slice, it effectively reads the entire <filename>boot</filename> file <_:footnote-1/>. We will see more details about how <filename>boot</filename> is formed from <filename>boot1</filename> and <filename>boot2</filename> in the next section." ], "previous_source": "So <filename>boot1</filename> occupies exactly the first 512 bytes of <filename>boot</filename> and, because <filename>boot</filename> is written to the first sector of the FreeBSD slice, <filename>boot1</filename> fits exactly in this first sector. Because <literal>nread</literal> reads the first 16 sectors of the FreeBSD slice, it effectively reads the entire <filename>boot</filename> file <_:footnote-1/>. We will see more details about how <filename>boot</filename> is formed from <filename>boot1</filename> and <filename>boot2</filename> in the next section.", "target": [ "Assim <filename>boot1</filename> ocupa exatamente os primeiros 512 bytes de <filename>boot</filename> e porque <filename>boot</filename> é escrito para o primeiro setor da fatia do FreeBSD, <filename>boot1</filename> cabe exatamente neste primeiro setor. Porque <literal>nread</literal> lê os primeiros 16 setores da fatia do FreeBSD, lê efetivamente toda o arquivo <filename>boot</filename> <_:footnote-1/>. Vamos ver mais detalhes sobre como <filename>boot</filename> é formado a partir de <filename>boot1</filename> e <filename>boot2</filename> na próxima seção." ], "id_hash": 4770993697178643548, "content_hash": 4770993697178643548, "location": "book.translate.xml:1263", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 137, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 67, "source_unit": "https://translate-dev.freebsd.org/api/units/229387/?format=api", "priority": 100, "id": 229435, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=c235f97d61f5ec5c", "url": "https://translate-dev.freebsd.org/api/units/229435/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:30.742401Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "This code disables interrupts, sets up a working stack (starting at address <literal>0x1800</literal>) and clears the flags in the EFLAGS register. Note that the <literal>popfl</literal> instruction pops out a doubleword (4 bytes) from the stack and places it in the EFLAGS register. As the value actually popped is <literal>2</literal>, the EFLAGS register is effectively cleared (IA-32 requires that bit 2 of the EFLAGS register always be 1)." ], "previous_source": "", "target": [ "Esse c�digo desabilita as interrup��es, configura uma pilha de trabalho (iniciando no endere�o <literal> 0x1800 </literal> ) e apaga as bandeiras no registro EFLAGS. Note que o <literal> popfl </literal> A instru��o extrai uma palavra dupla (4 bytes) da pilha e a coloca no registro EFLAGS. Porque o valor realmente estourou � <literal> 2 </literal> , o registro EFLAGS � efetivamente limpo (o IA-32 requer que o bit 2 do registro EFLAGS seja sempre 1). " ], "id_hash": 3529489275754486430, "content_hash": 3529489275754486430, "location": "book.translate.xml:1680", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 179, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 67, "source_unit": "https://translate-dev.freebsd.org/api/units/229388/?format=api", "priority": 100, "id": 229436, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=b0fb43cbd7e59a9e", "url": "https://translate-dev.freebsd.org/api/units/229436/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:30.830860Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The next step is to initialize the <acronym>TSS</acronym> (Task-State Segment). The <acronym>TSS</acronym> is a hardware feature that helps the operating system or executive software implement multitasking functionality through process abstraction. The IA-32 architecture demands the creation and use of <emphasis>at least</emphasis> one <acronym>TSS</acronym> if multitasking facilities are used or different privilege levels are defined. Since the <filename>boot2</filename> client is executed in privilege level 3, but the <acronym>BTX</acronym> server does in privilege level 0, a <acronym>TSS</acronym> must be defined:" ], "previous_source": "The next step is to initialize the <acronym>TSS</acronym> (Task-State Segment). The <acronym>TSS</acronym> is a hardware feature that helps the operating system or executive software implement multitasking functionality through process abstraction. The IA-32 architecture demands the creation and use of <emphasis>at least</emphasis> one <acronym>TSS</acronym> if multitasking facilities are used or different privilege levels are defined. Because the <filename>boot2</filename> client is executed in privilege level 3, but the <acronym>BTX</acronym> server does in privilege level 0, a <acronym>TSS</acronym> must be defined:", "target": [ "O próximo passo é inicializar o <acronym>TSS</acronym> (Task-State Segment). O <acronym>TSS</acronym> é um recurso de hardware que ajuda o sistema operacional ou o software executivo a implementar a funcionalidade multitarefa por meio da abstração do processo. A arquitetura IA-32 exige a criação e o uso de <emphasis>ao menos</emphasis> um <acronym>TSS</acronym> se forem usados recursos multitarefa ou se forem definidos níveis de privilégios diferentes. Porque o cliente <filename>boot2</filename> é executado no nível de privilégio 3, mas o servidor <acronym>BTX</acronym> executado no nível de privilégio 0, um <acronym>TSS</acronym> deve ser definido:" ], "id_hash": 5754700705504977385, "content_hash": 5754700705504977385, "location": "book.translate.xml:1821", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 188, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 78, "source_unit": "https://translate-dev.freebsd.org/api/units/229389/?format=api", "priority": 100, "id": 229437, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=cfdccdcd4c5061e9", "url": "https://translate-dev.freebsd.org/api/units/229437/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:30.856198Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "For this reason, no serious applications rely on block devices, and in fact, almost all applications which access disks directly take great pains to specify that character (or <quote>raw</quote>) devices should always be used. As the implementation of the aliasing of each disk (partition) to two devices with different semantics significantly complicated the relevant kernel code, FreeBSD dropped support for cached disk devices as part of the modernization of the disk I/O infrastructure." ], "previous_source": "", "target": [ "Por essa raz�o, nenhum aplicativo s�rio depende de dispositivos de bloco e, de fato, quase todos os aplicativos que acessam discos fazem um grande esfor�o para especificar esse caractere (ou <quote> cru </quote> ) dispositivos devem sempre ser usados. Como a implementa��o do aliasing de cada disco (parti��o) para dois dispositivos com sem�ntica diferente complicou significativamente o c�digo do kernel relevante, o FreeBSD removeu o suporte para dispositivos de disco em cache como parte da moderniza��o da infra-estrutura de E / S de disco. " ], "id_hash": -2770740314132742407, "content_hash": -2770740314132742407, "location": "book.translate.xml:16461", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 1714, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 73, "source_unit": "https://translate-dev.freebsd.org/api/units/229390/?format=api", "priority": 100, "id": 229438, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=598c5a5d43437ef9", "url": "https://translate-dev.freebsd.org/api/units/229438/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:33.611304Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "As the PnP devices are disabled when probing the legacy devices they will not be attached twice (once as legacy and once as PnP). But in case of device-dependent identify routines it is the responsibility of the driver to make sure that the same device will not be attached by the driver twice: once as legacy user-configured and once as auto-identified." ], "previous_source": "", "target": [ "Como os dispositivos PnP s�o desativados ao sondar os dispositivos herdados, eles n�o ser�o conectados duas vezes (uma vez como legado e uma vez como PnP). Mas, no caso de rotinas de identifica��o dependentes de dispositivo, � responsabilidade do motorista certificar-se de que o dispositivo n�o ser� conectado pelo driver duas vezes: uma vez como legado configurado pelo usu�rio e uma vez como identificado automaticamente. " ], "id_hash": 651447676183407919, "content_hash": 651447676183407919, "location": "book.translate.xml:16866", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 1791, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 61, "source_unit": "https://translate-dev.freebsd.org/api/units/229391/?format=api", "priority": 100, "id": 229439, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=890a6835c0aa6d2f", "url": "https://translate-dev.freebsd.org/api/units/229439/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:33.762083Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Free the memory allocated by <function>bus_dmamem_alloc()</function>. At present, freeing of the memory allocated with ISA restrictions is not implemented. Due to this the recommended model of use is to keep and re-use the allocated areas for as long as possible. Do not lightly free some area and then shortly allocate it again. That does not mean that <function>bus_dmamem_free()</function> should not be used at all: hopefully it will be properly implemented soon." ], "previous_source": "", "target": [ "Libere a mem�ria alocada por <function> bus_dmamem_alloc () </function> . Atualmente, a libera��o da mem�ria alocada com restri��es ISA n�o est� implementada. Por isso, o modelo de uso recomendado � manter e reutilizar as �reas alocadas pelo maior tempo poss�vel. N�o liberte levemente alguma �rea e, em seguida, aloque-a de novo. Isso n�o significa que <function> bus_dmamem_free () </function> n�o deve ser usado: esperamos que seja implementado em breve. " ], "id_hash": -7771074710491260305, "content_hash": -7771074710491260305, "location": "book.translate.xml:17506", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 1897, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 71, "source_unit": "https://translate-dev.freebsd.org/api/units/229392/?format=api", "priority": 100, "id": 229440, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=142798b946259a6f", "url": "https://translate-dev.freebsd.org/api/units/229440/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:33.964668Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Before calling the callback function from <function>bus_dmamap_load()</function> the segment array is stored in the stack. And it gets pre-allocated for the maximal number of segments allowed by the tag. As a result of this the practical limit for the number of segments on i386 architecture is about 250-300 (the kernel stack is 4KB minus the size of the user structure, size of a segment array entry is 8 bytes, and some space must be left). Since the array is allocated based on the maximal number this value must not be set higher than really needed. Fortunately, for most of hardware the maximal supported number of segments is much lower. But if the driver wants to handle buffers with a very large number of scatter-gather segments it should do that in portions: load part of the buffer, transfer it to the device, load next part of the buffer, and so on." ], "previous_source": "", "target": [ "Antes de chamar a fun��o de retorno de chamada <function> bus_dmamap_load () </function> o array de segmentos � armazenado na pilha. E ele � pr�-alocado para o n�mero m�ximo de segmentos permitido pela tag. Devido a isso, o limite pr�tico para o n�mero de segmentos na arquitetura i386 � de cerca de 250-300 (a pilha do kernel � 4KB menos o tamanho da estrutura do usu�rio, o tamanho de uma entrada de matriz de segmento � de 8 bytes e algum espa�o deve ser deixado) . Como a matriz � alocada com base no n�mero m�ximo, esse valor n�o deve ser definido mais alto do que o realmente necess�rio. Felizmente, para a maioria do hardware, o n�mero m�ximo de segmentos suportados � muito menor. Mas se o driver quiser manipular buffers com um n�mero muito grande de segmentos de dispers�o, ele deve fazer isso em partes: carregar parte do buffer, transferi-lo para o dispositivo, carregar a pr�xima parte do buffer e assim por diante. " ], "id_hash": 5944484303631366233, "content_hash": 5944484303631366233, "location": "book.translate.xml:17809", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 1935, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 150, "source_unit": "https://translate-dev.freebsd.org/api/units/229393/?format=api", "priority": 100, "id": 229441, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=d27f0cfa9ad53859", "url": "https://translate-dev.freebsd.org/api/units/229441/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:34.042826Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Then allocate and activate all the necessary resources. As normally the port range will be released before returning from probe, it has to be allocated again. We expect that the probe routine had properly set all the resource ranges, as well as saved them in the structure softc. If the probe routine had left some resource allocated then it does not need to be allocated again (which would be considered an error)." ], "previous_source": "", "target": [ "Em seguida, aloque e ative todos os recursos necess�rios. Como normalmente o intervalo de portas ser� liberado antes de retornar do probe, ele deve ser alocado novamente. Esperamos que a rotina de an�lise tenha definido corretamente todos os intervalos de recursos e os salvou em a estrutura softc.Se a rotina de an�lise tiver deixado algum recurso alocado, ela n�o precisar� ser alocada novamente (o que seria considerado um erro). " ], "id_hash": -5461918463108398047, "content_hash": -5461918463108398047, "location": "book.translate.xml:18682", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2026, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 72, "source_unit": "https://translate-dev.freebsd.org/api/units/229394/?format=api", "priority": 100, "id": 229442, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=34335e18a646c421", "url": "https://translate-dev.freebsd.org/api/units/229442/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:34.231552Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "As we are interested in writing a SCSI adapter driver here, from this point on we will consider everything from the SIM standpoint." ], "previous_source": "", "target": [ "Porque estamos interessados em escrever um driver de adaptador SCSI aqui, a partir deste ponto consideraremos tudo do ponto de vista do SIM." ], "id_hash": -3885103319677610175, "content_hash": -3885103319677610175, "location": "book.translate.xml:19566", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2124, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 23, "source_unit": "https://translate-dev.freebsd.org/api/units/229395/?format=api", "priority": 100, "id": 229443, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=4a15571d6aecd741", "url": "https://translate-dev.freebsd.org/api/units/229443/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:34.424931Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "If the CCB is being transferred right now we would like to signal to the SCSI controller in some hardware-dependent way that we want to abort the current transfer. The SCSI controller would set the SCSI ATTENTION signal and when the target responds to it send an ABORT message. We also reset the timeout to make sure that the target is not sleeping forever. If the command would not get aborted in some reasonable time like 10 seconds the timeout routine would go ahead and reset the whole SCSI bus. Since the command will be aborted in some reasonable time we can just return the abort request now as successfully completed, and mark the aborted CCB as aborted (but not mark it as done yet)." ], "previous_source": "", "target": [ "Se o CCB est� sendo transferido agora, gostar�amos de sinalizar para o controlador SCSI de alguma maneira dependente de hardware que queremos abortar a transfer�ncia atual. O controlador SCSI configuraria o sinal SCSI ATTENTION e quando o destino responder a ele, enviar�amos uma mensagem ABORT.N�s tamb�m redefinimos o tempo limite para ter certeza de que o alvo n�o est� dormindo para sempre.Se o comando n�o fosse abortado em algum tempo razo�vel como 10 segundos, a rotina de tempo limite iria adiante e reinicializaria todo o barramento SCSI. ser� abortado em algum tempo razo�vel, podemos simplesmente retornar a requisi��o abortar agora como conclu�da com sucesso, e marcar o CCB abortado como abortado (mas n�o marc�-lo como feito ainda). " ], "id_hash": -2897232973491234230, "content_hash": -2897232973491234230, "location": "book.translate.xml:20531", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2254, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 125, "source_unit": "https://translate-dev.freebsd.org/api/units/229396/?format=api", "priority": 100, "id": 229444, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=57caf5f5f7819a4a", "url": "https://translate-dev.freebsd.org/api/units/229444/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:34.693779Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "That is all for the ABORT request, although there is one more issue. As the ABORT message cleans all the ongoing transactions on a LUN we have to mark all the other active transactions on this LUN as aborted. That should be done in the interrupt routine, after the transaction gets aborted." ], "previous_source": "", "target": [ "Isso � tudo para o pedido ABORT, embora haja mais um problema. Como a mensagem ABORT limpa todas as transa��es em andamento em um LUN, temos que marcar todas as outras transa��es ativas neste LUN como abortadas. Isso deve ser feito na interrup��o rotina, ap�s a transa��o ser anulada. " ], "id_hash": -3249575469728956370, "content_hash": -3249575469728956370, "location": "book.translate.xml:20578", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2258, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 52, "source_unit": "https://translate-dev.freebsd.org/api/units/229397/?format=api", "priority": 100, "id": 229445, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=52e73053c7fb802e", "url": "https://translate-dev.freebsd.org/api/units/229445/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:34.709636Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "The poll function is used to simulate the interrupts when the interrupt subsystem is not functioning (for example, when the system has crashed and is creating the system dump). The CAM subsystem sets the proper interrupt level before calling the poll routine. So all it needs to do is to call the interrupt routine (or the other way around, the poll routine may be doing the real action and the interrupt routine would just call the poll routine). Why bother about a separate function then? Due to different calling conventions. The <function>xxx_poll</function> routine gets the struct cam_sim pointer as its argument when the PCI interrupt routine by common convention gets pointer to the struct <varname remap=\"structname\">xxx_softc</varname> and the ISA interrupt routine gets just the device unit number. So the poll routine would normally look as:" ], "previous_source": "", "target": [ "A fun��o de pesquisa � usada para simular as interrup��es quando o subsistema de interrup��o n�o est� funcionando (por exemplo, quando o sistema travou e est� criando o dump do sistema). O subsistema CAM define o n�vel de interrup��o adequado antes de chamar a rotina de pesquisa. ele precisa fazer � chamar a rotina de interrup��o (ou vice-versa, a rotina de poll pode estar fazendo a a��o real e a rotina de interrup��o apenas chamaria a rotina de poll) Por que se preocupar com uma fun��o separada ent�o? conven��es. <function> xxx_poll </function> rotina obt�m o ponteiro struct cam_sim como seu argumento quando a rotina de interrup��o PCI por conven��o comum obt�m ponteiro para a estrutura <varname remap=\"structname\"> xxx_softc </varname> e a rotina de interrup��o ISA obt�m apenas o n�mero da unidade do dispositivo. Ent�o a rotina de pesquisa normalmente seria como: " ], "id_hash": -3525007900071779886, "content_hash": -3525007900071779886, "location": "book.translate.xml:21089", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2336, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 135, "source_unit": "https://translate-dev.freebsd.org/api/units/229398/?format=api", "priority": 100, "id": 229446, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=4f14a7fdbdc6a1d2", "url": "https://translate-dev.freebsd.org/api/units/229446/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:34.863841Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Example: Firmware download Many devices that have been developed are based on a general purpose processor with an additional USB core added to it. Since the development of drivers and firmware for USB devices is still very new, many devices require the downloading of the firmware after they have been connected." ], "previous_source": "", "target": [ "Exemplo: download de firmware Muitos dispositivos que foram desenvolvidos s�o baseados em um processador de uso geral com um n�cleo USB adicional. Como o desenvolvimento de drivers e firmware para dispositivos USB ainda � muito novo, muitos dispositivos exigem o download do firmware depois de terem sido conectados \"" ], "id_hash": -2354564052656662415, "content_hash": -2354564052656662415, "location": "book.translate.xml:22363", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2480, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 51, "source_unit": "https://translate-dev.freebsd.org/api/units/229399/?format=api", "priority": 100, "id": 229447, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=5f52e878187ed871", "url": "https://translate-dev.freebsd.org/api/units/229447/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:35.134795Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api", "source": [ "Due to this practice, FreeBSD drivers usually rely on numeric IDs for device identification. Using numeric IDs and a centralized database complicates adding IDs and support for cards to the system. One must carefully check to see who really made the card, especially when it appears that the vendor who made the card might already have a different manufacturer ID listed in the central database. Linksys, D-Link, and NetGear are a number of US manufacturers of LAN hardware that often sell the same design. These same designs can be sold in Japan under names such as Buffalo and Corega. Often, these devices will all have the same manufacturer and product IDs." ], "previous_source": "", "target": [ "Devido a essa pr�tica, os drivers do FreeBSD geralmente dependem de IDs num�ricos para identifica��o do dispositivo. O uso de IDs num�ricos e um banco de dados centralizado dificulta a adi��o de IDs e suporte a cart�es no sistema. � preciso verificar cuidadosamente quem realmente fez o cart�o, especialmente quando Parece que o fornecedor que fez o cart�o j� pode ter um ID de fabricante diferente listado no banco de dados central.A Linksys, D-Link e NetGear s�o um n�mero de fabricantes dos EUA de hardware de rede local que muitas vezes vendem o mesmo design. vendidos no Jap�o sob nomes como Buffalo e Corega. Muitas vezes, esses dispositivos ter�o todos os mesmos IDs de fabricantes e produtos. " ], "id_hash": 2257468920577724449, "content_hash": 2257468920577724449, "location": "book.translate.xml:23559", "context": "", "note": "(itstool) path: sect2/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 2675, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 111, "source_unit": "https://translate-dev.freebsd.org/api/units/229400/?format=api", "priority": 100, "id": 229448, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=9f542405ce851021", "url": "https://translate-dev.freebsd.org/api/units/229448/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-01-09T14:37:35.490528Z" } ] }{ "count": 2721, "next": null, "previous": "