Está en la página 1de 7

Victor Manuel Lopez Galvis – 2155050

2)
 ¿Qué es el API de un sistema?

R// Este grupo de APIs definen cómo las aplicaciones usan los recursos disponibles y servicios del
sistema operativo. Por lo que cada OS (Operative System) posee un conjunto de APIs, por ejemplo,
Windows API o Linux API tienen el kernel-user space API y kernel internal API.

 ¿Cuál es la función de la API?

R// Una de las principales funciones de las API es poder facilitarle el trabajo a los desarrolladores y
ahorrarles tiempo y dinero. Por ejemplo, si estás creando una aplicación que es una tienda online,
no necesitarás crear desde cero un sistema de pagos u otro para verificar si hay stock disponible
de un producto. Podrás utilizar la API de un servicio de pago ya existente, por ejemplo, PayPal, y
pedirle a tu distribuidor una API que te permita saber el stock que ellos tienen.

Con ello, no será necesario tener que reinventar la rueda con cada servicio que se crea, ya que
podrás utilizar piezas o funciones que otros ya han creado. Imagínate que cada tienda online
tuviera que tener su propio sistema de pago, para los usuarios normales es mucho más cómodo
poder hacerlo con los principales servicios que casi todos utilizan.

 ¿Qué beneficios tiene el API?

R// Las APIs son capaces de entregar diversos beneficios gracias a su uso. A continuación, los
principales:

 Aplicaciones: el acceso a APIs garantiza mayor flexibilidad en procesos de transferencia de


información.
 Alcance: a través de ellas es posible crear capas de aplicaciones con el objetivo de
distribuir información a diferentes audiencias.
 Personalización: asimismo, puede servir como solución para crear experiencias
diferenciadas hacia el usuario, permitiendo adaptar protocolos, funciones y comandos
según requerimientos específicos.
 Eficiencia: al tener contenido que se publica de forma automática y se hace disponible en
diversos canales simultáneamente, las APIs permiten distribuir más eficientemente los
datos.
 Adaptabilidad: uno de los grandes beneficios de las APIs es la capacidad que tienen de
adaptarse a cambios a través de la migración de datos y la flexibilidad de servicios.
 ¿Qué es una API abierta?

R// Una API (Interfaz de Programación de Aplicaciones) abierta se refiere a una API que está
disponible públicamente y no requiere permisos especiales para ser utilizada por los
desarrolladores de software. En otras palabras, una API abierta es accesible para cualquier
desarrollador que quiera utilizarla.

Sin embargo, es importante destacar que una API abierta no significa que cualquier persona pueda
hacer cualquier cosa con la API. Las API abiertas suelen tener limitaciones y políticas de uso que se
deben seguir para garantizar la seguridad y la protección de los datos y los recursos de la
organización que proporciona la API. Estas limitaciones y políticas de uso pueden incluir límites en
el número de solicitudes que se pueden realizar a la API, restricciones en el tipo de datos que se
pueden acceder o manipular, y otras restricciones para garantizar que la API se utilice de manera
responsable y segura.

3)
 VIRTUALIZACIÓN COMPLETA: La virtualización completa es una técnica que permite crear
una capa de abstracción entre el hardware físico y el software que se ejecuta en él. En la
virtualización completa, se crea una máquina virtual (VM) que emula un entorno completo
de hardware, incluyendo CPU, memoria, almacenamiento y dispositivos periféricos. El
sistema operativo y las aplicaciones se ejecutan dentro de la VM, lo que les permite
interactuar con el hardware emulado como si estuvieran ejecutándose directamente en
una máquina física.

BENEFICIOS:

o Mayor eficiencia de recursos: la virtualización completa permite que múltiples


sistemas operativos y aplicaciones se ejecuten en una sola máquina física, lo que
maximiza la utilización de los recursos del hardware y reduce la necesidad de comprar
y mantener múltiples servidores físicos.

