[00:11:06] <vlad2> Успехов ;)
[00:37:19] <valexey> vlad2: а ты не хочешь в это окунуццо? :-) Няшно же! Гламур! Современно!
[00:37:22] <valexey> Виндовозно!
[00:37:25] <valexey> :-D
[00:44:02] <vlad2> Я уже в "этом" :)
[00:44:29] <vlad2> http://pics.livejournal.com/morontt/pic/000a8241
[01:00:48] <valexey> vlad2: ой. как тебя угораздило?
[01:01:06] <valexey> гм.. в шоколаде? :-)
[01:02:43] <valexey> вы там еще до человеческих браузеров не доросли? и вообще, что нонче у js с многопоточностью? можно там фоновые вычисления делать, или как?
[01:05:22] <vlad2> Как хорошо, что там пока еще нет многопоточности... :)
[01:05:40] <valexey> а будет?
[01:05:45] <valexey> хотеть!
[01:05:50] <valexey> а как же фоновые вычисления?
[01:06:17] <valexey> Ceres-1 was built around a National Semiconductor 32032 microprocessor, which was in 1985 the first
commercially available processor using a 32 bit wide bus. It appeared as particularly attractive to the
compiler builder because of its regular instruction set. The computer was equipped with 2 MBytes of
main memory, a 40 MByte disk, a diskette, a 1024*800 pixel display, and of course with keyboard and
mouse. These resources were more than adequate for the Oberon System.
[01:06:44] <valexey> Ceres-2 was introduced in 1988 and replaced the processor by its faster version, the NS 32532, which
increased its computing power by a factor of at least 5 over its predecessor. Memory was extended to 4
- 8 MByte and the disk to 80 MByte. In order to install the software, "only" a few modules had to be
adapted, the kernel because of different page structure, and device drivers because of different device
addresses
[01:20:50] <vlad2> Фоновые вычесления по таймеру делаютсся, грубо говоря.
[01:21:10] <valexey> э?
[01:21:30] <valexey> вот у меня вычисление какого-нибудь svd или фурье на охрененном окне. оно будет пыхтеть миниту. математика.
[01:21:36] <valexey> как что-то еще делать?
[01:21:52] <valexey> *минуту
[01:22:38] <vlad2> Делать по таймеру, йилдать.
[01:23:21] <valexey> а, оно локальные переменные запомнит?
[01:23:36] <valexey> то есть там человеческая кооперативка, или как? аля фиберы?
[01:24:45] <vlad2> Там (в браузере) можно повесить caллбэк на таймер.
[01:24:48] <valexey> вот у меня цикл: for (int i=0; i<100000000000; ++i){}; // куда тут таймер втыкать?
[01:25:10] <vlad2> Бить цикл. Сохранять стэйт. Вобщем как в блэебоксе ;)
[01:25:25] <vlad2> Там же у них тоже Action'ы есть.
[01:25:50] <valexey> эмм.. употеешь же. математика. тыща переменных. и их что, все восстанавливать что-ли?
[01:25:57] <valexey> РУКАМИ?
[01:26:23] <vlad2> Да.
[01:26:36] <vlad2> На оборонкоре тебе расскажут как это проавильно :)
[01:26:43] <vlad2> Была дискуссия когда-то давно.
[01:26:47] <valexey> хотя.... в жабаскрипте это ж проще - там же функция это объект и там можно ей навешать полей куда и сохраняться.
[01:26:51] <vlad2> Я, типа, негодовал ;)
[01:26:56] <valexey> то есть локальных переменых не будет ваще
[01:27:01] <vlad2> Это да.
[01:27:27] <valexey> то есть не сохраняться, а прям сразу в них вычислять!
[01:27:45] <valexey> но в обероне то это ж ужас-ужас же.
[01:28:04] <valexey> это и есть отсутствие даже кооперативной многозадачности.
[01:28:33] <valexey> система ваще не в курсах про то что есть разные нити (жилы, ога) вычислений и у них есть свое состояние.
[01:29:04] <valexey> кстати, в книженции написано что это преимущество системы!
[01:30:32] <valexey> The primary advantage of a system dealing with a single process is that task switches occur at userdefined points only, where no local process state has to be preserved until resumption. Furthermore,
because the switches are user-chosen, the tasks cannot interfere in unexpected and uncontrollable ways
by accessing common variables. The system designer can therefore omit all kinds of protection
mechanisms that exclude such interference. This is a significant simplification.
[01:33:10] <vlad2> А да.
[01:33:19] <vlad2> В духе оборонкоре.
[01:33:33] <vlad2> Про недостатки скромно умалчивается.
[01:33:45] <valexey> угу. по духу там похоже весьма
[01:34:19] <vlad2> Про недостатки - я даже не вообще про многозадачность, а про то, что надо "бить цикл и т.д."
[01:34:26] <valexey> только там это все в контексте университетской инфраструктуры.
[01:34:31] <vlad2> Т.е. упрощение оно только в одном месте.
[01:34:35] <valexey> а не в отрыве от реальности как на оборонкоре
[01:34:37] <vlad2> В другом месте - усложнение.
[01:34:38] <valexey> We suggest that execution of time-consuming computations might better be delegated to
loosely coupled compute-servers in a distributed system.
[01:35:08] <valexey> то есть предполагается что для вычислительных задач есть сервер где НЕ оберон
[01:35:22] <valexey> а какой-нибудь хрюникс например.
[01:35:29] <vlad2> Гы. А эта штука тогда что делает? Терминал? :)
[01:35:42] <valexey> угу. рабочая станция же!
[01:35:57] <valexey> чтобы попрограммить там. схемку наваять. доку написать.
[01:36:06] <valexey> распечатать
[01:37:17] <valexey> а ББ же оборонкоровцами преподносится как решение для всего на свете. хотя концептуально он тот же оберонос. только со свистелками и пердеками.
[01:45:17] <vlad2> Дык, они сервера там какие-то на нем делают ;)
[01:46:16] <vlad2> Ты это, вбррось цитатки-то ;) Особенно про time-consuming computations ;)
[01:50:51] <vlad2> F чего там происходило если вечный цикл написать? Перегружать систему надо?
[01:55:49] <valexey> vlad2: там же волшебное сочетание кнопочек есть которое прервет вычисление
[01:56:07] <valexey> в ББ тоже какой-то аналог этого есть вроде
[01:57:53] <valexey> там (в ОС Оберон) сыграли на том, что железяка умеет прерывание, и долбление в клавиатуру - это же прерывания лезут. обычные нажатия на кнопочки обрабатываются единообразно - драйвер сует в буфер код очередной кнопочки.
[01:58:27] <valexey> а вот волшебная кнопка если нажата - то прерываение обрабатвается другим хендлером и текущее вычисление прерывается нафиг и управление возвращается системе.
[01:58:38] <valexey> а в лог пишется про случившуюся лажу
[01:58:44] <valexey> как-то так.
[02:00:06] <valexey> гм. по сути, современным аналогом (ну, как современным? три года назад был современным) Оберон ОС является браузер :-)
[02:00:16] <valexey> особенно мозилла.
[02:00:55] <valexey> где долговыполняющиеся скрипты во-первых морозят гуй всего браузера. во-вторых через таймаут предлагается прибить.
[02:01:56] <valexey> ну и роль в экосистеме то же - постоянное общение с сервером, если требуются какие-то вычисления длительные (там файлик заархивировать, задачку посчитать).
[02:02:42] <valexey> оборонкоровцы же перевернули все с ног на голову - ББ у них теперь сервер, ога.
[02:03:50] <valexey> впрочем, веб-сервер частенько по своему профилю на клиентский терминал похож - долгих вычислений у него нет. короткие задачи/команды только.
[02:05:45] <valexey> но они ж в ББ пытаются научные рассчеты делать! Долгоиграющие! И вот это то как раз в корне не верно. То есть это usecase не предусмотреный создателями. Точнее там предусмотрено было, что этот usecase будет реализован совсем иначе (и ровно поэтому Оберон ОС получилась такой какой получилась, иначе она была бы спроектирована по другому).
[13:22:29] <valexey > винда это «набор 32-битных расширений и графической оболочкой для 16-битного патча для 8-битной ОС, изначально созднанной для 4-битного микропроцессора»
[15:47:46] <kemiisto> Стабильность. Клеветы. Понятно.
[15:47:47] <kemiisto> :D
[18:01:06] <vlad3> 64 забыл упомянуть ;)