Preguntas S.O

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 28

1. ¿Qué tipo de equipos tienen sistemas Operativos?

Todos las PC, portátiles, tablets, Smartphone y servidores tienen y necesitan un sistema


operativo.
2. ¿Cuáles son los sistemas operativos que conoce o ha oído mencionar?
Sistemas operativos para computadores

Windows, OS X, Linux, Chrome OS.

Sistemas operativos para moviles

Android, iOS, kaIOS, Windows, Samsung, PlayStation, Series 40, Nokia, Xbox, Tizen,
Linux, BlackBerry OS.

Sistemas operativos para servidores

Windows Server, UNIX, Debian, Red Hat, CentOS, Ubuntu, FreeBSD, Gentoo.

3. ¿Cuál es la relación del SO con el usuario, aplicación y el hardware?


La relación que existe entre ellos es que el Sistema Operativo
permite controlar el hardware, sobre él se instalan los programas y
aplicaciones que permitirán dar funcionalidad al ordenador y el
último nivel lo forman los usuarios que interactúan con el ordenador.

Otra función que tiene es que cada uno de estos elementos necesitan
del uno de otro para poder funcionar ya que son parte importante del
sistema. Para poder ocupar un software debemos contar con un
sistema operativo primero que es la herramienta que hacen que
funcionen los comandos que se utilizan en el software de aplicación
que son los que más se utilizan tanto local como en la web.

4. ¿Cuáles son los recursos administrados por el SO?


Un programa que controla la ejecución de los programas de aplicación. Una interfaz entre las
aplicaciones y el hardware.

 Periféricos
 Aplicaciones
 Hardware
5. ¿Cómo eran los sistemas operativos en cada generación de computadores?

 La primera generación (1945-1955): tubos de vaco y tableros de conexiones


corría una tarea a la vez, suavizó la transición entre tareas para obtener máxima
utilización del sistema de la computadora. Era más fluida la transmisión entre trabajos.
Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se
reunían por grupo o lotes.

 La segunda generación (1955-1965): transistores y sistemas por lotes.


El desarrollo de los sistemas compartido con multiprogramación, y los principios del
multiprocesamiento. En los sistemas de multiprogramación, varios programas de usuarios
se encuentran el mismo tiempo en el almacenamiento principal, y el procesador se
cambia rápidamente de un trabajo a otro. En los sistemas de multiprocesamiento se
utilizan varios procesadores en un solo sistema computacional, con la finalidad de
incrementar el poder de procesamiento de la máquina.

 La tercera generación (1965-1980): circuitos integrados y multiprogramación


Sistemas operativos más avanzados fueron desarrollados para servir a múltiples usuarios
interactivos a la vez. Los usuarios interactivos se comunicaban con la computadora vía
terminales que están en línea conectadas directamente a la computadora. Los
computadores de la tercera generación fueron diseñados como sistemas de usos
generales.

 La cuarta generación (1980 hasta el presente): computadores personales. Los sistemas de


la cuarta generación constituyen el estado actual de la tecnología. Muchos diseñadores y
usuarios se sienten aun incómodos, después de sus experiencias con los sistemas
operativos de la tercera generación, y se muestran cautelosos antes de comprometerse con
sistemas operativos complejos. Con la ampliación del uso de redes de computadores y del
procesamiento en línea los usuarios obtienen acceso a computadores alejados
geográficamente a través de varios tipos de terminales. El microprocesador ha hecho
posible la aparición de la computadora personal, uno de los desarrollos de notables
consecuencias sociales más importantes de las últimas décadas.
6. ¿Qué es un sistema operativo?

El sistema operativo es el software que coordina y dirige todos los servicios y aplicaciones que


utiliza el usuario en una computadora, por eso es el más importante y fundamental. Se trata
de programas que permiten y regulan los aspectos más básicos del sistema. Los sistemas
operativos más utilizados son Windows, Linux, OS/2 y DOS.

Los sistemas operativos, también llamados núcleos o kernels, suelen ejecutarse de manera


privilegiada respecto al resto del software, sin permitir que un programa cualquiera realice
cambios de importancia sobre él que puedan comprometer su funcionamiento.

El sistema operativo es el protocolo básico de operatividad del computador, que coordina todas


sus demás funciones de comunicaciones, de procesamiento, de interfaz con el usuario.

Los sistemas operativos consisten en interfaces gráficas, entornos de escritorio o gestores de


ventanas que brindan al usuario una representación gráfica de los procesos en marcha. También
puede ser una línea de comandos, es decir, un conjunto de instrucciones ordenado según su
prioridad y que funciona en base a órdenes introducidas por el usuario.

7. ¿Cuáles son y en qué consisten los principales objetivos de un SO?

 Aceptar todos los trabajos y conservarlos hasta su finalización.

 Interpretación de comandos: Interpreta los comandos que permiten al usuario


