Kernel y shell tipos
-
Upload
pablo-macon -
Category
Education
-
view
334 -
download
1
Transcript of Kernel y shell tipos
DEFINICIÓN DE SISTEMA OPERATIVOUna serie de programas trabajando en conjunto (sistema) en modo supervisor (administrador o kernel), con la finalidad de proporcionar a los programadores de aplicaciones (y a los usuarios de programas de aplicaciones) un conjunto abstracto de recursos simples, en vez de complejos conjuntos de hardware y administrar estos recursos en el tiempo y en el espacio
KERNEL (NÚCLEO)El Software más importante del Sistema Operativo, que está en contacto directo con el Hardware, a través de los controladores (drivers) de dispositivos y que cumple con estas tareas:
FUNCIONES DEL KERNELFacilitar el acceso seguro al Harware
Planificar el uso del CPU
Administrar la memoria
SHELLEs el intérprete de comandosUna capa de software que está entre el usuario, las aplicaciones y el Kernel.Facilita el acceso a las funciones del núcleoPersonalizable y Programable
SHELL MODO GRÁFICOWindows Shell: XP: Luna – Royale Vista: Aero W7: Pizarra – Plex W8: Metro o Modern UI
SHELL MODO GRÁFICOLinux Shell: Cada Distribución trae su propia GUI Pero cada persona es libre de instalar otra si esa no le convence
SHELL MODO TEXTOEn DOS tenemos command.com
En Linux tenemos Bash, Csh, KornShell, Ash, Bourne Shell, etc
Un compilador está al tope de la cola de listos, con máxima prioridad, ha estado esperando recibir tiempo de procesador mientras otros procesos se ejecutaban, finalmente recibe su turno para ejecutarse, pero apenas unos milisegundos después de que empezó es expulsado del procesador porque llegó una interrupción por un proceso que estaba esperando E/S, así que tiene que volver a esperar. ¿Quién decide qué proceso se va a ejecutar?
Un usuario (que no es administrador del sistema) decide ver los archivos que hay en su carpeta, por lo que hace doble click en el directorio correspondiente. ¿quién le muestra sus archivos?
Las computadoras modernas tienen varios niveles de memorias, hay de varios tipos, entre ellos las hay volátiles (se borran cuando se corta el suministro eléctrico) y las no volátiles (por ejemplo las memorias flash). Las que son volátiles son además escasas y los procesos compiten por tener el máximo de memoria disponible. En este momento hay 4 procesos corriendo al mismo tiempo y alguien tiene que dividir la memoria RAM. ¿quién lo hace?
Un usuario, decide instalar un programa nuevo, en Linux, los programas se guardan en un directorio que se llama /opt, al cual solo tienen acceso los administradores. Pero debe hacerlo en las 25 máquinas del laboratorio. Para eso utiliza un Shell script que el mismo escribió y que automatiza la tarea ¿ese programa corre sobre la Shell o sobre el Kernel?
ESTRUCTURA DEL KERNELLos sistemas operativos y sus núcleos han ido evolucionando a lo largo de todos estos añosLa manera en que se construyen y se reparten entre sus componentes las diferentes funciones que deben cumplir nos proporciona una clasificación que vamos a estudiar hoyLos núcleos pueden ser:
• Monolíticos• Micronúcleos
• Híbridos• Exonúcleos
NÚCLEO MONOLÍTICO• Una colección de procedimientos enlazados en un solo programa
binario ejecutable y muy extenso• Cada procedimiento (función) del sistema tiene la libertad de
llamar a cualquier otro procedimiento del sistema• Las llamadas no tienen restricciones• Son sistemas poco manejables• Son sistemas poco comprensibles
NÚCLEO MONOLÍTICO• Todos los procedimientos y archivos se compilan en un solo
archivo ejecutable.• Todos los procedimientos y variables son visibles para todo el
mundo.• No hay ocultamiento de la información (programación orientada a
objetos)• Se utilizan instrucciones TRAPS para reconocer llamadas al
sistema
NÚCLEO MONOLÍTICO• Una mejora en los núcleos monolíticos fueron los sistemas en
capas• THE y MULTICS• En estos sistemas, cada capa implementa una parte del sistema
operativo y las pone a disposición de las capas superiores que no tienen necesidad de conocer cómo trabajan las abstracciones ya implementadas
NÚCLEO MONOLÍTICO• Capa 0: Administra al procesador (planificación y
multiprogramación)• Capa 1: Administra la memoria (incluyendo la virtual)• Capa 2: Comunicación entre procesos y consola de operador• Capa 3: E/S• Capa 4: Aplicaciones de usuarios• Capa 5: Usuario mismo
NÚCLEO MONOLÍTICO• Todas las funciones están dentro de un solo gran programa
• Planificación, sistema de archivos, drivers, memoria• Cada vez que se modifica (se añade un componente) se debe
volver a compilar todo el núcleo • Un simple error en un procedimiento puede hacer caer todo el
sistema• Es mucho más rápido que otras estructuras
NÚCLEO MONOLÍTICO• UNIX
• LINUX• UNIX
• BSD• FreeBSD
• Solaris• DOS
• MS/DOS• WINDOWS 9X (95, 98, Me)
• MAC• Hasta OS 8.6
MICROKERNEL• En este tipo de estructura se dividen las funciones del SO en
módulos más pequeños• El núcleo solo contiene:
• Planificación• Comunicación entre procesos (IPC)• Espacios de direcciones
• Los demás servicios (gestión de memoria, sistemas de archivos, drivers, E/S) se ejecutan en modo usuario
MICROKERNEL• Ventajas
• Es una estructura más confiable• Una falla en un módulo no hace caer todo el sistema• Es menos complejo• Es más sencillo de depurar• Es más tolerante a fallos• Mejora la portabilidad entre diferentes plataformas de HW
MICROKERNEL• Desventajas
• Es más difícil de construir (porque cada módulo debe encajar con los otros
• Mayor complejidad en el código• Es más difícil programar aplicaciones• Menor rendimiento
MICROKERNEL• Minix
• El núcleo solo tiene 3200 líneas en C y 800 en ensamblador• Solo 35 llamadas al sistema que son utilizadas por el resto del
SO• Los controladores (con excepción del reloj y el planificador)
están fuera del núcleo• Fuera del núcleo el resto de las aplicaciones se ejecutan en
modo usuario y por capas (la primera es la de drivers)
MICROKERNEL• Minix
• Re-encarnación: Cuando se comprueba que un driver o un servicio no está funcionando correctamente, se reemplaza en caliente, automáticamente
• Permite una recuperación rápida• Sistema autocorregible y confiable
KERNEL HÍBRIDO• Muchos SO modernos tienen esta estructura• Es un micronúcleo con algunos servicios no esenciales incluidos
en el núcleo para que el SO funcione más rápidamente• Es una mezcla de núcleo monolítico y micronúcleo
• Windows NT• DragonFly BSD
EXOKERNELS• Es un concepto nuevo y muy diferente de los anteriores• Aquí se permite a los programadores de aplicaciones que tomen
verdadero control del HW, en lugar de pedirle permiso al SO• El exonúcleo es muy pequeño, sólo se ocupa del multiplexado de
los recursos y de la protección entre aplicaciones• Todas las funciones están en librerías en lugar de estar
residentes en memoria
EXOKERNELS• En los sistemas tradicionales el HW está escondido detrás de la
interfaz que presenta el SO• Tenemos una imagen de la memoria y del disco, pero en realidad
no trabajamos con la memoria y el disco, sino con abstracciones (no sabemos la dirección física real de un dato)
• El exonúcleo permite que una aplicación reclame una parte de la memoria (o del disco) y si está disponible y tiene derecho, se le brinda
FIN [email protected] http://pablomacon.wix.com/home