<<<предыдущий список следующий>>>

Это - копия документа, находившегося на http://dz.ru. Авторские права, если не указано иначе, принадлежат Дмитрию Завалишину и/или Евгении Завалишиной. Все изменения, внесенные мной, находятся в этой рамочке.Пожалуйста, прочитайте disclaimer.


30 Августа

Ортодоксальные программисты - существа одномерные. Это для них в Юниксе есть системный вызов select. Это они при входе в систему (NT) подсоединяют сетевые диски последовательно и при первой ошибке выкатывают на экран окошко с вопросом - подсоединять ли дальше. И пока окошко на экране - с машиной ничего не происходит, оставшиеся диски не подсоединяются. Это они делают что-либо лишь подряд...

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

И, соответственно, диалог должен быть высвечен один и в само начале: "подсоединяю сетевые диски" и одна кнопка - "Отставить". Нет, две кнопки - "Отставить" и "Свалить в туман", то есть продолжать, но никого не задерживая и исчезнув с экрана.

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

Впрочем, есть предположение, что много лет тому назад Микрософт попытался вообще уйти от букв дисков, заменив их явными сетевыми именами типа \\MainServer\Resource\directory\file.doc. Здесь, понятное дело, \\MainServer - имя сервера, Resource - имя "раздаваемого" им ресурса, далее - как обычно, подкаталоги и файлы.

Идея была хороша, но с ней приключился один неприятный казус. Который, будь её разработчик чуть повнимательней, можно было бы предупредить. Дело в том, что в MS DOS, увы, понятия "текущий диск" и "текущий каталог" были самостоятельными. Не существовало системного вызова, которому можно было бы не глядя сказать - "мой текущий каталог будет - "c:\home\dz". Нужно было сказать - "текущий диск будет C:", затем - "текущий каталог будет "\home\dz". Это привело к тому, что в программах, в миллионах программ по всему миру появился код, который разбирает "c:\home\dz" на "c:\" и "\home\dz". И, конечно же, конкретно обламывается на именах типа "\\online\dz\home", потому как нет там, конечно, никакой буквы диска.

Решить проблему было бы несложно, пожертвуй Микрософт, скажем, буквой Z: для всех сетевых дисков - пусть любое сетевое имя будет "Z:\\MainServer\Resource\...", и все проблемы решены. А для 32-битных программ можно было бы тогда и вообще отменить использование имён с буквами дисков.

Однако, совместимость, совместимость... вообще, раз сделав глупость исправить её в компьютерном мире удивительно трудно. Казалось бы, должно быть наоборот. А вот Керниган до сих пор стучит головой по стене из-за того, что назвал системный вызов в Юниксе creat, а не create. :-)

А Windows до сих пор говорит:

E:\>cd \\.\f
   '\\.\f' is an invalid current directory path. UNC paths are not supported.
   Defaulting to Windows directory.

Компания 1С выкатила новую ролевую игру "КNЯЗЬ" (так написано на мануале), по поводу чего собрала пресс-конференцию. Поскольку на конференцию ходила Евгения, она об этом и расскажет, я же отмечу лишь два момента. Первый: 1С поступил гениально, выдав на конференции пресс-материалы не в виде распечаток, с которых почти нет толку, а на дискетах. Второе: игры у нас делают день ото дня всё лучше и лучше. Душу греет. :-)

Apple объявил о выходе Power Mac G4. Хороший темп, знаете ли. Компания напоминает о себе чуть ли не каждый второй месяц, и вовсе не по мелочам.

Из существенных технических характеристик: Шина - 100 МГц (производительность - до 800 Мб/сек), процессор - 400/450/500 МГц. Кеш второго уровня - 1Мб на половине частоты ядра процессора. Память - до 1.5 Гб. Есть AGP 2X и Ultra ATA/66, DVD-ROM или DVD-RAM, возможен Iomega ZIP. В стандартной поставке - ATI RAGE 128 (PCI или AGP).

Интерфейсы: USB, FireWire, Ethernet, AirPort (802.11, продаётся отдельно), модем 56К.

В дополнение к машине можно прикупить шикарный 22-дюймовый (1600*1024) цифровой LCD-экран - заявлено, что картинка на нём такого же размера, как на 24-дюймовом экране на электронно-лучевой трубке. Правда, дисплей вместе с компьютером обойдутся в космическую сумму в $6500, и, судя по всему, на дисплей уйдёт более половины этой суммы, но всё равно дисплей чертовски неплох.

Комбинация из такого дисплея, DVD-RAM и FireWire делает машину интересной для задач видеообработки, но насколько это эффективно по соотношению цена/эффективность - предстоит ещё выяснить.

Velocity Engine. Это они так говорят по векторную подсистему G4, процессора, лежащего в основе вышеописанной машины. Заявлено, что он при тактовой в 500 МГц обходит Pentium III 600 МГц в 2-4 раза (раза) по скорости. В частности, на фотошоповских фильтрах, компрессии видео и даже собственных Интеловских тестах производительности. (Конечно, при использовании адекватного компилятора, который знает именно G4 с его полутора сотнями новых инструкций).

Утверждается, что G4 выполняет за такт от 4 до 8 вычислений с плавающей точкой (32 бита шириной каждая) только в векторной подсистеме, а суммарное количество операций на такт может достигать двадцати!

Кстати, G4 - "медный" процессор. Утверждается, что это позволило существенно его удешевить -$275 за 400 МГц. Но каких 400 МГц!