LINUX.ORG.RU

Китайская компания добавляет вызовы WIN32API в ядро ОС Линукс

 ,


0

0

Четвертого февраля китайская компания выпустила версию 0.2.1 проекта Linux Unified Kernel. Этот проект призван добавить в ядро ОС Linux системные вызовы WINAPI с целью упростить такие задачи, как: управление нитями и процессами, объектами, памятью и задачами синхронизации.

Релиз состоит из модуля ядра, патча для wine (версии 0.9.40) и патча для ядра (2.6.23). В качестве поддерживаемых windows-приложений заявлены:

Microsoft Office 2000 (Word, Excel, PowerPoint)
Securecrt 5.0
Dream Weaver 8
WinRar
Acrobat Reader 5

Сайт проекта на родном языке: http://linux.insigma.com.cn/

>>> Подробности на английском

★★★★★

Проверено: maxcom ()
Ответ на: комментарий от Windows-user

> Ну пусть тогда директорию с конфигами сделают одну, а то конфиги непонятно где, как "etc" переводится, "конфиги" или "прочее"?

Кури матчасть FHS. etc = Essential Text Configs

anonymous
()
Ответ на: комментарий от AVL2

> потому что это фактически цикл в системном вызове.

Какой еще нафиг цикл?! WaitFor*, wait(), select() для того и используются, чтобы исключить циклический опрос состояния: изменяется состояние объекта и _ядро_ будит замороженный процесс.

> В z80 тоже были отсутствующие у интела инструкции по блочной пересылке данных.

Это ты про x86 rep movs которого нет?

anonymous
()
Ответ на: комментарий от anonymous

>>Дабы понять, почему один конфигурационный файл удобнее кучи мелких файликов по всей фс.

>и этим примером, ты хочешь попытаться доказать что реестр рулит? ты довано из психушки сбежал?

Ты базу данных в текстовых файликах хранишь? И запросы в виде grep|awk делаешь? Или все-таки используешь СУБД pstgres/mysql/oracle/db2? Реестр это и есть СУБД для работы с конфигурационными данными. Идея хорошая реализация не очень.

anonymous
()

Судя по количеству негодующих высказываний в данном треде вещь нужная и важная.

eXOR ★★★★★
()
Ответ на: комментарий от eXOR

> Судя по количеству негодующих высказываний в данном треде вещь нужная и важная.

:-) +1

но надо посмотреть что на это скажут ребята из wine.

dmiceman ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> Какой еще нафиг цикл?! WaitFor*, ... и _ядро_ будит замороженный процесс.

Вот вот а в ядре чей цикл? :-D Не надо нервничать, да в ядре Windows полный перебор (без предварительной сортировки естественно) является базовым методом работы с дескрипторами.

alx_me ★★☆
()
Ответ на: комментарий от Windows-user

>> ЛОЛ

>Имеется в виду ситуация с постоянным придумыванием различных заплаток патчей, как правильно сказали выше надо всем вместе делать WINE а не выпендриваться своими разработками, метод базара хорош, но ведь и на базаре тоже надо скооперироваться а не кричать всем на свой лад. Что мешало китайцам помочь другим, а не неачинать что-то свое?

Берется упругий и плоский предмет типа стена, берется круглый и тупой предмет типа виндовс-юзер, разгоняются до 1й косимческой по направлению к друг другу.............

итого: все счастливы

anonymous
()
Ответ на: комментарий от anonymous

> Ты базу данных в текстовых файликах хранишь? И запросы в виде grep|awk делаешь? Или все-таки используешь СУБД pstgres/mysql/oracle/db2? Реестр это и есть СУБД для работы с конфигурационными данными. Идея хорошая реализация не очень.

Подмена понятий. Перечислены реляционные субд, а для храненить текстовые конфиги в реляционной базе данных - не факт, что хорошая идея.

skwish ★★
()
Ответ на: комментарий от anonymfus

>http://en.wikipedia.org/wiki/Interix

aka Microsoft STFU (services fur unixen). К нему еще надо патчем ставить Linux TITS OR GTFO :))

>Если я правильно понял, то в висту ультимейт/энтерпрайз оно включено.

нет, там устанавливается stub, в котором предлагают скачать 300..800 Мб по ссылке с оффсайта. Включено в W2K3 R2 (именно в R2). Тот же цыгвин, только без эмуляции, нормальной подсистемой.

anonymous
()
Ответ на: комментарий от dmiceman

