понедельник, 29 ноября 2010 г.

H. M. Ручко / Функции execv ()

Функции execv(), execve() и execvp() передают аргументы командной строки в векторе указателей на строки с завершающим нулевым символом. Количество аргументов командной строки должно быть известно во время компиляции. Элемент argv[0] обычно представляет собой команду.

• int execv(const char *path,char *const arg[]);

Здесь path — путевое имя выполняемой программы. Его можно задать в виде полного составного имени либо относительного составного имени из текущего каталога. Последующий параметр представляет вектор (с завершающим нулевым символом), содержащий аргументы командной строки, представленные в виде строк с завершающими нулевыми символами. Всего может быть n аргументов. Этот вектор завершается NULL-указателем. Элементу arg[] можно присвоить значение таким образом:

char *const arg[] = {«traverse»,".», ">",«1000»,NULL};


Вот пример вызова этой функции:

execv(«traverse», arg) ;

В этом случае утилита traverse перечислит все файлы в текущем каталоге, размер которых превышает 1000 байт.

• int execve(const char *path,char *const arg[],char *const envp[]);

Эта функция аналогична функции execv(), с одним отличием: она имеет дополнительный параметр, envp[], который описан выше.

• int execvp(const char *file,char *const arg[]);

Здесь file — имя выполняемой программы. Последующий параметр представляет собой вектор (с завершающим нулевым символом), содержащий аргументы командной строки, представленные в виде строк с завершающими нулевыми символами. Всего может быть n аргументов. Этот вектор завершается NULL-указателем.

Вот примеры применения синтаксиса функций execv () с различными аргументами:

char *const arg[] = {«traverse»,".», ">",«1000»,NULL};

char *const envp[] = {«files=50»,NULL};

execv("/path/traverse», arg);

execve("/path/traverse», arg, envp);

execvp(«traverse», arg);

Здесь в каждом примере вызова execv-функции активизированный процесс выполняет программу traverse.


Микрофишки / Журнал «Компьютерра»


Американская Служба честной торговли (Office of Fair Trading) недавно обязала американскую же компанию Micro Bill Systems изменить поведение программы, предназначенной для работы с ее веб-сайтом. По мнению службы, то, как приложение функционирует, грубо нарушает права потребителей.

Micro Bill Systems предоставляет пользователям доступ к контенту "для взрослых". И подобно многим другим таким сайтам выводит на экран пользователя всплывающие окошки (pop-up). Даже те пользователи Интернета, которые на подобные сайты не заходят, окна эти люто ненавидят. Приятного в них действительно мало, даже если они ведут себя "по-божески". Чего не скажешь про сайт Micro Bill Systems. По мнению защитников прав потребителей, нехорошо это - когда такие окошки заполняют весь экран и компьютером становится просто невозможно пользоваться. Вдобавок при загрузке программы, ответственной за их показ, пользователю не сообщалось, что она, собственно, делает и как ее удалить. Правда, те уступки, на которые пришлось пойти Micro Bill Systems, все равно выглядят издевательством: количество всплывающих окон ограничено "всего" двадцатью в сутки на каждого посетителя, и на экране они должны оставаться не дольше одной минуты. Но надо же с чего-то начинать… ПП


***

Компания Yahoo объявила о том, что отныне платные пользователи Flickr наряду с фотографиями смогут загружать и видеоролики. По словам администрации фотосайта, новая функция не будет конкурировать с YouTube и собственным видеохостингом Yahoo (video.yahoo.com). Загружаемые клипы должны быть не длиннее 90 секунд и не "тяжелее" 150 Мбайт. При таких ограничениях, по мнению руководства сервиса, видео воспринимается просто как "длинная фотография". Кроме того, столь малое время проигрывания должно послужить гарантией, что на новом сервисе не появится пиратский ТВ-контент. ЕВ


***

Удачные путешествия марсианских роверов вдохновили NASA на смену парадигмы освоения Луны. Если прежде никто не подвергал сомнению необходимость стационарной базы для лунных поселенцев и споры велись в основном о ее местонахождении, то теперь, возможно, об оседлой лунной жизни придется забыть. Разработка инженеров NASA - "жилой" робот-исследователь ATHLETE (All-Terrain Hex-Legged Extra-Terrestrial Explorer), прототип которого сейчас испытывается близ Пасадены, штат Калифорния. Многотонная машина, питаемая солнечными батареями, сможет передвигаться по лунной поверхности с крейсерской скоростью 10 км/час, неся на себе пристанище для людей.

Шесть ног "Атлета" заканчиваются колесами, которые будут использоваться при передвижении по относительно ровной поверхности, а по пересеченной местности робот пойдет как гигантское насекомое, переступая конечностями. Мало того, конечности, снабженные различными насадками, смогут использоваться как рабочий инструмент. Такой помощник будет очень кстати селенологам. Машиной сможет управлять экипаж, а если понадобится привлечь его к другим делам - управление будет осуществляться с Земли, благо программное обеспечение для этого уже отлажено в более трудных условиях - на Марсе. ИП



Торпедные лодки типа Nazario Sauro | Ю. И. Александров


Основные ТТХ

Водоизмещение, т:

- надводное,…1442

- подводное…1637

Длина наибольшая, м…63,9

Ширина корпуса наибольшая, м…6,8

Осадка средняя, м…5,7

Запас плавучести, %…13.5

Архитектурно-конструктивный тип…однокорпусная

Глубина погружения оперативная, м…250

Автономность, сут…35

Экипаж, чел… 49 (7 офицеров)

Энергетическая установка:

- тип…ДЭУ с полным

электродвижением

- число х мощность (тип) ДГ кВт…3 х 720 (GMT А210 16NM)

- число х мощность (тип)

дизелей в составе ДГ л.с…3 х 1070 (GMT)

- число х мощность ГЭД, л. с…1 х 4200/3650*

- число гребных валов…1

- число групп АБ х число

элементов в группе…2 х 148

Скорость полного хода, уз:

- надводная…11

- подводная…19,3

- в режиме РДП…12

Дальность плавания (при скорости хода, уз), мили

- надводная…6150 (11)

- в режиме РДП…2500 (12)

- подводная…250 (4)

или 19,3(19)

Вооружение

Торпедное:

- число х калибр ТА, мм…6 х 533

- боезапас торпед…12

- тип торпед…ф "Whitehead тип А-184"

- число и тип мин,

принимаемых взамен торпед…24 VSSM 600

Радиоэлектронное: -тип системы управления

оружием…SMASACTIS-BSN-716(V) 1

- тип ГАК…AESN IPD-70S, в составе:

ГАС пассивного определения дистанции типа AESN MD 100S; ГАС ОГС типа "Velox М5"

- тип РЛС…SMABPS-704 (навигац),

"Electronica BLD-727" (СОРС)

- тип перископов…ф. "Pilkington Optronics":

СК 31 (поисковый); СН 8 (атаки)

ПЛ типа Nazario Sauro представляют собой вторую, после окончания Второй мировой войны, серию итальянских ДПЛ. (Первая серия - 4 ед. типа Enrico Toti водоизмещением 524/582 т, вошедшие в строй в 1968-69 гг.). ПЛ предназначались для действий в прибрежных районах. ПЛ S 518 и S 519 были впервые заказаны в 1967 г, но затем заказ был ликвидирован и вновь выдан в 1972 г. ПЛ S 520 и S 527 были заказаны

* Мощность форсажная/продолжительная

в 1976 г. Задержка в сроках сдачи первых 2-х ПЛ была вызвана тем, что на S 518 и S 519 пришлось сменить АБ на АБ ф. CGA, удовлетворивших требования флота.

Все ПЛ типа Sauro прошли модернизацию: S 579 - в 1990 г., S 518-в 1991 г., S 521 - в 1992 г. и S 520-в 1993 г. Были установлены АБ большей емкости, заменено вспомогательное оборудование и улучшены условия обитаемости. На ПЛ S 518Nazario Sauro прошли испытания ГАС с ГПБА ф. "Thomson-Sintra" и новые системы управления оружием.

Конструкция ПЛ - однокорпусная, с надстройкой и килевой наделкой в средней части. ПК изготовлен из стали HY-80, межотсечными переборками делится на 6 отсеков. Концевые переборки ПК-сферические.

Для выхода из аварийной ДПЛ в носовой и кормовой оконечностях предусмотрены спасательные люки.

На 4-ой ПЛ и ПЛ последующей подсерии "улучшенный Sauro" установлена цистерна быстрого погружения.

Управление торпедной стрельбой по первоначальному проекту осуществлялось с помощью СУ CCRG, позволявшей одновременно следить за 4 целями и связанной со всеми средствами обнаружения, аппаратурой РЭП и оружием.

В ходе модернизаций на всех ПЛ была установлена АСБУ SMA SACTICS-BSN-716 (V) 1, позволяющая следить одновременно за 30 целями.

Торпедная ПЛ Garlo Fecia Di Cassato



четверг, 25 ноября 2010 г.

Георгий Бабат. ЦЕПОЧКА ПОТЕРЬ

Но мы решили не сдаваться и вместо капитуляции объявили решительную борьбу потерям. Мы завели специальную папку с надписью «потери» и занялись изысканием всех возможных мест «утечки» электроэнергии. Процесс образования и передачи высокочастотной энергии был взят на самый строгий учет.

Много превращений испытывает электроэнергия, прежде чем попадает к мотору тележки ВЧТ.

Переменный ток из силовой сети подается через трансформатор к выпрямителю, который превращает его в ток постоянный. Затем генераторные лампы рубят этот ток на отдельные порции — импульсы, раздробляя его на несколько десятков тысяч импульсов в секунду. Эти импульсы в специальном устройстве, состоящем из катушек и конденсаторов, превращаются в плавные высокочастотные колебания. Высокочастотный ток поступает в бесконтактную тяговую сеть, провода которой насыщают окружающее пространство высокочастотной энергией.

Часть этой энергии воспринимается приемным витком тележки и передается на выпрямитель. От выпрямителя постоянный ток или пульсирующий ток одного направления поступает в тяговый мотор.

Все участки пути, проходимого током, представляют собой как бы звенья одной энергетической цепи. В каждом звене этой длинной цепи неизбежны потери. И от звена к звену потери наращиваются. Для каждого звена можно подсчитать коэффициент полезного действия (КПД), а если перемножить все эти коэффициенты, то получится общий коэффициент полезного действия цепи, величина которого в первой установке была микроскопически мала… 4 процента. Плачевный результат!

От чего же зависит величина КПД энергетической цепи? От чего же зависит мощность, которую может получить приемное устройство тележки? Электротехника говорит, что величина мощности, воспринимаемой тележкой, равна произведению числа перемен тока в одну секунду на величину отдельной порции энергии, отдаваемой проводниками бесконтактной сети.

Частота тока в обычной осветительной сети составляет всего лишь 50 герц, и количество энергии, получаемой тележкой, было бы очень мало; поэтому, чтобы установка могла работать, пришлось повысить частоту в тысячу раз. Однако и при такой высокой частоте КПД был очень низок.

Итак, была объявлена решительная борьба потерям. Мы выяснили, что большая часть потерь происходит в нашей подземной высокочастотной сети. Когда по подземным проводам течет быстропеременный ток, то в земле, вблизи провода, приходят в вихреобразное движение электроны веществ, из которых состоит земля. Вихрь электронов напоминает вихрь пыли, поднятой ветром. Но чтобы привести электроны в движение, затрачивается энергия — та самая энергия, которая могла бы пойти на полезную работу двигателя. Чем больше частота тока, тем больше вихревые потери. Вихревые потери пропорциональны квадрату частоты, то-есть если частоту увеличить в два раза, то вихревые потери возрастут в четыре раза, а если частота возрастет в три раза, то они увеличатся в девять раз.

Но вихревые потери — не единственный вид потерь. Сеть излучает энергию, как антенна радиопередатчика. Потери на излучение пропорциональны четвертой степени частоты тока. Увеличить частоту в два раза — значит повысить эти потери в 16 раз.

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

При очень низких частотах полезная мощность катастрофически мала. Мала она и при очень больших частотах, где большую часть мощности съедают потери.


Модернизация BIOS | Денис Николаевич Колисниченко

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


По поводу обновления версии BIOS нужно отметить следующее:

• просто так обновлять BIOS не нужно – если вас все устраивает (нет каких-либо программно-аппаратных ошибок, все устройства поддерживаются) BIOS трогать не нужно;

• я не буду приводить все возможные случаи, когда требуется обновление BIOS, – их довольно много. Если вы решили обновить BIOS, то вы должны знать причину обновления.


Где взять новую версию BIOS? Ее нужно искать не на сайте производителя BIOS, а на сайте производителя вашей материнской платы (указан на коробке с материнской платой), поскольку BIOS разрабатывается конкретно под материнскую плату.


Чтобы выбрать правильную версию BIOS, вам нужно знать:

• текущую версию BIOS (выводится при загрузке компьютера); модель материнской платы;

• тип вашего процессора.


Вам нужно скачать не просто новую версию BIOS, а новую версию для вашей материнской платы. Иначе последствия обновления BIOS, предназначенной не для вашей платы, могут быть непредсказуемые.

Разберемся, как можно определить версию BIOS и модель материнской платы. Рассмотрим пример сообщений, выводимых при загрузке компьютера.


Phoenix – AwardBIOS v6.00PG, AN Energy Star Ally

Copyright (C) 1984–2002, Phoenix Technologies, LTD


Main Processor: Intel Pentium(R) 4 3.06 GHz

Memory testing: 524288K OK


Primary Master: Maxtor 4W060H

Primary Slave: None

Secondary Master: None

Secondary Slave: None


Press DEL to enter SETUP

07/23/2002-i845E-XXXXXX–XXXXXX–ID


Понятно, что сообщения «пролетают» очень быстро, поэтому вы можете нажать кнопку Pause, чтобы успеть прочитать их. В данном случае нас интересует следующая информация:

• производитель и версия BIOS (Phoenix – Award v6.00PG);

• модель материнской платы (XXXXXX–XXXXXX);

• идентификатор BIOS (ID).


Как только вы соберете нужную информацию, отправляйтесь на фирму, где вы покупали компьютер (или материнскую плату), и просите сотрудников фирмы обновить версию вашего BIOS. Да, эта процедура платная. Да, в случае с EEPROM (Flash ROM) ее можно выполнить в домашних условиях, но только если знаешь, что делаешь, поскольку от незнания можно вообще остаться без материнской платы. Поэтому пусть этим занимаются те, кто делает это чуть ли не каждый день, то есть профессионалы.[16]


Я все-таки расскажу, как модернизируется BIOS, но настоятельно не рекомендую проводить ее обновление самостоятельно. Если вы уж решились сделать все своими руками, помните, что вы действуете на свой страх и риск, – потом не нужно писать мне и говорить, что у вас теперь вообще не загружается компьютер! А ведь я предупреждал! Дело в том, что для каждой платы и для каждого BIOS есть свои нюансы. Хорошо, если все пройдет без осложнений.


Итак, для обновления BIOS нужно выполнить следующие действия:

1. Определите модель материнской платы и версии BIOS. Эта информация выводится при загрузке компьютера.

2. Скачайте с сайта производителя материнской платы нужную версию BIOS.

3. Распакуйте полученный архив в какой-нибудь каталог, например в C: \bios.

4. Создайте системную дискету. Для этого зайдите в Мой компьютер, щелкните правой кнопкой на диске А:, выберите команду Форматирование и в появившемся окне установите режим Копировать системные файлы. Затем нажмите кнопку Форматировать (перед этим нужно вставить дискету в дисковод).

5. Перейдите в каталог C: \bios и прочитайте все текстовые файлы – в них обычно описываются действия, которые нужно выполнить при обновлении BIOS. Прочитали? Тогда запишите весь каталог C: \bios на дискету.

6. На всех материнских платах стоит защита от записи BIOS – иначе бы вирусы смогли запросто поселиться там. Иногда такая защита программная (в SETUP нужно выключить опцию защиты, например Flash BIOS Protection), а иногда – аппаратная (нужно особым образом установить определенный джампер на вашей материнской плате). Какая именно защита у вас, я не знаю. Нужно читать руководство по материнской плате. Если у вас его нет, вы можете найти его в Интернете.

7. После снятия защиты можно загрузиться с дискеты. Для этого в SETUP нужно выбрать загрузку с дисковода для гибких дисков (опция First Boot Device – Floppy).

8. После загрузки с дискеты введите команду обновления BIOS. Какую именно? Об этом было написано в тех самых текстовых файлах. Например, для обновления AMI BIOS используется команда amifl827 <файл с BIOS>. Для Award – flash <файл с BIOS>.

9. Внимание! Программа обновления обязательно спросит вас, сохранять или нет старую версию BIOS. Конечно, сохранять!

10. После обновления BIOS перезагрузите компьютер по требованию программы.


Как видите, для обновления BIOS нужно немного знать английский (поскольку вы не прочитаете документацию, которая идет вместе с BIOS) и DOS (Disk Operating System) – без этого тоже никуда не деться. Если вы чего-то не знаете, лучше обратитесь к профессионалам!


среда, 17 ноября 2010 г.

35. ПАРАМЕТРЫ ТЕТРОДОВ И ПЕНТОДОВ - Ольга Александровна Косарева

Статические параметры тетродов и пентодов определяются аналогично параметрам триода. Для практического определения параметров берут отношение конечных приращений.

Управляющая сетка в тетродах и пентодах расположена относительно катода так же, как и в триодах. Поэтому крутизна у тетродов и пентодов такого же порядка, как у триодов,т. е. составляет единицы или десятки миллиампер на вольт, хотя некоторое снижение крутизны получается за счет того, что анодный ток всегда меньше катодного тока.

Вследствие того что действие анодного напряжения в тетроде или пентоде ослаблено во много раз, внутреннее сопротивление получается в десятки и сотни раз большим, чем у тетрода, и доходит до сотен килоом.

Внутреннее сопротивление сильно зависит от процесса токораспределения, так как при изменении анодного напряжения анодный ток изменяется за счет этого процесса. Можно считать, что внутреннее сопротивление пентода состоит как бы из двух сопротивлений, соединенных параллельно. Одно из них определяется воздействием поля анода сквозь три сетки на потенциальный барьер у катода, за счет чего происходит очень небольшое изменение анодного тока. Чем гуще сетки, тем это сопротивление больше. Второе сопротивление определяется изменением анодного тока за счет процесса токораспределе-ния и обычно значительно меньше первого сопротивления.

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

В тетродах и пентодах катодный ток всегда больше анодного, поскольку ток экранирующей сетки всегда существует вместе с анодным током.

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

Если в режиме возврата характеристики переплетаются, то крутизна и коэффициент усиления могут иметь значения, равные нулю и меньше нуля.

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

В некоторых схемах тетрод или пентод используется так, что его триодная часть, состоящая из катода, управляющей сетки и экранирующей сетки, работает в одном каскаде, а вся лампа входит в состав другого каскада.

Крутизна и коэффициент усиления по экранирующей сетке обычно не представляют интереса, так как экранирующая сетка, как правило, не используется в качестве управляющей и напряжение на ней бывает постоянно.

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


Д. Солнышков | Семафоры Posix, размещаемые в памяти

Мы измеряем скорость работы семафоров Posix (именованных и размещаемых в памяти). В листинге А.24 приведен текст функции main, а в листинге А.23 — текст функции incr.

Листинг А.23. Увеличение счетчика с использованием семафоров Posix в памяти

//bench/incr_pxsem1.с

37 void *

38 incr(void *arg)

39 {

40  int i;

41  for (i = 0; i < nloop; i++) {

42   Sem_wait(&shared.mutex);

43   shared.counter++;

44   Sem_post(&shared.mutex);

45  }

46  return(NULL);

47 }

Листинг А.24. Функция main для семафоров Posix, размещаемых в памяти

//bench/incr_pxsem1.с

1  #include "unpipc.h"

2  #define MAXNTHREADS 100

3  int nloop;

4  struct {

5   sem_t mutex; /* размещаемый в памяти семафор */

6   long counter;

7  } shared;

8  void *incr(void *);


9  int

10 main(int argc, char **argv)

11 {

12  int i, nthreads;

13  pthread_t tid[MAXNTHREADS];

14  if (argc != 3)

15   err_quit("usage: incr_pxseml <#loops> <#threads>");

16  nloop = atoi(argv[1]);

17  nthreads = min(atoi(argv[2]), MAXNTHREADS);

18  /* инициализация размещаемого в памяти семафора 0 */

19  Sem_init(&shared.mutex, 0, 0);

20  /* создание всех потоков */

21  Set_concurrency(nthreads);

22  for (i = 0; i < nthreads; i++) {

23   Pthread_create(&tid[i], NULL, incr, NULL);

24  }

25  /* запуск таймера и разблокирование семафора */

26  Start_time();

27  Sem_post(&shared.mutex);

28  /* ожидание завершения всех потоков */

29  for (i = 0; i < nthreads; i++) {

30   Pthread_join(tid[i], NULL);

31  }

32  printf("microseconds: %.0f usec\n", Stop_time());

33  if (shared.counter != nloop * nthreads)

34   printf("error: counter = %ld\n", shared.counter);

35  exit(0);

36 }

18-19 Создается семафор, инициализируемый значением 0. Второй аргумент в вызове sem_init, имеющий значение 0, говорит о том, что семафор используется только потоками вызвавшего процесса.

20-27 После создания всех потоков запускается таймер и вызывается функция sem_post.