o Mayor flexibilidad y escalabilidad: la virtualización completa permite que las VM se


creen, configuren, muevan y escalen fácilmente, lo que facilita la administración y el
mantenimiento del entorno de TI.

o Mejora de la disponibilidad y la recuperación ante desastres: la virtualización completa


permite la creación de instantáneas y copias de seguridad de las VM, lo que permite
una recuperación más rápida y fácil en caso de fallas de hardware o de software.

o Aislamiento y seguridad mejorados: la virtualización completa permite que las


aplicaciones se ejecuten en entornos aislados y seguros, lo que ayuda a prevenir
conflictos entre aplicaciones y aumenta la seguridad y la privacidad de los datos.
o Mayor facilidad para probar nuevas aplicaciones y sistemas operativos: la
virtualización completa permite que los desarrolladores prueben nuevas aplicaciones y
sistemas operativos en entornos aislados y seguros, lo que facilita la identificación y
corrección de errores antes de implementarlos en producción.

 PARAVIRTUALIZACIÓN: La paravirtualización es una técnica de virtualización en la que el


sistema operativo invitado (guest) es consciente de que está siendo virtualizado y está
diseñado para cooperar con el sistema operativo anfitrión (host) para lograr un alto
rendimiento y eficiencia. A diferencia de la virtualización completa, la paravirtualización
no emula un entorno completo de hardware y requiere que el sistema operativo invitado
sea modificado para que sea consciente de la virtualización.

Algunos de los beneficios de la paravirtualización incluyen:

o Mayor rendimiento: como el sistema operativo invitado es consciente de que está


siendo virtualizado, puede interactuar directamente con el hardware subyacente,
lo que puede proporcionar un rendimiento más rápido y eficiente en comparación
con la virtualización completa.

o Mayor flexibilidad: la paravirtualización permite que los sistemas operativos


invitados se modifiquen y se adapten para un mejor rendimiento en un entorno
virtualizado, lo que puede proporcionar una mayor flexibilidad en el diseño de la
infraestructura virtualizada.

o Aislamiento y seguridad mejorados: al igual que con la virtualización completa, la


paravirtualización permite que las aplicaciones se ejecuten en entornos aislados y
seguros, lo que ayuda a prevenir conflictos entre aplicaciones y aumenta la
seguridad y la privacidad de los datos.

o Mayor facilidad para migrar aplicaciones y sistemas operativos: la


paravirtualización puede permitir una migración más fácil y rápida de aplicaciones
y sistemas operativos entre entornos virtualizados y físicos, lo que puede
proporcionar una mayor flexibilidad y eficiencia en la administración de la
infraestructura.

 VIRTUALIZACIÓN POR EMULACIÓN: La virtualización por emulación es una técnica de


virtualización en la que se emula todo el hardware del sistema invitado, incluyendo la CPU,
la memoria, el almacenamiento y otros componentes, de modo que el sistema operativo
invitado no es consciente de que está siendo virtualizado. Esto permite que los sistemas
operativos y las aplicaciones que se ejecutan en ellos se comporten de la misma manera
que lo harían en un sistema físico dedicado.

Algunos de los beneficios de la virtualización por emulación incluyen:


o Mayor flexibilidad: la virtualización por emulación permite que los sistemas
operativos invitados se ejecuten en una amplia variedad de plataformas de
hardware sin necesidad de adaptarlos o modificarlos, lo que puede proporcionar
una mayor flexibilidad en la implementación de la infraestructura virtualizada.

o Mayor aislamiento y seguridad: como los sistemas operativos invitados se


ejecutan en entornos virtuales aislados, esto puede proporcionar una mayor
seguridad y privacidad de los datos, ya que cualquier problema que ocurra en uno
de los sistemas operativos invitados no afectará a los demás sistemas invitados ni
al sistema operativo anfitrión.

o Mayor capacidad de recuperación: la virtualización por emulación permite que los


