manejo de los procesos en los sistemas operativos

13
MANEJO DE LOS PROCESOS EN LOS SISTEMAS OPERATIVOS Prof. Carolina Cols

Upload: carolcols

Post on 13-Jun-2015

6.278 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Manejo de los procesos en los sistemas operativos

MANEJO DE LOS PROCESOS EN LOS

SISTEMAS OPERATIVOS

Prof. Carolina Cols

Page 2: Manejo de los procesos en los sistemas operativos

PROCESOUn proceso es básicamente un programa en ejecución. Consta del programa ejecutable, sus datos y pila, contador y otros registros, además de toda la información necesaria para ejecutar el programa.En forma periódica, el sistema operativo decide detener la ejecución de un proceso y comenzar la ejecución de otro. Cuando un proceso se detiene en forma temporal, éste debe volverse a inicializar en el mismo estado que se encontraba al detenerse. Esto quiere decir, que toda la información relativa al proceso debe almacenarse de forma explícita en alguna parte de la suspensión.

Page 3: Manejo de los procesos en los sistemas operativos

PROCESOUn 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.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.

Page 4: Manejo de los procesos en los sistemas operativos

PROCESOEn muchos sistemas operativos, toda la información relativa a un proceso, distinta del contenido de su propio espacio de dirección, se almacena en una tabla del sistema operativo llamada Tabla de Procesos, la cual consta de un arreglo (o lista ligada) de estructuras, una por cada proceso existente en ese momento.

Page 5: Manejo de los procesos en los sistemas operativos

ESTADOS DE UN PROCESO

El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo.En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.

Page 6: Manejo de los procesos en los sistemas operativos

MODELO DE ESTADOS

El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado Ejecución.De esta explicación se desprende que es necesario que el sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria. Además los procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar.

Page 7: Manejo de los procesos en los sistemas operativos

PROCESOS EN ESPERA

Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar.Se usa una variable llamada semáforo para intercambiar señales.Si un proceso esta esperando una señal, se suspende (WAIT) hasta que la señal se envíe (SIGNAL).Se mantiene una cola de procesos en ESPERA en el semáforo.La forma de elegir los procesos de la cola en ESPERA es mediante una política FIFO.La sincronización explícita entre procesos es un caso particular del estado "bloqueado". En este caso, el suceso que permite desbloquear un proceso no es una operación de entrada/salida, sino una señal generada a propósito por el programador desde otro proceso.

Page 8: Manejo de los procesos en los sistemas operativos

PROCESOSLos procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos.El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación.El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.Si existe un esquema con diferentes niveles de prioridad de procesos es conveniente mantener varias colas de procesos listos, una para cada nivel de prioridad, lo que ayuda a determinar cuál es el proceso que más conviene ejecutar a continuación.La sincronización explícita entre procesos es un caso particular del estado "bloqueado". En este caso, el suceso que permite desbloquear un proceso no es una operación de entrada/salida, sino una señal generada a propósito por el programador desde otro proceso.

Page 9: Manejo de los procesos en los sistemas operativos

LLAMADAS AL SISTEMALos programas de Usuario se comunican

con el sistema operativo y le solicitan el servicio mediante las llamadas al sistema. A cada una de estas llamadas le corresponde un procedimiento de la biblioteca que pueden llamar los programas del usuario. Este procedimiento pone los parámetros de la llamada al sistema en un lugar específico como pueden ser los registros de la máquina, para después ejecutar una función llamada TRAP para iniciar el sistema operativo. Cuando el sistema operativo recupera el control después del TRAP, examina los parámetros para ver si son válidos, en ese caso, desarrolla el trabajo solicitado. Al terminar, el sistema operativo coloca un código de estado en un registro, para indicar si tuvo éxito o fracaso.

Page 10: Manejo de los procesos en los sistemas operativos

EL SHELLEl sistema Operativo es el código que lleva a cabo las llamadas al sistema. Los editores, compiladores, ensambladores, ligadores e intérpretes de comandos no son parte del sistema operativo, aunque sean importantes y útiles.El Shell sin ser parte del sistema operativo, hace uso extenso de muchas de las características del sistema. También es la interfaz entre un usuario sentado frente a un terminal y el sistema operativo.Cuando un usuario inicia una sesión, el Shell se inicializa. El Shell reconoce a la terminal como su entrada y salida estándar.

Page 11: Manejo de los procesos en los sistemas operativos

EL SHELLEl Shell (caparazón) de un sistema operativo es la interfaz que media entre el usuario y el sistema operativo. Básicamente, su función es la de interpretar, ejecutar y devolver una respuesta a lo que el usuario escribe por línea de comandos.El Shell, en definitiva, no es más que un ejecutable que interpretar los comandos transmitirlos. línea de comandos no es más que una cadena de caracteres que representan a un comando y que luego será interpretada por el Shell. El comando suele ser un archivo ejecutable del sistema o del Shell junto con otros argumentos opcionales (parámetros).

Page 12: Manejo de los procesos en los sistemas operativos

EL KERNELEl kernel ó núcleo se puede definir como el corazón de un sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos. Las funciones más importantes del mismo, aunque no las únicas, son: Administración de la memoria para todos los programas y procesos en ejecución.Administración del tiempo de procesador que los programas y procesos en ejecución utilizan.Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda.

Page 13: Manejo de los procesos en los sistemas operativos

REFERENCIAS

Tanenbaum, A. (1993). Sistemas Operativos Modernos. Prentice Hall: Mexico

Gracias por su Atención