The GNU Hurd Sistemas De Operaci´Onii

The GNU Hurd Sistemas De Operaci´Onii

The GNU Hurd Sistemas de Operaci´onII Sabrina Fern´andez & Manuel G´omez. Universidad Sim´onBol´ıvar. 23 de mayo de 2011 Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 1 / 19 Esquema 1 Conceptos B´asicos 2 Antecedentes Hist´oricos 3 Arquitectura 4 Curiosidades 5 Bibliograf´ıa Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 2 / 19 Conceptos B´asicos Conceptos B´asicos GNU: Es un proyecto de desarrollo de un Sistema Operativo totalmente libre que sigue la filosof´ıaUnix. Su meta es ofrecer un sistema completo, desde el n´ucleoa bajo nivel, hasta aplicaciones de usuario, ya sea en servidores, estaciones de trabajo, entre otros. Micron´ucleo: es un principio de dise~nopara un Sistema Operativo en el que se incluye la cantidad m´ınimanecesaria de funcionalidad en el n´ucleodel Sistema Operativo, delegando todo lo que se pueda a procesos proveedores de servicios de sistemas en espacio de usuario. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 3 / 19 Conceptos B´asicos Conceptos B´asicos Micron´ucleoGNU Mach: Es una implemetaci´onde Mach y el micron´ucleo oficial del proyecto GNU. Adem´asde esto, se considera a GNU Mach como una familia de micron´ucleos,con varias implementaciones, incluyendo los nucleos de OS X, varios BSD y el GNU Hurd. El mismo funciona ´unicamenteen arquitecturas Intel de 32 bits. Mach: Es un micron´ucleode primera generaci´on.Mach incluye espacios de direcciones virtuales en forma de tareas, contextos de ejecuci´onen forma de hilos, IPC (Comunicaci´onInter Proceso), capacidades en forma de puertos, y objetos de memoria, los cuales habilitan los mecanismos externos de Mach para paginaci´on. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 4 / 19 Conceptos B´asicos Conceptos B´asicos El GNU Hurd: Es un proyecto de GNU para remplazar el kernel de Unix. Es una colecci´onde servidores que corren sobre el micron´ucleo de Mach para implementar sistema de archivos, control de acceso a archivos, y otras funcionalidades que son implementadas por el n´ucleode Unix o por otros n´ucleos similares (como Linux). Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 5 / 19 Antecedentes Hist´oricos Antecedentes Hist´oricos En 1983 se crea el proyecto GNU por Richar Stallman como el fin de crear un sistema operativo completo y libre. Stallman lo describe como un n´ucleoprimitivo. En 1986 se conoci´oque TRIX era el n´ucleode GNU. TRIX es un sistema operativo compatible con UNIX versi´on7. Fu´edesarrollado en 1970 por el Laboratorio de Ciencias de la Computaci´ondel Instituto de Tecnolog´ıade Massachusetts (MIT). El n´ucleode TRIX usa RPC. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 6 / 19 Antecedentes Hist´oricos Antecedentes Hist´oricos La fundaci´onpara el Software Libre (FSF) informa en 1986 que comenzar´alos cambios sobre TRIX. Pero poco despu´escomienzan las negociaciones para desarrollar Mach. Esto har´ıaque Mach no solo fuese una mejora, sino tambi´enun trabajo totalmente nuevo. En 1988 Stallman anuncia que pondr´ael sistema de archivos Berkeley Sprite sobre Mach. Poco tiempo despu´es,considerando que el desarrollo de Mach pod´ıa no lograrse, la FSF declara que de no lograr Mach, usar´ıanTRIX o Berkeley Sprite. Sprite pasa de ser un simple sistema de archivos a tener opciones de n´ucleo completas. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 7 / 19 Antecedentes Hist´oricos Antecedentes Hist´oricos En enero de 1990 anuncian que no se est´adesarrollando ningun trabajo sobre n´ucleos,pues a´unquer´ıanusar Mach. Por un a~nono se supo m´as,hasta que en 1991 anuncian que a´unera de su interes un n´ucleo multi-procesos que pudiera correr sobre Mach. Los abogados de la CMU (Carnegie Mellon University) buscaban liberar a Mach con las condiciones de distribuci´onque les permitiera poder distribuirlo. De poder hacerlo y decidir distribuirlo, entonces comenzar´ıanel trabajo de desarrollo. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 8 / 19 Antecedentes Hist´oricos Antecedentes Hist´oricos CMU ten´ıaa su disposici´onen los mismos terminos que Mach un s´olo servidor parcial que emula UNIX llamado Poe. El mismo era lento y proporcionaba m´ınimasfuncionalidades. El plan era comenzar a extender Poe para que diera funcionalidad completa. Luego de esto, se esperaba tener un emulador modular dividido en m´ultiplesprocesos. Stallman explic´ola relaci´onentre el Hurd y Linux, donde se mencionaba que la FSF comenz´oa desarrollar el Hurd en 1990. A partir de noviembre de 1991, el Hurd (que se ejecuta sobre Mach) es el kernel oficial de GNU. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 9 / 19 Arquitectura Arquitectura El Hurd usa una arquitectura cliente servidor, construido sobre un micron´ucleoque es responsable de proveer el servicio m´asb´asicodel n´ucleo,esto es, coordinar los accesos al hardware de la siguiente forma: Al CPU a trav´esde manejo de procesos y scheduling. A la RAM a trav´esde manejo de memoria. A los dispositivos Entrada/Salida para sonido, gr´aficas, almacenamiento masivo, etc a trav´esde E/S scheduling. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 10 / 19 Arquitectura Arquitectura ¿C´omose eligi´oel micron´ucleo? El Hurd fu´edesarrollado para usar a Mach como micron´ucleo. Se escogi´oel micron´ucleoL4 y se hicieron avances como el manejador de memoria inicial, el funcionamiento del c´odigode inicio del proceso y se logr´oque los programas corrieran. Se intent´oque Coyotos reemplazara a EROS, sin embargo esto fracas´oy se comenz´oa desarrollar Viengoos como una alternativa. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 11 / 19 Arquitectura Arquitectura >Qu´ese logra con Hurd? Un proceso Hurd corre bajo un conjunto de ids de usuario, los cuales pueden contener m´ultiplesids, una o ninguna. Un proceso con suficientes privilegios puede a~nadiro quitar ids a otro proceso. Un programa adecuado puede designarse como un traductor de un archivo ´unicoo de una jerarqu´ıade directorios entera. Cada acceso al archivo traducido, o los archivos bajo la jerarqu´ıa,es manejado por el programa. Los traductores tambi´enpueden ser usados para proveer servicios al usuario. El Hurd necesita un gestor de arranque m´ultiplecomo GRUB. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 12 / 19 Arquitectura Arquitectura Arquitectura de los Servidores Existen 24 servidores en total, 18 servidores centrales y 6 servidores de sistema de archivos. Servidores de Sistema de Archivos ext2fs: Maneja los sistemas de archivos tipo ext2. isofs: Un servidor para sistemas de archivos tipo iso, usualmente usado para CDs. nfs: Sistema de archivos de red que hace soporte al sistema de archivos de red de Sun. ufs: Un servidor para sistemas de archivos del tipo ufs. ftpfs: Un servidor para sistemas de archivos del tipo ftp. storeio: Un traductor para dispositivos y otros almacenamientos. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 13 / 19 Arquitectura Arquitectura Servidores Centrales auth: El servidor de autenticaci´onpasa las credenciales cuando dos servidores que no conf´ıanentre s´ıse comunican. Cada servidor de autenticaci´onestablece un dominio de confianza. crash: El servidor de ca´ıdase activa cada vez que una tarea manda una se~nalde error grave. exec: El servidor de ejecuci´onmaneja la creaci´onde una nueva imagen de proceso. fifo: El traductor FIFO implementa pipes. new-fifo: Servidor alternativo para los pipes. firmlink: Un traductor de firmlinks. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 14 / 19 Arquitectura Arquitectura Servidores Centrales fwd: Env´ıalas peticiones a otro servidor. Es usado para coordinar otros servidores que encarg´andose de los diferentes nodos. hostmux: Un traductor para invocar traductores de servidores espec´ıficos. ifsock: Sirve para enganchar las direcciones de dominio Unix e implementa el API de sokets. init: Un servidor para los procedimientos de arranque del sistema y las configuraciones b´asicasde tiempo de ejecuci´on. magic: La b´usquedade Magic es b´asicamentepara los casos donde la b´usquedanecesita informaci´onque es parte del estado del proceso que realiza la llamada, y no parte del procedimiento de b´usqueda. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 15 / 19 Arquitectura Arquitectura Servidores Centrales null: Un servidor con mucho espacio libre y un incontable n´umerode ceros. pfinet: Un servidor para TCP/IP, que implementa la familia de protocolos de IPv4. pflocal: Implementa los sockets de dominio de UNIX. proc: El servidor de proceso asigna PID's y estructura de procesos a las tareas, y maneja las operaciones y todos los niveles de proceso. symlink: Servidor para enlaces simb´olicos. term: Implementa un terminal de POSIX. usermux: Un traductor para invocar traductores de usuarios espec´ıficos. Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 16 / 19 Arquitectura Arquitectura Distribuciones GNU Hurd Arch Hurd Bee GNU/Hurd Debian GNU/HURD Gentoo GNU Hurd (abandonado) GNU/Hurd Live CD Sabrina Fern´andez& Manuel G´omez. (USB) The GNU Hurd 23 de mayo de 2011 17 / 19 Curiosidades Curiosidades Hurd es un acr´onimorecursivo doble que significa Hird of Unix-Replacing Daemons (Manada de Sustituci´onUNIX de Demonios), y Hird significa Hurd of Interfaces Representing Depth (Manada de Interfaces de Representaci´onde Profundidad).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    19 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us