> А что мешает сделать LSW?
> То есть ядро Linux обрабатывает вызовы ядра, а остальное - из windows.Во-первых, мешает отсутствие стабильного API системных вызовов (в смысле syscall) у NT. Т.е. от версии к версии (даже внутри одного релиза ОС от сборки к сборке может меняться) интерфейс именно ядра весьма меняется, так что напрямую его не принято дёргать, а только через низкоуровневые библиотеки (которые всегда поставляются с ядром и предоставляют уже стабильный API). И на низкоуровневый API ядра нет (публично доступной) документации.
А если перехватывать и обрабатывать не системные вызовы, а вызовы библиотек, то получается WINE, который уже есть и который (в силу объёма API, предоставляемого этими библиотеками, да ещё и необходимости в совместимости на уровне багов и недокументированных особенностей) реализовать в полном объёме куда сложнее, чем обработку системных вызовов.
> И можно запустить Windows под Linux, но не переписывать библиотеки, а использовать
> все родные через эту прослойку.
Во-вторых, лицензия на эти библиотеки требует наличия действующей лицензии на соответствующую версию операционки от MS. А если таковая лицензия есть, то какой смысл в таковой подсистеме? Так что приходится именно переписывать, а не использовать родные.
А так-то можешь поискать про эксперименты по использованию WINE и ReactOS с выдранными из дистра винды библиотеками, улучшение получалось заметное. Но распространять продукт на основе этого нельзя (да и в личных целях пользоваться тоже может быть чревато), так что остаётся только переписывание.