Está en la página 1de 5

Actividad 2.

3
Señales.
Las señales son interrupciones de software que permiten el manejo de eventos
asíncronos.
1. Compara las señales estándar aceptadas por las diferentes versiones en
http://manpages.ubuntu.com/manpages/trusty/es/man7/signal.7.html
Redacta conclusiones al respecto de tu análisis comparativo.
- Independiente de la version del sistema operativo ubuntu , este maneja
señales al nucleo.
- Windows no manda señales al nucleo.
- Las señales en tiempo real tiene un límite de 32 señales y se pueden usar
para propositos definidos de cada aplicación.
- Las señales estándar van llegando y se enlista para cumplir un significado
predefinido las cuales son señales que depende de la arquitectura.
- Las señales apagado frozoso Y reanudar procesos no pueden ser
capturadas, bloqueadas o ignoradas.

Imagen tomada de: https://n9.cl/af64i


3. Lee sobre el directorio PROC en https://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-
rg-es-4/s1-proc-directories.html
¿Cuál consideras es la importancia de este directorio?
- Una de las cosas más importantes del directorio proc, es que por medio de
su jerarquía de archivos permite a los usuarios ver más detalladamente el
Kernel
- El sistema de archivos / proc/ contiene directorios para organizar la
información y los archivos virtuales. Un archivo virtual actúa como un
mediador: transmite información del kernel al usuario y envía información
del usuario al kernel.
- Estos directorios /proc/ ,se hace referencia al ID y a la informacion de un
proceso
- En cada uno de estos directorios de procesos contiene archivos como,
cmdline(Comando de arranque de ejecucion de un
comando),cwd(Directorio donde esta en funcionamiento dicho
proceso),environ(Entorno del proceso),exe(Ejecutable del
proceso),fd(Descripciones de un archivo en especifico),maps(Mapas de
memoria para los ejecutables y archivos del proceso),mem(Memoria del
proceso),root(Enlace directo al root del proceso),stat(Estado del
proceso),statm(Estado de uso de memoria por parte del proceso).

Sicronización.
4. El problema de la cena de los filósofos o problema de los filósofos cenando
(dining philosophers problem) es un problema clásico de las ciencias de la
computación propuesto por Edsger Dijkstra en 1965 para representar el problema
de la sincronización de procesos en un sistema operativo.
Se trata de lanzar cinco procesos (filósofos) y ponerles a competir por obtener
unos recursos. La solución consiste en diseñar un algortimo para que estos
procesos (filósofos) puedan acceder a los recursos (dos tenedores) y desarrollar el
trabajo (puedan comer). El problema es que el algoritmo de solución debe ser
justo y no debe permitir que uno de ellos ocupe todo el sistema y no deje comer a
los demás o que entre ellos se bloqueen y ninguno pueda tener acceso
paralizando todo el trabajo.
Enunciado del problema:
Cinco filósofos están sentados alrededor de una mesa y pasan su vida cenando y
pensando. Cada filósofo tiene un plato de fideos y un tenedor a la izquierda de su
plato. Para comer los fideos son necesarios dos tenedores y cada filósofo sólo
puede tomar el tenedor que está a su izquierda y el de su derecha. Si cualquier
filósofo toma un tenedor y el otro está ocupado, se quedará esperando, con el
tenedor en la mano, hasta que pueda tomar el otro tenedor, para luego empezar a
comer. El resto de filósofos que no está ni comiendo ni con un tenedor en la mano
está pensando.
Explica un algoritmo que permita comer a todos los filósofos.

- Resolución de conflictos en colas de tenedores: Una solucion que


corrige los conflictos de la cola de tenedores es que cada vez que un
filósofo tiene un tenedor espera un tiempo aleatorio para conseguir el
segundo tenedor. Si en ese tiempo no queda libre el segundo
tenedor,suelta el que tiene y vuelve a ponerse en cola para sus dos
tenedores. Si un filósofo A suelta un tenedor (porque ha comido o porque
ha esperado demasiado tiempo con el tenedor en la mano) pero todavía
desea comer, vuelve a ponerse en cola para ese tenedor. Si el filósofo
adyacente B está ya en esa cola de tenedor (tiene hambre) lo toma y si no
vuelve a cogerlo A.

5. Explica detalladamente la siguiente imagen:


Se divide en 3: usuario: es el nivel más alto, es quien maneja los programas y
estos a su vez no pueden funcionar sin librerías;
Nucleo: es donde está la interfaz y los ficheros, y estos están ligados al
subsistema de control de procesos, acá estan los planificadores y administradores
de recursos, la comunicación de procesos, la memoria caché y los drivers. Esto es
como el nucleo y cada uno de estos hace sus funciones especificas dependiendo
los unos de los otros bidimensionalmente
Y hardware: se encuentran todos los perifericos que se utilizan para el
funcionamiento de la maquina

También podría gustarte