comunicarse con el ordenador.

 Control de recursos: Coordina y manipula el hardware de la computadora, como la


memoria, las impresoras, las unidades de disco, el teclado o el Mouse.

 Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de


almacenamiento, como discos flexibles, discos duros, discos compactos o cintas
magnéticas.

 Manejo de errores: Gestiona los errores de hardware y la pérdida de datos.


8. E n u n s i s t e m a d

hardware. ¿Qué capas visualiza el usuario final, los programadores, y el diseñador


del sistema operativo?
En un modelo de capa como el de programación:
Capa de presentación: la que ve el usuario (también se la denomina «capa de
usuario»), presenta el sistema al usuario, le comunica la información y captura la
información del usuario en un mínimo de proceso (realiza un filtrado previo para
comprobar que no hay errores de formato). También es conocida como interfaz gráfica y
debe tener la característica de ser «amigable» (entendible y fácil de usar) para el
usuario. Esta capa se comunica únicamente con la capa de negocio.
Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones
del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso
de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben
cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y
presentar los resultados, y con la capa de datos, para solicitar al gestor de base de
datos almacenar o recuperar datos de él. También se consideran aquí los programas de
aplicación.

Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Está
formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de
datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de
negocio.
9. ¿Cuáles son los servicios proporcionados por el SO en general? ¿Con respecto al
acceso? ¿Con respecto al manejo de errores?
Desarrollo de programas: Proporciona variedad de utilidades y servicios, tales como editores y
depuradores para asistir al programador en la creación de programas.

Ejecución de programas: Se necesita realizar una serie de pasos para ejecutar un programa. Las
instrucciones y los datos se deben cargar en la memoria principal.

Acceso a dispositivos de E/S: Cada dispositivo tendrá una interfaz única con propias
instrucciones o señales de control para cada operación. El SO presenta interfaz estándar para los
usuarios.
Acceso controlado a los archivos o ficheros: Acceso a diferentes medios por medio de una
interfaz común

 Proporciona protección en los sistemas de acceso múltiple


Acceso al sistema

 Controla el acceso al sistema y sus recursos

Detección y respuesta a errores: El sistema operativo necesita detectar constantemente los


posibles errores. Estos errores pueden producirse en el hardware del procesador y de memoria,
en un dispositivo de E/So 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.

Contabilidad: Un buen sistema operativo recogerá estadísticas de uso de los diferentes recursos
y monitorizará parámetros de rendimiento tales como el tiempo de respuesta.
10. ¿Cuáles son las fases de evolución de los SO en los primeros años? ¿Describa en
qué consistía cada fase?

Procesamiento serie: Anteriormente el programador interaccionaba directamente con el


hardware del computador; no existían ningún sistema operativo. Estas máquinas eran utilizadas
desde una consola que contenía luces, interruptores, algún dispositivo de entrada y una
impresora, mientras que los programas estaban en código máquina. Si un error provocaba la
parada del programa, las luces indicaban la condición de error. Estos presentaban dos problemas
principales: Planificación (típicamente un usuario podía solicitar un bloque de tiempo en
múltiplos de media hora aproximadamente) y tiempo de configuración. Estos problemas
suponían montar y desmontar cintas o configurar tarjetas. Si ocurría un error el usuario tenía que
volver al comienzo de la secuencia de configuración.

Sistemas Operativos por lotes: Los Sistemas Operativos por lotes, procesan una gran cantidad
de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se
reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o
más trabajos como sucede en el procesamiento en serie. 

Sistemas Operativos de multiprogramación (o Sistemas Operativos de multitarea): Se


distinguen por sus habilidades para poder soportar la ejecución de dos o más
trabajos activos (que se están ejecutado) al mismo tiempo. Esto trae como resultado que la
Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando
al máximo su utilización.

Sistemas Operativos de tiempo compartido: Permiten la simulación de que el sistema y sus


recursos son todos para cada usuario. El usuario hace una petición a la computadora, está la
procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario.
11. ¿Qué operaciones hacia el programa monitor que antecedió al SO en las
computadoras?

12. ¿Cuáles son los modos de operación básicos que encontramos en los SO? ¿Cuáles son
los servicios que se ejecutan en cada uno de los modos?

Modo Kernel: Es un modo de ejecución del sistema operativo en el cual se tiene un modo de
funcionamiento privilegiado.  En este modo todas las instrucciones de hardware están
disponibles. El sistema operativo es el único que debe ejecutar en este modo.

Modo usuario: En este modo de ejecución se puede ejecutar un conjunto reducido de


instrucciones de hardware. Los procesos a nivel de usuarios ejecutan en este modo.
13. ¿Qué es la

