Está en la página 1de 11

CUESTIONARIO DE SISTEMAS OPERATIVOS

CAPÍTULOS 1 Y 2

1. ¿Qué es un Sistema Operativo?

Un sistema operativo es un programa encargado de poner en funcionamiento el


computador, es el encargado de gestionar los procesos básicos de un sistema y el hardware
para el usuario.

2. ¿Cuáles son los objetivos de un Sistema Operativo?

1) Ejecutar programas y facilita la resolución de problemas al usuario


2) Hacer que el sistema informático sea cómodo de usar
3) Utilizar el hardware de la computadora de manera eficiente

3. Explique los componentes de un Sistema Informático

1) Hardware
Proporciona recursos informáticos básicos (CPU,memoria, dispositivos de E/S)
2) Sistema Operativo
Controla y coordina el uso del hardware entre los diversos programas de aplicación
para distintos usuarios
3) Programas y aplicaciones
Define las formas en que se utilizan los recursos del sistema para resolver los problemas
de los usuarios (compiladores, sistemas de bases de datos, videojuegos, programas
empresariales)
4) Usuarios

4. Explique los componentes de un Computador

Los componentes básicos de un computador se clasifican en:


– Procesamiento
– Entrada/Salida
– Almacenamiento
– Otros (fuente de poder, disipador de calor, etc.)
Procesamiento: El procesador es el cerebro del sistema, procesa todo lo que ocurre en la PC
y ejecuta todas las acciones que existen. Cuanto más rápido sea el procesador que tiene una
computadora, más rápidamente se ejecutarán las órdenes que se le den a la máquina.
Es una pastilla de silicio que va colocada en el socket sobre la placa madre dentro del gabinete
de la computadora de escritorio. En una laptop está directamente soldado.
Los fabricantes de procesadores de PC más populares son Intel y AMD.
Entrada/Salida: Los dispositivos de entrada y salida son aparatos electrónicos que son
conectadas a la computadora a través de sus ranuras de entrada o salida, son los medios con el
cual el usuario se comunica con el sistema de procesamiento, de estos podemos destacar
entrada:Mouse, Teclado, Scanner, Webcam y microfono, y los de salida: Monitor,proyector,
auriculares, impresora y altavoces.
Almacenamiento:En los medios de almacenamiento del computador, se almacenan en forma
temporal o permanentemente los programas y datos que son manejados por las aplicaciones que
se ejecutan en estos sistemas.
Los sistemas informáticos pueden almacenar los datos tanto interna (en la memoria) como
externamente (en los dispositivos de almacenamiento). Internamente, las instrucciones o datos
pueden almacenarse por un tiempo en la memoria RAM. Por otro lado, los dispositivos de
almacenamiento externo pueden residir dentro del case del computador, pero están fuera de la
placa de circuito principal.
Se dividen según el modo de acceso a los datos que contienen:
Acceso secuencial: el elemento de lectura del dispositivo debe pasar por el espacio ocupado
por la totalidad de los datos almacenados previamente al espacio ocupado físicamente por los
datos almacenados que componen el conjunto de información a la que se desea acceder.
Acceso aleatorio: el elemento de lectura accede directamente a la dirección donde se encuentra
almacenada físicamente la información que se desea localizar (memoria RAM).
La memoria RAM (Random Access Memory) es un tipo de memoria operativa de
computadores y sistemas informáticos, en donde se ejecuta la mayor parte del software: el
propio sistema operativo, el software de aplicación y programas semejantes. Es una forma de
memoria temporal, que al apagar o reiniciar el sistema vuelve a estar en blanco.
En este tipo de memoria se puede grabar o recuperar información sin la necesidad de un orden
secuencial, se puede acceder a ella de la manera más rápida posible, con un tiempo de espera
igual para cualquier posición de memoria.
Memoria ROM: memoria únicamente de lectura. Sirve para almacenar el programa básico de
iniciación, instalado desde fábrica.
Memoria RAM: memoria volátil en la que se puede leer, pero también escribir.
Memorias Auxiliares: como espacios extra externos al computador para almacenar
información. En este grupo destacan el disco duro, disquets, etc.
Otros: Fuente de poder es un componente del computador que se encarga de transformar una
corriente eléctrica alterna en una corriente eléctrica continua transmitiendo la corriente eléctrica
imprescindible y necesaria a los ordenadores para el buen funcionamiento y protección de estos.
Un disipador es un instrumento que se utiliza para bajar la temperatura de algunos
componentes electrónicos. Su funcionamiento se basa en la ley cero de la termodinámica