sistemas operativos invitados se respalden y se restauren fácilmente, lo que puede
proporcionar una mayor capacidad de recuperación en caso de fallos o desastres.

 VIRTUALIZACIÓN A NIVEL DEL SISTEMA OPERATIVO: La virtualización a nivel del sistema


operativo (también conocida como virtualización basada en contenedores o virtualización
liviana) es una técnica de virtualización en la que se ejecutan múltiples sistemas operativos
aislados, llamados contenedores, en un solo sistema operativo anfitrión. Los contenedores
comparten el mismo kernel del sistema operativo anfitrión, lo que significa que no es
necesario emular hardware adicional para cada contenedor.

Algunos de los beneficios de la virtualización a nivel del sistema operativo incluyen:

o Mayor eficiencia en el uso de recursos: como los contenedores comparten el


mismo kernel del sistema operativo anfitrión, no es necesario emular hardware
adicional para cada contenedor, lo que permite una mayor eficiencia en el uso de
recursos de hardware y reduce los costos de infraestructura.

o Mayor velocidad y rendimiento: la virtualización a nivel del sistema operativo


proporciona un mayor rendimiento y velocidad en comparación con la
virtualización por emulación, ya que no es necesario emular hardware adicional
para cada contenedor.

o Mayor flexibilidad: la virtualización a nivel del sistema operativo permite una


mayor flexibilidad en la implementación y gestión de la infraestructura
virtualizada, ya que los contenedores se pueden crear, configurar y desplegar
rápidamente.

o Mayor aislamiento y seguridad: los contenedores están aislados unos de otros y


del sistema operativo anfitrión, lo que proporciona una mayor seguridad y
privacidad de los datos, ya que cualquier problema que ocurra en uno de los
contenedores no afectará a los demás contenedores ni al sistema operativo
anfitrión.

o Mayor portabilidad: los contenedores son portátiles entre diferentes sistemas


operativos anfitriones, lo que permite una mayor flexibilidad y portabilidad en la
implementación y gestión de la infraestructura virtualizada.

4)
 GESTIÓN DE MÁQUINA VIRTUAL EN AMBIENTE HIPERVISOR: La gestión de máquinas
virtuales en ambientes de hipervisor involucra una serie de tareas que se llevan a cabo
para asegurar un correcto funcionamiento de las máquinas virtuales y maximizar la
utilización de los recursos de hardware disponibles. A continuación, se describen algunas
de las tareas más comunes de la gestión de máquinas virtuales en ambientes de
hipervisor:

o Creación de máquinas virtuales: la creación de una máquina virtual implica


especificar los recursos de hardware que se asignarán a la misma, como la
cantidad de memoria RAM, el número de núcleos de procesador y el tamaño del
disco virtual. Los hipervisores suelen ofrecer herramientas para crear nuevas
máquinas virtuales de manera rápida y sencilla, como asistentes o plantillas
preconfiguradas.

o Configuración de recursos: Una vez creada la máquina virtual, se pueden realizar


ajustes en la configuración de recursos, como aumentar o disminuir la cantidad de
memoria RAM asignada, añadir discos duros virtuales o cambiar la configuración
de red.

o Gestión de snapshots: Los snapshots son copias instantáneas de una máquina


virtual en un momento determinado. Esto permite crear puntos de restauración
para la máquina virtual y facilita la recuperación ante fallos o problemas. Los
hipervisores suelen ofrecer herramientas para gestionar y crear snapshots de
manera sencilla.

o Gestión de clones: La creación de clones permite replicar una máquina virtual


existente, lo que puede resultar útil para desplegar varias instancias de un mismo
servidor o aplicación de manera rápida. Los hipervisores suelen ofrecer
herramientas para clonar máquinas virtuales de manera sencilla.

o Configuración de redes virtuales: Los hipervisores suelen permitir la creación de


