





















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Apuntes del curso universitario de Informatica sobre los Procesos y los threads - Un proceso es una instancia de una aplicación en ejecución. Encapsula el entorno de la aplicación, para que ejecute en una máquina virtual.
Tipo: Apuntes
1 / 29
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Sistemas Operativos I
Un proceso es una instancia de una aplicación en ejecución. Encapsula el entorno de la aplicación, para que ejecute en una máquina virtual. Podemos decir que un proceso can es una abstracción de la computadora. La aplicación puede ser un programa escrito por un usuario, o una aplicación del sistema. Los usuarios puede ejecutar muchas instancias de la misma aplicación a la vez, o ejecutar diferentes aplicaciones. cada una, un proceso.
El proceso, como una abstracción de la computadora, queda definido por:
El estado de la CPU (registros).
Su espacio direccionable de memoria
Su entorno (reflejado en las tablas del sistema operativo).
El estado de la CPU se ve en los contenidos de los registros.
Processor Status Word (PSW): incluye bits que escifican el modo (privilegiado o normal), el resultado de la última operación aritmética (cero, negativo, overflow, o carry), y el nivel de interrupción (cuáles interrupciones se permiten y cuáles se bloquean)
Sólo una pequeña parte de los datos pueden guardarse en registros. El resto, en memoria. Los segmentos típicos de memoria: Texto: código de la aplicación. En general, read-only, y puede compartirse entre varios procesos Datos: estructuras predefinidas de datos de la aplicación Zona de memoria dinámica Stack: donde se guardan los valores de los registros, y la información de retorno. Toda la memoria direccionable se llama espacio de direcciones del proceso. En los sistemas modernos, no es necesariamente del tamaño de la memoria real.
Un proceso no existe dentro de una probeta, sino que tiene conexiones con otras entidades, tales como una terminal donde el usuario trabaja, archivos abiertos, canales de comunicación.
Se listan en las tablas del sistema operativo.
El PCB también contiene el estado del proceso.
Los procesos cambian de estado durante su ejecución, por sí mismo, o por un evento.
Un proceso puede cambiar
Puede estar listo para ejecutar en un instante, y bloqueado al siguiente.
Se implementa moviendo el PCB de una lista a la otra.
Los procesos se crean en el estado listos.
Un proceso en listos puede pasar a ejecutar (el SO lo pasa)
De ejecución, puede expropiársele la CPU y devuelto a listos, o puede bloquearse esperando un evento.
Cuando el evento sucede, el proceso vuelve a listos,
Estas transiciones continúan hasta que el proceso termina.
La excepción aquí es el stack. Un stack es el registro de la operación contiene un frame para cada llamada a función, (con los valores salvados) y el almacenamiento local de la función. Cada thread debe usar su propio stack.
El multithreading es una herramienta útil, por ejemplo, para un servidor.
La idea es que un thread lleve a cabo las operaciones de E/S, mientras otro hace las cuentas.
Cuando un thread de E/S se bloquea, otro puede ejecutar.