SISTEMAS OPERATIVOS ADMINISTRACIÓN DE PROCESOS
Enviado por cristhianGui • 30 de Mayo de 2022 • Informe • 1.374 Palabras (6 Páginas) • 142 Visitas
[pic 1]
[pic 2] “Año del Bicentenario del Perú: 200 años de Independencia”
Universidad Nacional de Ucayali
FACULTAD INGENIERÍA DE SISTEMAS E INGENIERÍA DE CIVIL
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
SISTEMAS OPERATIVOS
ADMINISTRACIÓN DE PROCESOS
Docente: Mg. Maikel Fredy Mogollón Rojas
Ciclo: VII- B
Alumno:
EDER CRISTHIAN MORENO SILVA
Pucallpa-Perú
2021
ADMINISTRACION DE PROCESOS
PROCESOS
Un proceso es un programa en ejecución, incluyendo el valor del programa counter, los registros y las variables.
Conceptualmente, cada proceso tiene un hilo (thread) de ejecución que es visto como un CPU virtual.
El recurso procesador es alternado entre los diferentes procesos que existan en el sistema, dando la idea de que ejecutan en paralelo(multiprogramación).
Contador de programa
Cada proceso tiene su programa counter, y avanza cuando el proceso tiene asignado el recurso procesador. A su vez, a cada proceso se le asigna un número que lo identifica entre los demás: identificador de procesos.
[pic 3]
CREACIÓN DE PROCESOS
Los procesos de un sistema son creados a partir de otro proceso
Al creador se le domina padre y al nuevo hijo. Esto genera una jerarquía de procesos en el sistema.
Hay cuatro eventos principales que provocan la creación de procesos
- El arranque del sistema
- La ejecución, desde un proceso, de una llamada al sistema para la creación de procesos
- Una petición del usuario para crear procesos
- El inicio de un trabajo por lotes
En el diseño de sistema operativo se debe decidir, en el momento de creación de un nuevo proceso, cuales recursos compartirán el proceso padre e hijo. Las opciones son que compartan todo, algo o nada. También se debe determinar que sucede con los hijos cuando muere el padre. Puede morir también o cambiar de padre.
Una vez creado el nuevo proceso tendrán un hilo (programa counter) de ejecución propio. El sistema genera un nuevo PCB para el proceso creado.
Ejemplo: UNIX
Unix provee el sistema call fork para la creación de nuevos procesos, la invocación a esta función le retorna al padre el número de procesos id del hijo recién creado y al hijo valor 0. El hijo comienza su ejecución en el retorno de fork.
Además, se provee el sistema call exec que remplaza el espacio de memoria de proceso por uno nuevo.
[pic 4]
Terminación de procesos
Nada dura para siempre, ni siquiera los procesos. Tarde o temprano el proceso terminara, por lo general alguna de las siguientes condiciones:
- Salida normal (voluntaria)
- Salida por error (voluntaria)
- Error Fatal (involuntaria)
- Eliminado por otro proceso (involuntaria)
Cuando un compilador ha compilado el programa que recibe, ejecuta una llamada al sistema para indicar al sistema operativo que ha terminado.
La segunda razón de terminación es que el proceso descubra un error. Por ejemplo, si un usuario escribe el comando cc foo.c para copilar el programa foo.c y no existe dicho archivo, el compilador simplemente termina.
La tercera razón de terminación es un error fatal producido por el proceso, a menudo debido a un error del programa. Ejemplo incluye ejecutar una instrucción ilegal, hacer referencia a una parte de memoria no existente o la división entre cero.
La cuarta razón es que se ejecute una llamada al sistema e indique eliminar otros procesos. En Unix esta llamada es kill una función correspondiente en Win32 es terminateProcess. En ambos casos deben tener autorización necesaria para realizar la eliminación.
COMUNICACIÓN ENTRE PROCESOS
Con frecuencia los procesos necesitan comunicarse con otros procesos, por ende, existe la necesidad de comunicación de procesos de preferencia en una forma bien estructurada sin utilizar interrupciones.
Las tres cuestiones
- La primera: como un proceso puede pasar información a otro
- La segunda: dos o más procesos no se interpongan entre si
- La tercera: de obtener la secuencia apropiada cuando hay dependencias presentes: Si el proceso A produce datos y el proceso B los imprime, B tiene que esperar hasta A haya producido algunos datos antes de empezar a imprimir.
CONDICIONES DE CARRERA
El almacenamiento compartido puede estar en la memoria principal (posiblemente en una estructura de datos del kernel) o puede ser un archivo compartido; la ubicación de la memoria compartida no cambia la naturaleza de la comunicación o los problemas que surgen.
REGIONES CRITICAS
¿Cómo evitamos las condiciones de carrera?
Se puede formular de una manera abstracta. Parte del tiempo, un proceso está ocupado realizando cálculos internos y no producen condiciones de carrera.
Necesitamos cumplir con cuatro condiciones:
...