minix

Páginas: 17 (4024 palabras) Publicado: 6 de abril de 2013
El núcleo de Minix I


Estructura interna de Minix ([Tanenbaum97], capítulo 2).
o

o
o

o

Microkérnel apoyado en procesos para tareas básicas comunicados
mediante paso de mensajes. Esta organización es más modular y
permite más fácilmente la distribución de funciones vía red.
 Opuesta a kérnel monolíticos
Escrito en C excepto la gestión de interrupciones que está escrita enensamblador.
Estructura en cuatro capas:

Kérnel: capas 1 y 2.
 Capa 1: interrupciones (hardware -externas,internas-,
software), cambio de contexto (guardar y restaurar registros),
planificación, gestión de mensajes. Este código se ejecuta
en el modo supervisor de la cpu.
 Capa 2: tareas de E/S (también llamadas manejadores de
E/S). Los procesos que realizan funciones básicas de gestióndel s.op. se llaman tareas. La tarea de sistema es un caso
especial y sirve para cuestiones que los procesos no pueden
realizar (por ejemplo, copiado entre zonas de memoria de
diferente nivel de protección). Las tareas tienen más
prioridad que los procesos al estar en ranuras especiales del
PCB. Sin embargo el procesador se encuentra en modo
usuario cuando son ejecutadas.

Se requiere unatarea por cada dispositivo de E/S
existente
Capa 3: tareas de gestión de memoria, archivos y red (procesos
servidores). Esta capa es el punto de entrada al sistema, el interfaz
con los procesos de usuario (interpretación de las llamadas al
sistema). Estos procesos se ejecutan con mayor prioridad que los de
usuario (capa 4) debido al algoritmo de planificación utilizado.
Capa 4: tarea init(el padre del resto de procesos de usuario) y
procesos de usuario.
Fichero image: formado por el núcleo más las tareas de las capas 2,
3 y 4 (menos los procesos de usuario, claro). Está todo junto aunque
al inicializarse MINIX se convierten en las diferentes tareas.
Privilegios: el kérnel es el de mayor nivel. Las tareas (aunque
realicen funciones básicas) tienen menor nivel de privilegio.Administración de memoria (mm) : fork, exec, brk, ...
Administración de archivos (fs): read, mount, chdir, ...


o

o
o

o
o
o


Organización, comunicación y planificación de
procesos ([Tanenbaum97], capítulo 2).
o

o

Árbol de procesos. Proceso inicial: init. Este proceso comienza su
ejecución una vez inicializados todos los servidores y tareas del
sistema.
El proceso init(/usr/src/tools/init.c) tiene, entre sus funciones, la de
gestionar la llegada de nuevos usuarios. El procedimiento es el
siguiente:







1. Ejecuta /etc/rc (usa fork() + execve())
2. Lee /etc/ttytab (usando la función getttyent()) y bifurca un
proceso (daemon) por cada entrada getty. Estos daemons
sirven para atender a los terminales. Se llaman getty y se
corresponden con elproceso /usr/bin/getty
(/usr/src/commands/simple/getty.c).
3. Las tareas getty imprimen un mensaje (login) y esperan la
recepción de un nombre.
4. Con ese nombre como argumento se invoca
a /usr/bin/login (/usr/src/commands/simple/login.c).
5. login comprueba /etc/passwd y permite, si todo va bien,
iniciar una sesión a un usuario. Para ello ejecuta /bin/ash o lo
que aparezca en el últimocampo de cada línea de
/etc/passwd.



6. El sh permite que se tecleen comandos y luego birfuca
(fork) al fichero que implementa cada uno de ellos.

o

EXEC (y fork): llamada al sistema que permite a un proceso
ejecutar un programa especificado (ver /usr/src/mm/forkexit.c y
/usr/src/mm/exec.c).
 Se le asigna una cantidad de memoria que está especificada
en la cabecera del ficheroejecutable.
 Tabla de procesos: almacena la información referente a cada
proceso.
 Dividida entre el kérnel (ver /usr/src/kernel/proc.h),
el administrador de memoria (ver
/usr/src/mm/mproc.h) y el de ficheros. Cada uno
tiene los campos que necesita.
 Cuando un proceso es creado o muere, el que se entera
es el administrador de memoria, el cuál realiza las
tareas necesarias y a...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Minix
  • Minix
  • Minix
  • Minix
  • Minix
  • Minix
  • MINIX
  • Minix

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS