SlideShare una empresa de Scribd logo
Estructura de los Sistemas
Operativos
Moisés Payares
Miguel Narvaez
Noiber Barroso
Luis Cordero
¿Qué determina la Estructura de un Sistema
Operativo?
Una estructura de un sistema operativo determina cómo ha sido diseñado y cómo funciona.
Los sistemas operativos proporcionan entornos en los que se ejecutan los programas y servicios para los
usuarios del sistema, que incluyen:
Interfaces de Usuario:
Medio por el cual los usuarios pueden enviar
comandos al sistema. Dependiendo del sistema,
pueden ser una interfaz de línea de comandos (por
ejemplo, sh, csh, ksh, tcsh, etc.), una interfaz GUI
(por ejemplo, Windows, X-Windows, KDE, Gnome,
etc.) o sistemas de comandos por lotes.
Ejecución del Programa:
El sistema operativo debe poder cargar un programa en la RAM, ejecutar el programa y finalizarlo, ya sea
de forma normal o anormal.
Operaciones de E/S:
El sistema operativo es responsable de transferir datos hacia y desde dispositivos de E/S, incluidos
teclados, terminales, impresoras y dispositivos de almacenamiento.
Manipulación del Sistema de Archivos:
Además del almacenamiento de datos sin
procesar, el sistema operativo también es
responsable de mantener las estructuras
de directorios y subdirectorios, asignar
nombres de archivos a bloques
específicos de almacenamiento de datos y
proporcionar herramientas para navegar
y utilizar el sistema de archivos.
Comunicación:
Las comunicaciones entre procesos, IPC,
ya sea entre procesos que se ejecutan en
el mismo procesador o entre procesos
que se ejecutan en procesadores
separados o máquinas separadas. Puede
implementarse como memoria
compartida o paso de mensajes (o algunos
sistemas pueden ofrecer ambos).
Detección de Errores:
Tanto los errores de hardware como de
software deben detectarse y manejarse
adecuadamente, con un mínimo de
repercusiones perjudiciales. Algunos
sistemas pueden incluir sistemas
complejos de recuperación o prevención
de errores, incluidas copias de seguridad,
unidades RAID y otros sistemas
redundantes. Las herramientas de
depuración y diagnóstico ayudan a los
usuarios y administradores a rastrear la
causa de los problemas.
Otros sistemas que ayudan en el
funcionamiento eficiente del propio sistema
operativo son:
Asignación de Recursos:
Por ejemplo. Ciclos de CPU, memoria
principal, espacio de almacenamiento y
dispositivos periféricos. Algunos recursos
se administran con sistemas genéricos y
otros con sistemas muy cuidadosamente
diseñados y especialmente ajustados,
personalizados para un recurso y entorno
operativo en particular.
Contabilidad:
Seguimiento de la actividad del sistema y
el uso de recursos, ya sea con fines de
facturación o para el mantenimiento de
registros estadísticos que se pueden
utilizar para optimizar el rendimiento
futuro.
Protección y Seguridad:
Prevención de daños al sistema y a los
recursos, ya sea a través de procesos
internos rebeldes o externos maliciosos.
La autenticación, la propiedad y el acceso
restringido son partes obvias de este
sistema. Los sistemas altamente seguros
pueden registrar toda la actividad del
proceso con un detalle insoportable, y la
regulación de seguridad dicta el
almacenamiento de esos registros en un
medio permanente no borrable durante
períodos prolongados en instalaciones
seguras (fuera del sitio).
Existen numerosas formas de diseñar una nueva
estructura de un sistema operativo. Éstas (hasta el
momento), son las seis combinaciones más
conocidas: sistemas monolíticos, sistemas en
capas, microkernels, modelos cliente-servidor,
máquinas virtuales y exokernels.
I. Sistema Monolítico
En esta estructura organizativa, todo el sistema operativo se ejecuta como un solo programa en el modo
kernel.
Recordemos que un sistema operativo es una colección de varios procedimientos vinculados entre sí en
un archivo binario. En este sistema, cualquier procedimiento puede llamar a cualquier otro
procedimiento. Dado que se ejecuta en modo kernel, tiene todos los permisos para llamar a lo que quiera.
Estructura
Ventajas:
● La ejecución del kernel monolítico es bastante rápida ya que los servicios como la gestión de
memoria, la gestión de archivos, la programación de procesos, etc., se implementan en el mismo
espacio de direcciones.
● Un proceso se ejecuta completamente en un solo espacio de direcciones en el kernel monolítico.
● El núcleo monolítico es un único archivo binario estático.
Desventajas:
● Si algún servicio falla en el kernel monolítico, conduce a la falla de todo el sistema.
● Para agregar cualquier servicio nuevo, el usuario debe modificar todo el sistema operativo.
II. Sistema Operativo en Capas:
El sistema operativo está dividido en varias capas en el sistema operativo por capas y cada una de las
capas tiene diferentes funcionalidades. Este tipo de sistema operativo se creó como una mejora con
respecto a los primeros sistemas monolíticos.
Estructura:
Hardware:
Esta capa interactúa con el hardware del sistema y se coordina con todos los dispositivos periféricos
utilizados, como impresora, mouse, teclado, escáner, etc. La capa de hardware es la capa más baja en la
arquitectura del sistema operativo por capas.
Programación de la CPU:
Esta capa se ocupa de programar los procesos para la CPU. Hay muchas colas de programación que se
utilizan para manejar procesos. Cuando los procesos ingresan al sistema, se colocan en la cola de trabajos.
Los procesos que están listos para ejecutarse en la memoria principal se mantienen en la cola de listos.
Gestión de la Memoria
La gestión de la memoria se ocupa de la memoria y del movimiento de procesos del disco a la memoria
primaria para su ejecución y viceversa. Esto lo maneja la tercera capa del sistema operativo.
Gestión de Proceso:
Esta capa es responsable de administrar los procesos, es decir, asignar el procesador a un proceso a la vez.
Esto se conoce como programación de procesos. Los diferentes algoritmos utilizados para la
programación de procesos son FCFS (primero en llegar, primero en ser atendido), SJF (trabajo más corto
primero), programación de prioridades, programación por turnos, etc.
Búfer de E/S:
Los dispositivos de E/S son muy importantes en los sistemas informáticos. Proporcionan a los usuarios los
medios para interactuar con el sistema. Esta capa maneja los búferes de los dispositivos de E/S y se
asegura de que funcionen correctamente.
Programas de Usuario:
Esta es la capa más alta del sistema operativo en capas. Esta capa se ocupa de los muchos programas y
aplicaciones de usuario que se ejecutan en un sistema operativo, como procesadores de texto, juegos,
navegadores, etc.
III. Microkernels
Un microkernel es el software mínimo que se requiere para implementar correctamente un sistema
operativo. Esto incluye memoria, mecanismos de programación de procesos y comunicación básica entre
procesos.
Estructura:
Componentes esenciales de un Microkernel:
Un micronúcleo contiene solo las funciones básicas del sistema. Un componente se incluye en el
micronúcleo solo si colocarlo fuera interrumpiría la funcionalidad del sistema. Todos los demás
componentes no esenciales se ponen en modo de usuario.
Funcionalidades mínimas en un Microkernel:
Las funcionalidades mínimas incluidas en el microkernel son:
● Los mecanismos de gestión de la memoria, como los espacios de direcciones, están incluidos en el
microkernel. También contiene funciones de protección de la memoria.
● Los mecanismos de programación del procesador también son necesarios en el microkernel.
Contiene programadores de procesos y subprocesos.
● La comunicación entre procesos es importante ya que es necesaria para administrar los servidores
que ejecutan sus propios espacios de direcciones.
IV. Modelo Cliente - Servidor:
El modelo cliente - servidor es una estructura de aplicación distribuida que divide la tarea o la carga de
trabajo entre los proveedores de un recurso o servicio, llamados servidores, y los solicitantes de servicios
llamados clientes. En la arquitectura cliente-servidor, cuando la computadora cliente envía una solicitud
de datos al servidor a través de Internet, el servidor acepta el proceso solicitado y devuelve los paquetes
de datos solicitados al cliente. Los clientes no comparten ninguno de sus recursos. Ejemplos de modelo
cliente-servidor son correo electrónico, World Wide Web, etc.
Estructura:
Ventajas:
● Sistema centralizado con todos los datos en un solo lugar.
● La rentabilidad requiere menos costes de mantenimiento y la recuperación de datos es posible.
● La capacidad del cliente y los servidores se puede cambiar por separado.
Desventajas:
● Los clientes son propensos a virus, troyanos y gusanos si están presentes en el servidor o se cargan
en el servidor.
● Los servidores son propensos a ataques de denegación de servicio (DOS).
● Los paquetes de datos pueden falsificarse o modificarse durante la transmisión.
● El phishing o la captura de credenciales de inicio de sesión u otra información útil del usuario son
comunes y los ataques MITM (Man in the Middle) son comunes.
V. Máquinas Virtuales:
Las máquinas virtuales abstrae el hardware de nuestra computadora personal, como CPU, unidades de
disco, memoria, NIC (Tarjeta de interfaz de red), etc., en muchos entornos de ejecución diferentes según
nuestros requisitos, lo que nos da la sensación de que cada entorno de ejecución es una sola
computadora. Por ejemplo, VirtualBox.
Estructura:
Ventajas:
● No hay problemas de protección porque cada máquina virtual está completamente aislada de
todas las demás máquinas virtuales.
● La máquina virtual puede proporcionar una arquitectura de conjunto de instrucciones que difiere
de las computadoras reales.
● Fácil mantenimiento, disponibilidad y cómoda recuperación.
Desventajas:
● Cuando varias máquinas virtuales se ejecutan simultáneamente en una computadora host, una
máquina virtual puede verse afectada por otras máquinas virtuales en ejecución, según la carga de
trabajo.
● Las máquinas virtuales no son tan eficientes como las reales al acceder al hardware.
VI. Exokernels:
La arquitectura del exokernel está construida de tal manera que un pequeño núcleo mueve todas las
abstracciones de hardware a bibliotecas que no son de confianza conocidas como sistemas operativos de
biblioteca. El objetivo principal de un exokernel es garantizar que no haya una abstracción forzada, que es
lo que hace que un exokernel sea diferente de los núcleos micro y monolíticos.
Estructura:
Ventajas:
● Rendimiento mejorado de aplicaciones.
● Uso más eficiente de los recursos de hardware mediante la asignación y revocación precisas de
recursos.
● Desarrollo y prueba más fáciles de nuevos sistemas operativos.
● Cada aplicación de espacio de usuario puede aplicar su propia gestión de memoria optimizada.
Desventajas:
● Consistencia reducida.
● Diseño complejo de interfaces exokernel.

Más contenido relacionado

Similar a Estructura de los Sistemas Operativos

Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos
alicia_herrera
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativos
MayckolLeon1
 
estructura de sistemas operativos
estructura de sistemas operativosestructura de sistemas operativos
estructura de sistemas operativos
ernesto perez
 
SYSTEM
SYSTEMSYSTEM
SYSTEM
CLPROGRAM
 
Funciones del s.o
Funciones del s.oFunciones del s.o
Funciones del s.o
tecnologia01
 
TIPOS DE SOFTWARE
TIPOS DE SOFTWARETIPOS DE SOFTWARE
TIPOS DE SOFTWARE
Jenni2011
 
Unidad 1
Unidad 1Unidad 1
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
anyvo
 
Sistemas Operativos [Informacion Variada]
Sistemas Operativos [Informacion Variada]Sistemas Operativos [Informacion Variada]
Sistemas Operativos [Informacion Variada]
FelipeSotomayor5
 
Sistemas operativos 2 pdf
Sistemas operativos 2 pdfSistemas operativos 2 pdf
Sistemas operativos 2 pdf
Luis Zarate
 
Unidad 1
Unidad 1Unidad 1
Unidad1
Unidad1Unidad1
Unidad1
kerensoledad
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
Erwin Meza
 
1.- Introduccion a los SO 1ra Parte.pdf
1.- Introduccion a los SO 1ra Parte.pdf1.- Introduccion a los SO 1ra Parte.pdf
1.- Introduccion a los SO 1ra Parte.pdf
ssuser6353bc
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
judgment_warrior
 
Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02
txetxu12
 