5. Explique el arranque del computador

Cada computador contiene una placa base, dentro de él existe un programa llamado BIOS que
contiene software de entrada/salida, cuando se inicia la computadora, se inicia el BIOS, este
verifica la RAM y si el teclado y otros dispositivos están correctamente conectados. Comienza
escaneando los buses PCIe y PCI, luego el BIOS determina el dispositivo de arranque probando
una lista almacenada en la CMOS, intenta arrancar desde un CD o USB si esta presente, sino
se arranca desde el disco duro, seguidamente el primer sector del dispositivo de arranque se lee
en memoria y se ejecuta, este sector contiene un programa que examina tablas de particiones
para determinar qué partición está activa, se lee un cargador de arranque desde esa partición,
El cargador lee en el sistema operativo desde la partición activa y lo inicia.
Por último el S.O verifica los controladores de los dispositivos sino pide al usuario que ingrese
los controladores, si todo esta correcto el S.O carga en el núcleo los controladores, crea procesos
en segundo plano y ejecuta un programa de Inicio de sesión.
6. Explique los componentes de un Sistema Operativo

--Nucleo(Kernel): Parte primordial del S.O, administra todo el sistema, sincroniza todos los
procesos y a nivel de nucleo solo trabaja con procesos.
– Administración de procesos: Un proceso es un programa en memoria + CPU + acceso a
dispositivos + otros recursos.
Un proceso es una entidad activa, mientras que un programa es una entidad pasiva.
El sistema operativo es el encargado de proveer servicios para que cada proceso pueda realizar
su tarea. Entre los servicios se encuentran: Crear y destruir procesos, suspender y reanudar
procesos, proveer mecanismos para la sincronización y comunicación entre procesos, proveer
mecanismos para prevenir dead-locks o lograr salir de ellos.
– Administración de memoria: la memoria es un area de almacenamiento comun en
procesadores y dispositivos, el sistema operativo se encarga de: Mantener que partes de la
memoria están siendo usadas, y por quien. Decidir cuales procesos serán cargados a memoria
cuando exista espacio de memoria disponible, pero no suficiente para todos los procesos que
deseamos. Asignar y quitar espacio de memoria según sea necesario.
– Subsistema de Entrada/Salida: El S.O debera ocultar caracteristicas especificas y ofrecer
servicios comunes a todos estos son: Montaje y desmontaje de dispositivos Una interfaz entre
el cliente y el sistema operativo para los device drivers. Técnicas de cache, buffering y spooling.
Device drivers específicos
– Administración de Almacenamiento secundario: La memoria Ram es volatil y pequeña
por lo que el S.O se encarga de : Administrar el espacio libre, Asignar la información a un
determinado lugar, Algoritmos de planificación de disco (estos algoritmos deciden quien utiliza
un determinado recurso del disco cuando hay competencia por él).
– Subsistema de archivos: Proporciona una vista uniforme de todas las formas de
almacenamiento, implementando el concepto de archivo como una colección de bytes. El
Sistema Operativo deberá proveer métodos para: Abrir, cerrar y crear archivos, Leer y escribir
archivos
– Sistema de protección: Por protección se hace referencia a los mecanismos por los que se
controla el acceso de los procesos a los recursos. En un sistema multiusuario donde se ejecutan
procesos de forma concurrente se deben tomar medidas que garanticen la ausencia de
interferencia entre ellos. Estas medidas deben incorporar la posibilidad de definir reglas de
acceso, entre otras aspectos.

7. Explique los servicios de un Sistema Operativo


Ejecución de programas El sistema operativo deberá ser capaz de cargar un programa a
memoria y ejecutarlo. El programa deberá poder finalizar su ejecución, de forma normal o
anormal, indicando el error generado.

Operaciones de E/S Un programa en ejecución puede necesitar llevar a cabo operaciones de


E/S, dirigidas a un archivo o dispositivo de E/S. Para ciertos dispositivos es deseable disponer
de funciones especiales. Por cuestión de eficiencia y protección, los usuarios no pueden
controlar de modo directo los dispositivos de E/S; el sistema operativo debe proporcionar
medios para realizar la E/S.

Manipulación del Sistema de archivos


El sistema de archivos tiene una importancia especial. Obviamente, los programas necesitan
leer y escribir en archivos y directorios. También necesita crearlos y borrarlos usando su
nombre, realizar búsquedas en un determinado archivo o presentar la información contenida en
un archivo. Algunos programas incluyen mecanismos de gestión de permisos para conceder o
denegar el acceso a los archivos o directorios dependiendo de quién es el propietario.