multiprogramación?
Un sistema multitarea puede ejecutar múltiples aplicaciones y programas a la vez. Esto es
generalmente usado en computadores donde el usuario desea navegar en internet, ejecutar un
programa de edición de imágenes, escuchar música mediante un reproductor de multimedia y
escribir en un programa de procesamiento de palabras todo de manera simultánea.

14. ¿Qué es un sistema de tiempo compartido?


Permiten la simulación de que el sistema y sus recursos son todos para cada usuarios. El usuario
hace una petición a la computadora, está la procesa tan pronto como le es posible, y la respuesta
aparecerá en la terminal del usuario.

15. ¿Qué es un proceso?


Un proceso, en informática, puede entenderse informalmente como un programa en ejecución.
Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una
secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados"

16. En que consiste la gestión de procesos.


La gestión de procesos es una parte integral de cualquier moderno sistema operativo (OS). El
sistema operativo debe asignar recursos a los procesos , permitir que los procesos para compartir
e intercambiar información, proteger los recursos de cada proceso de otros procesos y permitir la
sincronización entre los procesos. Para cumplir con estos requisitos, el sistema operativo debe
mantener una estructura de datos para cada proceso, que describe el estado de la propiedad y de
los recursos de ese proceso, y que permite el sistema operativo para ejercer control sobre cada
proceso.

17. ¿Cuáles son los elementos de un proceso?


Objetivo: el proceso se implementa en la organización o servicio con una finalidad concreta.

Propietario: alguien en la organización es responsable del proceso globalmente. Si una


transferencia de documentos no ha sido exitosa el proceso debe apuntar a un responsable.

Requisitos: para que el proceso se ponga en marcha se deben desencadenar unos requisitos
iniciales. Un proceso de préstamos de documentos originales del archivo se desencadena
porque se recibe una petición formalizada de acuerdo a un procedimiento reglado.

Salida: como resultado de la ejecución del proceso se produce una respuesta o salida. Puede
ser un producto o un servicio.

Cliente: siempre existe un cliente receptor de la salida del proceso. Un juez recibe un
documento original de un archivo de una Consejería como prueba porque ha formalizado una
petición de acuerdo con un procedimiento judicial que le habilita para ello.

 Los procesos son gestionados por el sistema operativo y están formados por:

 Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.


 Su estado de ejecución en un momento dado, esto es, los valores de los registros de la
unidad central de procesamiento para dicho programa.

 Su memoria de trabajo (memoria crítica), es decir, la memoria que ha reservado y sus


contenidos.

 Otra información que permite al sistema operativo su planificación.

18. ¿Qué es la traza de un proceso?


Se puede caracterizar el comportamiento de un determinado proceso, listando la secuencia de
instrucciones que se ejecutan para dicho proceso. A esta lista se la denomina traza del proceso.
Se puede caracterizar el comportamiento de un procesador mostrando cómo las trazas de varios
procesos se entrelazan.

19.
¿

Cuál es la función principal del proceso despachador?

Una vez que el planificador ejecuta y elige el proceso a asignar al procesador, se invoca al
despachador (dispatcher) que es el encargado de asignar el proceso al procesador. Es decir, el
planificador elige el proceso que entra a la CPU, en ese momento el despachador toma el proceso
que estaba en la CPU y actualiza el PCB del proceso en su CPU virtual, luego elige el proceso
seleccionado por el planificador y le asigna la CPU. Asignar a la CPU no es más que cargar la
CPU virtual del proceso y reemplazarlo en la CPU.

20. Explique el modelo de procesos de dos estados:


Este es el modelo de estados más simple. En este modelo, un proceso puede estar
en Ejecución o No Ejecución. Cuando se crea un nuevo proceso, se pone en estado de No
Ejecución, en algún momento el proceso que está en Ejecución pasará al estado No Ejecución y
otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado
Ejecución. Además, los procesos que no se están ejecutando deben guardarse en algún tipo de
cola mientras esperan su turno para ejecutar.

21. ¿Cuáles son las razones para la creación de un proceso?


Creación:
- Nuevo Trabajo de Lote
- Login interactivo
- Creado por el SO para proporcionar un servicio
- Generado por procesos existentes

22. ¿Cuáles son las razones para la finalización de un proceso?

Finalización:
- Finalización Normal
- Memoria no disponible
- Error de protección
- Intervención del operador o el SO

23. ¿Qué es un proceso hijo?

Se le llama proceso Padre al original o proceso creador, mientras que proceso hijo es el nuevo
proceso. Cuando un proceso lanza otro, al primero se le denomina proceso padre, y al proceso
creado se le denomina proceso hijo. Habitualmente, la relación entre procesos necesita
comunicación y cooperación entre ellos. Cuando es invocado por un proceso, el sistema
operativo crea un nuevo proceso idéntico al que lo llamó, diferenciándose únicamente en el valor
entregado. Ejemplo: Si ocurre algún error, el sistema entrega un número negativo (indicando la
causa del error). En caso de ser exitoso, el proceso nuevo (o proceso hijo) recibe el valor 0,
mientras que el preexistente (o proceso padre) recibe el PID (número identificador de proceso)
del hijo, compartiendo mutuamente todas sus páginas de memoria.

