MINIX - Introduccion
MINIX - Introduccion
MINIX - Introduccion
Estructura de MINIX
Funciones de la Gestin de Procesos
Atrapar los fallos e interrupciones y transformarlos en mensajes
Estructura de MINIX
Transferencia de Mensajes
mini_send(), mini_rec() Verificacin de destino Verificacin de Areas de Memoria Verificacin de Bloqueos Copia fsica del mensaje ready(), unready()
Estructura de MINIX
Capa de Gestin de Entrada/Salida
TASKs Uno por cada tipo de Dispositivo
Estructura de MINIX
Capa de Servidores
File System Memory Manager
Networking
Secuencia de Booteo
Al encender el equipo, el hardware lee el primer sector de la primer pista del disco de booteo en la memoria y comienza a ejecutar el codigo que all se encuentra En un diskette es el programa bootstrap que luego carga el programa de booteo. En el Disco Rgido el primer sector contiene un pequeo programa y la Tabla de Particiones. Esto forma el Master Boot Record.
Secuencia de Booteo
ROM
1 sector del disco
BIOS
Masterboot y tabla de particiones
masterboot.s
Boot Block
bootblock.s
Directorio raiz
boot.c
Directorio: /minix
Secuencia de Booteo
Secuencia de Booteo
boot carga el kernel, el memory manager, el file system, y el programa init, que es el primer proceso de usuario (PID=1) Las 3 capas mas bajas ya se encuentran operativas. Se ejecuta init init lee el archivo /etc/ttytab y hace forks para nuevos procesos por cada terminal que pueda usarse como dispositivo de login.
Secuencia de Booteo
Normalmente, cada proceso es /usr/bin/getty, que imprime un mensaje a la espera del ingreso del nombre de usuario Luego se llama a /usr/bin/login con el nombre como primer argumento y este verifica la contrasea segn especifica /etc/passwd Despues del login, se ejecuta el proceso que se ha especificado en el /etc/passwd, usualmente una shell
IPC
Comunicacin con Mensajes (Rendevous)
send() receive() send_rec()
Planificacin de Procesos
Cuando un proceso se bloquea (unready()) esperando una E/S o un servicio, se puede ejecutar otro proceso. Cuando el requerimiento es satisfecho, el proceso bloquado se pone en estado LISTO (ready()). El reloj genera interrupciones peridicas. El kernel oculta las interrupciones transformandolas en transferencias de mensajes hacia las Tareas.
Planificacin de Procesos
En cada interrupcin o finalizacin de proceso, el kernel invoca al planificador (preemptive) MINIX utiliza 3 colas de prioridades
src/commands
Soporte de Red
Organizacin de Memoria
Mem available for user progs Ethernet task Printer task Terminal task Memory task Clock task Disk Task
129K, depending
Kernel
Unused Interrupt Vectors
2K
1K 0
Organizacin de Memoria
Limit of memory
Depending
2383K 2372K 1077K
File System
Memory Mgmr ReadOnly & I/O
1024K 640K
Interrupciones