Comunicación entre procesos


Hay muchas circunstancias en las que un proceso necesita intercambiar información con otro.
Dicha comunicación se puede dar entre procesos que se están ejecutando en la misma
computadora o en computadoras diferentes conectadas por red. La comunicaciones se pueden
implementar utilizando memoria compartida, procedimiento en el que el sistema operativo
transfiere paquetes de información entre unos procesos y otros.

Manipulación de errores
El sistema deberá tomar decisiones adecuadas ante eventuales errores que ocurran, como fallo
de un dispositivo de memoria, fallo en un programa, etc. El sistema operativo necesita detectar
constantemente los posible errores. Estos pueden producirse en el hardware del procesador,
memoria, en un dispositivo de E/S o en los programas de usuario. Para cada tipo de error, el
sistema operativo debe llevar a cabo la operación apropiada para asegurar el funcionamiento
correcto y coherente.

Asignación de recursos
Cuando hay varios usuarios, o hay varios trabajos ejecutándose al mismo tiempo, deben
asignarse a cada uno de ellos los recursos necesarios. El sistema operativo gestiona muchos
tipos diferentes de recursos; algunos pueden disponer de código de software especial que
gestionen su asignación, mientras que otros pueden tener código que gestione de forma mucho
más general su solicitud y liberación.

8. Explique la diferencia entre modo usuario y modo kernel de un Sistema Operativo

Una computadora funciona en dos modos, que son el modo usuario y el modo kernel. Al operar
en modo kernel, la CPU puede ejecutar cualquier instrucción de su conjunto de instrucciones
y utilizar todas las características del hardware. El sistema operativo opera en modo kernel, lo
cual le da acceso completo al hardware.
En cambio los programas de aplicación operan en modo de usuario, el cual les permite ejecutar
sólo un subconjunto de las instrucciones y les da acceso sólo a un subconjunto de las
características. Aquí no se permiten las instrucciones de operaciones de E/S y protección de
la memoria.
9. Explique las estructuras de un Sistema Operativo

Sistemas monolíticos El sistema operativo se ejecuta como un solo programa en modo kernel.
Es una colección de procedimientos, unidos en un solo programa binario ejecutable grande.
Cada procedimiento libre de llamar a cualquier otro, no hay ocultamiento de la información.
Esto hace que sea difícil de manejar y de entender. Un bloqueo en cualquiera de estos
procedimientos derribará todo el SO.

Sistemas en capas
Una generalización del sistema monolítico es organizar el SO como una jerarquía de capas.
-La capa 0: se encargaba de la asignación del procesador, de cambiar entre un proceso y otro
cuando ocurran interrupciones o expiraban los temporizadores
-La capa 1: se encarga de la administración de la memoria. Asignaba espacio para los procesos
en la memoria principal y en un tambor de palabras de 512 K que se utilizaba para contener
partes de procesos (páginas).
-La capa 2:se encarga de la comunicación entre cada proceso y la consola del operador (es
decir,el usuario).
-La capa 3:se encarga de administrar los dispositivos de E/S y de guardar en búferes los flujos
de información dirigidos para y desde ellos.
-La capa 4:se encuentran los programas de usuario. No tenían que preocuparse por el proceso,
la memoria, la consola o la administración de E/S.
-La capa 5: esta el proceso operador del sistema.

Microkernels La idea del microkernel es lograr una alta confiabilidad dividiendo el sistema
operativo en módulos pequeños y bien definidos, donde solo el microkernel se ejecuta en modo
kernel y el resto se ejecuta como procesos de usuario ordinarios, de manera que un error en uno
de estos puede bloquear ese componente, pero no puede bloquear todo el sistema. Son
dominantes en aplicaciones en tiempo real, industriales, de aviónica y militares.

Sistemas cliente-servidor Distingue dos clases de procesos, los servidores que proporciona
algún servicio, y los clientes, que usan estos servicios. A menudo, la capa más baja es un
microkernel, pero eso no es obligatorio. La comunicación entre clientes y servidores se realiza
mediante la transmisión de mensajes. Es una abstracción que puede usarse para una sola
máquina o para una red de máquinas

Máquinas virtuales La definición de una máquina virtual es diseñar sobre un equipo real
distintas máquinas virtuales en las que puedan ejecutar sistemas operativos diferentes al mismo
tiempo.

