Искусство совместного использования сосуществующих файлов в OpenSolaris

Искусство совместного использования сосуществующих файлов в OpenSolaris

Сегодня от любой ОС требуется поддержка двух основных в отрасли протоколов совместного доступа к файлам – NFS и CIFS.  Хотя уже реализованы такие пакеты,  как SAMBA, которые запускаются  "на" ОС в пользовательском пространстве, в идеале вам хотелось бы иметь оба протокола совместного доступа к файлам, чтобы запускать пакет частично "в" ядре.  Теперь, когда у OpenSolaris наряду с NFS есть сервер CIFS на базе ядра, я хочу воздать должное тем, кто сделал это реальностью. Имейте в виду, что реализация любого файлового протокола в любом ядре представляет определенную трудность.  Когда на уровне ядра вместе представлены и Windows, и OpenSolaris, есть возможность оценить сложность проблемы их сосуществования.  Сосуществование подразумевает, что код добавляется органично и что этот новый чужеродный объект не оказывает негативного влияния на службы.  Основные элементы, такие как файловая система, безопасность, права доступа, упаковка  и др., играют важную роль в превращении проблемы органичного сосуществования в интересную техническую задачу.  При этом команда OpenSolaris решила ряд крайне существенных технических задач, чтобы сделать сервер CIFS в OpenSolaris доступным для каждого.  Несмотря на мнение некоторых самоназванных экспертов, настаивающих на том, что никому не совершить такой подвиг, я укажу вам нескольких ребят, которые умеют сотрудничать, вводить новшества, а в некоторых случаях и диктовать, как сделать так, чтобы "все получилось". 
Вы можете увидеть своими глазами множество случаев, поддержанных и одобренных ARC (ок. 35), а также узнать подробности о том, как решались запутанные проблемы.  Вы можете послушать самих разработчиков и, поскольку OpenSolaris – открытый источник, ознакомиться с примерно 370 тысячами строк кода, которые теперь являются частью OpenSolaris. 
Давайте начнем с Майка Шапиро и Алана М. Райта.  Один из них – фанат Patriots и Red Sox (как и я), а другой обожает  регби (в отличие от меня… я люблю Patriots). 
Оба – инженеры высшего класса, которые с удовольствием занимаются разработкой и не покладая рук пишут новые коды… которые работают.  Майк и Алан решили огромную техническую проблему (да, сложные проблемы только пробуждают в них азарт), касающуюся "Unified POSIX and Windows Credentials for Solaris" ("Единообразный стандарт POSIX и учетные данные Windows для Solaris").  Майк подробно описал эту проблему в последних сообщениях своего блога
Алан, с помощью своего блога, раскрывает перед нами ход разработки – как полностью интегрированная служба CIFS была интегрирована в OpenSolaris.  Он очень большой знаток таких предметов, как совместный доступ с использованием протокола SMB и причины его развития.  Давайте не будем забывать об Афшин, Дугласе и Нико.  Все они также очень квалифицированы в вопросах полностью интегрированной службы CIFS в OpenSolaris , что не было просто случайным изменением.  Был тщательно проанализирован целый ряд требований к разработке с точки зрения будущей архитектуры.  Возьмите, например, порядок следования байтов.  Для протокола CIFS имеет значение порядок следования байтов, характерный для процессора x86.  Однако все старания были приложены для того, чтобы протокол CIFS в OpenSolaris смог работать на
обеих архитектурах – поддерживающих обратный порядок байтов и прямой порядок – за счет развития упаковки. 
Это означает, что сервер CIFS OpenSolaris будет запускаться на платформах на базе SPARC, если члены сообщества создадут устройство или просто запустят службу как часть универсального сервера.  Да, микропроцессоры Niagara-II и Rock работают, поскольку это часть согласования по архитектуре OpenSolaris.  Какая еще ОС с открытым кодом поддерживает службу CIFS на базе ядра, запускаемую на машинах как с прямым, так и с обратным порядком байтов?

The Art of Coexistant File Sharing in OpenSolaris in English

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s