Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Таймеры. Помогите с переводом

63K
11 октября 2010 года
Lost-amo
5 / / 11.10.2010
Прошу меня простить. Я не специалист в техническом английском такого уровня. Но меня очень очень попросили помочь с этим переводом.

И главная моя проблема - я не всегда могу найти адекватный перевод.
Поэтому прошу помочь мне с:

1.«msclock» ? Это как-то переводится?
2. "*clockptr"
3. "49 day bugs" - ошибки 49-го дня?
4. passive timers wrap after 49 days. Слово wrap меня просто ставит в тупик. I оболочка || заключать в оболочку II (автоматический) переход на новую строку - переводы LingvoComputer
5. jitter Переводится ли он на русский или используется в разговоре о таймерах как дрожание фазы тоже?
6. If the timer is more than 24 days in the future or past,aliasing will occur
Как это может быть? Если таймеру больше 24 дней в прошлом или будущем, произойдет искажение. Верно?
7. Ensures an atomic operation for the paranoid.

Обеспечивает атомарную операцию (т.е. не разделяемую на более мелкие) для paranoid (кхм?)
8. CIRCULAR NUMBER SPACES круговой числовое пространство?
9. printf calls Я все же надеюсь на опечатку тут.
10. timer process thread Процедура таймера потока? Или все же процедура потока таймера ?Или?




Огромная просьба помочь мне, уважаемые участники форума. Я думаю, Вы профи и Вам будет это не трудно, а может даже интересно разобраться в тонкостях.

С уважением, Ирина
297
11 октября 2010 года
koodeer
1.2K / / 02.05.2009
Ну вы как первый день замужем! Должны же понимать, что по вырванным из контекста отдельным словам зачастую невозможно перевести однозначно. Тем не менее, попробую.


1. msclock - очевидно, это структура данных, предназначенная для хранения времени. Скорее всего время задаётся в миллисекундах, потому ms.

2. *clockptr - ptr - это распространённое сокращение от pointer - указатель. Следовательно, clockptr - указатель на структуру данных clock. Знак * означает "разыменование указателя" :) По-другому на русский не перевести. Таким образом получаются данные из указателя.

3. 49 day bugs - скорее всего время хранится в виде целого 32-битного числа. Так вот в такой тип числа влезет только количество миллисекунд в 48 днях. На 49 дне произойдёт переполнение типа. Отсюда баг.

4. Да, в программировании широко распространены оболочки-врапперы (произношение неточное, но часто говорят так). Точнее сказать не могу. Вероятно, предлагается делать оболочки для отсчёта времени больше 49 дней.

5. jitter - думаю, имеется в виду неточность отсчёта времени таймером. Каждый таймер имеет определённую точность.

6. Этот пункт вытекает из 3. Может отсчитываться время в интервале 48 дней - 24 дня назад от момента старта таймера, 24 дня вперёд. При больших интервалах произойдёт переполнение (тут-то и нужен враппер).

7. В программировании зачастую очень критичны случаи, когда одна операция не должна прерываться другой. Сдаётся мне, в этой фразе как раз успокаивают параноиков (да-да, мы такие :D): мол, эта операция атомарная, и не будет прервана другой.

8. Недостаточно данных. Возможно, number spaces означает количество пробелов. А может и нет. Приведите всю фразу (абзац) целиком.

9. Это не опечатка. printf - оператор печати с заданием формата - print format. Соответственно, речь идёт о вызове такого оператора.

10. timer process thread - похоже, вы вообще не специалист в английском (без обид) (не удержался от колкости :), сорри). Вспоминаем правило ряда и переводим (с конца): поток процесса таймера. Очевидно, таймер работает в отдельном потоке.
241
11 октября 2010 года
Sanila_san
1.6K / / 07.06.2005
Хех. Ирина, надеюсь, вы не весь текст переводите Лингво-переводчиком? Просто если вы не понимаете ничего в предметной области, вам не только приходится непросто - вы ещё и тяжко накосячите без помощи научного редактора. Впрочем, это не моя забота. Итак, что знаю.

printf calls - это не опечатка; функция printf действительно существует, в языке Си она отвечает за вывод данных. Переводится словосочетание либо как "вызовы printf", либо как "printf вызывает", из контекста виднее.

