Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera...

25
KERNEL

Transcript of Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera...

Page 1: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

KERNEL

Page 2: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

RECURSOS Y SU ADMINISTRACIÓN

Hardware: Procesador, Memoria,

Dispositivos I/O, disco

¿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?

Niveles de un sistema

de computación

Page 3: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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.

Page 4: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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.

Page 5: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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

Page 6: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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)

Page 7: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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

Page 8: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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.

Page 9: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

KERNEL: Estructura en un sistema

Page 10: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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.

Page 11: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

Tipos de Kernel

Kernel Monolítico

MicroKernel

Kernel hibrido

Exokernel

Page 12: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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

Page 13: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

Kernel Monolítico

(Quien realiza una llamada al sistema)

(llevan a

cabo las

llamadas

al sistema)

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 procedimiento en el sistema tiene la libertad de llamar a cualquier otro, si éste proporciona cierto cómputo útil que el primero necesita

Page 14: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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)

Page 15: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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 kernelmediante llamadas al sistema).

Eventuales fallas en un servicio no afectan al kernel.

Existen llamadas al kernel pero son mínimas

Page 16: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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).

Page 17: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

MicroKernel

EjemplosMinix

L4

QNX

Mach

En la práctica, son menos eficientes que los kernelsmonolíticos, pero la programación del kernel en sí es mas sencilla (menos líneas de código)

Page 18: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

Kernel monolítica vs Microkernel

Page 19: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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.

Page 20: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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.

Page 21: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

Estructura de núcleo monolítico, micronúcleo y

núcleo híbrido.

Page 22: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

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.

Page 23: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

ExoKernel

La arquitectura exokernel está construida de tal manera que un kernelpequeñ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.

Page 24: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

ExoKernel

Cada librería es el núcleo

de un SO distinto.

Es usado principalmente

para la investigación.

Ej.: Nemesis

Page 25: Estructuras de Control en Visual Basic · La arquitectura exokernel está construida de tal manera que un kernel pequeño mueve todas las abstracciones de hardware a bibliotecas no

Información extra

http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992016000600001

Sistemas Operativos Modernos – Tanembaum Pág. 62

https://es.wikipedia.org/wiki/Exon%C3%BAcleo

http://www.alegsa.com.ar/Dic/exokernel.php

https://prezi.com/sfowzge4xz2s/exokernel/

https://chsosunal20171911005.wordpress.com/2017/04/21/sistemas-operativos-exokernel/