Estructura Y Caracteristicas De Los S
Estructura Y  Caracteristicas De Los  SEstructura Y  Caracteristicas De Los  S
Estructura Y Caracteristicas De Los S
carlos
 
Estructura Y Caracteristicas De Los S.O
Estructura Y Caracteristicas De Los S.OEstructura Y Caracteristicas De Los S.O
Estructura Y Caracteristicas De Los S.O
carlos
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
Suujeey Hernandez
 
introduccion sistemas operativos2.pptx
introduccion sistemas operativos2.pptxintroduccion sistemas operativos2.pptx
introduccion sistemas operativos2.pptx
Rodmy Bustios
 

Similar a Estructura de los Sistemas Operativos (20)

Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativos
 
estructura de sistemas operativos
estructura de sistemas operativosestructura de sistemas operativos
estructura de sistemas operativos
 
SYSTEM
SYSTEMSYSTEM
SYSTEM
 
Funciones del s.o
Funciones del s.oFunciones del s.o
Funciones del s.o
 
TIPOS DE SOFTWARE
TIPOS DE SOFTWARETIPOS DE SOFTWARE
TIPOS DE SOFTWARE
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas Operativos [Informacion Variada]
Sistemas Operativos [Informacion Variada]Sistemas Operativos [Informacion Variada]
Sistemas Operativos [Informacion Variada]
 
