Subido por lisandro lawaisse

Parcial ASO

Anuncio
1) Aunque un núcleo solo puede realizar una tarea a la vez, podemos usar los hilos para hacer
creer al usuario ( y al ordenador ) que sí se puede hacer más de una tarea al mismo tiempo. En
lugar de realizar una tarea al completo, se divide en porciones ( cada hilo se encarga de un
aspecto concreto del programa ), de modo que se van alternando entre porciones de distintas
tareas para que parezca que ambas se están ejecutando simultáneamente.
Con multiprocesamiento podemos ejecutar diferentes procesos a la vez. Si tenemos un solo
proceso podemos desdoblarlo en múltiples hilos. Para aumentar su eficiencia, un programa en
ejecución debe crear tantos hilos como el doble del número de procesadores de los que disponga
el sistema.
2) El ciclo de vida de un proceso es fácil, depende de la creación, la ejecución de instrucciones y
la terminación. Un proceso puede finalizar de una de las cuatro siguientes maneras:
Salida normal.
Salida por error.
Error fatal.
Eliminado por otro proceso.
3) Un thread normalmente comparte su memoria con otros threads (en la cual, tal como sucede
con los procesos, cada thread tendrá asignado su espacio de memoria). Esto se da cuando
realizamos una ejecución multi hilos
Un grupo de threads es un conjunto de “hilos de ejecución” que están corriendo todos dentro del
mismo proceso. Dado que comparten todos la misma porción de memoria, pueden acceder a las
mismas variables globales, la misma memoria de heap, los mismos descriptores de archivos, etc.
4) La comunicación entre procesos (comúnmente IPC, del inglés Inter-Process Communication)
es una función básica de los sistemas operativos. Los procesos pueden comunicarse entre sí a
través de compartir espacios de memoria, ya sean variables compartidas o buffers, o a través de
las herramientas provistas por las rutinas de IPC. La IPC provee un mecanismo que permite a los
procesos comunicarse y sincronizarse entre sí, normalmente a través de un sistema de bajo nivel
de paso de mensajes que ofrece la red subyacente. La comunicación se establece siguiendo una
serie de reglas (protocolos de comunicación)
5) En el caso de los procesos, existe una relación padre-hijo cuando un proceso crea otro, el
primero se denomina padre, y el segundo, hijo. Los hijos de un proceso, así como los hijos de los
hijos, etc., se llaman descendientes. El proceso padre mantiene un control sobre toda su
descendencia, de forma que puede matar a cualquier proceso perteneciente a ésta. Cuando se crea
un proceso hijo, este hereda los recursos del padre
Por último, se puede escoger si un proceso hijo determinado se ejecuta de forma síncrona o
asíncrona. En el primer caso, el proceso padre se detiene hasta que el proceso hijo ha terminado;
en el segundo, ambos procesos siguen ejecutándose de forma independiente.
6) A un proceso bloqueado le falta algún recurso para poder seguir ejecutándose, además de la
CPU, por lo que entra en estado de bloqueo hasta recibir este recurso. Por recurso se pueden
entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita
poder proseguir su ejecución, por lo que un proceso bloqueado no puede entrar en estado de
ejecución hasta que reciba el recurso previamente mencionado.
7) En sistemas operativos de computadoras, los sistemas de paginación de memoria dividen los
programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del
mismo tamaño que las páginas llamados marcos de página. De esta forma, la cantidad de
memoria desperdiciada por un proceso es el final de su última página, lo que minimiza la
fragmentación interna y evita la externa.
La fragmentación externa y, por tanto, la necesidad de compactación puede evitarse por
completo empleando la paginación. Ésta consiste en que cada proceso está dividido en varios
bloques de tamaño fijo llamados páginas, dejando de requerir que la asignación sea de un área
contigua de memoria. La memoria se presentará a cada proceso como si fuera de su uso
exclusivo. La memoria física se divide en una serie de marcos (frames), todos ellos del mismo
tamaño, y el espacio para cada proceso se divide en una serie de páginas (pages), del mismo
tamaño que los marcos
8) La memoria virtual es una técnica que permite ejecutar procesos que podrían no estar
totalmente en la memoria. La principal ventaja tangible de este esquema es que los programas
pueden ser mas grandes que la memoria física. Además, dicho esquema hace una abstracción de
la memoria considerándola como una matriz uniforme y extremadamente grande de
almacenamiento, con lo que separa la memoria lógica que el usuario ve, de la memoria física.
Esta técnica evita a laos programadores tener que preocuparse por limitaciones de la memoria.
9)
Descargar