passive timers wrap after 49 days - по всей видимости, речь идёт о сбросе таймеров на начало отсчёта спустя 49 дней. Я не знаю точно, о чём тут речь. Для вашего понимания скажу, что это может быть связано с ограничениями счётчика: компьютер может использовать и очень большие числа, но даже они иногда бывают недостаточно большими. Так, существуют ситуации, когда вы не можете посчитать более чем до 32768, 65536, 16777216 или 4294967296.

jitter - как помню, это ещё переводится как отклонение от детерминированной последовательности; проще говоря, как погрешность.

aliasing также переводится как совмещение, от слова "alias" в значении "псевдоним".

timer process thread - скорее, поток процесса таймера, точнее, поток, в котором крутится таймер. Но это слишком упрощённо. :) Надо смотреть контекст.

Смысл «msclock» трудно понять вне контекста. Гугл вообще говорит, что это вирус, но таки ваш оригинал тут важнее мнения гугла.

*clockptr по всей видимости - указатель на таймер; подробности доступны здесь.

Ensures an atomic operation for the paranoid.Тут слово paranoid обозначает параноика. Однако, следовало бы привести и это предложение в контексте.

А вообще жаль, что вы приводите только словосочетания, их непросто понять точно без упоминания того, как они употребляются. Будет здорово, если вы станете публиковать хотя бы предложения целиком.
241
11 октября 2010 года
Sanila_san
1.6K / / 07.06.2005
Надо же, почти одновременно ответили. koodeer, респект за точность и понимание темы; сам же прошу прощения за возможные неточности - я знаком с Си на уровне прочтения Кернигана и Ритчи. И всё же ждём волнующие подробности переводимого текста.
10
12 октября 2010 года
Freeman
3.2K / / 06.03.2004
msclock. Если это не цитата из исходника, можно перевести и как Microsoft clock - таймер Windows.

*clockptr. Сишные исходники не переводятся.

passive timers wrap after 49 days. Глагол wrap можно рассматривать как действие перекидного календаря - оп, и таймер обнулился, начался новый цикл в 48 дней.

Ensures an atomic operation for the paranoid. Обеспечивает атомарность операции для вящего спокойствия. Англоязычные программисты часто называют словом paranoia особо педантичные действия, сделанные по принципу "компьютер кремниевый, всё стерпит".

CIRCULAR NUMBER SPACES. Пространства циклического отсчёта - те самые странички перекидного календаря. Могу ошибаться, нужен контекст.

В остальном соглашусь с предыдущими ораторами.
241
12 октября 2010 года
Sanila_san
1.6K / / 07.06.2005
[QUOTE=Freeman]*clockptr. Сишные исходники не переводятся.[/QUOTE]Боюсь, девушка всё-таки перевела и исходники. И таки да, я имел в виду, что там идёт речь об указателе.
63K
12 октября 2010 года
Lost-amo
5 / / 11.10.2010
Спасибо большое, жаль без колкостей у вас не получается. Неужели так трудно помочь без лишних слов? Мне обидно.


Цитата: Sanila_san
Боюсь, девушка всё-таки перевела и исходники. И таки да, я имел в виду, что там идёт речь об указателе.


Вы всегда делаете поспешные выводы? Я не переводила это слово, поставив в кавычки. Я пока делаю черновой перевод.

Цитата: Sanila_san
Хех. Ирина, надеюсь, вы не весь текст переводите Лингво-переводчиком? Просто если вы не понимаете ничего в предметной области, вам не только приходится непросто - вы ещё и тяжко накосячите без помощи научного редактора. Впрочем, это не моя забота. Итак, что знаю.


А почему вы сразу такого плохого мнения обо мне? Если я ничего не понимаю (как вы выразились) - я иду и спрашиваю. Поэтому пришла на форум и спросила. Из-за вас теперь еще буду думать о программистах,как о людях с завышенной самооценкой, смотрящими на других свысока.

Цитата: koodeer
timer process thread - похоже, вы вообще не специалист в английском (без обид) (не удержался от колкости :), сорри). Вспоминаем правило ряда и переводим (с конца): поток процесса таймера. Очевидно, таймер работает в отдельном потоке.


Ну начинаем-то переводить с конца, одна не всегда. Некоторые русские клише опровергают ваше правило)) Это вам на заметку) Посмотрите на досуге.


