El arte de compartir archivos coexistentes en OpenSolaris

En la actualidad, cualquier SO necesita poder admitir los dos protocolos de compartición de archivos predominantes en la industria (NFS y CIFS). Aunque haya buenas implementaciones, por ejemplo, SAMBA, que se ejecutan "sobre" el SO en el espacio del usuario, lo ideal sería poder tener ambos protocolos de compartición para ejecutar partes de la implementación "en" el kernel. Ahora que OpenSolaris tiene un servidor CIFS basado en kernel junto con NFS laterales, quiero mencionar a unas cuantas personas que lo hacen posible. Conviene tener en cuenta que implementar cualquier protocolo de archivos en cualquier kernel es una tarea difícil. Cuando Windows y OpenSolaris se introducen juntos en el nivel del kernel se pueden apreciar las complejidades ligadas a la coexistencia: incluir la advertencia que el código lleva añadida en un modo sin costuras y que los servicios no se vean afectados negativamente por este nuevo objeto extraño. El papel de los elementos fundamentales, como el sistema de archivos, administración de seguridad, permisos, ordenación, etc. es tan importante que convierte la coexistencia sin costuras en una montaña técnica que hay que escalar. Se ha dicho que el equipo OpenSolaris ha resuelto algunos problemas técnicos de cierta envergadura para que el Servidor CIFS de OpenSolaris pueda estar al alcance de todos. A pesar de que algunos que se autoproclaman expertos insisten en que tal hazaña no se lograría nunca, quiero destacar a unas cuantas personas que saben bien cómo colaborar, innovar y, en cierto modo, dictar las normas para "poder llevarlo adelante". Podrá comprobar personalmente los numerosos casos ARC (aproximadamente, unos 35) patrocinados y aprobados, así como algunos detalles más pormenorizados sobre los procedimientos seguidos para resolverlos. Podrá obtener información directamente de los propios desarrolladores y, puesto que OpenSolaris tiene código abierto, leer con detenimiento unas 370 mil líneas de códigos que ahora forman parte de OpenSolaris. Podemos empezar con Mike Shapiro y Alan M. Wright. Al igual que yo, uno de ellos es fan de los Patriots y los Red Sox y, a diferencia de mí… que me gustan los Patriots…, el otro es aficionado el rugby. Los dos son ingenieros del más alto nivel, capaces de construir y montar, con la máxima facilidad y eficacia, cantidades ingentes de códigos… que funcionan. Mike y Alan solventaron un enrevesado problema técnico (sí, justo ese tipo de huesos duros de roer que tanto les motiva) relacionado con "Unified POSIX and Window Credentials for Solaris (Credenciales POSIX unificado y Windows para Solaris)". Mike describe el problema con todo lujo de detalles en una reciente aportación a su blog personal. También Alan utiliza su blog para hacernos ver la evolución que un servicio CIFS totalmente integrado sigue para integrarse en OpenSolaris. Se vale de un lenguaje literario para explicarnos temas como el uso compartido de SMB autohome y las razones que han hecho posible su evolución. No debemos olvidarnos de Afshin, Doug y Nico. Todos ellos escriben bien y explican en detalle los "cómos" y los "porqués" para que un servicio CIFS totalmente integrado en OpenSolaris sea algo más que una manera complicada de ordenar el trabajo. Ha sido necesario revisar a fondo numerosos requisitos de diseño desde una perspectiva arquitectónica. Tomemos como ejemplo el criterio endianness. El protocolo CIFS es sensible al orden endiano de significancia del procesador x86. Se han extremado al máximo el cuidado con el que se activó el protocolo CIFS en OpenSolaris para que funcionase en ambas arquitecturas, big-endian y little-endian, poniendo la inteligencia al servicio del orden. Eso significa que el Servidor CIFS OpenSolaris podrá funcionar en una plataforma basada en SPARC si un miembro de la comunidad construyese un aparato, o sencillamente, ejecutara el servicio como parte de un servidor con fines generales. Sí, los microprocesadores Niagara-II y Rock funcionan como parte de una arquitectura OpenSolaris. ¿Qué otro SO de código abierto soporta un servicio CIFS basado en kernel que se ejecute tanto en máquinas endianas grandes como pequeñas?

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