24. ¿Cuándo un proceso entra en estado bloqueado?


Un proceso no puede ejecutar hasta que no se
produzca cierto suceso, como una operación de
E/S.

Los tres principales estados descritos (Listo,


ejecución y Bloqueado) proporcionan una forma
sistemática de modelizar el comportamiento de los
procesos y diseñar la implementación del sistema
operativo.

Cada proceso que se ejecuta debe cargarse


completamente en la memoria principal (los
procesos residen en las colas de la m.p).

Es verdad que, en este caso, la memoria almacena


múltiples procesos y el procesador puede asignarse
otro proceso si el que lo usa se queda bloqueado.

Cuando ninguno de los procesos en memoria principal se encuentra en estado Listo, el sistema
operativo intercambia uno de los procesos bloqueados a disco, en la cola de suspendidos. Esta es
una lista de procesos existentes que han sido temporalmente expulsados de la memoria principal
o suspendidos.

Cuando todos los procesos en m.p se encuentran en estado bloqueado, el sistema operativo puede
suspender un proceso en el estado suspendido y transferirlo a disco. El espacio que se libera en
m.p puede usarse para traer otro proceso.

25. Explique el modelo de procesos de cinco estados:


Si todos los procesos estuviesen siempre preparados para ejecutar, la gestión de colas
proporcionada en la figura 3.5b sería efectiva. Utilizando
una única cola, el activador no puede seleccionar
únicamente los procesos que lleven más tiempo en la cola.
En su lugar, debería recorrer la lista buscando los procesos
que no estén bloqueados y que lleven en la cola más
tiempo.
Una forma más natural para manejar esta situación es dividir el estado de NO Ejecutando en dos
estados, Listo y Bloqueado. Eso se muestra la figura 3.6. Para gestionarlo correctamente, se han
añadido dos estados adicionales que resultará muy útiles. Estos cinco estados son los siguientes:

- Ejecución: El proceso está actualmente en ejecución. Se asume que el computador tiene


un único procesador, de forma que sólo un proceso puede estar en este estado en un
instante determinado.
- Listo: Un proceso que se prepara para ejecutar cuando tenga oportunidad.
- Bloqueado: Un proceso que no puede ejecutar hasta que se cumpla un evento
determinado o se complete una operación E/S.
- Nuevo: Un proceso que se acaba de crear y que aún no ha sido admitido en el grupo de
procesos ejecutables por el sistema operativo. Típicamente, se trata de un nuevo proceso
que no ha sido cargado en memoria principal, aunque su bloque de control de proceso
(BCP) si ha sido creado.
- Saliente: Un proceso que ha sido liberado del grupo de procesos ejecutables por el
sistema operativo, debido a que ha sido detenido o que ha sido abortado por alguna razón.

26. En que consiste el estado suspendido

Una de las razones para implementar el estado Bloqueado era poder hacer que los procesos se
puedan mantener esperando algún suceso, por ejemplo, una Entrada/Salida. Sin embargo, al ser
mucho más lentas estas operaciones, puede suceder en nuestro modelo de cinco estados todos los
procesos en memoria estén esperando en el estado Bloqueado y que no haya más memoria
disponible para nuevos procesos. Podría conseguirse más memoria, aunque es probable que esto
sólo permita procesos más grandes y no necesariamente nuevos procesos. Además, hay un costo
asociado a la memoria y de cualquier forma es probable que se llegaría al mismo estado con el
tiempo.

Otra solución es el swapping (memoria de intercambio). El intercambio se lleva a cabo


moviendo una parte de un proceso o un proceso completo desde la memoria principal al disco,
quedando en el estado Suspendido. Después del intercambio, se puede aceptar un nuevo proceso
o traer a memoria un proceso suspendido anteriormente.

El problema que se presenta ahora es que puede ser


que si se decide traer a memoria un proceso que está
en el estado Suspendido, el mismo todavía se
encuentre bloqueado. Sólo convendría traerlo cuando
ya está listo para ejecutar, esto implica que ya
aconteció el suceso que estaba esperando cuando se
bloqueó. Para tener esta diferenciación entre procesos
suspendidos, ya sean listos como bloqueados, se
utilizan cuatro estados: Listo, Bloqueado, Bloqueado y
suspendido y Listo y suspendido.

27. En que consiste el estado bloqueado/suspendido y listo/suspendido

Ya que los procesos pueden intercambiarse en disco para liberar más memoria y usar el
procesador en otros procesos aparecen dos nuevos estados:

