Proceso Flashcards
Aprenderlo en 1 semana
¿Qué es el contexto de ejecución o estado del proceso?
El contexto de ejecución o estado del proceso incluye toda la información que el sistema operativo necesita para administrar el proceso y que el procesador necesita para ejecutarlo correctamente. Se almacena en el Bloque de Control de Procesos (PCB).
¿Cuáles son los tres componentes principales de un proceso?
Los tres componentes principales de un proceso son: un programa ejecutable, datos asociados necesarios para el programa (variables, espacio de trabajo, buffers, etc.) y el contexto de ejecución o estado del proceso (contenido en el Bloque de Control de Procesos).
¿Cómo se llama la técnica en la que la CPU conmuta rápidamente entre procesos?
La técnica en la que la CPU conmuta rápidamente entre procesos se llama multiprogramación.
¿Qué es un proceso? ¿Que nos permite?
Un proceso es una abstracción de un programa en ejecución, que permite la operación concurrente en sistemas con una sola CPU al crear múltiples CPUs virtuales. Es la unidad de ejecución más pequeña planificable.
¿Cuál es la diferencia entre un proceso y un programa?
Un proceso es una entidad activa y dinámica que implica la ejecución de un programa en memoria, mientras que un programa es una entidad pasiva y estática. Un proceso incluye un programa, datos de entrada, salida y estado. Un programa se convierte en proceso cuando se carga su archivo ejecutable en memoria.
¿Cómo se puede pensar en un sistema operativo para entender mejor el funcionamiento de los procesos?
Es conveniente pensar en una colección de procesos que se ejecutan en paralelo, aunque en realidad la CPU conmuta rápidamente entre ellos.
¿Qué es la tabla de procesos en un sistema operativo?
La tabla de procesos es un arreglo de estructuras mantenido por el sistema operativo, con una entrada por cada proceso para la gestion de estos.
¿Que contiene cada entrada en la tabla de procesos?
Cada entrada contiene información del estado del proceso, incluyendo su contador de programa, apuntador de pila, asignación de memoria, estados de sus archivos abiertos, información de contabilidad y planificación, y también acerca del proceso cuando este cambia del estado en ejecución a listo o bloqueado
¿Qué es el Bloque de Control de Proceso (PCB)?
El PCB es una estructura que contiene un conjunto de atributos utilizados por el sistema operativo para el control y administración del proceso. Incluye información sobre la identificación del proceso, estado del procesador y control del proceso.
¿Cuáles son las tres categorías de información contenidas en el PCB?
Las tres categorías de información contenidas en el PCB son: identificación del proceso (IDs del proceso, proceso padre y usuario), estado del procesador (registros de CPU, contador del programa y códigos de condición) y control del proceso (planificación de CPU, gestión de memoria, información contable y de E/S).
¿Cuales son eventos para la creacion de procesos?
Hay cuatro eventos principales que provocan la creación de procesos:
- El arranque del sistema: procesos en primer plano, aquellos que interactúan con el usuario y hacen tareas para ellos; procesos en segundo plano, aquellos que tienen asociada una función específica, también conocidos como daemons.
- La ejecución, desde un proceso, de una llamada al sistema para creación de procesos: un proceso en ejecución puede emitir llamadas al sistema para crear procesos que le ayuden a completar su trabajo.
- Una petición de usuario para crear un proceso (cuando el usuario ejecuta un programa por consola de comandos o haciendo doble click en un icono).
- El inicio de un trabajo por lotes: los usuarios pueden enviar trabajos de procesamiento por lotes al sistema (posiblemente en forma remota). Cuando el sistema operativo decide que tiene los recursos para ejecutar otro trabajo, crea un proceso y ejecuta el siguiente trabajo.
¿Cuales son las condicione para que un proceso termine?
Una vez creado un proceso, empieza a ejecutarse y realiza su trabajo. Esta ejecución finaliza en algún momento dado, debido a una de las siguientes condiciones:
* Salida normal (voluntaria).
* Salida por error (voluntaria).
* Error fatal (involuntaria).
* Eliminado por otro proceso (involuntaria).
En la mayoría de los casos los procesos terminan por que concluyen con su tarea, ejecutando una llamada al sistema para indicar al SO que ha terminado. (1); pueden terminar por que el proceso descubrió un error (2); pueden terminar por un error fatal producido por el proceso, a menudo debido a un error en el programa (ejecutar una instrucción ilegal, hacer referencia una parte inexistente en memoria)(3), el proceso puede indicar al SO que desea manejar ciertos errores por su cuenta, en cuyo el proceso recibe una señal (se interrumpe) en vez de terminar; o puede terminar por que otro proceso ejecuta una llamada al sistema indicando al SO la eliminación de un proceso (4). En ambos casos, el proceso eliminador debe tener la autorización necesaria para realizar la eliminación.
¿Cuáles son los dos modos de ejecución en un sistema operativo? ¿Porque se usan estos modos?
● Modo Usuario: No se permite la ejecución de instrucciones privilegiadas. El intento de ejecución de una instrucción privilegiada en este modo produce una excepción.
● Modo Kernel: Permite ejecución de instrucciones privilegiadas (llamadas al sistema, tratamiento de interrupciones, asignación de espacio de memoria a los procesos, etc.)
La razón por la que se usan estos 2 modos, se debe a que es necesario proteger al SO y a las estructuras del mismo, como los PCB, de las injerencias de los programas de usuarios.
¿Como funciona la jerarquia de procesos?
Un proceso padre crea un proceso hijo, los hijos a su vez pueden crear sus propios procesos, formando una jerarquía de procesos. Un proceso sólo tiene un padre (pero cero, uno, dos o más hijos).
Windows no tiene un concepto de una jerarquía de procesos. Todos los procesos son iguales.
¿Cómo sabe el procesador en qué modo de control de procesos va a ejecutar? ¿Cómo se cambia de modo?
Hay un bit en el PSW (Palabra de estado del programa) que indica el modo de ejecución.