попали глаза на книжку «Джеффри РИХТЕР „Windows для профессионалов“, глава 12 - Волокна(fibers)
в начале главы такое:
Microsoft добавила в Windows поддержку волокон (fibers), чтобы упростить порти рование (перенос) существующих серверных приложений из UNIX в Windows C точ ки зрения терминологии, принятой BWindows, такие серверные приложения следует считать однопоточпыми, но способными обслуживать множество клиентов. Иначе говоря, разработчики UNIX-приложений создали свою библиотскудля организации многопоючности и с ее помощью эмулируют истинные потоки. Она создает набор стеков, сохраняет определенные регистры процессора и переключает контексты при обслуживании клиентских запросов.
Разумеется, чтобы добиться большей производительности от таких UNIX-прило жений, их следует перепроектировать, заменив библиотеку, эмулирующую потоки, на настоящие потоки, используемые в Windows. Ho переработка может занять несколь ко месяцев, и поэтому компании сначала просто переносят существующий UNIX-код в Windows — это позволяет быстро предложить новый продук на рынке Windows приложений.
Но при переносе UNIX-программ в Windows могут возникнуть проблемы В част ности, механизм управления стеком потока в Windows куда сложнее простого выде ления памяти. В Windows стеки начинают работать, располагая сравнительно малым объемом физической памяти, и растут по мере необходимости (об этом я расскажу в разделе «Стек потока» главы l6). Перенос усложняется и наличием механизма струк турной обработки исключений (см. главы 23, 24 и 25).
Стремясь помочь быстрее (и с меньшим числом ошибок) переносить UNIX-код в Windows, Microsoft добавила в операционную систему механизм поддержки волокон. В этой главе мы рассмотрим концепцию волокон и функции, предназначенные для операций с ними. Кроме того, я покажу, как эффективнее работать с такими функци ями. Но, конечно, при разработке новых приложений следует использовать настоя щие потоки
о чем тут речь? какое же юникс-приложение было столь необходимо виндовсам, что виндовсы под него подстраивали свое ядро? и кто такие волокна(fibers) в линуксах, где они используются, где можно увидеть их использование, и для чего они нужны?
спасибо.