Vous êtes sur la page 1sur 5

Administracion de Procesos y El Procesador 2.

1 Concepto de Procesos El proceso se puede definir como una tarea o programa que esta corriendo. El sistema operativo mantiene por cada proceso una serie de estructuras de informacion que permiten identificar las caracteristicas de este, asi como los recursos que tiene asignados llamados treads. En esta ultima categoria entran los descriptores de los segmentos de memoria, archivoslos, I/O ports, PCIs etc. 2.2 Estado y Transiciones del Proceso
El estado del procesador esta formado por la suma de todas sus partes: Registros generales. (Especificos o flotantes). Contador de programa. Puntero de pila. Registro o registros de estado. Registros especiales.

Los estados del proceso puede ser running, idle, not responding (windows). Se le dice running cuando el proceso esta en accin o esta siendo ejecutado. El proceso se vuelve idle cuando minimizamos las ventanas de programas o el sistema esta en modo Sleep. Un proceso en estado not responding es cuando el procesador se tarda en ejecutar los procesos y esto ocurre cuando la memoria fsica no es suficiente y se conoce como Data Overflow. But there is a delay. That delay is due to how the data from each program is fed to the processor. Each stream of data or thread- in to the processor must be scheduled and executed by the core individually. Hyper-threading, however, makes it possible for each processor core to schedule and assign resources to two threads at once.

2.3 Procesos Ligeros (Hilos/Treads)

Un proceso ligero, o thread, es un programa en ejecucion que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Un proceso puede contener un solo flujo de ejecucion, como ocurre en los procesos clasicos, o mas de un flujo de ejecucion (procesos ligeros).Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Contador de programa. Pila. Registros. Estado del proceso ligero (ejecutando, listo o bloqueado).

Todos los procesos ligeros de un mismo proceso comparten la informacion del mismo. En concreto, comparten: Espacio de memoria. Variables globales. Archivos abiertos.

Procesos hijos. Temporizadores. Senales y semaforos. Contabilidad.

Esto quiere decir que por cada procesador tienes un tread atravez de el. Cada cadena de datos /thread

en el procesador tiene que ser programado y ejecutado por el core/nucleo individualmente. Hyperthreading es una tecnologia presente en procesadores Intel de 3ra generacion en la cual es possible programar y ejecutar 2 treads al mismo tiempo, claro programas ligeron como un browser, procesador de textos no es necesario puesto que no trasnfieren tantos datos al procesador, sin embargo al usar programas pesados como editores de audio/ video, visualizacin en 3D o decomprimiendo datos la diferencia es muy notable.

2.4 Concurrencia y Secuenciabilidad

Los procesos son concurrentes si existen simultaneamente. Los procesos concurrentes pueden funcionar en forma totalmente independiente unos de otros, o pueden que estn en ocasiones requieren cierta sincronizacion o cooperacion. Cuando dos o mas procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. Para que esto ocurra es necesario que tengan alguna relacion entre ellos como puede ser la cooperacion para un determinado trabajo. En un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las actividades necesiten actuar entre si ya sea para utilizar informacion en comun o para cualquier otra cosa. Multiprogramacion con un unico procesador/core. En este modelo todos los procesos concurrentes ejecutan sobre un unico procesador. El sistema operativo se encarga de ir repartiendo el tiempo del procesador entre los distintos procesos, intercambiando la ejecucion de los procesos para asimilar una ejecucin simultanea. Multiprocesador. (Dualcore, Quadcore, Hexacore, Octacore processors) Un multiprocesador es una maquina formada por un conjunto de procesadores que comparten memoria principal. En este tipo de arquitecturas, los procesos concurrentes no solo pueden intercalar su ejecucion sino tambien intercalarla. En este caso si existe una verdadera ejecucion simultanea de procesos, al coincidir en el estado de procesamientos de distintos procesos. En un instante dado se pueden ejecutar de forma simultanea tantos procesos como procesadores haya.

