Sistemas Operativos Avanzados SOLARIS Integrantes: Fernández Martínez Maribel Sánchez Benavidez Erendira Serna Rangel Iván SOLARIS § § En los 80’s incremento la demanda de capacidad de procesamiento, en respuesta se desarrollaron sistemas que soportaran multiprocesadores compartiendo memoria e infraestructura de Entrada/Salida de datos. SunOS 4.1 apareció implementando multiprocesadores asimétricos: el kernel corría sobre uno, mientras los procesos se podían repartir en cualquier procesador disponible. Solaris 1.X como ambiente operativo. 1 SOLARIS § Multiprocesadores simétricos § Multiplataforma § Kernel modular § Multi-threading § Multi-scheduler § Multi-FS § Memoria Virtual en capas § Networking SOLARIS PRINCIPALES CARACTERISTICAS § § § § § Interfaz de llamada al sistema Ejecución de procesos y scheduling Manejo de memoria VFS Networking 2 memoria SOLARIS Solaris cuenta con un sistema de memoria virtual: § Administra el mapeo de la memoria virtual y física. § Optimiza el rendimiento de ‘swapping’ de memoria en dispositivos de almacenamiento primario y secundario. § Soporta que múltiples usuarios compartan el mismo proceso garantizando la seguridad e integridad de los datos. 3 SOLARIS § El MMU se encarga a administración de la memoria virtual y HAT se encarga de la conversión de direcciones de memoria. SOLARIS § PAGINAS: Unidad Básica de la Memoria de Solaris § La estructura página es la misma sin importar plataformas o estructuras específicas de la máquina 4 SOLARIS § Tamaño de PAGINA El kernel de Solaris utiliza un tamaño de página que varía según el hardware: para UltraSPARC y más el tamaño es de 8 Kbytes. Sistema Solaris 2.x Tamaño de Página Early SPARC systems 4K microSPARC-I, -II 4K SuperSPARC-I, -II 4K, 4M UltraSPARC-I, -II 8K, 4M Intel x86 4K, 4M procesos 5 SOLARIS • El kernel mantiene una tabla de procesos. • Cada proceso en el espacio de direcciones tiene un lightweight process (LWP) y un kernel thread, esto es posible ya que la estructura de datos del kernel esta ligada a la estructura del proceso. • El LWP mantiene un control sobre el contexto del proceso. SOLARIS • Estructura del proceso Título de columna Significado ID ID de proceso Nombre Nombre de proceso Propietario Nombre del propietario CPU% Relación del tiempo de CPU utilizado recientemente con respecto al tiempo disponible en ese periodo, expresada como un porcentaje RAM Cantidad de memoria RAM ocupada por este proceso Interc Tamaño total en la memoria virtual Iniciado Hora de inicio (o fecha, si es distinta de la vigente) Padre ID de proceso del proceso superior o PPID Comando Comando de UNIX (truncado) que se está ejecutando 6 SOLARIS • Esta provee un marco de trabajo para la creación y administración del proceso • Los hilos pertenecientes a un proceso pueden estar en varios estados (corriendo, durmiendo, zombi, terminado, listo, nuevo). • Cada proceso tiene un proceso padre y puede tener procesos hijos. • El kernel crea varios grupos de procesos los cuales tienen una relación en común o los mismos ancestros, las sesiones contiene varios grupos, el primer proceso se convierte en el lider del grupo. SOLARIS Señales • Las señales le avisan a un proceso o hilo cuando un evento a ocurrido. • Las señales pueden ocurrir, de manera sincrona o asincrona, las señales sincronas ocurren como resultado directo de la ejecución de una instrucción invalida, las asincronas son externas a la ejecución del programa, cada señal tiene un nombre, son clasificadas de la siguiente manera: • • • • Exit.- termina el proceso Core.- crea una imagen del proceso y lo termina. Stop.- suspende la ejecución del proceso. Ignore.-descarta la señal. 7 scheduling SOLARIS • El scheduler coloca prioridades a los procesos basandose en parametros configurados, comportamiento del proceso, y solicitudes de usuario. Prioridades 169 160 Interrupt 159 100 Real time 99 60 System 59 0 Time-sharing Interactive 8 SOLARIS Clases de Scheduling: • • • • • • Time-Sharing System Real-time Interactive Fair-Share Fixed-Priority SOLARIS Dispatch Tables 9 SOLARIS Atención a los procesos • Se hace por medio de una lista ligada de procesos • Cuando un proceso de mayor prioridad requiera ser ejecutado el proceso que esta corriendo en ese momento es preparado para ceder el turno • (process pre-emption) • Kernel Priority inversion 10