Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/freebsd-doc/articles_linux-emulation/es/units/?format=api&page=4
https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/units/?format=api&page=5", "previous": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/units/?format=api&page=3", "results": [ { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "rwlock - blocking - <citerefentry><refentrytitle>rwlock</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "rwlock - bloqueo - <citerefentry><refentrytitle>rwlock</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "id_hash": -2182617921849874826, "content_hash": -2182617921849874826, "location": "article.translate.xml:1018", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 157, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/99555/?format=api", "priority": 100, "id": 26422, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=61b5c89067bca676", "url": "https://translate-dev.freebsd.org/api/units/26422/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.742147Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "sxlock - sleeping - <citerefentry><refentrytitle>sx</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "sxlock - sleeping - <citerefentry><refentrytitle>sx</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "id_hash": -3114959306551911822, "content_hash": -3114959306551911822, "location": "article.translate.xml:1021", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 158, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/99556/?format=api", "priority": 100, "id": 26423, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=54c57103b32d1a72", "url": "https://translate-dev.freebsd.org/api/units/26423/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.755886Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "lockmgr - sleeping - <citerefentry><refentrytitle>lockmgr</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "lockmgr - sleeping - <citerefentry><refentrytitle>lockmgr</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "id_hash": 1639906063541205998, "content_hash": 1639906063541205998, "location": "article.translate.xml:1024", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 159, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/99557/?format=api", "priority": 100, "id": 26424, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=96c21de04e61fbee", "url": "https://translate-dev.freebsd.org/api/units/26424/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.766650Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "semaphores - sleeping - <citerefentry><refentrytitle>sema</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "previous_source": "", "target": [ "semaphores - sleeping - <citerefentry><refentrytitle>sema</refentrytitle><manvolnum>9</manvolnum></citerefentry>" ], "id_hash": -3774137606887136109, "content_hash": -3774137606887136109, "location": "article.translate.xml:1027", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 160, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/99558/?format=api", "priority": 100, "id": 26425, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=4b9f91d7c00ca493", "url": "https://translate-dev.freebsd.org/api/units/26425/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.780037Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Among these locks only mutexes, sxlocks, rwlocks and lockmgrs are intended to handle recursion, but currently recursion is only supported by mutexes and lockmgrs." ], "previous_source": "", "target": [ "Entre estos bloqueos, solo los mutex, sxlocks, rwlocks y lockmgrs están destinados a manejar la recursividad, pero actualmente la recursividad solo es compatible con mutexes y lockmgrs." ], "id_hash": -8156981502300583946, "content_hash": -8156981502300583946, "location": "article.translate.xml:1031", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 161, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 24, "source_unit": "https://translate-dev.freebsd.org/api/units/99559/?format=api", "priority": 100, "id": 26426, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=0ecc948a8bf107f6", "url": "https://translate-dev.freebsd.org/api/units/26426/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.796108Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Scheduling barriers" ], "previous_source": "", "target": [ "Barreras de programación" ], "id_hash": -1969377339245918545, "content_hash": -1969377339245918545, "location": "article.translate.xml:1038", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 162, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/99560/?format=api", "priority": 100, "id": 26427, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=64ab5dbe818b06af", "url": "https://translate-dev.freebsd.org/api/units/26427/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.806704Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Scheduling barriers are intended to be used in order to drive scheduling of threading. They consist mainly of three different stubs:" ], "previous_source": "", "target": [ "Las barreras de programación están destinadas a utilizarse para impulsar la programación del enhebrado. Consisten principalmente en tres stubs diferentes:" ], "id_hash": 3526380832121562448, "content_hash": 3526380832121562448, "location": "article.translate.xml:1040", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 163, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://translate-dev.freebsd.org/api/units/99561/?format=api", "priority": 100, "id": 26428, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=b0f038aee95a2550", "url": "https://translate-dev.freebsd.org/api/units/26428/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.822363Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "critical sections (and preemption)" ], "previous_source": "", "target": [ "secciones críticas (y preferencia)" ], "id_hash": -2110670840391614742, "content_hash": -2110670840391614742, "location": "article.translate.xml:1046", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 164, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/99562/?format=api", "priority": 100, "id": 26429, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=62b5640db0aebeea", "url": "https://translate-dev.freebsd.org/api/units/26429/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.829170Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "sched_bind" ], "previous_source": "", "target": [ "sched_bind" ], "id_hash": -7295949482855070271, "content_hash": -7295949482855070271, "location": "article.translate.xml:1049", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 165, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/99563/?format=api", "priority": 100, "id": 26430, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=1abf9499d73a85c1", "url": "https://translate-dev.freebsd.org/api/units/26430/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.847725Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "sched_pin" ], "previous_source": "", "target": [ "sched_pin" ], "id_hash": -5242048873760813891, "content_hash": -5242048873760813891, "location": "article.translate.xml:1052", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 166, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/99564/?format=api", "priority": 100, "id": 26431, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=37408052a8400cbd", "url": "https://translate-dev.freebsd.org/api/units/26431/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.854296Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Generally, these should be used only in a particular context and even if they can often replace locks, they should be avoided because they do not let the diagnose of simple eventual problems with locking debugging tools (as <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry>)." ], "previous_source": "", "target": [ "Generalmente, estos deben usarse solo en un contexto particular e incluso si a menudo pueden reemplazar bloqueos, deben evitarse porque no permiten el diagnóstico de problemas eventuales simples con herramientas de depuración de bloqueo (como <citerefentry><refentrytitle>testigo</refentrytitle><manvolnum>4</manvolnum></citerefentry>)." ], "id_hash": 8880710788160596444, "content_hash": 8880710788160596444, "location": "article.translate.xml:1056", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 167, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 39, "source_unit": "https://translate-dev.freebsd.org/api/units/99565/?format=api", "priority": 100, "id": 26432, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=fb3e9f68e94aa9dc", "url": "https://translate-dev.freebsd.org/api/units/26432/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.868020Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Critical sections" ], "previous_source": "", "target": [ "Secciones críticas" ], "id_hash": 8076316868347294881, "content_hash": 8076316868347294881, "location": "article.translate.xml:1064", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 168, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/99566/?format=api", "priority": 100, "id": 26433, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=f014d766cf55f4a1", "url": "https://translate-dev.freebsd.org/api/units/26433/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.877866Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "The FreeBSD kernel has been made preemptive basically to deal with interrupt threads. In fact, in order to avoid high interrupt latency, time-sharing priority threads can be preempted by interrupt threads (in this way, they do not need to wait to be scheduled as the normal path previews). Preemption, however, introduces new racing points that need to be handled, as well. Often, in order to deal with preemption, the simplest thing to do is to completely disable it. A critical section defines a piece of code (borderlined by the pair of functions <citerefentry><refentrytitle>critical_enter</refentrytitle><manvolnum>9</manvolnum></citerefentry> and <citerefentry><refentrytitle>critical_exit</refentrytitle><manvolnum>9</manvolnum></citerefentry>, where preemption is guaranteed to not happen (until the protected code is fully executed). This can often replace a lock effectively but should be used carefully in order to not lose the whole advantage that preemption brings." ], "previous_source": "", "target": [ "El kernel de FreeBSD se ha hecho preventivo básicamente para tratar con hilos de interrupción. De hecho, para evitar una latencia de interrupción alta, los subprocesos de prioridad de tiempo compartido pueden ser reemplazados por subprocesos de interrupción (de esta manera, no necesitan esperar para ser programados como vistas previas de la ruta normal). La preferencia, sin embargo, introduce nuevos puntos de carrera que también deben manejarse. A menudo, para hacer frente a la preferencia, lo más sencillo es desactivarla por completo. Una sección crítica define un fragmento de código (delimitado por el par de funciones <citerefentry><refentrytitle>critical_enter</refentrytitle><manvolnum>9</manvolnum></citerefentry> y <citerefentry><refentrytitle>critical_exit</refentrytitle><manvolnum>9</manvolnum></citerefentry>, donde se garantiza que la preferencia no ocurrirá (hasta que el código protegido se ejecute por completo). Esto a menudo puede reemplazar un candado de manera efectiva, pero debe usarse con cuidado para no perder toda la ventaja que brinda la preferencia." ], "id_hash": 6968030462637056193, "content_hash": 6968030462637056193, "location": "article.translate.xml:1066", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 169, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 132, "source_unit": "https://translate-dev.freebsd.org/api/units/99567/?format=api", "priority": 100, "id": 26434, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=e0b36ac99d9520c1", "url": "https://translate-dev.freebsd.org/api/units/26434/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.885403Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "sched_pin/sched_unpin" ], "previous_source": "", "target": [ "sched_pin/sched_unpin" ], "id_hash": -8809349738550589190, "content_hash": -8809349738550589190, "location": "article.translate.xml:1085", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 170, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/99568/?format=api", "priority": 100, "id": 26435, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=05bee716338308fa", "url": "https://translate-dev.freebsd.org/api/units/26435/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.901799Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Another way to deal with preemption is the <function>sched_pin()</function> interface. If a piece of code is closed in the <function>sched_pin()</function> and <function>sched_unpin()</function> pair of functions it is guaranteed that the respective thread, even if it can be preempted, it will always be executed on the same CPU. Pinning is very effective in the particular case when we have to access at per-cpu datas and we assume other threads will not change those data. The latter condition will determine a critical section as a too strong condition for our code." ], "previous_source": "", "target": [ "Otra forma de lidiar con la preferencia es <function>sched_pin()</function> interfaz. Si un fragmento de código está cerrado en el <function>sched_pin()</function> y <function>sched_unpin()</function> par de funciones, se garantiza que el subproceso respectivo, incluso si puede ser reemplazado, siempre se ejecutará en la misma CPU. La fijación es muy eficaz en el caso particular cuando tenemos que acceder a datos por CPU y asumimos que otros hilos no cambiarán esos datos. La última condición determinará una sección crítica como una condición demasiado fuerte para nuestro código." ], "id_hash": -4556342747781524752, "content_hash": -4556342747781524752, "location": "article.translate.xml:1087", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 171, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 89, "source_unit": "https://translate-dev.freebsd.org/api/units/99569/?format=api", "priority": 100, "id": 26436, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=40c49e69538e12f0", "url": "https://translate-dev.freebsd.org/api/units/26436/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.917571Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "sched_bind/sched_unbind" ], "previous_source": "", "target": [ "sched_bind/sched_unbind" ], "id_hash": -39906825125161222, "content_hash": -39906825125161222, "location": "article.translate.xml:1101", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 172, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/99570/?format=api", "priority": 100, "id": 26437, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=7f7238f4384d16fa", "url": "https://translate-dev.freebsd.org/api/units/26437/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.932496Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<function>sched_bind</function> is an API used in order to bind a thread to a particular CPU for all the time it executes the code, until a <function>sched_unbind</function> function call does not unbind it. This feature has a key role in situations where you cannot trust the current state of CPUs (for example, at very early stages of boot), as you want to avoid your thread to migrate on inactive CPUs. Since <function>sched_bind</function> and <function>sched_unbind</function> manipulate internal scheduler structures, they need to be enclosed in <function>sched_lock</function> acquisition/releasing when used." ], "previous_source": "", "target": [ "<function>sched_bind</function> es una API que se utiliza para vincular un hilo a una CPU en particular durante todo el tiempo que ejecuta el código, hasta que <function>sched_unbind</function>la llamada a la función no la desvincula. Esta función tiene un papel clave en situaciones en las que no puede confiar en el estado actual de las CPU (por ejemplo, en las primeras etapas del arranque), ya que desea evitar que su hilo migre en CPU inactivas. Ya que <function>sched_bind</function> y<function>sched_unbind</function> manipular las estructuras internas del programador, es necesario incluirlas en <function>sched_lock</function> adquisición/liberación cuando se usa." ], "id_hash": 7645490325159152650, "content_hash": 7645490325159152650, "location": "article.translate.xml:1103", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 173, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 87, "source_unit": "https://translate-dev.freebsd.org/api/units/99571/?format=api", "priority": 100, "id": 26438, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=ea1a3cf174cc0c0a", "url": "https://translate-dev.freebsd.org/api/units/26438/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.940185Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Proc structure" ], "previous_source": "", "target": [ "Estructura de proceso" ], "id_hash": -987834467037182754, "content_hash": -987834467037182754, "location": "article.translate.xml:1120", "context": "", "note": "(itstool) path: sect3/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 174, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/99572/?format=api", "priority": 100, "id": 26439, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=724a81c9375c84de", "url": "https://translate-dev.freebsd.org/api/units/26439/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.952683Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Various emulation layers sometimes require some additional per-process data. It can manage separate structures (a list, a tree etc.) containing these data for every process but this tends to be slow and memory consuming. To solve this problem the FreeBSD <literal>proc</literal> structure contains <literal>p_emuldata</literal>, which is a void pointer to some emulation layer specific data. This <literal>proc</literal> entry is protected by the proc mutex." ], "previous_source": "", "target": [ "Varias capas de emulación a veces requieren algunos datos adicionales por proceso. Puede administrar estructuras separadas (una lista, un árbol, etc.) que contienen estos datos para cada proceso, pero esto tiende a ser lento y consume memoria. Para solucionar este problema el FreeBSD <literal>proc</literal> estructura contiene <literal>p_emuldata</literal>,que es un puntero vacío a algunos datos específicos de la capa de emulación. Esta <literal>proc</literal> La entrada está protegida por proc mutex." ], "id_hash": -3203383736321955583, "content_hash": -3203383736321955583, "location": "article.translate.xml:1122", "context": "", "note": "(itstool) path: sect3/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 175, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 64, "source_unit": "https://translate-dev.freebsd.org/api/units/99573/?format=api", "priority": 100, "id": 26440, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=538b4b76cd442901", "url": "https://translate-dev.freebsd.org/api/units/26440/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.962242Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "The FreeBSD <literal>proc</literal> structure contains a <literal>p_sysent</literal> entry that identifies, which ABI this process is running. In fact, it is a pointer to the <literal>sysentvec</literal> described above. So by comparing this pointer to the address where the <literal>sysentvec</literal> structure for the given ABI is stored we can effectively determine whether the process belongs to our emulation layer. The code typically looks like:" ], "previous_source": "", "target": [ "El FreeBSD <literal>proc</literal> structure contains a <literal>p_sysent</literal>entrada que identifica qué ABI está ejecutando este proceso. De hecho, es un puntero al <literal>sysentvec</literal> descrito arriba. Entonces, al comparar este puntero con la dirección donde el <literal>sysentvec</literal> Si se almacena la estructura para la ABI dada, podemos determinar efectivamente si el proceso pertenece a nuestra capa de emulación. El código normalmente se ve así:" ], "id_hash": -8978483788285337523, "content_hash": -8978483788285337523, "location": "article.translate.xml:1133", "context": "", "note": "(itstool) path: sect3/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 176, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 62, "source_unit": "https://translate-dev.freebsd.org/api/units/99574/?format=api", "priority": 100, "id": 26441, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=0366049089a6204d", "url": "https://translate-dev.freebsd.org/api/units/26441/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.968563Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "if (__predict_true(p->p_sysent != &elf_<trademark class=\"registered\">Linux</trademark>_sysvec))\n\t return;" ], "previous_source": "", "target": [ "if (__predict_true(p->p_sysent != &elf_<trademark class=\"registered\">Linux</trademark>_sysvec))\n\t return;" ], "id_hash": -4076604056306242836, "content_hash": -4076604056306242836, "location": "article.translate.xml:1143", "context": "", "note": "(itstool) path: sect3/programlisting", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 177, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/99575/?format=api", "priority": 100, "id": 26442, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=476cfe35a5f32aec", "url": "https://translate-dev.freebsd.org/api/units/26442/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.979597Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "As you can see, we effectively use the <literal>__predict_true</literal> modifier to collapse the most common case (FreeBSD process) to a simple return operation thus preserving high performance. This code should be turned into a macro because currently it is not very flexible, i.e. we do not support <trademark class=\"registered\">Linux</trademark>64 emulation nor A.OUT <trademark class=\"registered\">Linux</trademark> processes on i386." ], "previous_source": "", "target": [ "Como puede ver, utilizamos eficazmente la <literal>__predict_true</literal> modificador para colapsar el caso más común (proceso FreeBSD) a una operación de retorno simple preservando así el alto rendimiento. Este código debería convertirse en una macro porque actualmente no es muy flexible, es decir, no admitimos <trademark class=\"registered\">Linux</trademark>64 emulación ni A.OUT<trademark class=\"registered\">Linux</trademark> procesos en i386." ], "id_hash": 3793625584327496339, "content_hash": 3793625584327496339, "location": "article.translate.xml:1146", "context": "", "note": "(itstool) path: sect3/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 178, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 57, "source_unit": "https://translate-dev.freebsd.org/api/units/99576/?format=api", "priority": 100, "id": 26443, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=b4a5aa5e94ac9293", "url": "https://translate-dev.freebsd.org/api/units/26443/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.986878Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "VFS" ], "previous_source": "", "target": [ "VFS" ], "id_hash": -3542298011974278137, "content_hash": -3542298011974278137, "location": "article.translate.xml:1156", "context": "", "note": "(itstool) path: sect3/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 179, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/99577/?format=api", "priority": 100, "id": 26444, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=4ed73ab9dbb36407", "url": "https://translate-dev.freebsd.org/api/units/26444/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:39.996259Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "The FreeBSD VFS subsystem is very complex but the <trademark class=\"registered\">Linux</trademark> emulation layer uses just a small subset via a well defined API. It can either operate on vnodes or file handlers. Vnode represents a virtual vnode, i.e. representation of a node in VFS. Another representation is a file handler, which represents an opened file from the perspective of a process. A file handler can represent a socket or an ordinary file. A file handler contains a pointer to its vnode. More then one file handler can point to the same vnode." ], "previous_source": "", "target": [ "el subsistema FreeBSD VFS es muy complejo pero es <trademark class=\"registered\">Linux</trademark> La capa de emulación utiliza solo un pequeño subconjunto a través de una API bien definida. Puede operar en vnodes o controladores de archivos. Vnode representa un vnode virtual, es decir, la representación de un nodo en VFS. Otra representación es un controlador de archivos, que representa un archivo abierto desde la perspectiva de un proceso. Un manejador de archivos puede representar un socket o un archivo ordinario. Un controlador de archivos contiene un puntero a su vnode. Más de un controlador de archivos puede apuntar al mismo vnode." ], "id_hash": -1705394484518993316, "content_hash": -1705394484518993316, "location": "article.translate.xml:1158", "context": "", "note": "(itstool) path: sect3/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 180, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 92, "source_unit": "https://translate-dev.freebsd.org/api/units/99578/?format=api", "priority": 100, "id": 26445, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=685538c07c55c25c", "url": "https://translate-dev.freebsd.org/api/units/26445/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.006969Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "namei" ], "previous_source": "", "target": [ "namei" ], "id_hash": 953329829124760321, "content_hash": 953329829124760321, "location": "article.translate.xml:1170", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 181, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/99579/?format=api", "priority": 100, "id": 26446, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=8d3ae86dbac3e301", "url": "https://translate-dev.freebsd.org/api/units/26446/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.013872Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "The <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> routine is a central entry point to pathname lookup and translation. It traverses the path point by point from the starting point to the end point using lookup function, which is internal to VFS. The <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> syscall can cope with symlinks, absolute and relative paths. When a path is looked up using <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> it is inputed to the name cache. This behavior can be suppressed. This routine is used all over the kernel and its performance is very critical." ], "previous_source": "", "target": [ "La <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> La rutina es un punto de entrada central para la búsqueda y traducción de nombres de rutas. Atraviesa la ruta punto por punto desde el punto de inicio hasta el punto final utilizando la función de búsqueda, que es interna de VFS. los <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> syscall puede hacer frente a enlaces simbólicos, rutas absolutas y relativas. Cuando se busca un camino usando <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> se ingresa en la caché de nombres. Este comportamiento se puede suprimir. Esta rutina se utiliza en todo el kernel y su rendimiento es muy crítico." ], "id_hash": 880087613654209131, "content_hash": 880087613654209131, "location": "article.translate.xml:1172", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 182, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 81, "source_unit": "https://translate-dev.freebsd.org/api/units/99580/?format=api", "priority": 100, "id": 26447, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=8c36b3058f14926b", "url": "https://translate-dev.freebsd.org/api/units/26447/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.020714Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "vn_fullpath" ], "previous_source": "", "target": [ "vn_fullpath" ], "id_hash": 980960494185725138, "content_hash": 980960494185725138, "location": "article.translate.xml:1184", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 183, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/99581/?format=api", "priority": 100, "id": 26448, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=8d9d125f42a1bcd2", "url": "https://translate-dev.freebsd.org/api/units/26448/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.032717Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "The <citerefentry><refentrytitle>vn_fullpath</refentrytitle><manvolnum>9</manvolnum></citerefentry> function takes the best effort to traverse VFS name cache and returns a path for a given (locked) vnode. This process is unreliable but works just fine for the most common cases. The unreliability is because it relies on VFS cache (it does not traverse the on medium structures), it does not work with hardlinks, etc. This routine is used in several places in the Linuxulator." ], "previous_source": "", "target": [ "La <citerefentry><refentrytitle>vn_fullpath</refentrytitle><manvolnum>9</manvolnum></citerefentry> La función hace el mejor esfuerzo para atravesar la caché de nombres de VFS y devuelve una ruta para un vnode dado (bloqueado). Este proceso no es confiable pero funciona bien para los casos más comunes. La falta de confiabilidad se debe a que se basa en la caché VFS (no atraviesa las estructuras medias), no funciona con enlaces duros, etc. Esta rutina se usa en varios lugares del Linuxulator." ], "id_hash": 5583534329236017796, "content_hash": 5583534329236017796, "location": "article.translate.xml:1186", "context": "", "note": "(itstool) path: sect4/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 184, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 68, "source_unit": "https://translate-dev.freebsd.org/api/units/99582/?format=api", "priority": 100, "id": 26449, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=cd7cb2e3bd4fd284", "url": "https://translate-dev.freebsd.org/api/units/26449/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.043657Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Vnode operations" ], "previous_source": "", "target": [ "Operaciones de vnode" ], "id_hash": -2612506851483964296, "content_hash": -2612506851483964296, "location": "article.translate.xml:1197", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 185, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/99583/?format=api", "priority": 100, "id": 26450, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=5bbe82dc38062c78", "url": "https://translate-dev.freebsd.org/api/units/26450/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.056162Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<function>fgetvp</function> - given a thread and a file descriptor number it returns the associated vnode" ], "previous_source": "", "target": [ "<function>fgetvp</function> - dado un hilo y un número de descriptor de archivo, devuelve el vnode asociado" ], "id_hash": 107413923146832822, "content_hash": 107413923146832822, "location": "article.translate.xml:1201", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 186, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://translate-dev.freebsd.org/api/units/99584/?format=api", "priority": 100, "id": 26451, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=817d9c64dd191bb6", "url": "https://translate-dev.freebsd.org/api/units/26451/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.063086Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>vn_lock</refentrytitle><manvolnum>9</manvolnum></citerefentry> - locks a vnode" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>vn_lock</refentrytitle><manvolnum>9</manvolnum></citerefentry> - bloquea un vnode" ], "id_hash": -3361358629021842583, "content_hash": -3361358629021842583, "location": "article.translate.xml:1206", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 187, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/99585/?format=api", "priority": 100, "id": 26452, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=515a0e22da758369", "url": "https://translate-dev.freebsd.org/api/units/26452/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.077049Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<function>vn_unlock</function> - unlocks a vnode" ], "previous_source": "", "target": [ "<function>vn_unlock</function> - desbloquea un vnode" ], "id_hash": -1851329910891020836, "content_hash": -1851329910891020836, "location": "article.translate.xml:1209", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 188, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/99586/?format=api", "priority": 100, "id": 26453, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=664ec1413b48fddc", "url": "https://translate-dev.freebsd.org/api/units/26453/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.094351Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>VOP_READDIR</refentrytitle><manvolnum>9</manvolnum></citerefentry> - reads a directory referenced by a vnode" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>VOP_READDIR</refentrytitle><manvolnum>9</manvolnum></citerefentry> - lee un directorio al que hace referencia un vnode" ], "id_hash": -4907365602774319296, "content_hash": -4907365602774319296, "location": "article.translate.xml:1213", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 189, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/99587/?format=api", "priority": 100, "id": 26454, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=3be588fc0faa7f40", "url": "https://translate-dev.freebsd.org/api/units/26454/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.102769Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>VOP_GETATTR</refentrytitle><manvolnum>9</manvolnum></citerefentry> - gets attributes of a file or a directory referenced by a vnode" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>VOP_GETATTR</refentrytitle><manvolnum>9</manvolnum></citerefentry> - obtiene atributos de un archivo o directorio al que hace referencia un vnode" ], "id_hash": 3561167900194199007, "content_hash": 3561167900194199007, "location": "article.translate.xml:1217", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 190, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 14, "source_unit": "https://translate-dev.freebsd.org/api/units/99588/?format=api", "priority": 100, "id": 26455, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=b16bcf565c9955df", "url": "https://translate-dev.freebsd.org/api/units/26455/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.114905Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>VOP_LOOKUP</refentrytitle><manvolnum>9</manvolnum></citerefentry> - looks up a path to a given directory" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>VOP_LOOKUP</refentrytitle><manvolnum>9</manvolnum></citerefentry> - busca una ruta a un directorio determinado" ], "id_hash": 3391504049315822332, "content_hash": 3391504049315822332, "location": "article.translate.xml:1221", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 191, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 10, "source_unit": "https://translate-dev.freebsd.org/api/units/99589/?format=api", "priority": 100, "id": 26456, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=af110af6c1c4bafc", "url": "https://translate-dev.freebsd.org/api/units/26456/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.127921Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>VOP_OPEN</refentrytitle><manvolnum>9</manvolnum></citerefentry> - opens a file referenced by a vnode" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>VOP_OPEN</refentrytitle><manvolnum>9</manvolnum></citerefentry> - abre un archivo referenciado por un vnode" ], "id_hash": -2178111223017773137, "content_hash": -2178111223017773137, "location": "article.translate.xml:1225", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 192, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/99590/?format=api", "priority": 100, "id": 26457, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=61c5cb61febbe7af", "url": "https://translate-dev.freebsd.org/api/units/26457/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.138505Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>VOP_CLOSE</refentrytitle><manvolnum>9</manvolnum></citerefentry> - closes a file referenced by a vnode" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>VOP_CLOSE</refentrytitle><manvolnum>9</manvolnum></citerefentry> - cierra un archivo al que hace referencia un vnode" ], "id_hash": 312862224013715855, "content_hash": 312862224013715855, "location": "article.translate.xml:1229", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 193, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/99591/?format=api", "priority": 100, "id": 26458, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=84578288fdf9e98f", "url": "https://translate-dev.freebsd.org/api/units/26458/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.149538Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>vput</refentrytitle><manvolnum>9</manvolnum></citerefentry> - decrements the use count for a vnode and unlocks it" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>vput</refentrytitle><manvolnum>9</manvolnum></citerefentry> - disminuye el recuento de uso de un vnode y lo desbloquea" ], "id_hash": 3725411501444818035, "content_hash": 3725411501444818035, "location": "article.translate.xml:1233", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 194, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://translate-dev.freebsd.org/api/units/99592/?format=api", "priority": 100, "id": 26459, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=b3b35205c1c5e473", "url": "https://translate-dev.freebsd.org/api/units/26459/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.159047Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>vrele</refentrytitle><manvolnum>9</manvolnum></citerefentry> - decrements the use count for a vnode" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>vrele</refentrytitle><manvolnum>9</manvolnum></citerefentry> - disminuye el recuento de uso de un vnode" ], "id_hash": -8648649541398351604, "content_hash": -8648649541398351604, "location": "article.translate.xml:1237", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 195, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/99593/?format=api", "priority": 100, "id": 26460, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=07f9d3108a1b310c", "url": "https://translate-dev.freebsd.org/api/units/26460/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.181903Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<citerefentry><refentrytitle>vref</refentrytitle><manvolnum>9</manvolnum></citerefentry> - increments the use count for a vnode" ], "previous_source": "", "target": [ "<citerefentry><refentrytitle>vref</refentrytitle><manvolnum>9</manvolnum></citerefentry> - incrementa el recuento de uso de un vnode" ], "id_hash": -6063728879220267863, "content_hash": -6063728879220267863, "location": "article.translate.xml:1241", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 196, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/99594/?format=api", "priority": 100, "id": 26461, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=2bd94eb61bcc64a9", "url": "https://translate-dev.freebsd.org/api/units/26461/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.193939Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "File handler operations" ], "previous_source": "", "target": [ "Operaciones del controlador de archivos" ], "id_hash": -5779508846040699731, "content_hash": -5779508846040699731, "location": "article.translate.xml:1248", "context": "", "note": "(itstool) path: sect4/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 197, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/99595/?format=api", "priority": 100, "id": 26462, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=2fcb0f535f842cad", "url": "https://translate-dev.freebsd.org/api/units/26462/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.201563Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<function>fget</function> - given a thread and a file descriptor number it returns associated file handler and references it" ], "previous_source": "", "target": [ "<function>fget</function> - dado un hilo y un número de descriptor de archivo, devuelve el controlador de archivo asociado y lo hace referencia" ], "id_hash": 8434755576819276266, "content_hash": 8434755576819276266, "location": "article.translate.xml:1252", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 198, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 18, "source_unit": "https://translate-dev.freebsd.org/api/units/99596/?format=api", "priority": 100, "id": 26463, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=f50e4582038ed9ea", "url": "https://translate-dev.freebsd.org/api/units/26463/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.214393Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<function>fdrop</function> - drops a reference to a file handler" ], "previous_source": "", "target": [ "<function>fdrop</function> - suelta una referencia a un controlador de archivos" ], "id_hash": 3066354078159231404, "content_hash": 3066354078159231404, "location": "article.translate.xml:1257", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 199, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/99597/?format=api", "priority": 100, "id": 26464, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=aa8de0c9b04059ac", "url": "https://translate-dev.freebsd.org/api/units/26464/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.221758Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<function>fhold</function> - references a file handler" ], "previous_source": "", "target": [ "<function>fhold</function> - hace referencia a un controlador de archivos" ], "id_hash": 5272044138955245924, "content_hash": 5272044138955245924, "location": "article.translate.xml:1261", "context": "", "note": "(itstool) path: listitem/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 200, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/99598/?format=api", "priority": 100, "id": 26465, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=c92a10363e9b8964", "url": "https://translate-dev.freebsd.org/api/units/26465/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.235331Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<trademark class=\"registered\">Linux</trademark> emulation layer -MD part" ], "previous_source": "", "target": [ "<trademark class=\"registered\">Linux</trademark> capa de emulación-parte MD" ], "id_hash": 5384461553076999337, "content_hash": 5384461553076999337, "location": "article.translate.xml:1271", "context": "", "note": "(itstool) path: sect1/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 201, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/99599/?format=api", "priority": 100, "id": 26466, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=cab9734121e714a9", "url": "https://translate-dev.freebsd.org/api/units/26466/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.242935Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "This section deals with implementation of <trademark class=\"registered\">Linux</trademark> emulation layer in FreeBSD operating system. It first describes the machine dependent part talking about how and where interaction between userland and kernel is implemented. It talks about syscalls, signals, ptrace, traps, stack fixup. This part discusses i386 but it is written generally so other architectures should not differ very much. The next part is the machine independent part of the Linuxulator. This section only covers i386 and ELF handling. A.OUT is obsolete and untested." ], "previous_source": "", "target": [ "Esta sección trata de la implementación de <trademark class=\"registered\">Linux</trademark> capa de emulación en el sistema operativo FreeBSD. Primero describe la parte dependiente de la máquina hablando de cómo y dónde se implementa la interacción entre el área de usuario y el kernel. Habla de llamadas al sistema, señales, ptrace, trampas, reparación de pila. Esta parte trata sobre i386, pero está escrito en general, por lo que otras arquitecturas no deberían diferir mucho. La siguiente parte es la parte independiente de la máquina del Linuxulator. Esta sección solo cubre el manejo de i386 y ELF. A.OUT es obsoleto y no se ha probado." ], "id_hash": 6953046354296276824, "content_hash": 6953046354296276824, "location": "article.translate.xml:1273", "context": "", "note": "(itstool) path: sect1/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 202, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 83, "source_unit": "https://translate-dev.freebsd.org/api/units/99600/?format=api", "priority": 100, "id": 26467, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=e07e2ed206a78758", "url": "https://translate-dev.freebsd.org/api/units/26467/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.255620Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Syscall handling" ], "previous_source": "", "target": [ "Manejo de llamadas al sistema" ], "id_hash": -1729993832891462636, "content_hash": -1729993832891462636, "location": "article.translate.xml:1284", "context": "", "note": "(itstool) path: sect2/title", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 203, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/99601/?format=api", "priority": 100, "id": 26468, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=67fdd3c65ee34c14", "url": "https://translate-dev.freebsd.org/api/units/26468/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.272522Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "Syscall handling is mostly written in <filename>linux_sysvec.c</filename>, which covers most of the routines pointed out in the <literal>sysentvec</literal> structure. When a <trademark class=\"registered\">Linux</trademark> process running on FreeBSD issues a syscall, the general syscall routine calls linux prepsyscall routine for the <trademark class=\"registered\">Linux</trademark> ABI." ], "previous_source": "", "target": [ "El manejo de syscall está escrito principalmente en <filename>linux_sysvec.c</filename>, que cubre la mayoría de las rutinas señaladas en la <literal>sysentvec</literal> estructura. Cuando una <trademark class=\"registered\">Linux</trademark> proceso que se ejecuta en FreeBSD emite una llamada al sistema, la rutina general de llamada al sistema llama a la rutina prepsyscall de linux para <trademark class=\"registered\">Linux</trademark> ABI." ], "id_hash": 516914971580843710, "content_hash": 516914971580843710, "location": "article.translate.xml:1286", "context": "", "note": "(itstool) path: sect2/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 204, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 43, "source_unit": "https://translate-dev.freebsd.org/api/units/99602/?format=api", "priority": 100, "id": 26469, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=872c736d8c2846be", "url": "https://translate-dev.freebsd.org/api/units/26469/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.280209Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<trademark class=\"registered\">Linux</trademark> prepsyscall" ], "previous_source": "", "target": [ "<trademark class=\"registered\">Linux</trademark> prepsyscall" ], "id_hash": -4964126702271830212, "content_hash": -4964126702271830212, "location": "article.translate.xml:1294", "context": "", "note": "(itstool) path: sect3/title", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 205, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/99603/?format=api", "priority": 100, "id": 26470, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=3b1be110bb0e673c", "url": "https://translate-dev.freebsd.org/api/units/26470/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.288908Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api", "source": [ "<trademark class=\"registered\">Linux</trademark> passes arguments to syscalls via registers (that is why it is limited to 6 parameters on i386) while FreeBSD uses the stack. The <trademark class=\"registered\">Linux</trademark> prepsyscall routine must copy parameters from registers to the stack. The order of the registers is: <varname>%ebx</varname>, <varname>%ecx</varname>, <varname>%edx</varname>, <varname>%esi</varname>, <varname>%edi</varname>, <varname>%ebp</varname>. The catch is that this is true for only <emphasis>most</emphasis> of the syscalls. Some (most notably <function>clone</function>) uses a different order but it is luckily easy to fix by inserting a dummy parameter in the <function>linux_clone</function> prototype." ], "previous_source": "", "target": [ "<trademark class=\"registered\">Linux</trademark>pasa argumentos a las llamadas al sistema a través de registros (es por eso que está limitado a 6 parámetros en i386) mientras que FreeBSD usa la pila. los <trademark class=\"registered\">Linux</trademark> La rutina prepsyscall debe copiar los parámetros de los registros a la pila. El orden de los registros es: <varname>%ebx</varname>, <varname>%ecx</varname>, <varname>%edx</varname>, <varname>%esi</varname>, <varname>%edi</varname>, <varname>%ebp</varname>. El problema es que esto es cierto solo para <emphasis>most</emphasis> de las llamadas al sistema. Algunos (más notablemente <function>clone</function>) usa un orden diferente pero afortunadamente es fácil de arreglar insertando un parámetro ficticio en el <function>linux_clone</function> prototipo." ], "id_hash": 6110930747882892813, "content_hash": 6110930747882892813, "location": "article.translate.xml:1296", "context": "", "note": "(itstool) path: sect3/para", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 206, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 86, "source_unit": "https://translate-dev.freebsd.org/api/units/99604/?format=api", "priority": 100, "id": 26471, "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/es/?checksum=d4ce63235a926e0d", "url": "https://translate-dev.freebsd.org/api/units/26471/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2019-10-20T12:10:40.296057Z" } ] }{ "count": 384, "next": "