CIRCULAR NUMBER SPACES

Many bugs occur in well-meaning but error-prone attempts at comparing
timestamps. NEVER USE ARITHMETIC COMPARISONS ("<", ">", etc.) WITH
TIMESTAMPS--THEY DON'T WORK IN CIRCULAR NUMBER SPACES!!!!

msclock
In the beginning, there was msclock, and it was good. OK, maybe not
good, but sufficient if you were careful. msclock is a macro that
expanded to "*clockptr", which references a cell that the Non Maskable
Interrupt routine (tied to the hardware timer tick) increments by the
basic clock rate (4 msec) each time it runs.

timer process thread
Also, the callback is run on the timer process thread, which has implications for reentrancy, stack and CPU utilization, etc.

285
12 октября 2010 года
Romik
479 / / 24.11.2002
Lost-amo, считаю вашу идею - обратиться за помощью к программистам при переводе тематического материала, правильной. На колкости обижаться не стоит - тут не институт благородных девиц. Гораздо лучше вести предметный разговор и улучшать качество вашего труда - переводов. От этого всем будет лучше. Замечания всякого рода адресованы не только вам персонально, но и тем людям кто в дальнейшем будет задаваться подобными вопросами.
10
12 октября 2010 года
Freeman
3.2K / / 06.03.2004
Цитата: Lost-amo
Спасибо большое, жаль без колкостей у вас не получается. Неужели так трудно помочь без лишних слов?


Помощь без лишних слов предполагает взаимное уважение и равенство. С вашей стороны подразумевалось, что текст представляется полностью, после чего черновик перевода и/или вопросы. Игра в угадайку по обрывкам фраз никогда не приветствуется среди профессионалов.

Внимание, конкурс на лучший перевод. :)

ЦИКЛИЧЕСКИЕ СИСТЕМЫ ОТСЧЁТА

Множество ошибок возникает из-за на первый взгляд верных, но на деле ошибочных попыток сравнения отметок времени. НИКОДА НЕ ИСПОЛЬЗУЙТЕ АРИФМЕТИЧЕСКОЕ СРАВНЕНИЕ ("<", ">" и т. п.) ДЛЯ ЗНАЧЕНИЙ ВРЕМЕНИ -- ОНИ НЕ РАБОТАЮТ В ЦИКЛИЧЕСКИХ СИСТЕМАХ ОТСЧЁТА!!!

msclock
Вначале был msclock, и всё было хорошо. Да, может не совсем хорошо, но достаточно, если быть осторожным. msclock -- это макрос, разворачиваемый в "*clockptr", указывающий на ячейку, значение которой увеличивается с частотой основного таймера (4 мс), при каждом вызове обработчика немаскируемого прерывания (возникающего по аппаратному тику таймера).

поток обработчика таймера
Заметим, что процедура обратного вызова запускается в потоке обработчика таймера, что подразумевает её реентерабельность, использование стека, процессора, и т. п.

63K
12 октября 2010 года
Lost-amo
5 / / 11.10.2010
Romik и Freeman
Спасибо за понимание!!!

Freeman Ой, я и не думала, что вы все это будете переводить.
Вы хотите, чтобы я весь текст выслала? О....Там 15 страниц. Вы на такое не согласитесь))
Именно по этой причине я, считая, что представленные мною слова и выражения не что иное, как - термины, написала вам только их.
Мне понравился Ваш перевод. Я восхищаюсь) Честно

Sanila_san и koodeer
Еще раз и Вас спасибо.
Хотя глагол wrap по-прежнему ставит меня в тупик.
К примеру:


The time difference between two timestamps can be calculated with the
following macros:

CLOCK_DIFF_UNSIGNED(ts1, ts2)
CLOCK_DIFF_SIGNED(ts1, ts2) -
Calculate ts2 - ts1 accounting for wrap. If the signed version
is used, it will return a range of -24 days to + 24 days.




Разница во времени между двумя временными метками может быть определена при помощи следующей макрокоманды:

CLOCK_DIFF_UNSIGNED(ts1, ts2)
CLOCK_DIFF_SIGNED(ts1, ts2) -

Определите значение ts2 - ts1, принимая во внимание сброс таймера на начало отсчета. Если используется указанная версия, значение будет находиться в диапазоне от -24 дней до +24 дней.