Sistemas operativos 2 pdf
Sistemas operativos 2 pdfSistemas operativos 2 pdf
Sistemas operativos 2 pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad1
Unidad1Unidad1
Unidad1
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
 
1.- Introduccion a los SO 1ra Parte.pdf
1.- Introduccion a los SO 1ra Parte.pdf1.- Introduccion a los SO 1ra Parte.pdf
1.- Introduccion a los SO 1ra Parte.pdf
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02
 
Estructura Y Caracteristicas De Los S
Estructura Y  Caracteristicas De Los  SEstructura Y  Caracteristicas De Los  S
Estructura Y Caracteristicas De Los S
 
Estructura Y Caracteristicas De Los S.O
Estructura Y Caracteristicas De Los S.OEstructura Y Caracteristicas De Los S.O
Estructura Y Caracteristicas De Los S.O
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
introduccion sistemas operativos2.pptx
introduccion sistemas operativos2.pptxintroduccion sistemas operativos2.pptx
introduccion sistemas operativos2.pptx
 

Más de Moisés Payares

Teoría de la Burocracia
Teoría de la BurocraciaTeoría de la Burocracia
Teoría de la Burocracia
Moisés Payares
 
Logística Empresarial
Logística EmpresarialLogística Empresarial
Logística Empresarial
Moisés Payares
 
Actividad No. 9 - Isomorfismos de Grafos
Actividad No. 9 - Isomorfismos de GrafosActividad No. 9 - Isomorfismos de Grafos
Actividad No. 9 - Isomorfismos de Grafos
Moisés Payares
 
Usos del Internet
Usos del InternetUsos del Internet
Usos del Internet
Moisés Payares
 
Hardware & Software
Hardware & SoftwareHardware & Software
Hardware & Software
Moisés Payares
 
Sistemas Operativos - Cuadro Comparativo
Sistemas Operativos - Cuadro ComparativoSistemas Operativos - Cuadro Comparativo
Sistemas Operativos - Cuadro Comparativo
Moisés Payares
 
Metodología Ágil - XP
Metodología Ágil - XPMetodología Ágil - XP
Metodología Ágil - XP
Moisés Payares
 
Derecho Procesal
Derecho ProcesalDerecho Procesal
Derecho Procesal
Moisés Payares
 

