Minix

Solo disponible en BuenasTareas
  • Páginas : 6 (1264 palabras )
  • Descarga(s) : 7
  • Publicado : 28 de agosto de 2010
Leer documento completo
Vista previa del texto
Ejemplo de sistema operativo estructurado en capas

2.5

ESBOZO DE LOS PROCESOS EN MINIX

Habiendo completado nuestro estudio de los principios de la gestión de procesos, comunicación entre procesos y planificación, vamos a echar una mirada a como se aplican en MINIX. De forma diferente que en UNIX, cuyo núcleo es un programa monolítico que no está descompuesto en módulos, MINIX es él mismouna colección de procesos que se comunican entre si y con los procesos de usuario utilizando una única primitiva de comunicación entre procesos –paso de mensajes. Este diseño proporciona una estructura más modular y flexible, haciendo fácil, por ejemplo, sustituir el sistema de ficheros entero por otro completamente diferente, sin tener ni que recompilar el núcleo. 2.5.1

La Estructura Internade MINIX

Vamos a comenzar nuestro estudio de MINIX inspeccionando a vista de pájaro el sistema. MINIX está estructurado en cuatro capas, con cada capa realizando una función bien definida. Las cuatro capas se ilustran en la Figura 2-26.
Procesos de usuario Procesos servidores Tareas E/S Init Proceso de usuario Proceso de usuario Proceso de usuario

…….

N4 N3 N2 N1

Gestor de memoriaTarea de tty Tarea de reloj

Gestor de ficheros Tarea del sistema

Tarea de disco

…….

Gestión de procesos

Núcleo (kernel)
Figura 2-26. MINIX está estructurado en cuatro capas. La capa del fondo captura todas las interrupciones y traps, realiza la planificación, y proporciona a las capas superiores un modelo de procesos secuenciales independientes que se comunican mediante mensajes. Elcódigo de esta capa tiene dos funciones principales. La primera es capturar los traps y las interrupciones, salvar y restaurar los registros, planificar, y hacer todo lo demás que se necesita para conseguir que funcione realmente la abstracción de los procesos que se proporciona a las capas superiores. La segunda es manejar la mecánica de los mensajes; comprobando la legalidad de sus destinatarios,localizando los búferes de las operaciones de enviar y recibir en la memoria, y copiando los bytes desde el emisor al receptor. Esa parte de la capa que trata el nivel inferior del manejo de las interrupciones está escrito en lenguaje ensamblador. El resto de la capa y todas las capas superiores, están escritas en C. La capa 2 contiene los procesos de E/S, uno por tipo de dispositivo. Paradistinguirlos de los procesos de usuario ordinarios, vamos a llamarlos tareas, pero las diferencias entre las tareas y los procesos son mínimas. En numerosos sistemas las tareas de E/S se denominan drivers de dispositivos; vamos a utilizar los términos “tarea” y “driver de dispositivo” de forma intercambiable. Es necesaria una tarea por cada tipo de dispositivo, incluyendo discos, impresoras, terminales,interfaces de red y relojes. Si hay otros dispositivos presentes, es necesaria una nueva tarea para cada uno de ellos. Una tarea, la tarea del sistema, es un poco diferente, ya que no corresponde a ningún dispositivo de E/S. Vamos a analizar las tareas en el siguiente capítulo.

1

Todas las tareas de la capa 2 y todo el código en la capa 1 están enlazados juntos en un único programa binariodenominado el núcleo. Algunas de las tareas comparten subrutinas comunes, pero de otra manera son independientes unas de otras, se planifican independientemente, y se comunican utilizando mensajes. Los procesadores de Intel comenzando con el 286 asignan uno de sus cuatro niveles de privilegio a cada proceso. Aunque las tareas y el núcleo están compiladas juntas, cuando el núcleo y las rutinas detratamiento de las interrupciones están ejecutándose tienen más privilegios que las tareas. Entonces el verdadero código del núcleo puede acceder a cualquier parte de la memoria y a cualquier registro del procesador – esencialmente, el núcleo puede ejecutar cualquier instrucción utilizando datos de cualquier sitio dentro del sistema. Las tareas no pueden ejecutar todas las instrucciones a nivel...
tracking img