0% encontró este documento útil (0 votos)
22 vistas25 páginas

So Kernel

El documento aborda la administración de recursos en sistemas operativos, destacando el papel del kernel en la gestión de hardware y memoria. Se describen diferentes tipos de kernels, incluyendo monolíticos, microkernels, híbridos y exokernels, cada uno con sus características y funciones específicas. Además, se menciona la importancia del BIOS en el encendido de computadoras y la interacción entre el usuario y el sistema a través del shell.

Cargado por

jose navarro
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas25 páginas

So Kernel

El documento aborda la administración de recursos en sistemas operativos, destacando el papel del kernel en la gestión de hardware y memoria. Se describen diferentes tipos de kernels, incluyendo monolíticos, microkernels, híbridos y exokernels, cada uno con sus características y funciones específicas. Además, se menciona la importancia del BIOS en el encendido de computadoras y la interacción entre el usuario y el sistema a través del shell.

Cargado por

jose navarro
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

KERNEL

RECURSOS Y SU ADMINISTRACIÓN
 Hardware: Procesador, Memoria, Niveles de un sistema
Dispositivos I/O, disco de computación
 ¿Cómo un programador puede pedir
espacio memoria?
 ¿Cómo conviven varios programas en la
misma memoria?
 ¿En que parte del disco guardo un archivo?
 ¿Cómo hago para ejecutar una aplicación
si el procesador ya está ocupado con una?
ENCENDIDO DE UN COMPUTADOR
 BIOS – Basic Input Output System.
 Autodiagnóstico (Power On Self Test – POST)
 EL Computador identifica su memoria, discos, teclado, vídeo y cualquier
otro dispositivo.
 El primer sector del dispositivo de arranque se lee y se coloca en la
memoria, para luego ejecutarse.
 Este sector contiene un programa que por lo general examina la tabla de
particiones al final del sector de arranque, para determinar qué partición
está activa.
 Después se lee un cargador de arranque secundario de esa partición. Este
cargador lee el sistema operativo de la partición activa y lo inicia.
 Una vez cargado el S.O. en memoria, se puede empezar a utilizar el
computador.
 Los SO más comunes tienen dos grandes niveles
diferenciables:
A. Nivel bajo o núcleo del SO
 Relacionado directamente con el hardware
B. Nivel alto, de utilidades y herramientas
 Permite administrar distintos aspectos del SO pero a nivel de
usuario.
B) HERRAMIENTAS Y UTILIDADES

 Gestión de los periféricos


 Manipulación de los sistemas de almacenamiento en
disco
 Editor
 Gestión de usuarios
 Herramientas de modificación de sistema
 Compiladores e Interpretes de lenguaje de programación
A) KERNEL: NÚCLEO DEL SISTEMA OPERATIVO

 Parte fundamental del sistema operativo


 Se define como la parte que se ejecuta en modo privilegiado
(modo núcleo/ modo kernel)
 Principal responsable del acceso seguro al hardware
 Encargado de gestionar recursos, a través de servicios de llamada
al sistema (system calls). Cuando una aplicación necesita un
recuso, esta debe comunicarse con el kernel con una llamada al
sistema, y el kernel gestionará el recurso solicitado.
 Decide qué programa podrá hacer uso del dispositivo de hardware
y durante cuánto tiempo (lo que se conoce como Multiplexado)
KERNEL: funciones

 Gestión del procesador y reparto de su tiempo de


proceso
 Gestión de memoria
 Control de los recursos de almacenamiento y de
entrada/salida
 Control de errores y sistemas de protección
 Gestión del interfaz con el usuario
KERNEL
 No necesariamente se necesita un kernel para usar una computadora.
 Los programas pueden cargarse y ejecutarse directamente si están
desarrollados sin uso de abstracción de hardware ni ayuda del SO
(Ejemplo Arduino).
 Forma habitual las primeras computadoras: para usar distintos
programas se tenía que reiniciar y reconfigurar la computadora cada
vez.
 Se empezó a dejar en memoria pequeños programas auxiliares
(cargador, depurador).
 Su desarrollo sentó los fundamentos de lo que serían los primeros kernels.
KERNEL: Estructura en un sistema
SHELL
 Establece la comunicación entre el núcleo (kernel) y el usuario del Sistema
Linux.
 Es una interface con el Sistema Operativo.
 Mediante el Shell podremos dar las ordenes necesarias para que el
sistema informático realice las tareas que necesitamos.

 El intérprete de comandos también es un potente lenguaje de


programación, el cual permite escribir guiones, que permiten juntar varias
ordenes en un archivo. El uso de los guiones (scripts) del intérprete de
comandos es una herramienta muy potente que le permitirá automatizar e
incrementar el uso de Linux.
Tipos de Kernel

Kernel Monolítico
MicroKernel
Kernel hibrido
Exokernel
Kernel Monolítico
 Todo el sistema operativo se ejecuta como un solo