Exokernels Usa la estrategia de particionar la máquina, dar a cada usuario un subconjunto de


los recursos. En la capa inferior, ejecutándose en modo kernel, hay un programa llamado
exokernel, que asigna recursos a máquinas virtuales. Cada VM de nivel de usuario puede
ejecutar su propio SO, cada uno está restringido a usar solo los recursos que ha solicitado y
asignado.

10. ¿Qué es una máquina virtual?

Una máquina virtual es un software que permite emular el funcionamiento de un ordenador


dentro de otro. Consiste básicamente en poder compartir una misma infraestructura de hardware
por varios sistemas operativos funcionando de forma totalmente independiente. Si una se
detiene o tiene problemas, las otras ni se enteran y podrían re-aprovechar los recursos de
velocidad de proceso que quedarían liberados.

11. Explique las tres dimensiones que debe puntuar una máquina virtual

● Seguridad: el hypervisor debería tomar total control de los recursos virtualizados.


● Fidelidad: el comportamiento de un programa en una máquina virtual debería ser idéntico a
aquel que funcione en una máquina real.
● Eficiencia: la mayoría del código en la máquina virtual debería ejecutarse sin la intervención
del hypervisor.

12. ¿Cuáles son las ventajas de una máquina virtual?

● Ahorro de costos: en hardware, energía, espacio, mantenimiento y personal de


administración.
● Compatibilidad de programas utilizados en cada sistema operativo en la máquina
virtual.
● Clonación y migración de sistemas en caliente: Se ahorra mucho tiempo gracias a la
facilidad de administración o de clonación de los discos duros virtuales. Otra de sus
propiedades es la portabilidad, donde es posible la migración en caliente de máquinas
virtuales (sin pérdida de servicio) de un servidor físico a otro, eliminando la necesidad
de paradas planificadas por mantenimiento de los servidores físicos.
● Entornos de prueba: Se puede usar la virtualización para prueba de versiones beta de
software o instalar un nuevo sistema operativo para probarlos antes de adquirirlos
● Aislamiento y seguridad: Las MV son totalmente independientes entre sí. Un fallo en
una aplicación o en una máquina virtual afectará únicamente a esa máquina virtual. El
resto seguirá funcionando normalmente. Cada máquina tiene un acceso privilegiado
independiente. Por tanto, un ataque de seguridad en una máquina virtual sólo afectará
a esa máquina.
● Flexibilidad y agilidad: es posible crear máquinas virtuales con las características de
hardware que se requiera, sin necesidad de adquirir servidores físicos. Además, la
creación de una máquina virtual es un proceso muy rápido. Si se necesita un nuevo
servidor se lo puede tener sin pasar por el proceso de compra, configuración, etc.
● El caso de uso más importante es la virtualización en la nube

13. ¿Cuáles son las desventajas de una máquina virtual?

● Rendimiento inferior: Varios sistemas operativos virtualizados y ejecutados a la vez


nunca alcanzarán las mismas cotas de rendimiento que si estuviera directamente
instalado en el servidor físico.

● Limitaciones en el hardware: No es posible utilizar hardware que no esté gestionado


o soportado por el hypervisor. El software de virtualización nos impondrá una serie de
dispositivos virtuales como tarjetas de video y red que no se puede variar.

● Proliferación de máquinas virtuales: Como no hay que comprar hardware, el número


de máquinas y servidores virtuales se dispara en todos los ámbitos. Los efectos
colaterales se perciben después: aumenta el trabajo de administración, gestión de
licencias y riesgos de seguridad.
● Desaprovechamiento de recursos: Crear máquinas virtuales innecesarias tiene un
coste en ocupación de recursos, principalmente en espacio en disco, RAM y capacidad
de proceso.

● Centralización de las máquinas en un único servidor: Una avería del servidor


anfitrión de virtualización afecta a todas las máquinas virtuales alojadas en él. Para
solventarlo hay que desembolsar un gasto extra de dinero en adoptar soluciones de alta
disponibilidad como clustering y replicación para evitar caídas de servicio de múltiples
servidores con una única avería.

● Portabilidad limitada entre virtualizadores: Como cada producto de virtualización


usa su propio sistema, no hay uniformidad o estandarización de formatos y la
portabilidad entre plataformas está condicionada a la solución de virtualización
adoptada.

14. ¿Qué es un hypervisor y qué tipos hay? Explique.

Un hipervisor es una plataforma de virtualización que se compone por una capa de


