Examen Entregable So
Examen Entregable So
ARMADA DE MÉXICO
UNIVERSIDAD NAVAL
(CEFCAM)
VERACRUZ A 08/12/2023
INTRODUCCIÓN
Los sistemas operativos actúan como el conductor maestro que coordina la ejecución de
tareas y recursos, y la administración del servidor garantiza la disponibilidad, seguridad y
rendimiento de los servicios ofrecidos en la red.
PROCESO
ESTADOS DE UN PROCESO
El estado es dinámico, lo que significa que cambia de estado durante la ejecución y este
estado está definido por la actividad actual del proceso. Y puede ser en 3 estados.
En ejecución: un proceso que se ejecuta en una CPU. Si un sistema tiene una CPU, puede
haber un máximo de procesos en este estado.
Bloqueado: el proceso está esperando un evento, que puede ser la finalización de una
operación de entrada o salida.
Listo: Un proceso que no está asignado a la CPU pero que está listo. Un proceso iluminado
puede ejecutarse cuando se le asigna una CPU.
Listo: está cargado en la memoria principal y esperando para ejecutarse (es posible que vea
muchos procesos en este estado).
Bloqueado: Esperando a que ocurra un evento antes de continuar. Este evento suele ser la
finalización de una operación de entrada o salida. Esto no requiere servicios de CPU ya que
no puede ejecutarse hasta que se complete el evento de bloqueo.
Detenido: detiene la ejecución, pero el sistema operativo mantiene un registro (el sistema
mantiene un registro por varias razones, como para conservar información sobre el proceso
terminado porque tiene un proceso relacionado).
La PCB del bloque de control de procesos. Este sirve como depósito de toda la
información, que puede variar de un proceso a otro.
Registros de CPU: el número y tipo de registros varían según la computadora. Los registros
incluyen acumuladores, registros de índice e información de código.
Información de programación de CPU: incluye prioridad de proceso, punteros de cola de
programación y todos los demás parámetros de programación.
Los sistemas operativos ofrecen diferentes formas de crear procesos. En UNIX, un proceso
puede crear otro mediante una llamada al sistema. El creador es el proceso padre y el
creado es el proceso hijo. El niño podría crear otros y crear una estructura de árbol con
vértice en el padre. Esta es una estructura jerárquica.
Un proceso utiliza recursos como archivos, memoria y dispositivos para entrada y salida. El
niño también necesita recursos, el sistema se los da o el padre se los asigna. Al ejecutar
antes de ejecutar antes de crear un hilo, existen 2 alternativas:
El padre espera a que sus hijos terminen antes de proceder con la ejecución. Un proceso
finaliza cuando realiza su última función y se le pide al sistema operativo que lo finalice.
Puedes pasar información a tu padre.
Si el proceso hijo es un duplicado del proceso padre, su dirección es la misma. Esto se hace
usando la llamada al sistema FORK() (fork) = Esto permite que el padre se comunique
fácilmente con el niño, ambos procesos se ejecutan después de fork(). PID es el
identificador del proceso.
JERARQUÍA DE PROCESOS
La secuencia de creación del proceso crea un árbol de procesos. Cuando "A" le pide al
sistema operativo que cree "B", se dice que A es el padre de B y B es el hijo de A.
PLANIFICADOR Y ACTIVADOR
El programador es un código en el kernel del sistema operativo. Se ejecuta cada vez que se
activa el sistema operativo y su trabajo es seleccionar el proceso a ejecutar a continuación.
Largo = determina qué procesos pueden competir por los recursos. Esto significa que el
planificador a medio plazo dispone de un número correspondiente de puestos de trabajo.
Muchos trabajos provocan una sobrecarga, pero sólo unos pocos hacen que la máquina se
detenga.
Corto plazo = Toma el proceso asignado a la CPU, y el activador es el que carga el proceso
en la CPU. Este es el que suele crear hilos.
CAMBIO DE CONTEXTO
Hay microprocesadores i386 que realizan múltiples tareas e invocan tareas en los
subprocesos en ejecución. Estos son fundamentalmente procesos.
El estado de una tarea consta de toda la información que el procesador necesita para
ejecutarla, y cuando se ejecuta, el estado está formado por los registros.
Es un programa en ejecución que tiene un volcado de memoria que contiene un único flujo
de ejecución. En principio, puede ejecutarse en paralelo con otros procesos. Son muy
convenientes y el sistema operativo puede manejar muchos al mismo tiempo.
Comparta recursos de manera eficiente porque todos los hilos tienen la misma dirección.
MODELOS DE ORGANIZACIÓN
El hilo del despachador recibe solicitudes de los clientes y, después de verificar la solicitud,
la envía para su procesamiento a uno de los hilos de trabajo libres. Cada subproceso de
trabajo elabora una solicitud de cliente independiente. De esta manera se pueden procesar
varios pedidos de clientes en paralelo.
Modelo pipeline (Modelo de transportador): Este modelo es útil para aplicaciones basadas
en un modelo productor-consumidor, en el que la salida generada por una parte de la
aplicación se utiliza como entrada para otra parte de la aplicación.
En este modelo, los subprocesos de proceso se organizan en una canalización de modo que
la salida generada por el primer subproceso se utiliza para el procesamiento del segundo
subproceso y la salida del segundo subproceso se utiliza como entrada del segundo
subproceso y así sucesivamente.
Modelo de equipo: En este modelo, todos los subprocesos se comporten por igual, en el
sentido de que no existe una relación despachador-trabajador para procesar los pedidos de
los clientes.
Cada hilo recibe y procesa las solicitudes de los clientes de forma independiente. Este
modelo se utiliza a menudo para implementar subprocesos especializados dentro de un
proceso.
Es decir, cada hilo de proceso está especializado para manejar un tipo específico de
solicitud.
CREACION DE HILOS
Los subprocesos se pueden crear de forma estática o dinámica. La cantidad de subprocesos
permanece constante durante toda su vida y cambia dinámicamente. En el enfoque
dinámico, el proceso se inicia con un subproceso, se crean nuevos según sea necesario
durante la ejecución del proceso y puede autodestruirse cuando finaliza su tarea mediante
una llamada de salida. En el enfoque estático, por otro lado, el número de subprocesos en
un proceso se fija en el momento de escribir el programa o cuando el programa es
complicado.
TERMINACION DE HILOS
La terminación de subprocesos se realiza de manera similar a la terminación de procesos
convencionales. Es decir, un hilo puede destruirse a sí mismo mientras completa su trabajo
realizando una llamada de salida o ser terminado externamente usando el comando kill y
especificando el identificador del hilo como parámetro. En muchos casos, el hilo nunca
termina. Vemos que para un proceso que utiliza subprocesos creados estáticamente, el
número de subprocesos permanece constante durante toda la vida del proceso.
SINCRONIZCION DE HILOS
Debido a que todos los subprocesos de un proceso comparten un espacio de direcciones
común, se debe utilizar algún mecanismo para evitar que varios subprocesos intenten
acceder a los mismos datos al mismo tiempo. Para hacer esto, cada hilo debe asegurarse de
tener acceso exclusivo a los datos compartidos mientras accede a ellos.
MANEJO DE SEÑALES
Las señales proporcionan interrupciones y excepciones generadas por software. Las
interrupciones son perturbaciones generadas fuera de un subproceso o proceso, mientras
que las excepciones son causadas por la aparición de condiciones inusuales durante la
ejecución de un subproceso. Los dos aspectos principales relacionados con el
procesamiento de señales en un entorno multiproceso son:
1. Una señal debe manejarse adecuadamente independientemente del subproceso del
proceso que la recibió. Recuerde que, en UNIX, un manejador de señales debe ser una
rutina en el proceso que recibe la señal.
2. Deberá acreditarse que las señales se pierden. Una señal se pierde cuando otra señal del
mismo tipo ocurre en otro hilo antes de que la primera sea procesada por el hilo en el que
ocurrió.
Un enfoque para manejar el primer caso es crear un hilo de manejo de excepciones
separado en cada proceso. En este enfoque, el subproceso del controlador de excepciones
de un proceso particular es responsable de manejar todas las excepciones que ocurren en
todos los subprocesos restantes de ese proceso.
IMPLEMENTACIÓN
- Flexibilidad para programar subprocesos de proceso utilizando sus propios algoritmos personaliz
ados.
- Con este enfoque no es posible compartir ciclos de CPU entre subprocesos utilizando una política
de programación por turnos.
FIBRAS
Una fibra es una unidad de ejecución que una aplicación debe programarse
manualmente. Las fibras permiten que las aplicaciones programen sus
propios subprocesos de ejecución en lugar de estar vinculadas a un
mecanismo de programación. Las fibras, también conocidas como "hilos ligeros", se implementan
dentro del núcleo y, por lo tanto, son invisibles para el núcleo.
COMUNICACIÓN
PROCESO COOPERANTES
Los procesos pueden cooperar para compartir objetos comunes. Si dos o más procesos necesitan t
rabajar juntos, deben poder intercambiar información.
PROCESOS CONCURRENTES
MEMORIA COMPARTIDA
PASE DE MENSAJES
Un mensaje es un bloque de información ensamblado por un proceso emisor para que tenga
significado para un proceso receptor. Los procesos e hilos pueden estar ejecutando en la
misma computadora o en dos o más, conectadas mediante una red.
MEMORIA COMPARTIDA
PASE DE MENSAJES
PUERTO
Se refiere a los dispositivos que permiten que una computadora envíe y reciba información
hacia o por parte de otras computadoras. Originalmente se usaban los puertos de conexión
de dispositivos, con cables construidos a modo para permitir que la información enviada
por una computadora llegase a otra cercana; sin embargo, hoy día ha progresado en sus
capacidades de velocidad de transferencia de información, en su alcance geográfico y en las
aplicaciones que soporta, por lo que constituye una parte indispensable del soporte de
buena parte de las operaciones comerciales en las que se utilizan sistemas informáticos.
SEÑALES
Es una notificación asincrónica enviada a un proceso o a un hilo especificó dentro del
mismo proceso con el objetivo de notificarlo.
TEMPORIZADORES
SOCKET
TUBERIA
Es un mecanismo de comunicación y sincronización.
COLA DE MENSAJES
Que la cola de mensajes sea persistente para evitar que una interrupción en la máquina
virtual que alberga la cola genere pérdidas de mensajes. Asimismo, es posible definir el
tiempo de vida máximo que un mensaje debe persistir con miras a que aquellos que dejen
de ser relevantes y no puedan ser entregados sigan consumiendo recursos.
ARCHIVOS
A los ficheros también se les suele llamar archivos, los archivos son ficheros, pero no todos
los ficheros son archivos. En Unix es, simplemente, una secuencia de bytes. Su contenido
puede representar cualquier cosa: Un programa binario ejecutable, una sinfonía, un vídeo,
un texto... Para el sistema operativo sólo es una secuencia de bytes.
CONCLUSIÓN
La combinación eficaz de procesos del sistema operativo y una gestión cuidadosa del
servidor es fundamental para garantizar la estabilidad, la seguridad y el rendimiento óptimo
de un entorno informático. La implementación de estrategias como la asignación de
recursos, la planificación de capacidades y la respuesta rápida a los cambios en la demanda
son aspectos clave para garantizar un funcionamiento fluido y confiable del sistema.
En última instancia, la colaboración armoniosa entre los procesos del sistema operativo y la
gestión eficiente del servidor no sólo aumenta la productividad, sino que también sienta las
bases para la escalabilidad y adaptabilidad en un entorno informático en constante
evolución. Es fundamental prestar especial atención a estos elementos para garantizar que
los sistemas operativos y los servidores satisfagan las demandas de los usuarios y las
aplicaciones de manera efectiva y segura.
BIBLIOGRAFÍA
-Polo Ortega, E., & Molina Robles, F. J. (2014). Servicios en Red. RA-MA.
-Raya Cabrera, J. L., & Santos González, M. (2014). Sistemas Operativos en red. RA-MA.
GLOSARIO
1. Acceso Directo:
2. Archivo:
3. Modelo de Organización:
- Una estructura o esquema que define cómo se organizan y relacionan los elementos en un
sistema, como el sistema de archivos.
4. Software:
5. Programa:
6. Hardware:
- Los componentes físicos de una computadora, como la CPU, memoria, disco duro, etc.
7. Hilo:
8. Proceso:
9. Sistema:
10. Dinámico:
11. Independiente:
12. Blocked:
- Estado de un proceso que está temporalmente detenido porque está esperando algún
evento o recurso.
13. Ready:
- Estado de un proceso listo para ejecutarse, pero aún no seleccionado por el planificador a
corto plazo.
14. Bloqueante:
15. Ejecución:
- El estado en el que un programa o proceso está siendo procesado activamente por la CPU.
16. Retener:
18. Intercambiado:
19. Bloque:
20. Dispositivo:
- Un componente de hardware, como una impresora o disco duro, que realiza funciones
específicas.
21. Estructura:
23.Códigos:
24. Punteros:
25. Parámetros:
26. Contable:
27. Consumido:
28. Llamada:
29. Jerárquica:
30.Recursos:
- Elementos como memoria, CPU, y dispositivos que un proceso utiliza para realizar una
tarea.
31. Creación:
32. Subprocesos:
- Un conjunto de instrucciones que realiza una tarea específica y puede ser llamado por
otros programas o funciones.
34. Duplicado:
35. Fork:
36. Bifurcar:
- El acto de dividir un proceso en dos, cada uno con su propia ejecución independiente.
- Un lugar específico en un programa donde la ejecución puede ser detenida para realizar
alguna acción.
38. Cascada:
39. Wait:
40. Execve:
41. Exit:
42. Planificador:
- Un componente del sistema operativo que decide qué proceso se ejecutará a
continuación.
43. Activador:
44. Sobrecarga:
45. Carga:
46. Activación:
47. Contexto:
- El estado actual de un proceso, que incluye registros, punteros y otros datos relevantes.
48. Task:
49.Despachador:
- Un componente del sistema operativo que selecciona un proceso de la cola de listos para
ejecución.
50. Subproceso:
- Una unidad de ejecución más pequeña que un proceso, también conocida como hilo.
51. Pipeline:
- Una secuencia de procesos o etapas donde la salida de cada uno es la entrada del
siguiente.