Macrokernel/monokernel: cargamos todo el software de SO.
Microkernel: reducir el SO.
Proporciona un pequeño N° de servicios
Tiene un kernel pequeño y escalable
Alto grado de modularidad
Extensible, portable, escalable.
Se incrementa el nivel de comunicaciones entre módulos
Puede degradar el rendimiento del sistema
Fiasco, AIX,amigaos, Amoeba, beOS, brainix, coyotos,EROS, haiku, k42,l4, mach, nextstep, openstep, , osX, mert, minix,QNX,LSE/os(nanokernel, keyKOS(nanokernel.))
Nanokernel: el sistema Operativo debe ser una versión mucho más reducida.
Exokernel: un SO se interpone entre las aplicaciones y el hardware.
Elimina el concepto de abstracción sobre la cual corren las aplicaciones
Se asegura de multiplexar el hardware desnudo: atreves de primitivas de hardware, librerías a nivel de aplicación y servidores.
EJ. XOK con exos(librería SOS tipo Unix) de MIT, aegis, nemesis (cambridge)
El servidor cheetah se construye sobre XOK
Es escencialmente la extensión de la filosoia de la arquitectura RISC en cpu al nivel de SO
Objetivos de diseño del sistema
Objetivos de los ususarios que el SOsea adecuado para su uso, fácil de aprender, confiable, seguro,y rápido.
Objetivos del sistema- el sistema operativo debe ser fácil de diseñar, implementar, y mantener, de la misma forma quie sea flexible, confiable, libre de errores y eficiente.
Brown denning
Nivel | Nombre | Objeto | Ejemplo de operaciones |
13 | Shell | Ambiente de programación de usuario | Instrucciones de lenguaje Shell |
12 | Proceso de ususarios | Proceso de usuario, espacio direcciones | Quit, kill suspen resume |
11 | Directorios | Directorios de usuario | Create destroy attach detach |
10 | Dispositivos | Dispositivos externeo: impresoras pantalla, teclados | Open close read write |
9 | Sistema de archivos | Archivos | Create destroy open read , write |
8 | Comunicaciones | tuberias | Create destroy open read , write |
7 | Memoria virtual | Espacio de direcciones lógicas, segmentos, pagina | Read, write, fetch |
6 | Almacenamiento 2 | Bloques de dispositivos, canales de dispositivos | Read, write, fetch, allocate, free |
5 | Proceso primitivos | Procesos primitivos, semáforos, listas de listos | Suspend resume wait |
4 | Programa de manejo de interrupciones | Manejo de interrupciones, guardar contexto | |
3 | Procedimientos | Procedimiento llmadoa pila, presentación | |
2 | Conjunto de instrucciones de procesador | Evaluación de la pila, interpretador de microprograma, datos escalares y arreglos | |
1 | electronica de los circuitos. | registros compuertas buses etc. Adicionalmente se han escrito en asembler, ahora pueden ser escritos en lenguajes de alto nivel El código en alto nivel Puede ser más rápido. | |
Generación de sistema (SYSGEN)
Los SOS se diseñan para correr en cualquier clase de maquina; el sistema debe configurarse para cada computador especifico.
La CPU cambia de proceso a proceso
Cuando la CPU cambia a otro proceso, el sistema debe guardar el estado del proceso anterior y cargar el estado guardado del nuevo proceso.
La conmutación de contexto es trabajo extra, el sistema no realiza trabajo útil mientras conmuta depende en gran medida del apoyo del hardware
Cuando un proceso se está registrando ejecutando su estado reside en los registros del pc
Cuando no se está ejecutando su estado reside en la bcp.
El planificador de corto plazo o planificador de CPU selecciona que el proceso debe ser ejecutado enseguida y se le asigna la CPU. Bajo nivel, schudler/despachador es solicitado muy frecuentemente (milisegundo) (debe ser rápido).
El planificador de mediano plazo intermedio.
El planificador de largo plazo
O planificador de trabajos selecciona que l proceso debe ser traído a la cola de listos, es solicitado con poca frecuencia (segs, minutos) (puede ser lento).
Los procesos pueden ser descritos como:
Proceso limitados por E//S consume más tiempo realizando operaciones de E/s que cálculos, causan muchas ráfagas cortas a la CPU
Proceso limitados por CPU
Consumen más tiempo realizando cálculos, emplean pocas ráfagas fuertes a la cpu.
Creación de proceso
Los procesos padres crean hijos, los cuales crean otros proces conformado un árbol de proceso
Recursos compartidos
Los proceso padres e hijos comparten recursos
Los hijos comparten un subconjunto de los recursos del padre.
El padre y el hijo no comparten recursos.
Ejecución
El padre y el hijo se ejecutan concurrentemente.
Jerarquía de procesos
Grupos de procesos dependientes de cada Shell
Familia de proceso
Proceso hijo
Proceso padre
Proceso hermano
Proceso abuelo
Vida de u n proceso
Crea
Ejecuta
Muere o termina
Ejecución del proceso
Batch
Interactivo
Grupo de procesos
Procesos cooperativos.
procesos
definición: un programa en ejecución con el entorno asociado/ unidad de procesamiento gestionado por el SO.
Un proceso incluye
Un contador de programa
Pila
Sección de datos, código
Programa ente pasivo
Proceso ente activo.
Traza de procesos: listado de la secuencia de instrucciones quie se ejecutan para un proceso.
Diagramas de transición de estado.
Un proceso puede estar en varios estados:
No hay comentarios:
Publicar un comentario