Ingeniería informática
Sistemas Operativos
Tarea 1
1. ¿Explique el sistema operativo y la importancia?
Un sistema operativo es un conjunto de rutinas y archivos de programa que controla los
recursos de un computador y proporciona acceso a los servicios de esté; Controla el
hardware del sistema, por lo que los componentes y periféricos internos funcionan en todos
los programas, también funcionan como iniciadores y administradores de archivos,
proporcionando una forma de abrir programas, organizar documentos y transferir
datos. Todos los programas se vinculan con el sistema operativo para poder ejecutarse, por
lo que cada sistema tiene su propio software de ahí la importancia del sistema operativo
pues es un componente esencial no solo en los computadores sino en todos los dispositivos
móviles.
2. Explicar los sistemas agrupados
Un sistema agrupado utiliza múltiples CPU para completar una tarea. Es diferente del
sistema paralelo en que el sistema agrupado consiste en dos o más sistemas individuales
vinculados entre sí. Las computadoras agrupadas comparten almacenamiento y están
estrechamente vinculadas a través de la red LAN.
La agrupación generalmente se realiza para proporcionar alta disponibilidad. Una capa de
software de clúster se ejecuta en nodos de clúster. Cada nodo puede monitorear uno o más
nodos a través de la LAN.
La máquina monitoreada puede fallar en algunos casos. La máquina de monitoreo puede
tomar posesión de su almacenamiento. La máquina de monitoreo también puede reiniciar
las aplicaciones que se ejecutan en el fallido máquina- La máquina puede permanecer
inactiva, pero los usuarios verán un resumen del servicio.
El sistema agrupado puede tener las siguientes formas:
• Agrupación asimétrica: de esta forma, una máquina se encuentra en el modo de
espera activa y otra máquina ejecuta la aplicación. La máquina de reserva activa no realiza
nada. Solo monitorea el servidor. Se convierte en el servidor activo si el servidor falla.
• Clúster simétrico: en este modo, dos o más máquinas ejecutan las aplicaciones. También
se controlan entre sí al mismo tiempo. Este modo es más eficiente porque usa todas
las máquinas disponibles. Se puede usar solo si hay múltiples aplicaciones disponibles para
ser ejecutadas.
3. Explicar ensambladores, compilador, intérprete, enlazadores
Ensamblador: Una computadora no entenderá ningún programa escrito en un idioma que no sea
el lenguaje de máquina. Los programas escritos en otros idiomas deben traducirse al lenguaje de
la máquina. Dicha traducción se realiza con la ayuda de software. Un programa que traduce un
programa de lenguaje ensamblador a un programa de lenguaje de máquina se denomina
ensamblador. Si un ensamblador que se ejecuta en una computadora y produce los códigos de
máquina para la misma computadora, entonces se llama auto ensamblador o ensamblador
residente.
Los ensambladores se dividen en dos tipos:
- Un ensamblador de un paso. Asigna las direcciones de memoria a las variables y traduce
el código fuente al código de máquina en el primer pase simultáneamente.
- Un ensamblador de dos pasos. Lee el código fuente dos veces. En el primer paso, lee todas
las variables y les asigna direcciones de memoria. En el segundo paso, lee el código fuente
y traduce el código en código objeto.
Compilador: Traduce un programa de lenguaje de alto nivel a un programa de lenguaje de
máquina. Un compilador es más inteligente que un ensamblador. Comprueba todo tipo de límites,
rangos, errores, etc. Pero el tiempo de ejecución del programa es mayor y ocupa una parte más
grande de la memoria. Tiene velocidad lenta porque un compilador recorre todo el programa y
luego traduce todo el programa en códigos de máquina. Si un compilador se ejecuta en una
computadora y produce los códigos de máquina para la misma computadora, entonces se conoce
como compilador automático o compilador residente. Por otro lado, si un compilador se ejecuta
en una computadora y produce los códigos de la máquina para otra computadora, entonces se
conoce como compilador cruzado.
Intérprete: Traduce las declaraciones de un programa en código máquina. Traduce solo una
declaración del programa a la vez. Lee solo una declaración de programa, la traduce y la ejecuta.
Luego lee el siguiente enunciado del programa, lo traduce y lo ejecuta nuevamente. De esta forma,
continúa avanzando hasta que todas las declaraciones se traducen y ejecutan. Por otro lado, un
compilador recorre todo el programa y luego traduce todo el programa en códigos de máquina. Un
compilador es de 5 a 25 veces más rápido que un intérprete; Según el compilador, los códigos de
la máquina se guardan de forma permanente para futuras referencias. Por otro lado, los códigos de
máquina producidos por el intérprete no se guardan. Un intérprete es un programa pequeño en
comparación con el compilador. Ocupa menos espacio de memoria, por lo que se puede utilizar en
un sistema más pequeño que tiene un espacio de memoria limitado.
Enlazador: En los lenguajes de alto nivel, se almacenan algunos archivos de encabezado
integrados o bibliotecas. Estas bibliotecas están predefinidas y contienen funciones básicas que
son esenciales para ejecutar el programa. Estas funciones están vinculadas a las bibliotecas por un
programa llamado Enlazador. Si el vinculador no encuentra una biblioteca de una función, informa
al compilador y luego el compilador genera un error. El compilador invoca automáticamente al
enlazador como el último paso en la compilación de un programa. No está construido en
bibliotecas, sino que también vincula las funciones definidas por el usuario a las bibliotecas
definidas por el usuario. Por lo general, un programa más largo se divide en subprogramas más
pequeños llamados módulos. Y estos módulos se deben combinar para ejecutar el programa. El
proceso de combinación de los módulos lo realiza el vinculador.
4. Explicar el sistema en tiempo real
Sistema de software donde el correcto funcionamiento del sistema depende de los resultados
producidos por el sistema y el momento en que se producen estos resultados. Es crítico en el
tiempo. Por lo tanto, los sistemas en tiempo real deben responder dentro de un período de tiempo
específico. Es un sistema que controla y monitorea el medio ambiente.
Se asocia con estos dos dispositivos de hardware:
a. Sensores: estos son para la recopilación de datos del entorno del sistema.
b. Actuadores: Estos son para cambiar el entorno del sistema de alguna manera.
El sistema de tiempo real se puede clasificar como:
- Sistema suave en tiempo real. Sistema cuya operación se degrada si los resultados
no se producen de acuerdo con los requisitos de temporización especificados se
denomina un sistema en tiempo real suave.
- Sistema duro en tiempo real. Sistema cuya operación es incorrecta si los resultados
no se producen de acuerdo con la especificación de temporización se denomina
Sistema en tiempo real.
5. Discutir el sistema de multiprocesamiento
El procesamiento múltiple se refiere a la capacidad de un sistema para admitir más de un
procesador al mismo tiempo. Las aplicaciones en un sistema de multiprocesamiento se dividen
en rutinas más pequeñas que se ejecutan de forma independiente. El sistema operativo asigna
estos subprocesos a los procesadores para mejorar el rendimiento del sistema.
En un multiproceso simétrico, una única instancia de sistema operativo controla dos o más
procesadores idénticos conectados a una sola memoria principal compartida. La mayoría de
las PC de procesamiento múltiple las motherboards, utilizan multiprocesamiento simétrico.
Por otro lado, el multiproceso asimétrico designa las tareas del sistema que deben realizar
algunos procesadores y las aplicaciones en otros. Esto generalmente no es tan eficiente como
el procesamiento simétrico debido al hecho de que bajo ciertas condiciones un solo procesador
podría estar completamente conectado mientras el otro está inactivo.