Un proceso es simplemente, un programa o una aplicación en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:
La gestión de procesos podría ser similar al trabajo que se realiza en una oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. se debe comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.
aportar sobre cada uno de los siguientes terminos:
- Crear y destruir los procesos.
- Parar y reanudar los procesos.
- Ofrecer mecanismos para que se comuniquen y sincronicen.
La gestión de procesos podría ser similar al trabajo que se realiza en una oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. se debe comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.
aportar sobre cada uno de los siguientes terminos:
- Definición de Proceso
- Estados de los Procesos
- Operaciones con Procesos
- Planificación de Procesos
- Bloque de Control del Sistema
- Bloque de Control de Proceso
- Planificación del Procesador
Procesos
ResponderEliminarUn proceso es un programa en ejecución. Los procesos son gestionados por el sistema operativo y están formados 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 unidad central de procesamiento 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.
Estados De Procesos
Activa es la que está ejecutándose en un instante dado. En el caso de sistemas con un único procesador, sólo puede haber una tarea en dicho estado en cada instante.
Preparado, se encuentran todas las tareas que están listas para ejecutarse pero que esperan a que un/el procesador quede libre (hay otros procesos más prioritarios en ejecución).
Bloqueado o suspendido, Las tareas que están a la espera de que se cumpla una condición y que por lo tanto, no están preparadas para ejecutase.
Muerto cuando ha terminado su ejecución o bien el sistema operativo a detectado un error fatal y lo ha transferido a dicho estado. También es posible que haya entrado él como resultado de un fallo del propio sistema operativo (cuestión que desgraciadamente suele ocurrir frecuentemente en algunos OS.
Nonato indica que el programa realmente existe pero todavía no es conocido por el OS.
Planificación de procesos
ResponderEliminarPodemos definir a la planificación como un conjunto de políticas y mecanismos incorporados al sistema operativo, a través de un módulo denominado planificador, que debe decidir cuál de los procesos en condiciones de ser ejecutado conviene ser despachado primero y qué orden de ejecución debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el máximo aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un momento dado. Un "buen" servicio podría traducirse en tiempo de respuesta aceptable, productividad y eficiencia del procesador.
Planificación a extra largo plazo
Consiste en una planificación externa que se hace en el centro de cómputos y está estrechamente ligada a las políticas de funcionamiento del sistema, ya que se determina la importancia relativa de los usuarios.
Planificación a largo plazo
El planificador a largo plazo, scheduler o planificador de trabajos, es un administrador que se encarga de organizar la ejecución con un adecuado planeamiento de recursos para que el trabajo se ejecute ordenadamente y eficientemente según la modalidad de procesamiento.
El sheduler se ejecuta con poca frecuencia, sólo cuando se necesita crear un nuevo proceso en el sistema, cuando termina un proceso, o ingresa un usuario en el sistema, por lo que tiene prioridad máxima para ejecutar.
Es el responsable de controlar el nivel de multiprogramación del sistema y el balance de carga del sistema. Esto último implica la selección cuidadosa de trabajos para mantener un adecuado balance de carga de procesos que hacen uso de E/S intensivo (I/O bound) o uso de CPU intensivo (CPU bound).
Planificación a mediano plazo
Es el que decide sacar de memoria central y llevar a disco (swap-out) a aquellos procesos inactivos o a los activos cuyos estados sean bloqueados momentáneamente o temporalmente o los suspendidos y luego, cuando desaparezcan las causas de sus bloqueos, traerlos nuevamente a memoria (swap-in) para continuar su ejecución. Este tipo de planificador se encuentra solo en algunos sistemas especialmente en los de tiempo compartido, ya que permite mantener un equilibrio entre los procesos activos e inactivos.
Bloqueo de Sistema
ResponderEliminarEn sistemas operativos, el bloqueo mutuo (también conocido como interbloqueo, traba mortal, deadlock, abrazo mortal) es el bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por recursos del sistema o bien se comunican entre ellos. A diferencia de otros problemas de concurrencia de procesos, no existe una solución general para los interbloqueos.
Todos los interbloqueos surgen de necesidades que no pueden ser satisfechas, por parte de dos o más procesos. En la vida real, un ejemplo puede ser el de dos niños que intentan jugar al arco y flecha, uno toma el arco, el otro la flecha. Ninguno puede jugar hasta que alguno libere lo que tomó.
Planificación del procesador
Planificación a largo plazo (planificador de trabajos). Decide cuál será el próximo trabajo que se va a ejecutar. Este nivel sólo existe en los sistemas de proceso por lotes, donde la decisión se basa en las necesidades de recursos y su disponibilidad. En los sistemas de tiempo compartido tiene como única misión cargar los programas que se desean ejecutar en memoria. Este nivel es, por tanto, el encargado de crear los procesos.
Planificación a medio plazo (planificador de swapping). Decide si un proceso que está en ejecución en estado bloqueado o suspendido debe ser extraído de la memoria temporalmente. Posteriormente, cuando el sistema se encuentre más descargado, devolverá dicho proceso a la memoria y al estado de ejecución. Este nivel, por tanto, gestiona los procesos suspendidos en espera de algún recurso no disponible en el momento de la suspensión.
Planificación a corto plazo (planificador del procesador). Es el encargado de decidir cómo y cuándo tendrá acceso al procesador un proceso que está preparado para utilizarlo. Por tanto, lleva a cabo las funciones de la multiprogramación, estando siempre residente en memoria y ejecutándose con mucha frecuencia; por ello, debe ser de ejecución muy rápida. En este nivel es donde se debe dar un buen servicio a los procesos interactivos para que el usuario no perciba, o lo haga en pequeño grado, que está compitiendo por el procesador junto con otros usuarios.
OBJETIVOS
ResponderEliminarLas políticas de planificación intentan cubrir los siguientes objetivos:
• Justicia. La política debe ser lo más justa posible con todo tipo de procesos, sin favorecer a unos y perjudicar a otros.
• Máxima capacidad de ejecución. Debe dar un servicio aceptable para que todos los trabajos se realicen lo más rápidamente posible. Esto se logra disminuyendo el número de cambios de proceso.
• Máximo número de usuarios interactivos. En los sistemas de tiempo compartido se tratará de que puedan estar trabajando el mayor número de usuarios simultáneamente.
• Predecibilidad. La política de planificación debe concebirse de tal forma que en todo momento pueda saberse cómo será su ejecución.
• Minimización de la sobrecarga. La computadora debe tener poca sobrecarga ya que ésta incide directamente sobre el rendimiento final del sistema: a menor sobrecarga, mayor velocidad de proceso. Por ello, los cambios de contexto deben minimizarse.
• Equilibrio en el uso de recursos. Para obtener un buen rendimiento en el uso de los recursos y que éstos estén ocupados equitativamente el mayor tiempo posible.
• Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, éste debe ejecutarse más rápidamente.
Los objetivos enunciados pueden entrar en ocasiones en contradicción; por ello es necesario llegar a una situación de compromiso entre todos los objetivos para conseguir del sistema operativo un buen rendimiento y un buen servicio.
Citas Bibliográficas
ResponderEliminarEstados de los procesos
Schroeder [1992]
Planificación de procesos
William Stallings
Definición de Procesos
Michael Hammer 1990.
Gestión de procesos enfocado para el proyecto Tecnológico
Sistema propuesto:
“Sistema automatizado para la gestión del préstamo de herramientas en el taller del departamento de mantenimiento del Instituto Universitario del Estado Yaracuy.”
Sistema propuesto para resolver la problemática del préstamo de herramientas en dicha institución, basándonos en los temas antes expuestos de la gestión de procesos básicamente con el sistema se debe considerar:
- Procesos que el sistema genera en su ejecución; por ser un sistema no creado se considera este punto básico por así decirlo.
- Orden y prioridad de los procesos; tomando en cuenta los estados de los procesos prioritizaremos los procesos más importantes y que por su orden lógico deben o no ejecutarse.
- Planificar procesos; en este punto consideramos los tiempos de ejecución ya sea en corto, medio o largo plazo conociendo en un sentido cuales y en donde se clasifican.
Ejemplo
Proceso de corto plazo “Levantar el sistema”
Proceso de largo plazo “Aviso Emergente de Mantenimiento de determinado Equipo o herramienta”.
- Evitar Bloqueos de sistema; evitar los bloqueos por Deadlock que es el más común cuando dos o más procesos ocupan al mismo tiempo determinado recurso de la computadora, si bien no son en su totalidad evitados darle el tratamiento necesario para que estos sincronicen y fluya normalmente el sistema.
- Planificación del procesador; de igual manera se debe considerar las tareas que va a manejar el procesados en sus tres distintos estatus, cuales son las tareas que va, esta, o dejo de ejecutar, esto con el objetivo de disminuir la mayor cantidad de errores en el sistema y darle un adecuado orden a los mismos.
Bloque
ResponderEliminarCuando se trata de sistemas operativos un deadlock (abrazo mortal) Son dos procesos compiten por dos recursos que necesitan para funcionar, que sólo pueden ser utilizados por un proceso a la vez. El primer proceso obtiene el permiso de utilizar uno de los recursos (adquiere el lock sobre ese recurso). El segundo proceso toma el lock del otro recurso, y luego intenta utilizar el recurso ya utilizado por el primer proceso, por lo tanto queda en espera. Cuando el primer proceso a su vez intenta utilizar el otro recurso, se produce un interbloqueo, donde los dos procesos esperan la liberación del recurso que utiliza el otro proceso.
Un ejemplo, 2 estudiantes con 1 computadora, ambos necesitan usarla y solo 1 puede estar usando de ella, si ambos intentan acceder a ella, se crea un bloqueo de ambas partes (deadlock).
Planificación del procesador (planificador a corto plazo)
– Cometido: Selecciona un proceso listo y le asigna CPU, reparte el tiempo de CPU entre procesos.
– Frecuencia: Mayor que la del planificador de trabajos... debe ser más rápido.
• Pueden efectuarse decisiones de planificación de la CPU:
1.- Proceso cambia de estado de ejecución a bloqueado (E/S).
2.- Cuando termina un proceso.
3.- Proceso cambia de estado de ejecución a listo (interrupción).
4.- Un proceso cambia de estado bloqueado a listo (acaba E/S).
• En 1 y 2 se debe seleccionar un nuevo proceso para ejecución.
• En 3 y 4 puede o no hacerse:
– Sí: Esquema de planificación expulsiva o apropiativa.
– No: Esquema de planificación hasta terminación (no apropiativo).
Citas Bibliográficas
A. S. Tanenbaum. Sistemas Operativos Modernos. Prentice Hall Hispanoamericana, S.A., México, 1993.
J. Boria. Construcción de Sistemas Operativos. Kapelusz, Bs.As.-Argentina, 1987.
H. M. Deitel. Introducción a los Sistemas Operativos. Addison-Wesley Iberoamericana, México, 1987.
Proyecto Socio Tecnológico
ResponderEliminarNuestro Proyecto
“Sistema automatizado para la gestión del préstamo de herramientas en el taller del departamento de mantenimiento del Instituto Universitario del Estado Yaracuy.”
Un Breve enfoque con respecto al proyecto
Cada uno de estos puntos, son importantes para el desarrollo de nuestros sistemas, tomando inicialmente como punto de partida. Que son los procesos, seguidamente de sus estados, planificación y bloqueos de los mismos, Se investiga è indaga para así tener conocimiento de tan importante tema en cuanto a sistemas operativos se refiere, para así poder crear un sistema adecuado para solventar la necesidad que surge de esta comunidad en este caso el departamento de mantenimiento del Instituto Universitario del Estado Yaracuy. Teniendo dichos conocimientos podemos evitar problemas importantes y que resaltan como lo seria, el DeadLock que es un factor muy común, que debemos tomar en cuenta para el buen desempeño del sistema, cuando este, posea cada uno de sus procesos, estos deben tener un buen manejo en cuanto a que trabajo va a desempeñar cada uno de ellos y en qué momento.
Profesor disculpe el desorden pero realize todo en word y lo traje aca con copy paste y se descontrolo todo.. el ultimo tema que investigue fue donde dice Bloque.. Nuevamente disculpe..
ResponderEliminarPlanificación de los procesos
Es el proceso por el cual el sistema operativo selecciona que proceso ejecutar. La selección del proceso se basa en alguno de los algoritmos de planificación:
Expulsion: característica por el cual el sistema operativo puede o no expulsar del estado de ejecución a un proceso dado.
Los objetivos de la planificación de proceso son:
* Equidad, todos los procesos deben poder ejecutarse
* Eficacia, mantener ocupada la CPU un 100% del tiempo
* Tiempo de respuesta, minimizar el tiempo de respuesta al usuario
* Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus resultados
* Rendimiento, maximizar el número de tareas procesadas por hora.
Algoritmos de planificación
Los algoritmos de planificación son los que definen que política se va a seguir para que un proceso pase al estado de ejecución.
Planificación Round-Robin
Cada proceso tiene asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecución en su quantum el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro quantum luego de recorrer la cola para asegurarse que todos los procesos reciban ese quantum de procesamiento.
Planificación por Prioridad
En la planificación round-robin todos los procesos son tratados con la misma prioridad. Para el caso de este tipo de planificación a cada proceso se le asigna una prioridad y los mismos son ejecutados
Planificación Garantizada
En este modelo de planificación se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecución de 1/n (siendo n la cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del tiempo de ejecución de los procesos y balancear el tiempo que están utilizando el procesador para cumplir con la ecuación previa.
Planificación del Procesador.
ResponderEliminarLa planificación del procesador se refiere a la manera o técnicas que se usan para decidir cuánto tiempo de ejecución y cuando se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema.
Gestión de procesos enfocado para el proyecto Tecnológico
Sistema propuesto:
“Sistema automatizado para la gestión del préstamo de herramientas en el taller del departamento de mantenimiento del Instituto Universitario del Estado Yaracuy.”
Ya con una propuesta planificada a la institución donde realizaremos un sistema esto se enlaza ya que no ayudara a planificación de procesos por que esta gestionado a su tiempo de ejecución , en realidad nos ayudara a levantar el sistema y tener una buena gestión en el préstamo de herramientas en el talles de mantenimiento de el instituto.
Para al final ejecutar nuestro sistema automatizado con éxito
PROCESO: es la ejecución de un programa donde se cumple las siguiestes funciones:
ResponderEliminarESTADO: Palabra que se recorre en binario el estado del entorno de programa después de la ejecución de cada instrucción.
REGISTROS: pequeña memoria interna del microprocesador formada generalmente biestables. Generalmente su segmento de texto.
PILA: es la zona reservada de la memoria o registros de hardware donde se almacena temporalmente el estado o informacion de un programa.
BLOQUE DE CONTROL DEL SISTEMA: Es la maneracomo se almacenala inforacion sobre el proceso; y se utiliza para ejecutar procesos concurrentes.
ResponderEliminarESTADO DEL PROCESO: Nuevo, listo, en ejecucion y bloqueadO
CONTADOR DE PROGRAMA: Impulsa hacia una dirreccion siguiente o instruccion a ejecutar.
REGISTROS DE LA CPU: es donde se guarda el contenido a final de laultima ejecucion(contador de programa, puntero a pila, registros dedatos entre otros) del programa
ESTADOS DE PROCESOS: es la manera como se define el estado actual del programa y este ella vamos a presentar los siguientes estado:
ResponderEliminarNUEVO: Es cuando apenas el programa se encuentra en un proceso de creación.
LISTO: Se dice que el programa esta listo cuando ya puede usar un CPU si esta disponibles.
EN EJECUCIÓN: Es cuando el proceso ocupa la CPU a la hora de ser ejecutado.
BLOQUEADO: se espera que ocurra algo como la terminacion de una E/S para asi ponerse en marcha ya autorizado.
TERMINADO: Es cuando el proceso llega al final de su ejecucion para hacer un proceso de finalizacion.
PROYECTO A REALIZAR: SISTEMA QUE PERMITA REGISTRAR DATOS COMO: EDAD, SEXO, SALUD, EDUCACION, TRABAJO E INTEGRANTES DE UNA FAMILIA CON LA FINALIDAD LEVAR EL REGISTRO DE TODOS LOS FAMILIARES QUE VIVEN EN ESA COMUNIDAD PARA LLEVAR EL CONTEO DE LOS HABITANTES Y A LA HRA DE SATISFACER SUS NECESIDADES LLEVANDO UN CONTROL A LA HORA DE UNAS ELECCIONES O QUE VAYAN A REPARTIR COSAS NECESARIAS A LA COMUNIDAD SE CONOZCA QUE HABITANTES FUERON BENEFICIADOS Y QIENEs no.
ResponderEliminarTENER EN CUENTA CADA PUNTO DEL QUE YA HEMOS HABLADO ANTERIORMENTE NOS CONDUCIRA A CADA UNO DE NOSOTROS A LOGRAR CONSTRUIR UN GRAN SISTEMA QUE LOGRE SATISFACER LAS NECESIDADES DEL USUARIO EN ESTE CASO UN CONSEJO COMUNAL PONIENDO EN PRACTICA TODO PROCESO NECESARIO QUE SIRVA DE GRAN AYUDA Y IMPOULSAR UNA GRAN AYUDA PARA MANEJO DE ESTA INFORMACION...!
Definición de proceso
ResponderEliminarLos sistemas operativos de procesamiento por lotes ejecutan trabajos. Mientras que un sistema operativo de tiempo compartido ejecuta programas de usuarios o tareas. Incluso en un SO monousuaurio, el usuario puede ejecutar varios programas al mismo tiempo. Incluso a que el usuario pudiese ejecutar un programa cada vez, el SO tiene que dar soporte a sus propias actividades internas, como pueden ser los mecanismo de gestión de la memoria.
Un proceso es básicamente un programa en ejecución. Cada proceso tiene asociado un espacio de direcciones: una lista de pociones de memoria desde algún mínimo (normalmente 0) hasta algún máximo, que el proceso puede leer y en la que puede escribir.
Todas las computadoras modernas pueden hacer varias cosas al mismo tiempo. Mientras ejecutan un programa de usuario, una computadora también puede leer un disco y enviar texto a una pantalla o impresora. En un sistema de multiprogramación, la CPU también cambia de un programa a otro, ejecutando cada uno durante decenas o centenas de milisegundos. Si bien, en términos estricto, la CPU solo puede ejecutar un programa en cualquier instante dado, a lo largo de un segundo puede trabajar en varios programas, lo que da a los usuarios la ilusión de paralelismo.
Estados de procesos
Para implementar el concepto de proceso, el SO ha de mantener una estructura de datos para cada proceso, denominada Bloque de Control de Proceso (BCP). En esta estructura se almacena información acerca del estado del proceso, su contador de programa, puntero de la pila, límites de la memoria, estado de los ficheros, planificación etc. La zona donde se colocan los BCP es solo accesible en estado supervisor; su tamaño dependerá del número de procesos máximo de procesos que soporte el sistema y será determinado al configurar el sistema.
Análisis de campos del BCP:
Estado: hace referencia al estado en que se encuentra el proceso, pudiendo ser de los siguientes:
Preparado o Listo, en este estado el proceso tiene asignados todos los recursos que necesita excepto la UPC.
En espera o bloqueado, en el que el proceso se encuentra detenido hasta que se produzca un evento (se le asigne un recurso o se produzca una E/S).
En ejecución, en el que el proceso está con todo los recursos asignados y ejecutándose en el procesado.
Nota: en los tres estados el proceso es conocido por el sistema. Se puede hablar de un cuarto estado en el que el proceso no es conocido por el sistema, no existiendo el BCP.
Operaciones con procesos
ResponderEliminarPara poder operar con un proceso, los sistemas operativos actuales suministran ciertas primitivas o funciones, que pueden ser ejecutadas desde un proceso o desde un intérprete de comandos, al ser el usuario el que solicite algún servicio de dicho sistema.
Planificación de procesos
Tiene por misión ejecutar las políticas de tomas de decisiones definidas para determinar qué proceso, de entre todos lo que están activos, deberá acceder al procesador, ordenando, por lo tanto, la cola de procesos preparados para definir la secuencia de acceso de dichos procesos. Una vez seleccionado uno para su ejecución habrá de entregárselo al procesador extrayéndolo de la cola de procesos preparados, cambiar su estado, y reponer el estado del procesador para continuar ejecutándolo; tareas que llevara a cabo el despachador de procesos. Estos dos componentes suelen conocer en todos los SO como el planificador de proceso.
Bloque de control del proceso
Representa el concepto de proceso para el sistema operativo. Muchos de estos datos pueden estar en el almacenamiento secundario o en la memoria, y acceder a ellos solo cuando sea necesario actualizarlos, pero aquellos que sean necesarios para determinar en qué situación se encuentra el proceso siempre estará en la memoria principal, siendo fundamentalmente:
1 el contador de programa que indica en qué dirección de memoria esta la siguiente instrucción que debe ser ejecutada por el proceso
2 el estado del procesador, la prioridad del proceso, el modo de ejecución, errores,…
3 los registro del ordenador en el estado en que se encontraba la última vez que tuvo que abandonar el procesador.
4 el estado del proceso
5 descriptores de la zona de memoria donde se haya cargado el proceso
6 privilegios y permisos de acceso que tiene concedidos el proceso
7 ficheros que tiene abiertos y con los que, por lo tanto, está trabajando
Planificación del ordenador
Esta siempre residente en memoria, y se suele ejecutar con mucha frecuencia (aproximadamente cada 20 milisegundos), por lo que debe ser de ejecución muy rápida, para dejar el procesador cuanto antes a los procesos. El tiempo que se utiliza el sistema operativo para gestionar el procesador produce una sobrecarga, disminuyendo por tanto el rendimiento del ordenador.
Tomando en cuenta esto puntos, es necesario llevarlos a la practica en el diseño del sistema propuesto en el proyecto ya que forma parte de este aprendizaje y a su ves logra alcanzar los objetivos del sistema y satisfacer a la institución con este proyecto
ResponderEliminarJacniel Juarez Exp: 22086 701 ;D
ResponderEliminarDefinición de Procesos
En informática se manejan varias definiciones que aluden a diversos elementos: puede ser simplemente una operación o conjunto combinado de operaciones con datos, o bien una secuencia de acontecimientos definida única y delimitada, que obedece a una intención operacional en condiciones predeterminadas. También se denomina proceso a una función que se está ejecutando.
Estados de un proceso
Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:
En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando.
Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.
Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.
Planificación de Procesos
La planificación del procesador se refiere a la manera o técnicas que se usan para decidir cuánto tiempo de ejecución y cuando se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema.
El Bloque de Control de Procesos (PCB).
Un proceso se representa desde el punto de vista del sistema operativo, por un conjunto de datos donde se incluyen el estado en cada momento, recursos utilizados, registros, etc., denominado Bloque de Control de Procesos (PCB).
Existe un Bloque de Control de Sistema (SCB) con objetivos similares al anterior y entre los que se encuentra el enlazado de los bloques de control de procesos existentes en el sistema.
Planificación del Procesador.
La planificación del procesador se refiere a la manera o técnicas que se usan para decidir cuánto tiempo de ejecución y cuando se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema.
PD: el blog daba errores con mi otra cuenta xd
Hoy en día se puede decir que todos los ordenadores ejecutan varias cosas a la vez, es decir mientras esta ejecutando un programa de usuario, puede a su vez estar leyendo un disco e imprimiendo texto, por pantalla o por una impresora, estas series de tareas son conocidas como sistema multiprogramado, es decir, la CPU conmuta de unos programas a otros, ejecutando cada uno de ellos durante decenas de milisegundos; la rapidez con que un proceso realiza sus cálculos no es uniforme, y probablemente ni si quiera reproducible si los mismos procesos se ejecutan otra vez. Por tanto los procesos no deben programarse basándose en supuestos acerca de los tiempos. Por dichas razones se define a los procesos como programas en ejecución, que va incluyendo los valores actúale del contador del programa, los registro y las variables. Un ejemplo a seguir puede ser un proceso de entrada y salida que inicia una cinta continúa para restaurar archivos respaldados, ejecutan un ciclo vacio 10000 para permitir que la cinta alcance la velocidad de trabajo y luego emite un comando para leer el primer registró. Si la CPU decide conmutar a otro proceso durante el ciclo vacio, es posible que los proceso de cinta no se ejecuten otra vez sino hasta después que el primer registro haya pasado por la cabeza de lectura.
ResponderEliminarAsí el concepto de proceso es por su propia naturaleza dinámico, ligado íntimamente a la ejecución de un programa y que normalmente pasa por varios estados antes de finalizar su ejecución. Del mismo modo en cualquier instante, solo un proceso estará en ejecución mientras que los otros estarán preparados para acceder al procesador cuando lo disponga el sistema operativo, o bloqueados, esperando que ocurra algún evento que les permita volver a estar dispuesto para acceder al procesador.
Como se ha puesto de manifiesto, el proceso es un elemento dinámico que puede pasar por varios estados a lo largo de su existencia. De forma general, un proceso puede encontrarse en un instante determinado en uno de los siguientes estados: activo, preparado, bloqueado o suspendido, nonato y muerto.
La tarea activa, es la que esta ejecutándose en un instante dado. En el caso de sistemas con un único procesador, solo puede haber una tarea en dicho estado en cada instante. De la misma forma en el estado preparado, se encuentran todas las tareas que están listas para ejecutarse pero que esperan que el procesador quede libre, es decir, hay otro proceso más prioritario en ejecución.
Del mismo modo encontramos la terminación de procesos, el cual implica la liberación de los recursos que este proceso esta usando; dicho proceso puede terminar por ciertas razones la cuales son las siguientes: en forma normal, excede el tiempo de limite, memoria no disponible, violación de limites, errores de protección, fallas de entrada y salida, error de un dato, entre otros.
ResponderEliminarA demás se puede plasmar que la Planificación de procesos o el planificador de procesos, que se refiere al software del sistema operativo, el cual es el encargado de asignar los recursos de un sistema entre los proceso que los solicitan; el planificador debe decidir cual de los procesos que compiten por la posesión de un determinado recurso lo recibirá. El procesador también se considera como un recurso más del sistema.
En la actualidad existen dos tipos de planificadores que conviven en un SO como lo son, el planificador a largo plazo (PLP) también conocido como planificador de trabajo y el planificador a corto plazo (PCP) o planificador del procesador.
El PLP (planificador de trabajos) determina qué trabajos se admiten en el sistema para su procesamiento y son, por lo tanto, encargados en la memoria disponible; este mismo se encarga de seleccionar de un dispositivo de almacenamiento los trabajos que considera adecuado llevar a la memoria para su ejecución, de acuerdo con una cierta política de gestión ya que este es el principal responsable de que se cumplan los criterios de gestión establecido para la utilización global del sistema.
Por otra parte el PCP (planificador de procesador) selecciona al proceso que pasara al estado activo de entre todos los procesos residentes en memoria que están en el estado preparado. De la misma manera en algunos sistemas al PCP también se les denomina distribuidor (dispatcher), como también existen otros sistemas que introducen un planificador de nivel intermedio denominado planificador a medio plazo (PMP) también conocido como planificador del swapping, el cual se basa en el hecho de que a veces es conveniente llevar a la memoria secundaria un proceso que a sido suspendido en su ejecución por algún evento lo que permite liberar la memoria principal para otros procesos que están en disposición de ejecutarse. Está técnica se conoce con el nombre de swapping ya que sólo existe en sistemas de tiempo compartido y en aquellos que tienen gestión de memoria virtual.
ResponderEliminarExisten criterios para la planificación, entre ellos encontramos los siguientes:
La Eficacia, el rendimiento, el tiempo de retorno o regreso, el tiempo de espera y el tiempo de respuesta a un evento. Así cada uno de estos criterios cumple una función primordial en la ejecución de dicha planificación.
Algoritmos de planificación
Existen una gran cantidad de algoritmos de planificación cuya adecuación a un sistema completo depende del tipo de planificador que se desee y los objetivos que se persigan, entre ellos podemos encontrar los siguientes:
Planificación por expropiación: el proceso que e esta ejecutando puede se interrumpido y pasado al estado de preparado por parte del SO, la decisión de adueñarse de la CPU puede llevarse a cabo cuando llega un nuevo proceso o una interrupción inesperada.
Planificación por prioridades: cada proceso tiene asignada una y el de mayor prioridad en el estado preparado es el que toma el procesador y esta puede ser estática o dinámica.
Planificación FCFS (primero en llegar primero en ser servidor): es aquel en el que los procesos en el estado preparado acceden al procesador en el orden en que llegan a dicho estado.
También podemos encontrar planificación SJF (primera tarea mas corta), planificación STR (tiempo queda mas corto), planificación RR (prioridad circular), planificación basada en el reloj de tiempo real, planificación MQL (colas multinivel), planificación MLFQ (colas multiniveles con realimentación)
citas bibliograficas:
ResponderEliminarJ. Boria. Construcción de Sistemas Operativos.
A. S. Tanenbaum. Sistemas Operativos Modernos. Prentice Hall Hispanoamericana, S.A., México, 1993.
sistema operativo: teoria y problemas, editorial sanz y torres. s.l
sistema operativo segunda edicion, William Stallings
En relación con lo del proyecto socio tecnológico, por razones ajenas a la situación no hemos definido que problemática atacar, pero con una idea probable que podamos utilizar. En forma general pienso que cada sistema contiene una serie de proceso como los antes mencionado ya que estos procesos permiten la funcionabilidad de cada sistema y cada uno de ellos ejecutan procesos de entrada y salida, pero en la brevedad posible completare lo que falta, con relación con nuestro proyecto. Gracias…
ResponderEliminarPlanificación a medio plazo: también llamada planificador de swapping es la que Decide que si un proceso está en ejecución en estado bloqueado o suspendido debe ser extraído de la memoria temporalmente y cuando el sistema se encuentre más descargado, devolverá dicho proceso a la memoria y al estado de ejecución. Este nivel, por tanto, gestiona los procesos suspendidos en espera de algún recurso no disponible en el momento de la suspensión.
ResponderEliminarPlanificación a corto plazo (planificador del procesador). Es el que se encarga de decidir cómo y cuándo tendrá acceso al procesador un proceso que está preparado para utilizarlo. A si mismo lleva a cabo las funciones de la multiprogramación estando siempre residente en memoria y ejecutándose con mucha frecuencia por ello debe ser de ejecución muy rápida. En este nivel es donde se debe dar un buen servicio a los procesos interactivos para que el usuario no perciba o lo haga en pequeño grado, que está compitiendo por el procesador junto con otros usuarios.
Operaciones con Procesos
Los procesos en el sistema pueden ejecutarse concurrentemente y deben ser creados y borrados dinámicamente así el sistema de operación debe crear un mecanismo para la creación y terminación de procesos.
Creación de procesos
Cuando un nuevo proceso se agrega a los que actualmente están siendo administrados, el sistema de operación construye las estructuras de datos que son usadas para administrar los procesos (PCB) y le asigna espacio de direcciones.
Estas acciones constituyen la creación de un nuevo proceso.
Hay 4 eventos comunes que conducen a la creación de procesos:
En un ambiente batch, un proceso es creado en respuesta al sometimiento a ejecución de un trabajo (job). El sistema de operación tomará el próximo trabajo a ser ejecutado y creará el respectivo proceso.
En un ambiente interactivo, un proceso es creado cuando un nuevo usuario entra al sistema (log on), se crea un proceso shell que espera las órdenes del usuario. La creación de este proceso es responsabilidad del sistema de operación.
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.
Por ejemplo, si un usuario requiere que se imprima un archivo, el SO puede crear un proceso que maneje esta impresión, mientras que el proceso que realizó la petición puede continuar independientemente del tiempo requerido para completar la tarea de impresión.
Creación de procesos hijos por parte de procesos usuarios ya existentes: para propósitos de modularidad o para explotar paralelismo, un programa usuario puede crear un conjunto de procesos hijos. El proceso que crea se llama proceso padre.
Cuando un proceso crea un hijo hay dos posibilidades en términos de ejecución:
El proceso padre continuo ejecutándose concurrentemente con sus hijos
El proceso padre espera a que alguno o todos los hijos terminen.
También hay dos posibilidades en términos de espacio de direcciones del nuevo proceso:
El proceso hijo es un duplicado del proceso padre (Unix).
El proceso hijo tiene su propio programa cargado (DEC VMS).
Así mismo, referente a los recursos, en algunos sistemas los recursos del padre son compartidos con sus hijos y en otros sistemas, como UNIX, el sistema le otorga recursos nuevos e independientes a los procesos hijos. La creación de procesos hijos en UNIX, se realiza a través de la llamada al sistema fork().
En el proceso de creación de procesos se genera una jerarquía de procesos padres e hijos.
Super artykuł. Pozdrawiam serdecznie.
ResponderEliminar