Bloqueado/Suspendido: El proceso está en almacenamiento secundario y esperando un evento.

Listo/Suspendido: El proceso está en almacenamiento secundario, pero está disponible para su


ejecución tan pronto como sea cargado en memoria principal.
28. ¿Cuáles son las razones para la suspensión de un proceso?

29. Explique el modelo de procesos con todos los estados estudiados en la unidad.

- Bloqueado - Bloqueado/Suspendido: Si no hay procesos listos, entonces al menos uno


de los procesos bloqueados se transfiere al disco para hacer espacio para otro proceso que
no se encuentra bloqueado. Esta transición puede realizarse si hay procesos listos
disponibles, si el sistema operativo determina que el proceso actualmente en ejecución o
los procesos listos que desea ejecutar requieren más memoria principal para mantener un
rendimiento adecuado.
- Bloqueado/Suspendido – Listo/Suspendido: Un proceso en el estado
Bloqueado/Suspendido se mueve al estado Listo/Suspendido cuando sucede un evento al
que estaba esperando.
- Listo/Suspendido – Listo: Cuando no hay más procesos listos en memoria principal, el
sistema operativo necesitará traer uno para continuar la ejecución. Adicionalmente, puede
darse el caso de que un proceso en estado Listo/Suspendido tenga mayor prioridad que
cualquiera de los procesos en estado Listo.
- Listo – Listo/Suspendido: Normalmente, el sistema operativo preferirá suspender
procesos bloqueados que un proceso Listo, porque un proceso Listo se puede ejecutar en
ese momento mientras que un proceso bloqueado ocupa espacio de memoria y no se
puede ejecutar. Sin embargo, puede ser necesario suspender un proceso. También el
sistema operativo puede decidir suspender un proceso Listo de baja prioridad antes que
un proceso Bloqueado de alta prioridad, si se cree que el proceso Bloqueado estará pronto
listo.

Otras transiciones interesantes a considerar son las siguientes:

- Nuevo – Listo/Suspendido y Nuevo a Listo: Cuando se crea un proceso nuevo, puede


añadirse a la cola de Listos o a la cola de Listos/suspendidos. En cualquier caso, el
sistema operativo puede crear un bloque de control de proceso (BCP) y reservar el
espacio de direcciones del proceso. Sin embargo, con esta estrategia, puede ocurrir que
no haya espacio suficiente en memoria principal para el nuevo proceso; de ahí el uso de
la transición (Nuevo – Listo/Suspendido).
- Bloqueado/Suspendido – Bloqueado: La incursión de esta transición puede parecer
propia de un diseño más bien pobre. Después de todo, si hay un proceso que no está listo
para ejecutar y que no está en memoria principal, ¿Qué sentido tiene traerlo? Pero
considere el siguiente escenario: Un proceso termina, liberando alguna memoria
principal. Hay un proceso en la cola de Bloqueados/Suspendidos con mayor prioridad
que todos los procesos en la cola de Listos/Suspendidos y el sistema operativo tiene
motivos para creer que el evento que lo bloquea va a ocurrir en breve. Bajo estas
circunstancias, sería razonable traer el proceso Bloqueado a memoria por delante de los
procesos Listos.
- Ejecutando – Listo/Suspendido: Normalmente, un proceso en ejecución se mueve a la
cola de Listos cuando su tiempo de uso del procesador finaliza. Sin embargo, si el
sistema operativo expulsa al proceso en ejecución porque un proceso de mayor prioridad
en la cola de Bloqueado/Suspendido acaba de desbloquearse, el sistema operativo puede
mover al proceso en ejecución directamente a la cola de Listos/Suspendidos y liberar
parte de la memoria principal.
- De cualquier estado – Saliente: Habitualmente, un proceso termina cuando está
ejecutando, bien porque ha completado su ejecución o debido a una condición de fallo.
Sin embargo, en algunos sistemas operativos un proceso puede terminarse por el proceso
que lo creó o cuando el proceso padre a su vez ha terminado. Si se permite esto, un
proceso en cualquier estado puede moverse al estado saliente.
30. ¿Qué es un hilo en un proceso?

La cantidad de información que el sistema operativo debe manejar acerca de cada proceso es
bastante significativa. Si cada vez que el planificador elige qué proceso pasar de Listo a En
ejecución debe considerar buena parte de dicha información, la simple transferencia de todo esto
entre la memoria y el procesador podría llevar a un desperdicio burocrático de recursos. Una
respuesta a esta problemática fue la de utilizar los hilos de ejecución, a veces conocidos como
procesos ligeros (LWP, Lightweight processes).

Por lo tanto, Los hilos permiten la ejecución concurrente de varias secuencias de instrucciones
asociadas a diferentes funciones dentro de un mismo proceso, compartiendo un mismo espacio
de direcciones y las mismas estructuras de datos del núcleo. Un hilo se ejecuta secuencialmente y
se puede interrumpir de forma que el procesador pueda dar paso a otro hilo.