software que permite utilizar, al mismo tiempo, diferentes sistemas operativos o máquinas
virtuales en una misma computadora central.

● Hipervisor Tipo 1 (nativo, bare-metal)

Software que se ejecuta directamente sobre el Hardware real del equipo para controlar
el Hardware y monitorizar los sistemas operativos virtualizados. Los sistemas virtualizados se
ejecutan en otro nivel por encima del hipervisor.

● Hipervisor Tipo 2 (Hosted):

Aplicación que se ejecuta sobre un sistema operativo convencional (Linux, Windows,


MacOS) para virtualizar sistemas. De esta forma la virtualización se produce en una capa mas
alejada del hardware si se lo compara con los hipervisores de tipo 1.
15. ¿Qué se virtualiza en los diferentes tipos de nubes?

● Escritorio virtual
● Plataformas de software
● Servidores
● Aplicaciones
● Almacenamiento
● Datos

16. Defina una instrucción TRAP

Un trap (o una excepción), es una interrupción generada por software causada por un
error (por ejemplo, división por cero o acceso a memoria no válido) o por una solicitud
específica de un programa de usuario que lanza una llamada al sistema para obtener servicios
del sistema operativo. Además, la instrucción TRAP cambia del modo usuario al modo kernel
e inicia el sistema operativo. La mayoría de los demás traps son producidos por el hardware
para advertir acerca de una situación excepcional.

17. Defina una instrucción Interrup

Una interrupción es algo generado por el hardware (dispositivos como el disco duro, tarjeta
gráfica, puertos de E/S, etc.). Estos son asincrónicos (es decir no ocurren en lugares predecibles
en el código de usuario) o "pasivo" ya que el controlador interrupción tiene que esperar a que
ocurran finalmente.

También puede ver un desvío como una especie de interrupción interna de la CPU, ya que el
controlador para el controlador de captura parece un controlador de interrupción (se guardan
los registros y los punteros pila, hay un modificador de contexto, la ejecución puede reanudarse
algunos casos en los que lo dejó).

18. Explique las estrategias para ejecutar máquinas virtuales

VM nativo (hypervisor model)

● No SO primario
● Hypervisor está cargado del acceso a los dispositivos y su planificación.
● SO se ejecuta en modo kernel (modo usuario), no se ejecuta con todos los privilegios .

VM Alojada

● VMM se ejecuta sin privilegios especiales


● SO primario responsable por el acceso a la máquina cruda
○ Permite usar todos los drivers disponibles para el SO primario
● SO invitados se ejecutan bajo una VMM
● VMM es invocada por el SO alojado
○ Sirve como proxy del SO alojado para acceder a los dispositivos.

Paravirtualization

Se desarrolló para proporcionar un mejor rendimiento que la virtualización completa asistida


por software al permitir que el sistema operativo reconozca la presencia del hipervisor y se
comunique directamente con el hipervisor. La paravirtualización también asegura que se
recompile un SO huésped antes de instalarlo en una VM. En términos generales, sin embargo,
la paravirtualización requiere que se modifiquen los SO invitados para implementar una API
para intercambiar comandos enviados desde el hipervisor al servidor.

19. Explique ¿cómo se virtualiza la memoria?


El hipervisor crea una tabla de páginas paralelas que asigna páginas virtuales utilizadas por máquinas
virtuales a páginas reales que le proporciona el hipervisor.
● Similar a la memoria virtual basada en el sistema operativo
● Necesita virtualizar la MMU

20. Explique ¿cómo se virtualiza el CPU?

Un SO es sólo código!
● Privilegiado vs. instrucciones no privilegiadas
● Aplicaciones regulares usan instrucciones no privilegiadas – Fácil para virtualizar
● Si las aplicaciones regulares ejecutan instrucciones privilegiadas, ejecutan una llamada trap
(interrupción)
VM captura la interrupción y emula la instrucción – Trap & Emulación
Considerando la instrucción Intel x86 popf
● Carga los indicadores de CPU que se registran a partir del contenido de la pila
● Si la CPU está en modo privilegiado -> todas las banderas son reemplazadas
● Si la CPU está en modo de usuario -> algunos indicadores son reemplazados
– No se genera traps

21. Explique ¿qué es multiplexar un recurso?

Configurar el hardware para que pueda ser utilizado directamente por la VM y compartido a
través de múltiples máquinas virtuales. (CPU y RAM).

22. Explique ¿qué es emular un recurso?

Es exportar una simulación de software del componente de hardware canónico


seleccionado a la máquina virtual.

También podría gustarte