Más de Moisés Payares (8)

Teoría de la Burocracia
Teoría de la BurocraciaTeoría de la Burocracia
Teoría de la Burocracia
 
Logística Empresarial
Logística EmpresarialLogística Empresarial
Logística Empresarial
 
Actividad No. 9 - Isomorfismos de Grafos
Actividad No. 9 - Isomorfismos de GrafosActividad No. 9 - Isomorfismos de Grafos
Actividad No. 9 - Isomorfismos de Grafos
 
Usos del Internet
Usos del InternetUsos del Internet
Usos del Internet
 
Hardware & Software
Hardware & SoftwareHardware & Software
Hardware & Software
 
Sistemas Operativos - Cuadro Comparativo
Sistemas Operativos - Cuadro ComparativoSistemas Operativos - Cuadro Comparativo
Sistemas Operativos - Cuadro Comparativo
 
Metodología Ágil - XP
Metodología Ágil - XPMetodología Ágil - XP
Metodología Ágil - XP
 
Derecho Procesal
Derecho ProcesalDerecho Procesal
Derecho Procesal
 

Último

primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 

Último (7)

primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 

Estructura de los Sistemas Operativos

  • 1. Estructura de los Sistemas Operativos Moisés Payares Miguel Narvaez Noiber Barroso Luis Cordero
  • 2. ¿Qué determina la Estructura de un Sistema Operativo? Una estructura de un sistema operativo determina cómo ha sido diseñado y cómo funciona. Los sistemas operativos proporcionan entornos en los que se ejecutan los programas y servicios para los usuarios del sistema, que incluyen:
  • 3.
  • 4. Interfaces de Usuario: Medio por el cual los usuarios pueden enviar comandos al sistema. Dependiendo del sistema, pueden ser una interfaz de línea de comandos (por ejemplo, sh, csh, ksh, tcsh, etc.), una interfaz GUI (por ejemplo, Windows, X-Windows, KDE, Gnome, etc.) o sistemas de comandos por lotes.
  • 5. Ejecución del Programa: El sistema operativo debe poder cargar un programa en la RAM, ejecutar el programa y finalizarlo, ya sea de forma normal o anormal.
  • 6. Operaciones de E/S: El sistema operativo es responsable de transferir datos hacia y desde dispositivos de E/S, incluidos teclados, terminales, impresoras y dispositivos de almacenamiento.
  • 7. Manipulación del Sistema de Archivos: Además del almacenamiento de datos sin procesar, el sistema operativo también es responsable de mantener las estructuras de directorios y subdirectorios, asignar nombres de archivos a bloques específicos de almacenamiento de datos y proporcionar herramientas para navegar y utilizar el sistema de archivos.
  • 8. Comunicación: Las comunicaciones entre procesos, IPC, ya sea entre procesos que se ejecutan en el mismo procesador o entre procesos que se ejecutan en procesadores separados o máquinas separadas. Puede implementarse como memoria compartida o paso de mensajes (o algunos sistemas pueden ofrecer ambos).
  • 9. Detección de Errores: Tanto los errores de hardware como de software deben detectarse y manejarse adecuadamente, con un mínimo de repercusiones perjudiciales. Algunos sistemas pueden incluir sistemas complejos de recuperación o prevención de errores, incluidas copias de seguridad, unidades RAID y otros sistemas redundantes. Las herramientas de depuración y diagnóstico ayudan a los usuarios y administradores a rastrear la causa de los problemas.
  • 10. Otros sistemas que ayudan en el funcionamiento eficiente del propio sistema operativo son:
  • 11. Asignación de Recursos: Por ejemplo. Ciclos de CPU, memoria principal, espacio de almacenamiento y dispositivos periféricos. Algunos recursos se administran con sistemas genéricos y otros con sistemas muy cuidadosamente diseñados y especialmente ajustados, personalizados para un recurso y entorno operativo en particular.
  • 12. Contabilidad: Seguimiento de la actividad del sistema y el uso de recursos, ya sea con fines de facturación o para el mantenimiento de registros estadísticos que se pueden utilizar para optimizar el rendimiento futuro.
  • 13. Protección y Seguridad: Prevención de daños al sistema y a los recursos, ya sea a través de procesos internos rebeldes o externos maliciosos. La autenticación, la propiedad y el acceso restringido son partes obvias de este sistema. Los sistemas altamente seguros pueden registrar toda la actividad del proceso con un detalle insoportable, y la regulación de seguridad dicta el almacenamiento de esos registros en un medio permanente no borrable durante períodos prolongados en instalaciones seguras (fuera del sitio).
  • 14. Existen numerosas formas de diseñar una nueva estructura de un sistema operativo. Éstas (hasta el momento), son las seis combinaciones más conocidas: sistemas monolíticos, sistemas en capas, microkernels, modelos cliente-servidor, máquinas virtuales y exokernels.
  • 15. I. Sistema Monolítico En esta estructura organizativa, todo el sistema operativo se ejecuta como un solo programa en el modo kernel. Recordemos que un sistema operativo es una colección de varios procedimientos vinculados entre sí en un archivo binario. En este sistema, cualquier procedimiento puede llamar a cualquier otro procedimiento. Dado que se ejecuta en modo kernel, tiene todos los permisos para llamar a lo que quiera.
  • 17. Ventajas: ● La ejecución del kernel monolítico es bastante rápida ya que los servicios como la gestión de memoria, la gestión de archivos, la programación de procesos, etc., se implementan en el mismo espacio de direcciones. ● Un proceso se ejecuta completamente en un solo espacio de direcciones en el kernel monolítico. ● El núcleo monolítico es un único archivo binario estático.
  • 18. Desventajas: ● Si algún servicio falla en el kernel monolítico, conduce a la falla de todo el sistema. ● Para agregar cualquier servicio nuevo, el usuario debe modificar todo el sistema operativo.
  • 19. II. Sistema Operativo en Capas: El sistema operativo está dividido en varias capas en el sistema operativo por capas y cada una de las capas tiene diferentes funcionalidades. Este tipo de sistema operativo se creó como una mejora con respecto a los primeros sistemas monolíticos.
  • 21. Hardware: Esta capa interactúa con el hardware del sistema y se coordina con todos los dispositivos periféricos utilizados, como impresora, mouse, teclado, escáner, etc. La capa de hardware es la capa más baja en la arquitectura del sistema operativo por capas.
  • 22. Programación de la CPU: Esta capa se ocupa de programar los procesos para la CPU. Hay muchas colas de programación que se utilizan para manejar procesos. Cuando los procesos ingresan al sistema, se colocan en la cola de trabajos. Los procesos que están listos para ejecutarse en la memoria principal se mantienen en la cola de listos.
  • 23. Gestión de la Memoria La gestión de la memoria se ocupa de la memoria y del movimiento de procesos del disco a la memoria primaria para su ejecución y viceversa. Esto lo maneja la tercera capa del sistema operativo.
  • 24. Gestión de Proceso: Esta capa es responsable de administrar los procesos, es decir, asignar el procesador a un proceso a la vez. Esto se conoce como programación de procesos. Los diferentes algoritmos utilizados para la programación de procesos son FCFS (primero en llegar, primero en ser atendido), SJF (trabajo más corto primero), programación de prioridades, programación por turnos, etc.
  • 25. Búfer de E/S: Los dispositivos de E/S son muy importantes en los sistemas informáticos. Proporcionan a los usuarios los medios para interactuar con el sistema. Esta capa maneja los búferes de los dispositivos de E/S y se asegura de que funcionen correctamente.
  • 26. Programas de Usuario: Esta es la capa más alta del sistema operativo en capas. Esta capa se ocupa de los muchos programas y aplicaciones de usuario que se ejecutan en un sistema operativo, como procesadores de texto, juegos, navegadores, etc.
  • 27. III. Microkernels Un microkernel es el software mínimo que se requiere para implementar correctamente un sistema operativo. Esto incluye memoria, mecanismos de programación de procesos y comunicación básica entre procesos.
  • 29. Componentes esenciales de un Microkernel: Un micronúcleo contiene solo las funciones básicas del sistema. Un componente se incluye en el micronúcleo solo si colocarlo fuera interrumpiría la funcionalidad del sistema. Todos los demás componentes no esenciales se ponen en modo de usuario.
  • 30. Funcionalidades mínimas en un Microkernel: Las funcionalidades mínimas incluidas en el microkernel son: ● Los mecanismos de gestión de la memoria, como los espacios de direcciones, están incluidos en el microkernel. También contiene funciones de protección de la memoria. ● Los mecanismos de programación del procesador también son necesarios en el microkernel. Contiene programadores de procesos y subprocesos. ● La comunicación entre procesos es importante ya que es necesaria para administrar los servidores que ejecutan sus propios espacios de direcciones.
  • 31. IV. Modelo Cliente - Servidor: El modelo cliente - servidor es una estructura de aplicación distribuida que divide la tarea o la carga de trabajo entre los proveedores de un recurso o servicio, llamados servidores, y los solicitantes de servicios llamados clientes. En la arquitectura cliente-servidor, cuando la computadora cliente envía una solicitud de datos al servidor a través de Internet, el servidor acepta el proceso solicitado y devuelve los paquetes de datos solicitados al cliente. Los clientes no comparten ninguno de sus recursos. Ejemplos de modelo cliente-servidor son correo electrónico, World Wide Web, etc.
  • 33. Ventajas: ● Sistema centralizado con todos los datos en un solo lugar. ● La rentabilidad requiere menos costes de mantenimiento y la recuperación de datos es posible. ● La capacidad del cliente y los servidores se puede cambiar por separado.
  • 34. Desventajas: ● Los clientes son propensos a virus, troyanos y gusanos si están presentes en el servidor o se cargan en el servidor. ● Los servidores son propensos a ataques de denegación de servicio (DOS). ● Los paquetes de datos pueden falsificarse o modificarse durante la transmisión. ● El phishing o la captura de credenciales de inicio de sesión u otra información útil del usuario son comunes y los ataques MITM (Man in the Middle) son comunes.
  • 35. V. Máquinas Virtuales: Las máquinas virtuales abstrae el hardware de nuestra computadora personal, como CPU, unidades de disco, memoria, NIC (Tarjeta de interfaz de red), etc., en muchos entornos de ejecución diferentes según nuestros requisitos, lo que nos da la sensación de que cada entorno de ejecución es una sola computadora. Por ejemplo, VirtualBox.
  • 37. Ventajas: ● No hay problemas de protección porque cada máquina virtual está completamente aislada de todas las demás máquinas virtuales. ● La máquina virtual puede proporcionar una arquitectura de conjunto de instrucciones que difiere de las computadoras reales. ● Fácil mantenimiento, disponibilidad y cómoda recuperación.
  • 38. Desventajas: ● Cuando varias máquinas virtuales se ejecutan simultáneamente en una computadora host, una máquina virtual puede verse afectada por otras máquinas virtuales en ejecución, según la carga de trabajo. ● Las máquinas virtuales no son tan eficientes como las reales al acceder al hardware.
  • 39. VI. Exokernels: La arquitectura del exokernel está construida de tal manera que un pequeño núcleo mueve todas las abstracciones de hardware a bibliotecas que no son de confianza conocidas como sistemas operativos de biblioteca. El objetivo principal de un exokernel es garantizar que no haya una abstracción forzada, que es lo que hace que un exokernel sea diferente de los núcleos micro y monolíticos.
  • 41. Ventajas: ● Rendimiento mejorado de aplicaciones. ● Uso más eficiente de los recursos de hardware mediante la asignación y revocación precisas de recursos. ● Desarrollo y prueba más fáciles de nuevos sistemas operativos. ● Cada aplicación de espacio de usuario puede aplicar su propia gestión de memoria optimizada.
  • 42. Desventajas: ● Consistencia reducida. ● Diseño complejo de interfaces exokernel.