> NtCreateSemaphore, NtCreateMutant, NtQueueApcThread, NtCreateEvent, NtCreateFile, NtCreateDirectoryObject, и т.д.

NtCreateMutantKadavreBlob(LPVOID everyting, LPARAM pampam, LPVOID blobAnotherParamJustInCase, BOOL Semaphore, BOOL QueueApcThread, BOOL Event, BOOL File, BOOL DirectoryObject, ... )

anonymous
()
Ответ на: комментарий от skwish

> POSIX.

однопоточные синхронные сисколлы?

> Небольшие отклонения в расчет не берем. Как видишь, с помощью POSIX реализуются Xlib, а за ним gtk/qt, а за ними gnome/kde. А насколько `хорош` Win32 отлично говорят устаревшие его функции и количество добавленных новых от версии к версии

Насколько "хорош" X Window говорят количество видеоплейеров/прочего монтажного софта, игрушек, прочей мультимедии. Есть xv, для видеооверлеев, есть прочите расширения, да.

Но игрушки поверх Х11, сама концепция "графического терминала" , GUI поверх Tcp/ip -- становится избыточно тяжелым для этого конкретного применения. Там надо что-то лёгкое, простое, как в BeOS API или API в Plan 9 (тоже кстати "графический терминал", но насколько просто и прозрачно он там сделан)

> Разве графические приложения на чистом Win32 пишите? Это только для обучения полезно, для продакшена - это сразу убиться об стену.

причем это осознало и само MS со своими обёртками MFC.

anonymous
()
Ответ на: комментарий от Windows-user

>> А вот этого нам точно не надо...

>А что вам название не нравиться, или метод "все настройки в одном файле"?

метод неправильный

> Может вам больше нравиться "каждя запись в тысячах небольших конфигурационных файликах"?

метод правильный. Почему -- данные более ортогональны.

1. Отсутствует "общая точка сбоя" в системе. Настройки "тысяч небольших конфиг. файликов" ортогональны друг другу (ну не все, да, с точностью до категории, примерно как USE флаги и категории пакетов в Генте). Зацепление между "модулями" системы (зависимости по файлов данных отдельных пакетов-программок) -- минимально, когда они в отдельных файликов (хотя тот факт что настройки в разных пакетах могут быть связаны означает что нужны changesetы, атомарные коммиты, а не на уровне отдельных файлов как в RCS/CVS).

когда все настройки в одном месте есть вероятность что например, установка/снос VmWare и сниффера в "неправильном" порядке пропишет в систему драйвера сетевой карты, и снесёт потом не свою часть. man winsock layer проблемы в винде, hijack pro, etc.

2. файлики текстовые, откомментированные, со значениями по умолчанию. Они прозрачны для чтения и понимания человеком или скриптом. Читать Эрика Реймонда "Art of unix programming", главу про метаданные приложения и почему прозрачность формата, текстовость -- важно. Он вообще в fetchmail сделал конфиги на естественном английском.

3. можно хранить в VCS каком-нибудь, сливать разные конфиги простыми патчами. Для реестра есть .reg-файлы, да, нет универсального механизма "патченья", потому что настройки приложения завязаны на другие системные настройки в реестре. Попробуй например, переставить винт на другую материнку, а потом поправить реестр так, чтобы загрузиться -- это придётся ручками извращаться.

anonymous
()
Ответ на: комментарий от skwish

> А почему такое огромное количество чистилок реестра? Не потому ли, что оно разрастается и тормозит систему?

то, что Джоэль Сполски называет "алгоритмом маляраа Шлемиля".

" - Почему красить стали медленнее? - С каждым разом я с кисточкой ухожу всё дальше от бочки с краской"

другой пример: ScrapBook в Firefox. Список страничек хранится в scrapbook.rdf, который разрастается со временем всё больше, операции вроде поиска или "переложить страничку в другую категорию" затрагивают изменение этого большого файла.

anonymous
()
Ответ на: комментарий от KUser

>А в чём преимущество этого механизма по сравнению с конфигами? >Недостатки у него есть: >1 нужен специальный механизм доступа к реестру

причём отсутствует унифицированный интерфейс обработки настроек разных приложений. Каждое приложение может писать куда ему вздумается, чем обеспечивается целостность кроме доброй воли -- непонятно.

anonymous
()
Ответ на: комментарий от skwish

> NT5.2 NT4 - какая между ними разница не совсем понятна

