avva: (Default)
[personal profile] avva
Про новый shell в Лонгхорне рассказывают вот тут (англ., ссылка от [livejournal.com profile] yms).

Хоть стой, хоть падай, честное слово. Двадцать лет ждали и просили Майкрософт, чтобы сделали нормальный shell с нормальными возможностями. Пережили поколения command.com'ов и cmd.exe, но так и не дождались.

И вот, нате вам, Майкрософт созрел. Объектно-ориентированная командная строка. “Коммандлеты”, возвращающие .NET-объекты. Гусары молчат.

Date: 2004-08-04 09:53 am (UTC)
From: [identity profile] s1m.livejournal.com
IOCP -- это не completion rutines, это универсальная очередь для обработки асинхронных IO вызовов, которая, как верно замечено ниже, связывает количество активных потоков-обраточиков с кол-вом процессоров и оптимизирует количество переключений потоков. IOCP это работает для всего, начиная от чтения из файла и заканчивая HTTP-драйвером. epoll вещь, конечно, хорошая, но работает она только для сокетов и ничего похожего не делает. Понятно, что *никс тоже умеет делать асинхронное IO, но ведь речь идет не об этом.

Насчет X11 я сужу только по собственному опыту пользователя оного продукта. Если вам не нравиться формулировка "кривой", давайте скажем, что X11 не лучше RDP. Если вы считаете, что лучше -- объясните чем.

Так что же Микрософт смог (или не смог) позаимствовать у *никсов, как OS? Поймите, я сам пишу под Линукс и мне нравится эта операционка, но отбросив религию и политику Windows представляется мне гораздо более продвинутой OS.

Date: 2004-08-11 09:55 pm (UTC)
From: [identity profile] bish0nen.livejournal.com
IOCP -- это не completion rutines, это универсальная очередь для обработки асинхронных IO вызовов, которая, как верно замечено ниже, связывает количество активных потоков-обраточиков с кол-вом процессоров и оптимизирует количество переключений потоков. IOCP это работает для всего, начиная от чтения из файла и заканчивая HTTP-драйвером. epoll вещь, конечно, хорошая, но работает она только для сокетов и ничего похожего не делает. Понятно, что *никс тоже умеет делать асинхронное IO, но ведь речь идет не об этом.

Виноват, буква C после IO меня навела сразу на мысль о completion routines, я сразу и выстрелил :) Я изучил IOCP API, он действительно очень удобный, его самый прямой аналог в *nix - это kqueue, менее прямой - epoll (который работает не только для сокетов, а для любого дескриптора). То, что IOCP почему-то как-то связан с оптимизацией переключения тредов - это похоже на особенность реализации, получать сообщения может быть очень удобно и для однопоточной программы. В конце концов, у кого в *nix нет kqueue, могут взять ACE, который живёт в user space и в котором есть обе модели В/В - reactor и proactor, - плюс вагон и маленькая тележка других примитивов и абстракций, прекрасно реализовованных поверх "устаревшей схемы IO". Очередь рассылки сообщений также не единственный способ эффективно поллить большую кучу сокетов - слегка похаченный bind 8.2.x, немногопоточный билд, совершенно замечательно справляется с миллионом сокетов в единицу времени, опрашиваемых poll(2)'ом. /dev/poll даёт ещё более тонкую оптимизацию.

Насчет X11 я сужу только по собственному опыту пользователя оного продукта. Если вам не нравиться формулировка "кривой", давайте скажем, что X11 не лучше RDP. Если вы считаете, что лучше -- объясните чем.

Какие есть конкретные претензии к X11 как к протоколу или как к модели построения приложений? У X11 есть известные недостатки типа зашумливания транспортного канала своим трафиком, но они 1) сто лет назад решены 2) есть суть объекта оптимизации стадии эволюции X11. Ну да, есть ещё кое-какие тараканы, но всё же. Я посмотрел описание протокола RDP; принципиально это - та же самая парадигма "удалённого десктопа", с некоторыми эволюционными оптимизациями, типа как были в Java station. Что именно Вас так не устраивает в X11, что он в один момент стал "кривым"?

Так что же Микрософт смог (или не смог) позаимствовать у *никсов, как OS? Поймите, я сам пишу под Линукс и мне нравится эта операционка, но отбросив религию и политику Windows представляется мне гораздо более продвинутой OS.

Мне безразлично, что они не смогли (или смогли) позаимствовать - я беспринципен: если увижу, что платформа X лучше Y (и удобнее) не своими микрооптимизациями, а предлагаемой [новой; другой] парадигмой, X я брошу очень быстро. Конкретно Майкрософту хочется пожелать простоты и ортогональности в своём API (и не только в API на самом деле), а то в его дебрях можно сломать ногу так же легко как и в падежах баскского языка.

Date: 2004-08-13 02:20 pm (UTC)
From: [identity profile] s1m.livejournal.com
То, что IOCP связан с переключением потоков -- это основная идея, так-то. Ну и плюс унификация практически всего асинхронного IO. Насчет милиона сокетов не скажу, но вот 10,000 сконнектить еще не так давно было большой проблемой (http://www.kegel.com/c10k.html).

Если хотите, я могу на остальные вопросы по email-у ответить, а то дискуссия довольно далеко ушла от того, какой смысл вкладывается GNU-никами в понятие "mt-safe" :)

January 2026

S M T W T F S
    1 2 3
4 5 6 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 8th, 2026 01:50 pm
Powered by Dreamwidth Studios