Download El concepto central de cualquier Sistema Operativo es
Document related concepts
Transcript
Escuela Superior politécnica de Chimborazo MODELOS DE PROCESOS EN SISTEMAS OPERATIVOS. WELCOME Escuela Superior politécnica de Chimborazo Modelo de Procesos El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un programa en ejecución también llamada tarea. No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas o o Un programa que se está ejecutando. Una actividad asincrónica. El emplazamiento del control de un procedimiento que está siendo ejecutado. Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de control de proceso. Aquella entidad a la cual son asignados los procesadores. La unidad despachable. En sistemas de multiprogramación la cpu alterna de programa en programa, en un esquema de seudo paralelismo , es decir que la cpu ejecuta en cierto instante un solo programa, intercambiando muy rápidamente entre uno y otro. El paralelismo real de hardware se da en las siguientes situaciones: En ejecución de instrucciones de programa con más de un procesador de instrucciones en uso simultáneamente. Con la superposición de ejecución de instrucciones de programa con la ejecución de una o más operaciones de entrada / salida. El objetivo es aumentar el paralelismo en la ejecución. El modelo de procesos posee las siguientes características: Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuenciales o procesos. Un proceso incluye al programa en ejecución y a los valores activos del contador, registros y variables del mismo. Conceptualmente cada proceso tiene su propia cpu virtual. Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un proceso no será uniforme, por lo que es necesario aclarar lo siguiente: Que los procesos no deben programarse con hipótesis implícitas acerca del tiempo. Que normalmente la mayoría de los procesos no son afectados por la multiprogramación subyacente de la cpu o las velocidades relativas de procesos distintos. Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y estado. Un solo procesador puede ser compartido entre varios procesos con cierto “algoritmo de planificación” , el cual determina cuándo detener el trabajo en un proceso y dar servicio a otro distinto Escuela Superior politécnica de Chimborazo Proceso. Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. Otra información que permite al sistema operativo su planificación. Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución. Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Los nuevos procesos son independientes y no comparten memoria (es decir, información) con el proceso que los ha creado. En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso. Escuela Superior politécnica de Chimborazo Sistema operativo. Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas entre las que destaca la administración de los dispositivos periféricos. Cuando se aplica voltaje al procesador de un dispositivo electrónico, éste ejecuta un reducido código en lenguaje ensamblador localizado en una dirección concreta en la ROM (dirección de reset) y conocido como reset code, que a su vez ejecuta una rutina con la que se inicializa el hardware que acompaña al procesador. También en esta fase suele inicializarse el controlador de las interrupciones. Finalizada esta fase se ejecuta el código de arranque (startup code), también código en lenguaje ensamblador, cuya tarea más importante es ejecutar el programa principal (main()) del software de la aplicación.1 Un sistema operativo se puede encontrar en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, radios, etc). Intereaccion entre el SO con el resto de las partes. GESTION DE PROCESOS EN SISTEMAS OPERATIVOS 1. GESTION DE PROCESOS 2. o Procesos y tareas . o Uno de los módulos más importantes de un sistema operativo es la de administrar los procesos y tareas del sistema de cómputo. o El sistema realiza varias actividades simultáneamente que compiten por la o utilización de determinados recursos, entre los que destaca la CPU, estas actividades se Escuela Superior politécnica de Chimborazo o denominan procesos. 3. Un programa, por si solo, es una entidad pasiva mientras que un proceso es una entidad activa ya que compite por los recursos máquina. o El proceso es una unidad de trabajo del sistema y el sistema operativo es el responsable de realizar un o seguimiento de todas las actividades del sistema en conexión con los procesos generados. 4. División implícita y explicita de traerás o Dependiendo del SO y del entorno objetivo de ejecución de programas. o La división de un trabajo en tareas que serán ejecutadas como procesos independientes así como la asignación inicial de los atributos de esos procesos pueden ser efectuadas o bien por el SO o bien por el desarrollador de la aplicación 5. o En otras palabras lo que constituirá un proceso independiente o 1._ División implícita de tareas definida por el sistema o 2._ División explicita de tareas definida por el desarrollador 6. Tipos de procesos y relación entre procesos concurrentes o En principio podemos realizar una clasificación muy general de los procesos entre procesos de usuario y procesos de sistema o Un proceso de usuario es aquel creado por el SO. o Un proceso de sistema es un proceso que forma parte del propio SO y que desempeña alguna de sus labores características 7. El sistema operativo y los procesos o Todos los SO de multiprogramación están construidos entorno al concepto de proceso o Los requerimientos principales que debe cumplir un SO para con los procesos son los siguientes: 8. o 1._ El SO debe intercalar la ejecución de procesos para optimizar la utilización de l procesador ofreciendo alavés un tiempo de respuesta razonable o 1._ El SO debe asignar los recursos del sistema a los procesos en conformidad con una política especifica que evite situaciones de ínter bloqueo o 1._ El SO podría tener que dar soporte ala comunicación entre procesos y ofrecer mecanismos para su creación 9. Creación y terminación de procesos o El sistema de operación debe crear un mecanismo para la creación y terminación de procesos. o 1._ Creación de procesos o Cuando un nuevo proceso se agrega el sistema de operación construye las estructuras de datos que son usadas para administrar los procesos y le asigna espacio de direcciones. Estas acciones constituyen la creación de un nuevo proceso. 10. Los eventos comunes para la creación de procesos o - En un ambiente batch , un proceso es creado en respuesta al sometimiento a ejecución de un trabajo. o Escuela Superior politécnica de Chimborazo - En un ambiente interactivo, un proceso es creado cuando un nuevo usuario entra al sistema. o - El sistema de operación puede crear un proceso para que realice una función en respuesta a una petición de un programa usuario, sin que el usuario tenga que esperar. o - Creación de procesos hijos por parte de procesos usuarios ya existentes el proceso que crea se llama proceso padre. 11. 2._ Terminación de procesos o Un proceso termina cuando ejecuta su última instrucción y pide al sistema operativo que lo elimine. En este momento, el proceso puede devolver un valor de estado a su proceso padre. o El sistema operativo libera la asignación de todos los recursos del proceso, incluyendo las memorias física y virtual, los archivos abiertos y los búferes de ES. o