Logo Studenta

Nucleo y niveles de diseño de programacion - Mauricio axel 20

¡Estudia con miles de materiales!

Vista previa del material en texto

INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE ACAPULCO
Ingeniería en sistemas computacionales
Sistemas operativos
Núcleo y niveles de diseño de programación
Profesor: Juan Baños Montes
López Anselmo Mauricio Axel 
CONTROL: 18320904
Fecha de entrega: 12 de octubre de 2020
SISTEMAS OPERATIVOS.
Núcleo y niveles de diseño de programación.
Internamente los sistemas operativos estructuralmente de se clasifican según como se hayan organizado internamente en su diseño, por esto la clasificación más común de los S.O. son:
Sistemas monolíticos
En estos sistemas operativos se escriben como un conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada una tiene la libertad de llamar a cualquiera otra, si la última ofrece algún cálculo útil que la primera necesite. 
CARACTERÍSTICAS
Construcción de programa final a base de módulos compilados separadamente que se une a través del editor de enlaces.
· Buena definición de parámetros de enlace entre las rutinas existentes.
· Carecen de protección y privilegios al entrar y manejan diferentes aspectos de la computadora.
· Generalmente están hechos a la medida.
Sistemas en estratos
Estos sistemas operativos se organizan como una jerarquía de estratos, cada uno construido arriba del que está debajo de él. El primer sistema construido en esta forma fuel el sistema THE que se fabricó en Technische Hogeschool Eindhoven de Holanda por E. W Dijkstra (1968) y sus alumnos. El sistema THE era un sistema de lote para una computadora alemana, la Electrológica X8, que tenía 32K de palabras de 27 bits (los bits eran costosos en aquellos días)
CARACTERÍSTICAS.
· Las zonas más intensas o núcleo están más protegidas de posibles accesos indeseados desde las capas más externas.
· Tienes un contacto más próximo con el hardware.
· Núcleo mínimo, más seguro y ágil.
En esta estructura se basan prácticamente la mayoría de los SO actuales. Otra forma de ver este tipo de sistema es la denominación de anillos concéntricos o “RINGS”
EJEMPLOS
Multics y unix
El sistema tenía 6 estratos, estos se muestran en la siguiente imagen:
El estrato 0 trabajaba con la distribución del procesador, cambiando entre procesos cuando ocurrían interrupciones o los relojes expiraban. Sobre el estrato 0, el sistema constaba de procesos secuenciales, cada uno de los cuales podía programarse sin tener que preocuparse por el hecho de que múltiples procesos estuvieran corriendo en un solo procesador.
En otras palabras, el estrato 0 ofrecía la multiprogramación básica de la CPU.
El estrato 1 realizaba el manejo de memoria. Este distribuía espacio para procesos contenidos en la memoria central y en un tambor de 512K palabras que se usaba para contener partes de procesos (páginas) para las cuales no había espacio en la memoria central. Sobre el estrato 1, los procesos no tenían que preocuparse de si estaban en la memoria o en el tambor; el software del estrato 1 se hacía cargo de asegurar que las páginas se trajeran a la memoria siempre que se necesitaran.
El estrato 2 manejaba la comunicación entre cada proceso y la consola de operador.
El estrato 3 se hacía cargo de manejar los dispositivos de E/S y de separar la información en flujo que entraba y salí de ellos. Sobre el estrato 3 cada proceso podía trabajar con dispositivos de E/S abstractos con propiedades agradables, en vez de dispositivos reales con muchas peculiaridades
El estrato 4 era donde se encontraban los programas de los usuarios. No tenían que preocuparse por el manejo de los procesos, memoria, consola o E/S. El proceso operador del sistema se localizaba en el estrato 5
Estructura por microkernel
Las funciones centrales de un SO son controladas por el núcleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la parte más importante del DOS es un programa con el nombre "COMMAND.COM" Este programa tiene dos partes. El kernel, que se mantiene en memoria en todo momento, contiene el código máquina de bajo nivel para manejar la administración de hardware para otros programas que necesitan estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es el interprete de comandos
Las funciones de bajo nivel del SO y las funciones de interpretación de comandos están separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell, reemplazando la interfaz de línea de comandos con una interfaz gráfica del usuario. Existen muchos "shells" diferentes en el mercado, ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versión 5.0 incluyó un Shell llamado DOS SHELL.
Estructura cliente – servidor
Una tendencia de los sistemas operativos modernos es la de explotar la idea de mover el código a capas superiores y eliminar la mayor parte posible del sistema operativo para mantener un núcleo mínimo. El punto de vista usual es el de implantar la mayoría de las funciones del sistema operativo en los procesos del usuario. Para solicitar un servicio, como la lectura de un bloque de cierto archivo, un proceso del usuario (denominado proceso cliente) envía la solicitud a un proceso servidor, que realiza entonces el trabajo y regresa la respuesta. 
CARACTERÍSTICAS
· Coordina, permite el trabajo entre iguales. Cliente; inicia las solicitudes o peticiones (maestro)
· Espera y recibe respuesta del servidor Se puede conectar a varios servidores a la vez .
· Servidor:
· Esclavo, espera las solicitudes del cliente
· Aceptan conexiones desde un gran número de clientes.
EJEMPLOS
· Sistema operativo Novell NetWare 1983, plataforma mas fiable para ofrecer acceso seguro.
· Windows 2000
· Cualquiera de este puede compartir sus recursos con otro Windows 2000
· Windows xp
Núcleo.
El Núcleo (o kernel) es una colección de módulos de software que se ejecutan en forma privilegiada –lo que significa que tienen acceso pleno a los recursos del sistema. El núcleo normalmente representa sólo una pequeña parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el código que más se utiliza. Por esta razón, el núcleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal sólo cuando se necesitan. Los núcleos se diseñan para realizar “el mínimo” posible de procesamiento en cada interrupción y dejar que el resto lo realice el proceso apropiado del sistema, que puede operar mientras el núcleo se habilita para atender otras interrupciones. El núcleo de un sistema operativo normalmente contiene el código necesario para realizar las siguientes funciones:
• Manejo de interrupciones.
• Creación y destrucción de procesos.
• Cambio de estado de los procesos.
• Despacho.
• Suspensión y reanudación de procesos.
• Sincronización de procesos.
• Comunicación entre procesos.
• Manipulación de los bloques de control de procesos.
• Apoyo para las actividades de entrada/salida.
• Apoyo para asignación y liberación de memoria.
• Apoyo para el sistema de archivos.
• Apoyo para el mecanismo de llamada y retorno de un procedimiento.
• Apoyo para ciertas funciones de contabilidad del sistema.
Una clasificación de los núcleos según las abstracciones que presentan con el hardware (conjunto de reglas o instrucciones que son comunes a todos los dispositivos de un cierto tipo) puede ser:
· Los núcleos monolíticos se encargan del manejo de las IRQ, memoria, dispositivos E/S, de las llamadas al sistema, manejo de archivos y planificación de procesos. Los núcleos monolíticos suelen ser más fáciles de diseñar correctamente, y por lo tanto pueden crecer más rápidamente. Los micronúcleos suelen usarse en robótica embebida o computadoras médicas,ya que la mayoría de los componentes del sistema operativo residen en su propio espacio de memoria privado y protegido. Ejemplos de núcleos: Mach, Pistachio.
· Los micronúcleos o microkernel se encargan de manejo de procesos y threads, manejo de memoria, comunicaciones, operaciones bajo nivel E/S. El resto de los servicios, como manejo de archivos, utilizan al núcleo por medio de las comunicaciones. Se usan para las aplicaciones llamadas servidores para ofrecer mayor funcionalidad. Debido a la existencia de módulos independientes (threads ) se originan retardos en la comunicación por la copia de variables que se realiza en la comunicación entre módulos. Los usos más comunes de los micronúcleos es en los sistemas operativos que intentan ser distribuídos, y en aquellos que sirven como base para instalar sobre ellos otros sistemas operativos Algunos ejemplos son: Mac OS, BeOS, Minix.
· Los núcleos híbridos o micronúcleos modificados ya que incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente. Algunos de los S.O. actuales pertenecen a esta categoría. Algunos ejemplos de núcleos: Microsoft Windows NT, XNU, DragonFlyBSD.
· Los exonúcleos permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware. Representan una aproximación radicalmente nueva al diseño de sistemas operativos. Son extremadamente pequeños, el desarrollador tome todas las decisiones relativas al rendimiento del hardware. Toda la funcionalidad deja de estar residente en memoria y pasa a estar fuera, en bibliotecas dinámicas que se cargan en memoria según se necesiten. Actualmente, los diseños exonúcleo están fundamentalmente en fase de estudio y no se usan en ningún sistema popular.
Bibliografía.
https://ikastaroak.birt.eus/edu/argitalpen/backupa/20200331/1920k/es/ASIR/ISO/ISO01/es_ASIR_ISO01_Contenidos/website_211__ncleo_de_los_sistemas_operativos.html
https://sites.google.com/site/materiasisoperativo/unidad-1-introduccion-a-los-sistemas-operativos/1-5-estructura-niveles-o-estratos-de-diseno
https://sites.google.com/site/sistemasoperativos1234/home/1-6-nucleo
Página 1 | 1

Continuar navegando