26 мая 04 года


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

          "Говядина В Слякоти" (ГВС). Вроде не кидал пока.
          Мелко режем постную Говядину. Кидаем на глубокую тефлоновую (на нетефлоновой будет Говядина в Подгорелой Слякоти) сковородку, добавляем сливочного масла. Пока всё это там делает вид что жарится - мелко режем лук. Когда Говядина слегка обжарится - высыпаем туда же лук, вливаем пакетик сливок, немного кетчупа, немного майонеза. Добавляем специй:
          Во-первых, соль. И сахар! Сахара немного, но все-таки сильно больше чем соли :-)
          Во-вторых, горчицу. Не очень много.
          В третьих - какую-нибудь "смесь специй из пакетика", не сильно острую, но "густую" (что-нибудь вроде "...для соусов"). Учитывая что разные смеси появляются и исчезают даже в одном магазине - советовать какую-то конкретную не буду.
          В четвертых - либо перца Чили (не "острого жгучего красного", который обычно любят продавать как "чили", а темного, красновато-коричневого порошка, не сильно острого, с плотным пряным запахом), либо "гвоздик" гвоздики - для аромату.
          ...а если есть какой-нибудь из "сладких розовых" соусов, продающихся у нас под маркой "стебель бамбука" - убавить сахар, добавить бамбук. И побольше, побольше!
          Перемешать, тушить до загустения, помешивая время от времени деревянной лопаткой (сковородка тефлоновая все-таки). Употреблять с жареной картошкой... хотя пофиг :-)
          Курица в грушах.
          Ведь если гусь - в яблоках, то очевидно, что курица - в грушах, верно?
          Четыре куриные груди, четыре крупных сладких груши. Груши - мелко порезать, положить на плоское широкое блюдо. Соль, майонез (немного), давленый чеснок (много), уксус (больше чем хотелось бы - он всё равно в основном выпарится), остро-пряная смесь специй (опять - советовать не буду, их слишком много разных), кари или шафрана для цвета. Перемешать, распределить ровным слоем по дну.
          Положить сверху кур.груди. Обмазать обмазкой: майонез, давленый чеснок, соль-специя.
          Засунуть в микроволновку! Ориентировочное время - полчаса на 800 Вт, затем остаток времени (пока курица не пропечется изнутри - как ни странно, микроволнам требуется на это время) - на половинной мощности. Суммарно у меня получилось около часа, но нужно смотреть на конкретную курицу и следить чтобы не высохла нафиг вместе с грушами. Если верх уже подгорел, а курица ещё не полностью готова - можно перевернуть груди (и хрен с ней с обмазкой, пусть смывается в кучу с грушами).
          Есть хоть так, хоть с рисом. С рисом лучше :-)
          Курица в альтернативной слякоти :-)
          "Что же делать, когда зубная щетка недоступна"... ой, в смысле - когда груш под рукой не оказлось?
          Майонез, чуть-чуть кетчупа, давленый чеснок, соль, сахар (немного - не больше половины чайной ложки!), специи (у нас тут в продаже появилась забавная специя - острая, пряная, "с овощами" (сушеный лук и что-то ещё) и "с глютаматом" (усилителем вкуса - даёт характерный привкус бульонного кубика) - неожиданно подошла, видимо из-за вкуса "сушеных овощей и глютамата"). Добавляется Вода! Всё это засовывается в блюдо, разбалтывается с водой, ставится в микроволновку. Тем временем - режется сыр. Сыр закидывается в "соус", и "варится" (непрерывно помешивая) до полного растворения сыра в соусе.
          Сверху кладутся курноги или кургруди, обмазываются обмазкой из предыдущего рецепта и готовятся по схеме из предыдущего рецепта - полчаса на полной мощности, "до готовности" на половинной.
          Употреблять - хоть с картошкой, хоть с рисом, хоть так. Я предпочел с картошкой :-)
          Матрица имеет нас... ну, вы уже читали.
          Попытался сделать "репитер подсветки автофокуса" для своего кэнона (простенький дивайсик, принимающий фотодиодом свет штатной лампочки подсветки АФ и дублирующий его лазерной указкой). В руках было два фотодиода, почти одинакового вида - один ФД-256 с радиорынка, и один неизвестной марки из "оптопары" старого дисковода (на вид - копия того же ФД-256). Вооружившись брелком с "белым" диодом и тестером - решил померить, у кого из них выше чувствительность. В процессе измерения... в-общем, результат вызвал у меня некоторое офигение.
          ФД-256 на светодиод из брелка реагировал как положено - выдавал фототок, примерно пропорциональный падающему свету. Фотодиод из дисковода...
          Сразу оговорюсь - измерения проводились в режиме измерения напряжения а не тока. По причине более высокой чувствительности китайского тестера в этом режиме, и нежелания городить схему "на батарейках и транизисторе" для усиления фототока. С другой стороны - напряжение при измерениях не превышало 20 мВ (наверняка за счет сопротивления утечки плюс входного сопротивления тестера), а в этих пределах фототок вполне удовлетворительно линеен от измеренного напряжения. Да и линейность-то, так разобраться, не нужна - см. далее.
          Итак, эксперимент номер 1. Фотодиод подключен к тестеру, на него падает свет из окна. Тестер показывает ~15 мВ. Всё в порядке.
          Эксперимент 2: черной бумажкой плавно прикрываем-открываем свет. Напряжение изменяется (падает) примерно пропорционально световому потоку на диод. Всё в порядке.
          Эксперимент 3: подносим на расстояние около 5 см. брелок с "белым диодом". Брелок не включаем. Поскольку рука с брелком слегка затеняет свет из окна - напряжение чуть заметно падает. Всё в порядке.
          Эксперимент 4: нажимаем кнопку на брелке. На фотодиод падает свет из окна И свет от брелка одновременно. Напряжение - падает почти до нуля! Тихо обалдеваем. Решаем, за неимением лучших идей, что брелок "слишком яркий", и диод вылетел в нелинейную область (хотя постойте, какую нелинейную область?! ну да ладно, надо же хоть как-то объяснить результат). Л-ладно...
          Эксперимент 5: удаляем-приближаем светящийся брелок к фотодиоду. Наблюдаем плавное падение напряжения при приближении брелка (и, соответственно, восстановление при удалении). Стар-рательно чешем репу...

          ...Наука оптоэлектроника учит нас, что фототок пропорционален количеству падающих на ФД фотонов (в единицу времени, ессно), умноженную на эффективность (зависящую от материала и структуры ФД, от длины волны падающего света, и много чего ещё). Разумеется, дневной свет и свет диода - разные по спектральному составу (в дневном - много ИК, "белый" диод - отчетливо "синит")... но в любом случае, для объяснения этого понадобится _отрицательная_ эффективность фотоэффекта на некоторых длинах волн. Отрицательный фотоэффект я представляю себе плохо (кстати, поднеся диод вплотную - отрицательного напряжения получить не удалось), идея с антифотонами мне как-то тоже не очень понравилась... может быть, "синий" свет каким-то образом вызывает рекомбинацию созданных "красным" естественным светом носителей, тем самым вызывая падение напряжения? Да, пожалуй это разумно... не всё же на происки агентов Смитов валить...

          Эксперимент 6: выкидываем брелок и подносим к фотодиоду лампу накаливания (с более "красным" спектром, чем естественный свет).
          Нпряжение на фотодиоде падает.
          Грохот чего-то упавшего за куисами, актёры убегают со сцены, занавес закрывается.

          ...и сказал Он "да будет свет!" - и стал свет. И назвал Он свет - днём, а темень - ночью...
          ...А лампочки и фотодиоды - придумали уже сильно потом. Неудивительно, что в модели работы фотодиода, всю жизнь освещавшегося ИК-диодом в оптопаре, Матрица по разному учла воздействие естественного света (он ведь, по большому счету, один - тот самый, созданный изначально), и искуственных источников. За исключением того одного источника, с которым этот экземпляр фотодиода обязан был работать.

          Агенты Смиты - вокруг нас. В каждой лампочке, в каждой лазерной головке DVD-привода... везде!!!
          Люблю революции. Когда "всю жизнь" гланды удаляли через... одно место, а потом кому-то вдруг пришла в голову революционная идея - удалять через это место не гланды, а геморрой.
          Есть (ну... "бывает") у компьютерщиков такая странная потребность - гонять "систему в системе" ("систему в пробирке"). Грубо говоря, жить в винде (линухе, бзде, нужное вписать), но для каких-то целей (экспериментов, работы, наладки-проверки) - запускать на том же компьютере другую ОС (или другой экземпляр той же ОС).
          "Всю жизнь" (точнее, всю ту жизнь, когда это делалось не через перезагрузку всей машины) это делалось через "эмуляторы". Сначала - "виртуальные дос-машины" (для доса, а потом и для win16) в os/2 и NT (да, да, а ещё 95 и 3.11), затем, по мере роста мощности - vmware (первый известный мне проект "виртуального писюка на реальном писюке"), сейчас - ещё и virtualPC, и что ещё будет дальше...
          Проблема "виртуальных писюков" одна: средствами, не предназначенными для виртуализации всего на свете (ну не разрабатывался intel х86 для виртуализации совсем всего на свете, только для ограничения приложений лазить куда не попадя, да частично - "дос-машину" создать, чтобы "в песочнице" некапризные программы гонять) - виртуализовать пытаются как раз всё на свете, от памяти (совсем просто), до процессора (а операционные системы так просто не проведёшь, ОС сейчас хотят реальный процессор, ядро в нулевом кольце привелегий, и вообще полную власть), и всего необходимого железа (и работа с IDE или видеокарой при этом будет напоминать бокс по переписке: каждое шевеление ОС будет вызывать поток экспешнов, в ответ на которые эмулятор будет эмулировать поведение реального железа)... в-общем, сложно, медленно, да и невозможно в полной мере скорее всего (не зря OS/2 так под vmware и не грузится - видимо, хочет чего-то неэмулируемого).
          Но я - про революции. Возмем линукс. Линукс - портабелен на черт-те какие аппаратные платформы, включая наручные часы с ЧПУ (кажется, IBM этим хвастала). Что мешает спортировать линкс на, скажем так, не совсем аппаратную, но всё же - платформу?
          Да ничего не мешает. И в светлые головы линуксоидов сначал приходит идея "линуха в линухе" (http://user-mode-linux.sourceforge.net [http://user-mode-linux.sourceforge.net/index.html]), а зетем - "линуха под виндой" (http://colinux.org [http://colinux.org/]). Идея - как я уже написал, "спортировать линух под новую платформу". Ну и что, что платформа не совсем аппаратная - если линукс нормально чувствует себя на наручных часах с ЧПУ - значит, выживет и в виде бинарника под win32. На самом деле, под винду не всё так просто и безоблачно... но идея-то какова, а? Р-революция! Теперь каждая домохозяйка сможет поставить себе "линух фор виндовз" - рядом с "офис фор виндовз" и микрософт-интернет-эсплойтером. Р-революция - машина в машине без оверхеда на эмуляцию неэмулируемого! Машина в машине - и это без тормозов! Только в XXI веке стало возможным столь революционное...

          ...постойте-ка, что-то знакомое вспоминается. Где-то когда-то вроде было, нет? А, вспомнил!
          VAX/VMS. Digital Equipment Corporation - помним такую? Нет? Забыли. Жаль. Ну, PDP-11 помним? Тоже нет... Ладно, БК-0010 и ДВК-11 - помним? Хорошо :-) БК и ДВК - делались на базе процессора, содранного с DEC PDP-11. Ещё "на базе DEC'а" у нас делалась СМ-4 (хреновина из нескольких шкафов с терминалами)... а больше из нашего я ничего и не припомню, ибо был мал и не очень интересовался :-)
          Так вот, этот самый DEC в 1978 (тысяча девятьсот семьдесят восьмом) году выпустил операционную систему VMS для своего компьютера VAX. VAX - расшифровывалось как "virtual addresses extention", VMS - "virtual memory system". Нетрудно догадаться, что в VAX/VMS применялась не так уж давно доползшая до писюков концепция виртуальной памяти. А ещё, из интересного мне сейчас в контексте - в VMS изначально, штатно, и без извратов была возможность запустить систему в системе! При этом без извратов вроде эмуляции железа - возможность запускаться не "надо всеми" а "под кем-то" была предусмотрена системой штатно (и активно использовалась - удобно, знаете ли, отлаживать "ядрёный код", когда крах ядра приводит не к краху всей системы, а просто к смерти одного из процессов, запущенных под "вышележащей" копией ОС. Никому не мешаем, отлаживаем всё что хотим... запустивши ОС под другой копией ОС.
          ...и глядя на современные "Р-революции!" в мире писюкостроения (преподносимые, разумеется, как новейшие разработки микрософт, интел, и кого-там-ещё) - грустно становится. Поскольку более чем половина - "калька" идей, реализованных два (а то и три) десятка лет назад на "больших машинах". Причем реализация эта, как правило,"слишком революционна" - совместимость писюка с original IBM PC затертого года выпуска сильно ограничивает. Впрочем, требование совместимости с каким-нибудь "пентиумом-166ММХ" ограничивает ещё сильнее, ибо от "диггера" мы ещё как-то откажемся, а вот от винды - вряд ли. А винда - она хочет пень. И программы - хотят пень, а не принципиально новую архитектуру, будь она хоть в десятьраз лучше. Вот и "обстругивают" хорошие идеи так, чтобы они "втиснулись" в гробик аппаратной совместимости с 8086 да виндовз-2000...

          В тему.
          Современный "интел пентиум" содержит в своем АЛУ - кучу узлов. Всякие складывалки, множилки, отдельно FPU, отдельно SSE[2], отдельно то, отдельно сё, отдельно чёрт в ступе... и используются они, в основном, "по очереди" - если сейчас процессор выполняет команду умножения двух целых чисел - узел извлечения квадратного корня простаивает.
          Чтобы увеличить производительность процессора - можно попытаться "распараллелить" выполнение команд: если текущая команда не влияет на результат следующей - то можно одновременно выполнить обе команды. Если же влияет - то нельзя. (К слову - уж не в советских ли времен "эльбрусе" было "предвыполнение" команд: при наличии свободного "выполнителя" выполнялась следующая команда, если результат "не пригождался" - его выкидывали?) В идеале, при полном распараллеливании, это дает выигрыш в два раза. Реально - сильно меньше: и не только потому, что команды плохо распараллеливаютс, но и потому, что алгоритм обнаружения возможности распараллеливания внутри процессора - долен быть быстр (иначе тормозить процессор начнет он сам), и умён неестественным интеллектом (программы-то пишутся исходя из линейного выполнения кода). В результате - сложность процессора растет, производительность... ну, типа тоже да. Кроме того - растет сложность оптимизирующих компиляторов: компилятор теперь занят забавным делом: расставляет инструкции так, чтобы (1) они распараллеливались и (2) - чтобы процессор смог это понять :-) и таки действительно распараллелил их выполнение.
          Забавная ситуация, не правда ли? Чтобы немного снизить идиотизм ситуации - интел придумал "гипертрединг" - когда процессор молотит команды в два потока (как будто в нем сидит два процессора), но при этом АЛУ - одно, и используется "по возможности одновременно" обоими "половинками" процессора. Выигрыш - полтора-два раза (поскольку на однотипных задачах конкуренция за одно АЛУ таки случается часто), и это уже сильно лучше, чем то "как-нибудь" с обменой намёками о возможности распараллеливания между компилятором и процессором.
          ...а ведь существует EPIC - explicit parallel instruction computer. Где возможность распаралеливания команд - задается в виде флажка в самой команде. Что автоматически позволяет выкинуть нафиг узел "неестественного интеллекта" процессора, упростить компиляторы, поднять эффективность использования АЛУ, да ещё и обеспечить глубину не в 2-3 команды за раз, а в "сколько влезет в флажки". Вот только... с 8086 оно как бы несовместимо, и потому - на писюках не будет.
          Ибо диггер работать не будет.
          А жаль.
          И - пара подвернувшихся под руку текстиков. Про IBM S/360 и S/370. Интересно... 1 [issue260504/1.html] 2 [issue260504/2.html]



Оригинал страницы находится на http://dibr.nnov.ru/issue260504.html.(с) DiBR
При перепечатке ссылка обязательна. <<  *  >>
endmai endma endm end en e