31. ¿Qué comparte los hilos dentro de un proceso?

Todos los hilos de un proceso comparten el estado y los recursos de ese proceso, residen en el
mismo espacio de direcciones y tienen acceso a los mismos datos. Cuando un hilo cambia de
determinados datos en memoria, otros hilos ven los resultados cuando acceden a estos datos. Si
un hilo abre un archivo con permisos de lectura, los demás hilos del mismo proceso pueden
también leer ese archivo.

Recursos compartidos entre los hilos:


- Código (instrucciones).
- Variables globales.
- Ficheros y dispositivos abiertos.

32. ¿Qué no comparte los hilos dentro de un proceso?


Los hilos no pueden ejecutarse ellos solos, requieren la supervisión de un proceso padre para
correr.

Recursos no compartidos entre los hilos:


- Contador del programa (cada hilo puede ejecutar una sección distinta de código).
- Registros de CPU.
- Pila para las variables locales de los procedimientos a las que se invoca después de crear
un hilo.
- Estado: distintos hilos pueden estar en ejecución, listos o bloqueados esperando un
evento.

33. ¿Qué ventajas tiene los hilos en un sistema con multiprocesadores?

- Trabajo en primer plano y en segundo plano: Por ejemplo, en un programa de Excel,


un hilo podría mostrar menús y leer la entrada de usuario, mientras que otro hilo ejecuta
los mandatos de usuario y actualiza la hoja (incrementa la velocidad que se percibe).
- Procesamiento asíncrono: Los elementos asíncronos de un programa se pueden
implementar como hilos. Por ejemplo, se puede diseñar un procesador de textos con
protección contra un fallo de corriente que escriba el buffer de su memoria RAM a disco
una vez por minuto, creando un hilo cuyo trabajo es crear una copia de seguridad.
- Velocidad de ejecución: Un proceso multi-hilo puede computar una serie de datos
mientras que lee los siguientes de un dispositivo. En un sistema multiprocesador, pueden
estar ejecutando simultáneamente múltiples hilos de un mismo proceso. De esta forma,
aunque un hilo pueda estar bloqueado por una operación E/S mientras lee datos, otro hilo
puede estar ejecutando.
- Estructura modular de programas: Los programas que realizan diversas tareas o que
tienen varias fuentes y destino de entrada y salida, se pueden diseñar e implementar más
fácilmente usando hilos.

34. ¿Cuáles son los beneficios de los hilos?

Los mayores beneficios de los hilos provienen de las consecuencias del rendimiento:
1. Lleva mucho menos tiempo crear un nuevo hilo en un proceso existente que crear un
proceso totalmente nuevo. Los estudios realizados por lo que desarrollaron el sistema
operativo Mach muestran que la creación de un hilo es 10 veces más rápida que la
creación de un proceso en UNIX.
2. Lleva menos tiempo finalizar un hilo que un proceso.
3. Lleva menos tiempo cambiar entre dos hilos dentro del mismo proceso
4. Los hilos mejoran la eficiencia de la comunicación entre diferentes programas que se
están ejecutando. Ya que los hilos dentro de un mismo proceso comparten memoria y
archivos, se pueden comunicar entre ellos sin necesidad de invocar el núcleo.

En resumen, comparten recursos, economía y utilización de arquitecturas de múltiples


procesadores).

35. ¿Qué acciones afectan a todos los hilos de un proceso?

Existen, sin embargo, diversas acciones que afectan a todos los hilos de un proceso y que el
sistema operativo debe gestionar a nivel de proceso y que el sistema operativo debe gestionar a
nivel de proceso.

Todos los hilos de un proceso comparten el mismo espacio de direcciones y otros recursos,
como, por ejemplo, los archivos abiertos. Cualquier alteración de un recurso por cualquiera de
los hilos, afecta el entorno del resto de los hilos del mismo proceso. Por tanto, es necesario
sincronizar las actividades de los hilos para que no interfieran entre ellos o corrompan estructuras
de datos. Por ejemplo, si dos hilos de modo simultaneo intentan añadir un elemento a una lista
doblemente enlazada, se podría perder un elemento o la lista podría acabar malformada.

36. ¿Qué es la gestión de memoria?

En un sistema monoprogramado, la memoria se divide en dos partes: una parte para el sistema
operativo (monitor residente, núcleo) y una parte para el programa actualmente en ejecución. En
un sistema multiprogramado, la parte de “usuario” de la memoria se debe subdividir
posteriormente para acomodar múltiples procesos. El sistema operativo es el encargado de la
tarea de subdivisión y a esta tarea se le denomina gestión de la memoria.

37. ¿Por qué es necesario la gestión de la memoria?