redes virtuales que pueden utilizarse para conectar máquinas virtuales entre sí o
para conectar máquinas virtuales con la red física. Es necesario configurar
correctamente las redes virtuales para garantizar una comunicación adecuada
entre las máquinas virtuales.
o Monitorización y rendimiento: Los hipervisores suelen incluir herramientas de
monitorización y rendimiento que permiten supervisar el uso de recursos de las
máquinas virtuales y del sistema anfitrión. Es importante realizar un seguimiento
del uso de recursos para asegurar que las máquinas virtuales dispongan de
suficientes recursos y que el sistema anfitrión no se sobrecargue.

 A NIVEL DEL SISTEMA OPERATIVO: La gestión a nivel del sistema operativo implica una
serie de tareas que se llevan a cabo para garantizar el correcto funcionamiento del sistema
y de las aplicaciones que se ejecutan en él. A continuación, se describen algunas de las
tareas más comunes de la gestión a nivel del sistema operativo:

o Configuración del sistema: Esto incluye la configuración de parámetros de sistema


como la hora, fecha, zona horaria, configuración de red, entre otros. Estas tareas
suelen realizarse mediante herramientas específicas proporcionadas por el
sistema operativo.

o Instalación y actualización de software: Para mantener el sistema operativo y las


aplicaciones que se ejecutan en él actualizadas y seguras, es necesario realizar
periódicamente actualizaciones y parches. La instalación y actualización de
software se lleva a cabo a través de herramientas específicas, como gestores de
paquetes o programas de instalación.

o Gestión de usuarios y grupos: En sistemas multiusuario, es necesario crear y


gestionar cuentas de usuario y grupos de usuarios con distintos niveles de
permisos y acceso a los recursos del sistema. Las tareas de gestión de usuarios y
grupos incluyen la creación de cuentas, la asignación de permisos y la eliminación
de cuentas de usuario inactivas.

o Monitorización y rendimiento: Para garantizar el correcto funcionamiento del


sistema, es necesario realizar un seguimiento del uso de recursos del sistema,
como la CPU, la memoria y el almacenamiento. Las herramientas de
monitorización y rendimiento proporcionan información detallada sobre el uso de
estos recursos, lo que permite identificar problemas y optimizar el rendimiento del
sistema.

o Mantenimiento y resolución de problemas: El mantenimiento del sistema


operativo incluye la realización de tareas como la limpieza de archivos temporales,
la eliminación de software innecesario y la defragmentación del disco. También es
importante resolver los problemas que puedan surgir en el sistema, como errores
de software o problemas de hardware.
o Copias de seguridad y restauración: Para garantizar la integridad de los datos
almacenados en el sistema, es necesario realizar copias de seguridad periódicas de
los datos críticos y almacenarlas en un lugar seguro. Las herramientas de copia de
seguridad permiten automatizar este proceso y simplificar la tarea de restaurar los
datos en caso de fallo del sistema.

5)
 Cuando se inicia un proceso, el sistema operativo asigna recursos para ese proceso, como
espacio en memoria, una pila y un conjunto de registros. El proceso se coloca en una cola
de procesos listos para ser ejecutados y el sistema operativo le asigna un tiempo de CPU.
Cuando el proceso comienza a ejecutarse, la CPU carga el código de la aplicación en
memoria y comienza a ejecutar las instrucciones del programa.

El sistema operativo utiliza un algoritmo de planificación de procesos para determinar cuál


proceso debe ejecutarse a continuación. El planificador asigna una prioridad a cada
proceso y utiliza esta información para decidir qué proceso debe ejecutarse en función de
su estado actual y de la política de planificación utilizada. Una vez que el planificador
decide qué proceso debe ejecutarse a continuación, el sistema operativo cambia el
contexto del proceso actual y carga el contexto del proceso siguiente en la CPU. El proceso
siguiente comienza a ejecutarse y el proceso anterior se suspende temporalmente.

También podría gustarte