Download El concepto central de cualquier Sistema Operativo es

Document related concepts

Proceso (informática) wikipedia , lookup

Hilo de ejecución wikipedia , lookup

Planificador wikipedia , lookup

Llamada al sistema wikipedia , lookup

Multitarea wikipedia , lookup

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