Еще раз прошу не судите строго. Я только учусь переводить такие вещи. Признаюсь, мне интересно в этом разобираться. Я очень ценю Вашу помощь, и надеюсь сие для Вам необременительно.
По крайней мере для вас же лучше, чтобы я не дезинформировала людей).
10
12 октября 2010 года
Freeman
3.2K / / 06.03.2004
Цитата: Lost-amo
Вы хотите, чтобы я весь текст выслала? О....Там 15 страниц. Вы на такое не согласитесь))


Не соглашусь. :) Посчитал представленный кусок достаточным для демонстрации общего принципа перевода таких текстов.

Цитата: Lost-amo
Мне понравился Ваш перевод. Я восхищаюсь) Честно


На самом деле я нарушил первую заповедь переводчика: не пороть отсебятины. Те же "циклические системы отсчёта" в контексте ИТ весьма спорны. Вольность ради литературного стиля, так сказать. Всё же не переводчик, программист. Надо же чем-то выпендриться. :)

Цитата: Lost-amo

Calculate ts2 - ts1 accounting for wrap.


Вычисляют (речь про макросы) ts2 - ts1 с учётом сброса (перехода через 0).

297
13 октября 2010 года
koodeer
1.2K / / 02.05.2009
Цитата: Lost-amo
If the signed version is used, it will return a range of -24 days to + 24 days.

Если используется указанная версия, значение будет находиться в диапазоне от -24 дней до +24 дней.


Тут я поправлю: в данном случае signed, вероятно, следует перевести словом знаковая. Знаковое значение может быть со знаком минус, беззнаковое (unsigned) - только положительное. Таким образом знаковое в данном случае от -24 до +24, беззнаковое от 0 до +48.


От себя скажу, что тоже восхищаюсь переводом Фримэна. Зачот!

16K
13 октября 2010 года
k0t
97 / / 23.04.2007
Цитата: Lost-amo

Хотя глагол wrap по-прежнему ставит меня в тупик.



В программировании wrap чаще переводится как обертка (над функцией например).

7
13 октября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Но не в данном контексте.Здесь это как «перенос,переполнение,сброс»
63K
15 октября 2010 года
Lost-amo
5 / / 11.10.2010
Вернулась еще с вопросами, если Вы не против, конечно. Еще раз спасибо за неоценимую помощь!
Интересуют:

1. Смутило thing (предположила, что имеется ввиду команда) и to keep the callback routines short and to the point.


callback routines
The only reasonable way to handle things is [COLOR="DarkRed"]to keep the callback routines
short and to the point.[/COLOR]



Единственный допустимый способ при работе с командами (?) ... предположу: держать под контролем, следить за выполнением надлежащих команд\действий.

2. blort protocol Даже без вариантов. Протокол чего?
For example, suppose we have a blort protocol with many instantiations of it, but all handled by one process (creating lots of individual processs gets expensive).
К примеру, предположим, что у нас есть blort protocol со множеством его экземпляров, но все они обработаны одним процессом (т.к. создание множества отдельных процессов - дело затратное).

3. mgd_timer_context(timer)
Returns the opaque timer context for this timer.



opaque timer именно перевод этого термина интересует. Скрытый таймер имеется в виду? Недосягамый? Варианты с непрозрачным уж совсем мне не понравились.

4.
Fenced timers Предположу - ограничивающий таймер

Контекст: mgd_timer_first_fenced(timer)
Returns the first fenced timer subordinate to the argument

первый подчиненный таймер младшего уровня ? (Не смейтесь сильно)

5. Движемся далее

Example: Suppose we have a protocol that requires a hello timer for
each interface, plus a timer for an ager that runs periodically

Пример: предположим, что у нас есть протокол, требующий приветственного (?) таймера для каждого интерфейса плюс таймер для an ager , работающего через определенные промежутки времени.
an ager - простие, без вариантов. Предположу, что связано со временем, может периодами. Как от age, нет?


[COLOR="DarkRed"]Заранее ВСЕМ-ВСЕМ ГРОМАДНОЕ СПАСИБО!!!!![/COLOR]
10
16 октября 2010 года
Freeman
3.2K / / 06.03.2004
Цитата: Lost-amo
callback routines
The only reasonable way to handle things is [COLOR="DarkRed"]to keep the callback routines
short and to the point.[/COLOR]