programa en modo kernel.
 El sistema operativo se escribe como una colección de
procedimientos, enlazados entre sí en un solo programa
binario ejecutable extenso.
 Se encarga del manejo de memoria y de procesos,
junto con protocolos de red, file systems, etc.
 Los driver pueden ser añadidos al kernel como
módulos. Otros ya vienen incluidos en el mismo
Kernel Monolítico
 Para que una aplicación interactúe con el hardware, debe hacerlo
comunicándose al kernek mediante system calls (llamadas al sistema)
 Para cada llamada al sistema hay un procedimiento de servicio que se
encarga de la llamada y la ejecuta.
 Todos los procedimientos pueden
llamarse entre sí.
 Cada (Quien realiza una llamada al sistema)
procedimiento en el (llevan a
sistema tiene la cabo las
libertad de llamar llamadas
al sistema)
a cualquier otro, si
éste proporciona cierto
cómputo útil que el
primero necesita
Kernel Monolítico
 Un error en una rutina puede propagarse a todo el núcleo y requerir el
reinicio del sistema.
 Al principio eran sistemas pequeños y sencillos, pero con el tiempo se
fue agregando más funcionalidades y esto ha hecho que hoy día sean
más complejos.
 El kernel monolítico permite actualizarse.
 Para agregar más funcionalidades es necesario actualizar el kernel.
 Ejemplos de SO que utilizan kernel monolítico:
 UNIX
 LINUX
 MS-DOS (En desuso)
MicroKernel
 Respuesta a la complejidad de los kerneles monolíticos.
 Kernel que provee los mecanismos básicos:
 Manejo de memoria.
 Manejo de procesos e hilos.
 InterProcess Comunication (IPC)
 Único software que corre en modo privilegiado de CPU.
 Los servicios del S.O. (device drivers, protocolos de red, file systems)
se ejecutan en espacio de usuario (Se comunican con el kernel
mediante llamadas al sistema).
 Eventuales fallas en un servicio no afectan al kernel.
 Existen llamadas al kernel pero son mínimas
MicroKernel
 Principio de minimalismo de Liedtke
 Un elemento es aceptable dentro del kernel
solamente si al moverlo fuera del kernel pierde
funcionalidad.
 IPC
 Mecanismo para que los procesos se comuniquen
entre ellos, generalmente por medio de mensajes.
 Permite trabajar en modalidad cliente/servidor.

 Comunicación sincrónica (se envía el mensaje y se espera la respuesta).


MicroKernel
 Ejemplos
 Minix
 L4
 QNX
 Mach
 En la práctica, son menos eficientes que los kernels
monolíticos, pero la programación del kernel en sí
es mas sencilla (menos líneas de código)
Kernel monolítica vs Microkernel
Kernel Hibrido

 Tiene arquitectura de Microkernel pues los elementos no


imprescindibles del Kernel (file system, protocolos de red) se
ejecutan como servidores.
 Tienen la capacidad de elegir lo que desea ejecutar en modo
de usuario y en modo núcleo, esto dará lo mejor de ambos.
 La mayoría de sistemas operativos modernos pertenecen a
esta categoría.
Kernel Hibrido
 Los dispositivos de driver y la
aplicación de comunicación
entre proceso no pertenecen el
microkernel pero sí se ejecutan
en modo kernel
 El resto de las utilidades se
ejecuta en modo usuario como
servicios.
 Ejemplo:
 Windows NT/2000/XP/Vista.
Estructura de núcleo monolítico, micronúcleo y
núcleo híbrido.
ExoKernel
 Desarrollado en Instituto de Tecnología de Massachusetts (MIT)
 Su propósito es crear una especie de capa de software para otros sistemas
virtuales.
 Busca proporcionar administración de recursos de hardware a nivel de
aplicación.
 Diseñado para separar la protección de recursos de la administración para
facilitar la personalización específica de la aplicación.
 Muy pequeños debido a su operatividad limitada
 Reduce considerablemente la abstracción del hardware para las
aplicaciones. Una aplicación es libre de interactuar directamente con el
hardware o no.
ExoKernel
 La arquitectura exokernel está construida de tal manera que un kernel
pequeño mueve todas las abstracciones de hardware a bibliotecas no
confiables conocidas como sistemas operativos de biblioteca.
 Esta bibliotecas son no confiables porque una mala programación de
la aplicación puede bloquear el sistema.
 Consta de 3 capas:
 La capa del exonúcleo
 La capa LibOS (núcleos de varios sistemas operativos corriendo sobre
exonúcleo)
 La capa de aplicaciones, corriendo sobre LibOS.
ExoKernel
 Cada librería es el núcleo
de un SO distinto.
 Es usado principalmente
para la investigación.
 Ej.: Nemesis
Información extra
 [Link]
 Sistemas Operativos Modernos – Tanembaum Pág. 62
 [Link]
 [Link]
 [Link]
 [Link]

También podría gustarte