UNIVER MILENIUM
PLATEL ECATEPEC
Ingeniería en Sistemas Computacionales
Asignatura:
SISTEMAS OPERATIVOS
GUIA EXAMEN 1
Alumno
VILLAMIZAR OTERO PEDRO ANTONIO
Profesor:
JOSE A. PINEDA AGUILLÓN
Grupo
MISC 501
En este diseño de sistema operativo cada máquina virtual de nivel de usuario puede ejecutar su
propio sistema operativo.
Es posible que estés hablando de un hipervisor, que es un tipo de software que permite la
creación y ejecución de múltiples máquinas virtuales en una sola máquina física.
En un sistema operativo que utiliza un hipervisor, cada máquina virtual de nivel de usuario se
ejecuta en su propia instancia de sistema operativo. Esto significa que, aunque todas las
máquinas virtuales se ejecutan en la misma máquina física, cada una de ellas tiene su propio
sistema operativo y se ejecuta de forma aislada de las demás.
Este tipo de diseño tiene varias ventajas, incluyendo la capacidad de ejecutar múltiples
sistemas operativos en una sola máquina, la flexibilidad para ajustar la cantidad de recursos
asignados a cada máquina virtual y la capacidad de realizar copias de seguridad y
restauraciones de máquinas virtuales de manera independiente.
Algunos ejemplos de sistemas operativos que utilizan un hipervisor incluyen VMware ESXi,
Microsoft Hyper-V y Citrix XenServer.
Su misión es lograr una alta confiabilidad al dividir el sistema operativo en módulos pequeños,
sólo uno de los cuales se ejecuta en modo kernel y el resto se ejecuta como procesos de
usuarios ordinarios o comunes.
La descripción que proporcionas parece estar hablando sobre un enfoque de diseño de
sistema operativo llamado "microkernel".
En un sistema operativo de microkernel, se busca lograr una alta confiabilidad y seguridad al
dividir el sistema operativo en módulos pequeños y separados, donde solo un módulo,
llamado microkernel, se ejecuta en modo kernel, mientras que el resto se ejecuta como
procesos de usuario.
El microkernel proporciona una funcionalidad mínima pero crítica, como la gestión de memoria
y la comunicación entre procesos, mientras que el resto del sistema operativo se ejecuta en
espacio de usuario como procesos independientes. Esto permite que los procesos no
privilegiados se ejecuten de manera aislada del núcleo del sistema operativo, lo que ayuda a
aumentar la seguridad y la confiabilidad del sistema.
El enfoque de microkernel también
Es la porción del sistema operativo que decide mediante un algoritmo que proceso será
ejecutado.
La porción del sistema operativo que decide qué proceso se ejecutará a continuación se llama
"planificador de procesos" o "scheduler" en inglés.
El planificador de procesos es un componente del núcleo del sistema operativo que se encarga
de administrar el tiempo de CPU y decidir qué proceso se ejecutará en un momento dado.
Utiliza un algoritmo de planificación para seleccionar el siguiente proceso de la cola de
procesos listos y asignarle tiempo de CPU.
El algoritmo de planificación puede variar dependiendo del sistema operativo y de los
requisitos específicos del sistema. Algunos algoritmos de planificación
Es la porción del sistema operativo que decide mediante un algoritmo que proceso será
ejecutado.
La porción del sistema operativo que decide qué proceso se ejecutará a continuación se llama
"planificador de procesos" o "scheduler" en inglés.
El planificador de procesos es un componente del núcleo del sistema operativo que se encarga
de administrar el tiempo de CPU y decidir qué proceso se ejecutará en un momento dado.
Utiliza un algoritmo de planificación para seleccionar el siguiente proceso de la cola de
procesos listos y asignarle tiempo de CPU.
El algoritmo de planificación puede variar dependiendo del sistema operativo y de los
requisitos específicos del sistema. Algunos algoritmos de planificación comunes incluyen:
Planificación de round-robin: los procesos se ejecutan en intervalos de tiempo fijos,
asignándose un tiempo de CPU a cada proceso en orden circular. Si un proceso no
termina su tiempo de CPU asignado, se mueve al final de la cola y se da tiempo de CPU
al siguiente proceso.
Planificación basada en prioridades: los procesos se ejecutan de
En este tipo de sistemas operativos podemos enlistar a Linux, Mac OS y Windows.
El enunciado es algo ambiguo y no proporciona suficiente información para determinar a qué
tipo de sistemas operativos se refiere. Sin embargo, podríamos estar hablando de sistemas
operativos de escritorio o sistemas operativos para computadoras personales, ya que Linux,
Mac OS y Windows son sistemas operativos que se utilizan comúnmente en computadoras
personales.
Linux es un sistema operativo de código abierto basado en Unix que se utiliza en una variedad
de sistemas, incluyendo servidores, supercomputadoras y dispositivos móviles, además de
computadoras personales.
Mac OS es el sistema operativo desarrollado por Apple para sus computadoras personales
Macintosh. Se basa en el núcleo de Unix y se ha diseñado específicamente para los dispositivos
de hardware de Apple.
Windows es el sistema operativo desarrollado por Microsoft para computadoras personales. Es
el sistema operativo más utilizado en el mundo y se ha diseñado para funcionar en una amplia
variedad de hardware y dispositivos.
Es importante tener en cuenta que estos sistemas operativos tienen diferentes arquitecturas y
enfoques de diseño, por lo que no se pueden agrupar necesariamente en una misma categoría
o tipo de sistema operativo.
es el programa o conjunto de programas que permiten gestionar los recursos del hardware de
un sistema informático como son la memoria, dispositivos de almacenamiento de datos,
terminales, etc.
El programa o conjunto de programas que permiten gestionar los recursos del hardware de un
sistema informático se llama "sistema operativo" o "SO" (del inglés "operating system").
El sistema operativo es el software fundamental que se encarga de gestionar los recursos del
hardware de un sistema informático. Controla y coordina el uso de los recursos del sistema,
como la memoria, el procesador, los dispositivos de almacenamiento de datos, los dispositivos
de entrada/salida (como los teclados, ratones, impresoras, monitores, etc.) y otros
componentes de hardware.
El sistema operativo también proporciona una interf
Es una característica de los sistemas operativos que hace alusión al término "multitareas":
La característica de los sistemas operativos que se refiere al término "multitarea" es la
capacidad de ejecutar múltiples tareas o procesos simultáneamente. Esta característica permite
a los usuarios realizar varias tareas al mismo tiempo sin tener que esperar a que se complete
una tarea antes de comenzar la siguiente.
La multitarea se puede implementar de varias maneras. En algunos sistemas operativos, se
utiliza la multitarea cooperativa, en la cual cada tarea es responsable de ceder el control al
sistema operativo para permitir que otras tareas se ejecuten. En otros sistemas operativos, se
utiliza la multitarea preemptiva, en la cual el sistema operativo asigna una prioridad a cada
tarea y puede interrumpir una tarea de baja prioridad para permitir que una tarea de alta
prioridad se ejecute.
La multitarea es una característica común en la mayoría de los sistemas operativos modernos,
incluyendo Windows, Mac OS y Linux, y permite a los usuarios realizar múltiples tareas
simultáneamente sin comprometer el rendimiento del sistema.
Es un pequeño clon de UNIX que fue liberado en 1987 para fines educativos:
El pequeño clon de UNIX que fue liberado en 1987 para fines educativos se llama "MINIX".
MINIX es un sistema operativo basado en Unix diseñado por Andrew S. Tanenbaum para su
uso en la educación de sistemas operativos. Fue creado para ser un sistema operativo simple y
modular que los estudiantes pudieran estudiar y aprender cómo funciona un sistema
operativo. MINIX se escribió en lenguaje de programación C y se lanzó con el código fuente
completo.
MINIX fue ampliamente utilizado en cursos universitarios de sistemas operativos y ha sido una
herramient
Es la subdivisión del disco, donde el usuario puede planear el tamaño de espacio de uso para
un nuevo Sistema Operativo en su computadora.
La subdivisión del disco donde el usuario puede planificar el tamaño de espacio de uso para un
nuevo sistema operativo en su computadora se llama "partición".
Una partición es una sección lógica de un disco duro físico que se utiliza para separar los datos
y el software en diferentes áreas del disco. Una partición puede contener un sistema de
archivos y, por lo tanto, puede utilizarse para instalar un sistema operativo en ella.
Por lo tanto, si el usuario desea instalar un nuevo sistema operativo en su computadora,
deberá crear una partición en su disco duro que
Así se le conoce al monitor de máquinas virtuales.
El término comúnmente utilizado para referirse al monitor de máquinas virtuales es
"hypervisor".
Un hypervisor es un software que se ejecuta en el hardware de la comput
Esta técnica implica mover parte del proceso de memoria principal al disco.
La técnica que implica mover parte del proceso de memoria principal al disco se llama
"paginación" o "paging" en inglés.
La paginación es una técnica de gestión
Esta técnica implica mover parte del proceso de memoria principal al disco.
La técnica que implica mover parte del proceso de memoria principal al disco se llama
"paginación" o "paging" en inglés.
La paginación es una técnica de gestión de memoria utilizada por los sistemas operativos para
optimizar el uso de la memoria RAM del sistema. En lugar de cargar todo el proceso en la
memoria principal, el sistema operativo divide el proceso en páginas más pequeñas y las carga
en la memoria según sea necesario. Cuando una página no se está utilizando, se puede mover
a un archivo de intercambio en el disco para liberar espacio en la memoria principal.
La paginación permite a los sistemas operativos ejecutar procesos que son más grandes que la
cantidad de memoria física disponible en el sistema. Sin embargo, la paginación también
puede ralentizar el sistema si se utilizan en exceso, ya que la transferencia de datos entre la
memoria y el disco es más lenta que la transferencia de datos en la memoria principal.
En esta forma de trabajo se empezó a recolectar una bandeja llena de trabajos en el cuarto de
entrada de datos y luego pasarlos a una cinta magnética mediante el uso de una pequeña
computadora relativamente económica.
La forma de trabajo a la que se refiere se llama "procesamiento por lotes" o "batch processing"
en inglés.
En el procesamiento por lotes, se recolecta una serie de trabajos y se procesan juntos en una
secuencia automatizada. Los trabajos se recopilan en una bandeja de entrada y se leen en una
computadora central o en una unidad de procesamiento de datos a través de una cinta
magnética o algún otro medio de almacenamiento de datos. Una vez que se cargan todos los
trabajos en la memoria, el sistema oper
En esta generación de computadoras, los lenguajes de programación eran desconocidos,
incluso se desconocía el lenguaje ensamblador.
La generación de computadoras que se refiere es la "primera generación" de computadoras,
que tuvo lugar en la década de 1940. Durante esta ép
Es una aseveración correcta acerca de las llamadas al sistema:
Una afirmación correcta acerca de las llamadas al sistema es que son una forma en que los
programas de usuario pueden solicitar servicios al sistema operativo.
Las llamadas al sistema son la interfaz que proporciona el sistema operativo para que las
aplicaciones de usuario puedan interactuar con el hardware y los servicios del sistema
operativo. Los programas de usuario pueden solicitar servicios del sistema operativo a través
de llamadas al sistema, que son invocadas mediante una instrucción específica del procesador
y proporcionan argumentos que describen la operación que se desea realizar. Algunos
ejemplos de servicios que pueden ser invocados mediante llamadas al sistema incluyen la
lectura o escritura de archivos, la asignación de memoria, el manejo de interrupciones, la
creación y administración de procesos, y la comunicación entre procesos.
En resumen, las llamadas al sistema son una interfaz importante entre los programas de
usuario y el sistema operativo, y son esenciales para que los programas puedan interactuar con
el hardware y los servicios del sistema operativo de manera segura y controlada.
El siguiente ejemplo: "Si 10 usuarios están conectados y 7 de ellos están pensando en dar un
paseo o tomar café, la CPU se puede asignar por turno a los tres trabajos que desean ser
atendidos" Corresponde a:
El ejemplo descrito se refiere a la técnica de "planificación de procesos" en un sistema
operativo.
La planificación de procesos es el proceso mediante el cual el sistema operativo decide qué
proceso en ejecución debe recibir el uso de la CPU en un momento determinado. En el ejemplo
mencionado, si hay 10 usuarios conectados al sistema y 7 de ellos no están utilizando
activamente la CPU, el sistema operativo podría asignar por turno la CPU a los otros 3 procesos
que están solicitando recursos del sistema.
La técnica de planificación de procesos es fundamental para el rendimiento y la eficiencia de
los sistemas operativos, ya que permite al sistema operativo equilibrar la carga de trabajo y
garantizar que los procesos se ejecuten de manera justa y eficiente. Las diferentes técnicas de
planificación de procesos utilizan diversos algoritmos y heurísticas para tomar decisiones sobre
qué proceso debe ser atendido a continuación, basándose en factores como el tiempo de
ejecución, la prioridad, la cantidad de recursos que solicita y otros criterios.
Se refiere al nivel de importancia relativo al resto de los procesos:
La descripción se refiere a la "prioridad de procesos".
La prioridad de procesos es un concepto importante en la planificación de procesos de un
sistema operativo. Se trata de un valor numérico asignado a cada proceso que indica su
importancia relativa en comparación con otros procesos en el sistema.
Cuando varios procesos están en espera de recursos, el sistema operativo utiliza la prioridad de
procesos para decidir qué proceso debe ser atendido primero. Los procesos con mayor
prioridad reciben un mayor tiempo de ejecución y, por lo tanto, se ejecutan antes que los
procesos con menor prioridad. La prioridad de procesos se utiliza para garantizar que los
procesos críticos, como los que controlan el hardware o los que son importantes para el
usuario,
En el caso de que un proceso intente utilizar una instrucción reservada al sistema operativo,
¿qué ocurre?
Cuando un proceso intenta utilizar una instrucción reservada al sistema operativo, ocurre una
excepción o interrupción de software. Esto sucede porque algunas instrucciones de procesador
están diseñadas para realizar tareas que solo el sistema operativo debe hacer, como acceder al
hardware del sistema, controlar la memoria, administrar los archivos del sistema y realizar otras
tareas críticas.
Cuando un proceso intenta ejecutar una instrucción reservada al sistema operativo, el
procesador genera una excepción de software y transfiere el control al sistema operativo. El
sistema operativo toma el control, maneja la excepción y realiza la tarea que se requiere para
completar la instrucción. Luego, el control se devuelve al proceso, que puede continuar su
ejecución normal.
Este mecanismo de excepción de software es esencial para la seguridad y estabilidad del
sistema operativo, ya que garantiza que solo el sistema operativo tenga acceso a ciertas partes
críticas del sistema, y evita que los procesos maliciosos o malintencionados realicen acciones
que podrían dañar el sistema o
Es el conjunto de instrucciones, organización de memoria, E/S y estructura de bus.
El conjunto de instrucciones, organización de memoria, E/S y estructura de bus se conoce
como la arquitectura del procesador.
La arquitectura del
Este tipo de mecanismos del Sistema Operativo, permiten coordinar a procesos que realizan
accesos concurrentes a un cierto recurso.
Los mecanismos del Sistema Operativo que permiten coordinar a procesos que realizan
accesos concurrentes a un cierto recurso se conocen como mecanismos de sincronización.
La sincronización es una técnica que se utiliza para evitar que los procesos accedan
simultáneamente a recursos compartidos y se produzcan conflictos o inconsistencias en el
estado del sistema. Los mecanismos de sincronización proporcionan una forma de coordinar y
controlar el acceso a los recursos compartidos, de manera que los procesos puedan trabajar
juntos de manera ordenada y cooperativa.
Los mecanismos de sincronización incluyen la exclusión mutua (que garantiza que solo un
proceso a la vez puede acceder a un recurso), los semáforos, las variables de condición, los
monitores y otros mecanismos específicos que dependen del Sistema Operativo. Estos
mecanismos son esenciales para el desarrollo de sistemas multiusuario y multitarea, y se
utilizan ampliamente en la programación de sistemas operativos, aplicaciones de red y
sistemas distribuidos.