Процедуры обратного вызова.
Единственный разумный способ справиться с ними -- держать их как можно короче и острее
.

Маленькие и острые программы -- расхожая фраза в UNIX. Для программистов под Windows, возможно, стоит подобрать другой эпитет.

Цитата: Lost-amo
blort protocol Даже без вариантов. Протокол чего?
For example, suppose we have a blort protocol with many instantiations of it, but all handled by one process (creating lots of individual processs gets expensive).


К примеру, предположим, что у нас есть такая хрень, как протокол и множество его экземпляров, но все они обрабатываются одним процессом (т. к. создание тучи отдельных процессов накладно).

Это дока такая?! :eek:

Цитата: Lost-amo
mgd_timer_context(timer)
Returns the opaque timer context for this timer.


Возвращает внутренний контекст данного таймера.

Надо переводить opaque timer context целиком, что означает, ИМХО, скрытый от посторонних глаз в результате инакпсуляции. Слово "инкапсулированный" сюда не подходит, лучше "внутренний".

Цитата: Lost-amo
mgd_timer_first_fenced(timer)
Returns the first fenced timer subordinate to the argument



Похоже, да, ограничивающий таймер. Возвращает первый ограничивающий таймер, зависящий от аргумента. Или даже связанный с аргументом.

Цитата: Lost-amo
Example: Suppose we have a protocol that requires a hello timer for
each interface, plus a timer for an ager that runs periodically



Пример: предположим, что у нас есть протокол, требующий таймер на приветствие (установку связи, "алло") каждого интерфейса, плюс таймер на будущее (на будущую работу), срабатывающий периодически.

241
16 октября 2010 года
Sanila_san
1.6K / / 07.06.2005
Lost-amo, специальные пять копеек для вящего понимания:

[QUOTE=Freeman]Маленькие и острые программы -- расхожая фраза в UNIX. Для программистов под Windows, возможно, стоит подобрать другой эпитет.[/QUOTE]Словарь английских идиом советует переводить фразу "keep to the point" как "говорить по существу, не отклоняться от темы". Применительно к программированию в нашем случае это наводит на мысль, что процедура обратного вызова должна быть ясной и однозначной. Достигается это тем, что алгоритм выбирается наиболее простой и реализуется наиболее общепринятым способом. Хорошая характеристика результата такой работы - "коротко и ясно". Видимо, примерно так следует понимать высказывание "to keep the callback routines short and to the point".
240
16 октября 2010 года
aks
2.5K / / 14.07.2006
Я думаю имеется ввиду не просто реализация понятным способом, а именно наиболее быстрым без лишних действий. Ибо выполнение каллбэка скорее всего блокирует таймер и он не работает, пока каллбэк не завершится. Отсюда следует, что его код должен выполняться практически мгновенно или просто установить флаг, послать сигнал и т.п. если требуются какие то долгие вычисления по таймеру.

Кстати слово things тут следует переводить не как команды, а как есть я думаю. )
241
16 октября 2010 года
Sanila_san
1.6K / / 07.06.2005
Получается, что лучше всего переводить программистские тексты, будучи самому программистом. Потом отдать редактору и привести текст в божеский вид - и вуаля.:) То-то думаю, чего мне проще всего переводить тексты, связанные с фотографией.
10
16 октября 2010 года
Freeman
3.2K / / 06.03.2004
Что, в свою очередь, недвусмысленно намекає, что программист просто-таки обязан владеть языком. И русским тоже, ага. :)
240
17 октября 2010 года
aks
2.5K / / 14.07.2006
=))))
:(
63K
17 октября 2010 года
Lost-amo
5 / / 11.10.2010
Спасибо еще раз! ! !!!!!!!

И последнее

XSLEEPING and XAWAKE add another degree of bug freedom.
Вот именно выделенное. Про свободу ошибки - я не поняла). Это какое-то право на ошибку?)
240
17 октября 2010 года
aks
2.5K / / 14.07.2006
Всю бы фразу. Похоже что то типа: "XSLEEPING и XAWAKE добавляют дополнительные степени свободы ошибок".
Степень свободы физический и статистический термин. Видимо имеется ввиду, что использование XSLEEPING и XAWAKE существенно увеличивает количество потенциальных багов.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог