MINIX - Introduccion

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 18

Estructura de MINIX

Microkernel Estructura en 4 Capas


Gestin de Procesos Tareas de E/S Procesos Servidores Procesos de Usuario

Estructura de MINIX
Funciones de la Gestin de Procesos
Atrapar los fallos e interrupciones y transformarlos en mensajes

Salvar y Restaurar el estado de los procesos


Planificacin Realizar Transferencias de 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

Tarea del Sistema (ej: copiar datos)


(Kernel + TASKs ) linkeditados en un nico programa binario.

Estructura de MINIX
Capa de Servidores
File System Memory Manager

Networking

Provisin de Servicios a Procesos de Usuario Menos Privilegios

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

1 sector de la particin activa

Boot Block

bootblock.s

Directorio raiz

Boot Monitor (boot secundario) Minix: Kernel, MM, FS, init

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

Las Tareas y Servidores no tienen Time-slice.

Organizacin del Cdigo


/usr/include/ sys/ POSIX headers minix/headers del Sistema Operativo ibm/ definiciones especficas para IBM PC /usr/src/ kernel/ Capas 1 y 2 (procesos, mensajes, drivers) mm/ Memory Manager fs File System

Organizacin del Cdigo


src/lib src/tools src/boot src/inet Procedimientos de Bibliotecas Programa init Booteo e instalacin de MINIX Comandos

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

Memory Available for user Programs


Init Inet task

Depending
2383K 2372K 1077K

File System
Memory Mgmr ReadOnly & I/O

1024K 640K

Interrupciones

También podría gustarte