2.4.3 Interbloqueo (DeadLock)

El interbloqueo es cuando un conjunto de procesos se estanca, esto pasa cuando cada procesos del conjunto esta esperando a que otro proceso se ejecute. Puesto que todos los procesos estan en espera, ninguno de ellos podra ocasionar nuca ninguno de los eventos que podrian desbloquear a algunos de los

otros miembros del conjunto y todos los procesos seguiran esperando indefinidamente. Como las material en cadena, las cuales solo las puedes desbloquear al pasar la materia anterior. Basicamente es Causa y Efecto. Definicion de Abrazo Mortal Un conjunto de procesos esta en un abrazo mortal cuando todos los procesos en ese conjunto estan esperando un evento que solo puede ser causado por otro proceso en el conjunto. Los eventos a los cuales nos estamos refiriendo son concernientes con la asignacion y liberacion de recursos principalmente. Sin embargo, otro tipo de eventos pueden llevar a la existencia de abrazos mortales. Un ejemplo seria los 4 carros:

En la figura B los carros estn en deadlock puesto que cada auto tiene que esperar a que el otro avanze.

2.5 Niveles, Objetivos y Criterios de Planificacion

Concepto de Planificacion La planificacion hace referencia a un conjunto de mecanismos incorporados al sistema operativo que deciden el orden en que se ejecutan las tareas que deben ser cumplidas por el sistema. Objetivo de la Planificacion

El objetivo principal de la planificacion es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. En general, la planificacion trata de cubrir los siguientes objetivos: Justicia. La planificacion debe ser lo mas justa posible con todos los procesos, sin favorecer a unos y perjudicar a otros. Maxima capacidad de ejecucion. Debe dar un servicio eficiente para que todos los trabajos se realicen lo mas rapidamente posible. Esto se puede lograr disminuyendo el numero de cambios de proceso. Maximo numero de usuarios interactivos. En los sistemas de tiempo compartido se tratara de que puedan estar trabajando el mayor numero de usuarios al mismo tiempo. Predecibilidad. La planificacion debe realizarse de tal forma que en todo momento pueda saberse como sera su ejecucion. Minimizacion de la sobrecarga. La computadora debe tener poca sobrecarga ya que esta afecta directamente al rendimiento final del sistema: a menor sobrecarga mayor velocidad de proceso. Equilibrio en el uso de recursos. Para obtener un mayor rendimiento en el uso de los recursos y que estos esten ocupados equitativamente el mayor tiempo posible. Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, este debe ejecutarse mas rapidamente. Evitar la postergacion indefinida. Esto se logra aumentando la prioridad de un proceso mientras espere por un recurso. La prioridad llegara a ser tan alta que al proceso le sera asignado el recurso que pidio. Criterios de planificacion Para realizar los objetivos de la planificacion, un mecanismo de planificacion debe considerar lo siguiente: La limitacion de un proceso a las operaciones de I/O La limitacion de un proceso a la cpu Si un proceso es por lote (batch) o interactivo La prioridad de un proceso: a mayor prioridad mejor tratamiento.

2.6 Tecnicas de Adminstracion de Planificacion FIFO (First-In First-Out): En esta tcnica se establece que el primer tread estrante debe de ser el primero en salir. SJF(Shortes Job First): Esta tcnica nos indeica que se va a ejecutar el trabajo/tread mas corto primero. Por ejemplo tienes que lavar los trastes pero tambin tienes que tirar la basura. Este proceso tirara la basura primero puesto que toma menos tiempo que su contraparte. RR (Round Robin(no el de Batman)): Es un sistema apropiativo en dondeCada proceso recibe una fraccion de tiempo de procesamiento para su ejecucin.Cuando el tiepo espira se genera una

interrupcion de reloj en donde la ejecucion se detiene y se coloca al final de la cola de procesos listos para su posterior ejecucin.

Vous aimerez peut-être aussi