Una gestión de la memoria efectiva es vital en un sistema multiprogramado. Si sólo unos pocos
procesos se encuentran en memoria, entonces durante una gran parte del tiempo todos los
procesos esperarían por operaciones de E/S y el procesador estaría ocioso. Por tanto, es necesario
asignar la memoria para asegurar una cantidad de procesos listos que consuman el tiempo de
procesador disponible.

38. ¿Qué es una memoria virtual?

La operación principal de la gestión de la memoria es traer los procesos a la memoria principal


para que el procesador los puede ejecutar. En casi todos los sistemas multiprogramados
modernos, esto implica el uso de un esquema sofisticado denominado memoria virtual. Por su
parte, la memoria virtual se basa en una o ambas de las síguetenos técnicas: segmentación y
paginación:

La memoria virtual es el uso de la memoria RAM del PC en combinación del disco duro. En
algunos casos como cuando por ejemplo tenemos una memoria RAM de reducido tamaño y
latencia, la memoria virtual mueve los datos que existen en la memoria RAM a un espacio que se
llama archivo de paginación. Estos movimientos crean un espacio extra en la memoria RAM
para que así se pueda completar la tarea que se esté realizando con mayor solvencia.

39. En qué consisten los requerimientos de la gestión de memoria:


a. Reubicación:

El programador no sabe dónde el programa se colocará en la memoria cuando se ejecuta, puede


ser intercambiado con el disco y volver a la memoria principal a un lugar diferente (traslado).
Las referencias de memoria deben ser traducidas a la dirección de memoria física real.

b. Protección: Los procesos no deben ser capaces de hacer referencia a posiciones de


memoria de otro proceso sin permiso. Es imposible comprobar las direcciones absolutas
en tiempo de complicación y deben ser controladas en su tiempo de ejecución.

c. Compartiendo: Permitir que varios procesos accedan a la misma porción de la memoria.


Es mejor permitir que cada proceso acceda a la misma copia del programa en lugar de
tener su propia copia.
d. Organización lógica: La memoria está organizada de forma lineal (por lo general), los
programas se escriben en los módulos (los módulos pueden ser escritos y compilados de
forma independiente). Diferentes grados de protección frente a los módulos (de sólo
lectura, de sólo ejecutar). Compartir módulos entre los procesos (La segmentación ayuda
aquí).
e. Organización física: No se puede dejar al programador la responsabilidad de gestionar la
memoria. La memoria disponible para un programa más sus datos pueden ser
insuficientes (La superposición de distintos módulos permite que se asignará la misma
región de memoria, pero es mucho tiempo para programar). Programar no sabe cuánto
espacio estará disponible.
40. ¿Qué es la paginación?

El sistema de paginación proporciona una proyección dinámica entre las direcciones virtuales
utilizadas en el programa y una dirección real, o dirección física, de memoria principal.

Tanto las particiones de tamaño fijo como variable son ineficientes en el uso de la memoria; los
primeros provocan fragmentación interna, los últimos fragmentación externa. Supóngase, sin
embargo, que la memoria principal se divide en porciones de tamaño fijo relativamente
pequeños, y que cada proceso también se divide en porciones pequeñas del mismo tamaño fijo.
A dichas porciones del proceso, conocidas como páginas, se les asigna porciones disponibles de
morirá, conocidas como marcos o marcos de página.

41. ¿Cuál es la diferencia entre un marco y una página?


 Página: es el almacenamiento virtual, un bloque de longitud fija que dispone de una
dirección virtual y que se transfiere como una unidad entre la memoria principal y la
memoria secundaria.

 Marco de Página: bloque de memoria principal contiguo y de longitud fija que se usa para
contener una página.

42. ¿Para qué son los bits de presencia y el bit de modificado en una tabla de
páginas o segmentos? //61

 Un bit es necesario para determinar si el segmento ya está en la memoria principal

 Otro bit se necesita para determinar si el segmento se ha modificado desde que fue
cargado en la memoria principal

43. ¿En la paginación para que se utiliza el puntero de la tabla de página? //59

 Cada proceso tiene su propia tabla de páginas

 Cada entrada de la tabla de páginas contiene el número de marco de la página


correspondiente en la memoria principal

 Dos bits adicionales se necesitan para indicar:

 si la página está en memoria principal o no

 si el contenido de la página ha sido modificado desde que fue modificada por última
carga

44. En que consiste la segmentación.


La segmentación es un esquema de administración de la memoria que soporta la visión que el
usuario tiene de la misma. Un espacio de direcciones lógicas es una colección de segmentos.
Cada segmento tiene un nombre y una longitud. Un programa de usuario puede subdividir
utilizando segmentación en la cual el programa y sus datos asociados se dividen en un número de
segmentos.
45. ¿En la segmentación para que se utiliza el puntero de la tabla de segmento?
Otro modo de subdividir el programa es la segmentación. En este caso, el programa y sus datos
asociados se dividen en un conjunto de segmentos. No es necesario que todos los segmentos de
todos los programas tengan la misma longitud, aunque existe una longitud máxima de segmento.
Como en la paginación, una dirección lógica segmentada consta de dos partes, en este caso un
número de segmento y desplazamiento.

46. ¿Cuál es la diferencia entre la paginación y la segmentación?

 Página: es el almacenamiento virtual, un bloque de longitud fija que dispone de una


dirección virtual y que se transfiere como una unidad entre la memoria principal y la
memoria secundaria.

 Segmento: en la memoria virtual, un bloque que tiene una dirección virtual. Los bloques
de un programa pueden ser de longitud desigual y pueden ser incluso de longitud variable
dinámicamente.
47. ¿Qué características brinda la combinación entre la paginación y la
segmentación? //63

 Paginación es transparente para el programador

 La segmentación es visible para el programador

 Cada segmento se divide en páginas de tamaño fijo

48. Explique la estructura de tablas para un sistema de paginación y segmentación.


Analizando el diagrama, lo primero que tenemos es un proceso, y si logramos ver bien en este
proceso tenemos varios segmentos en el proceso (A, B, I). El proceso A tiene una tabla de todos
los segmentos que tiene, múltiples segmentos. El proceso B e I son otras tablas de que van a otra
tabla de segmentos. Analizando el proceso A, tiene múltiples procesos, ahora vemos que cada
segmento tendrá una tabla de páginas y de la tabla de páginas iría al almacenamiento real o a la
memoria principal, es decir a la memoria física. De esta manera trabaja la memoria virtual.

49. Explique para que son los algoritmos de reemplazo de páginas.


Se debe evitar que el sistema gaste la mayor parte del tiempo intercambiando partes en lugar de
ejecutar instrucciones. Hay ciertos algoritmos básicos que son usados para la selección de una
página para reemplazar los algoritmos de reemplazo de páginas son usados para decidir qué
páginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay marcos
de páginas libres.

50. Mencione y explique los dos algoritmos de reemplazo de páginas. //69-71


Menos usados recientemente (LRU)

 Reemplaza la página que no ha sido referenciada por el mayor tiempo.

 Por el principio de localidad, esta debe ser la página con menos probabilidades de tener
una referencia en un futuro próximo.

 Difícil de aplicar.
Primero entrar- Primero en Salir (FIFO)

 Tratar cuadros página asignados a un proceso como un buffer circular.

 Las páginas son removidas en el estilo round-robin.

 Página que ha estado más tiempo en la memoria se sustituye.

51. ¿Cuál es el objetivo de la planificación?

El objetivo de la planificación es asignar los procesos a ser ejecutado por el procesador en el


tiempo, de manera que cumpla los objetivos del sistema, tales como tiempo de respuesta, el
rendimiento y la eficiencia del procesador. El planificador es el encargado de elegir los procesos
en orden de prioridad.

52. ¿Cómo se maneja la prioridad en un planificador?

53. En qué consiste la planificación a corto, medio y largo plazo.


Planificación a largo plazo:

La planificación a largo plazo determina cuáles son los programas admitidos en el sistema. De
este modo, se controla el grado de multiprogramación. Una vez admitido, un trabajo o un
programa de usuario se convierte en un proceso y es añadido a la cola del planificador a corto
plazo. En algunos sistemas, un proceso recién creado comienza en situación de descargado de la
memoria principal, en cuyo caso se añade a la cola del planificador a medio plazo.

Planificación a medio plazo

La planificación a medio plazo forma parte de la función de intercambio. Generalmente, la


decisión de cargar un proceso en memoria principal se basa en la necesidad de controlar el
grado de multiprogramación. En un sistema que no emplee memoria virtual, la gestión de
memoria también es un punto a tratar. Así pues, la decisión de carga en memoria tendrá en
cuenta las necesidades de memoria del proceso descargado.

Planificación a corto plazo

El planificador a largo plazo se ejecuta con relativa poca frecuencia, tomando una primera
decisión sobre si tomar o no un nuevo proceso y cuál tomar. El planificador a medio plazo se
ejecuta con algo más de frecuencia, para tomar la decisión del intercambio. El planificador a corto
plazo, también conocido como distribuidor (dispatcher), es el de ejecución más frecuente y toma
decisiones con un mayor detalle sobre el proceso que se ejecutará a continuación.

El planificador a corto plazo se ejecuta cuando ocurre un suceso que puede conducir a la
interrupción del proceso actual o que ofrece la oportunidad de expulsar de la ejecución al proceso
actual en favor de otro. Como ejemplos de estos sucesos se tienen:

 Interrupciones del reloj


 Interrupciones de E/S
 Llamadas al sistema operativo
 Señales

También podría gustarte