потому что к ним слетали лоровцы на машине времени и убедили не называть NT 4.2 ))

anonymous
()
Ответ на: комментарий от gaux

>>Linux - микроядро,

"нифига себе басню сократили"

>Это называется экзоядром и это возможно:)

экзоядро = немного другое, не путайте. Это когда "нано-фемто-пико" ядро управляет просто ресурсами в общем виде, а уровень абстракции этих ресурсов, что именно, память/страницы/процессы, данные/объекты/файлы/разделы, и т.п. -- определяется на уровне библиотеки, libOS. Экзоядро безопасно выделяет просто ресурсы, а libOS уже определяет, файлы это или объекты, и отображает их в требуемое API "ОС", т.е. POSIX/Linux или Win32/Windows.

anonymous
()
Ответ на: комментарий от anonymous

> man winsock layer проблемы в винде, hijack pro, etc.

LSPfix, точнее. Ставятся в winsock "обработчки протоколов", обычно туда пишутся снифферы/файрволы или спайвари. при сносе в неправильном порядке рушится вся цепочка, пинги могут работать, а HTTP -- нет.

anonymous
()
Ответ на: комментарий от r

> А по моему замечательно. Будет чтото типа classic под osx?

скорее выйдет г-но как Darwin/XNU = BSD + mach. Лучше бы гипервизор нарисовали, и ядра под ними, как L4/Linux под L4.

anonymous
()
Ответ на: комментарий от anonymous

>>>Linux - микроядро, > "нифига себе басню сократили"

Не вырезайте, пожалуйста из контекста. А то люди, читающие не сначала могут это неправильно воспринять.

skwish ★★
()
Ответ на: комментарий от skwish

ээ, и правда: =))

у нас декан на дискретке по этому поводу говорил: "переобозначив фи за кси, а кси за фи, докажем теорему" :))

anonymous
()
Ответ на: комментарий от anonymous

> Ты базу данных в текстовых файликах хранишь?

Ну не на перфокартах.

> И запросы в виде grep|awk делаешь?

А почему бы и нет?

> Или все-таки используешь СУБД pstgres/mysql/oracle/db2?

А ты в курсе различий между БД и СУБД? Иди учи матчасть, ламо.

> Реестр это и есть СУБД для работы с конфигурационными данными. Идея хорошая реализация не очень.

Реестр - это не СУБД, потому что контроля целосности в нём нет, небыло и не будет. Потому что если и будет, то это будет так охерительно тормозить, что потребуется такой же сервак, на котором обычно крутятся твои любимые pstgres/mysql/oracle/db2.

anonymous
()
Ответ на: комментарий от anonymous

> Эрика Реймонда "Art of unix programming"

Есть кстати переводной вариант. "Искусство программирования для UNIX" называется.

anonymous
()
Ответ на: комментарий от anonymous

Продолжая хаять китайцев. Они настолько привыкли к ядру ворованного оффтопника что не справившись с линуксом решили интегрировать его с оффтопником чтобы сидеть на открытой OS и работать с закрытыми приложениями. За ногу их...

dkharlamov
()
Ответ на: комментарий от skwish

> skwish * (*) (18.02.2008 10:31:36)

> POSIX системные вызовы транслировались в NativeAPI ядра NT. Но по некоторым сведениям реализация глючила и была не полной. Делалось это, видимо, потому как стандарту POSIX должен удовлетворять софт для некоторых специфичных и вкусных гос структур в сша.

Да, благодаря данной подсистеме WinNT была формально признана открытой системой (не в нынешнем понятии этого слова).

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

> Кури матчасть FHS. etc = Essential Text Configs

Помимо конфигов там ишо скрипты автозапуска есть :)

Windows-user
()
Ответ на: комментарий от anonymous

> Реестр - это не СУБД, потому что контроля целосности в нём нет, небыло и не будет. Потому что если и будет, то это будет так охерительно тормозить, что потребуется такой же сервак, на котором обычно крутятся твои любимые pstgres/mysql/oracle/db2.

Согласен, кроме того добавлю, что реестр - это иерархичное хранение данных, а контроля целостности нормального я там не видел (особо в данную область никогда не углублялся, поэтому могу ошибаться, но в данный момент убежден, что такого нет). Да и к тому же иерархическая модель легким движением руки может превратиться в сетевую. Поэтому сейчас все распространенные СУБД работают только с реляционными базами.

skwish ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.