Download Diapositiva 1

Document related concepts

GNU Hurd wikipedia , lookup

MINIX wikipedia , lookup

Open Sound System wikipedia , lookup

OCFS2 wikipedia , lookup

Controversia por la denominación GNU/Linux wikipedia , lookup

Transcript
Integrante: Yohandry Cueto
Carnet: #07-85781
Contenido
•
•
•
•
•
•
•
•
Kernel Linux
Limitaciones del Kernel Linux
Kernel Mach
Que es Hurd
Arquitectura
Ventajas
Distribuciones
Estado del Proyecto
Kernel Linux
•
•
•
Escrito en el año 1991 por Linus Torvald, basado en la
implementación UNIX de Andrew Tannenbaum llamada
Minix.
Consiste en un grupo de programas ejecutándose sobre el
kernel de Linux los cuales están escritas de forma portable
y basadas en el estándar de programación POSIX 1.
Linux contiene alrededor de 200 llamadas a sistema,
implementadas en un programa inmenso llamado Kernel.
Kernel Linux
•
Algunas de las llamadas de las cuales se hace cargo el
kernel de Linux:
• Interfáz del sistema de archivo (open, read, write,
mount,…)
• Manipulación de procesos (getpid, fork, exec,…)
• Manipulación de señales (sigaction)
• Pipes, sockets, Configuración de red.
• Políticas de planificación de procesos
• Memoria compartida e interfáz de semáforos
Kernel Linux
Limitaciones del Kernel de Linux
•
•
•
•
El código del kernel corre siempre con amplios privilegios
de superusuario
El ambiente del kernel es estático e inflexible
Cualquier cambio sobre la configuración del kernel está
reservada al superusuario
Cada cambio realizado al kernel requiere reiniciar el
sistema completamente
Kernel Mach
•
•
Mach es un kernel de sistema de operación desarrollado en
la Universidad Carnegie- Mellon (CMU) para soportar la
investigación de sistemas operativos, principalmente
computación distribuida y paralela.
Se desarrolló con la premisa de que todos los sistemas
operativos modernos comparten una serie de
características en común, o son deseadas si es que no las
tienen aún. Estas incluyen:
• Soporte Multitarea y Multiprocesadores (local o en red)
• Hilos
• Comunicación Interprocesos
• Protección y seguridad de memoria
Kernel Mach
•
•
Mach explora el concepto del Microkernel, en lugar de tener
todo el código en un sistema único, la mayoría del código
estaría ubicado en programas más pequeños conocidos
como servidores, los cuales se ejecutarían como cualquier
otro programa.
El trabajo del kernel se reduce a ser el sistema operativo,
mantener los servidores y programar su acceso al hardware
de la máquina.
¿Qué es HURD?
•
•
•
Hurd viene de “Hird of Unix-Replacing Daemons”. Y, “Hird”
viene de “Hurd of Interfaces Representing Depth”
El GNU/Hurd es el reemplazo del proyecto de GNU para el
núcleo de Unix. El Hurd es un conjunto de servidores, que
se ejecutan sobre un microkernel, y forman parte del
sistema operativo GNU. Ha sido diseñado con la intención
de arreglar muchos de los inconvenientes de Unix.
¿Cuáles son estos inconvenientes? Los límites arbitrarios
que impone al usuario: no se puede hacer demasiado sin
privilegios especiales.
¿Qué es HURD?
•
HURD actualmente corre sobre GNU Mach, el cual provee
los siguientes conceptos:
• Manejo virtual de memoria con una interfáz de
paginación externa.
• Planificacion de tareas y abastracción de hilos (Pero las
tareas son aun mucho menores que los procesos
POSIX).
• Comunicación interprocesos usando puertos Mach.
• Controladores de dispositivos.
¿Qué es HURD?
•
Mach no contiene ninguno de los siguientes aspectos:
• Un stack de red
• Manejo de señales
• Pipes, Sockets
• Procesos POSIX, grupo de procesos y grupo de
sesiones.
• Soporte de terminal
Arquitectura
•
•
Hurd ser erige encima de un microkernel responsable de
facilitar los servicios de kernel más básicos: coordinar el
acceso a hardware, al CPU mediante multiprocesos, a la
RAM mediante gestión de memoria y a otros dispositivos de
sondido, gráficos y almacenamiento.
Hurd consiste en múltiples servidores ejecutándose
simultáneamente. En lugar de que sólo un programa
enorme controle todos los aspectos de la máquina, en
Hurd, cada una de estas tareas son realizadas mediantes
servidores independientes.
Arquitectura
•
Los servidores de Hurd, implementan la funcionalidad que
usualmente es encontrada en el kernel de Unix mediante los
siguientes servidores:
• El proc server traduce una tarea Mach a un proceso Unix.
• El servidor de archivos implementa las operaciones de
archivos y directorio. Hay un servidor por cada sistema de
archivos montado.
• El stack de red está implementado por el servidor pfinet.
• Los Pipes y los sockets IPC estan implementados por el
servidor pflocal.
• La autenticación es manejada por el servidor auth.
• Otros servidores: term, symlink, exec, crash, etc.
Arquitectura
Ventajas
•
•
•
•
Es software libre
Es compatible
Es extensible
Es estable
Limitaciones
•
•
•
•
El tamaño máximo de una partición es de 2GB utilizando el
sistema de archivos ext2, esta restricción no existe con
Fat16
Los drivers de la versión actual de GNU Mach
corresponden con la versión 2.0 del kernel de Linux
El máximo de memoria aceptada es de 768 MB, si se
dispone de mayor cantidad es necesario usar la opcion
uppermem del GRUB
Aun no existe soporte para audio, PPP ni clientes DHCP
Distribuciones que usan HURD
•
•
•
Debian
Gentoo
Bee
Estado del Proyecto
•
GNU Hurd, junto con el microkernel de GNU Mach, la
biblioteca de C de GNU y los otros programas de GNU y
No-GNU, proporcionan un sistema operativo algo completo
y usable hoy. No esta listo para el uso de la producción,
pues todavía hay muchos bugs y características que faltan.
Sin embargo, debe ser una buena base para su desarrollo y
no una aplicación de uso crítico.
Preguntas