Está en la página 1de 33

FACULTAD DE INGENIERA DE SISTEMAS

Tema:

PLANIFICACION Y COORDINACION DE PROCESOS Y PROCESADORES

LOGO INTEGRANTES

CRUZ TORRES, David

GARCIA MIRANDA, Erick


HERRERA QUISPE, Giancarlo

MONTOYA ARIAS, Jerson

QUISPE CONDE, Frans


TASAYCO CESPEDES, Nick

LOGO

CONTENIDO:
PLANIFICACION DE PROCESOS PLANIFICACION EN MULTIPROCESOS

PROGRAMACION SHELL EN MICROSOFT

PROGRAMACION SHELL EN MAC OS

PROGRAMACION SHELL EN LINUX

LOGO

QUE ES UN PROCESO? Se puede definir como un programa en ejecucin o como la unidad de procesamiento gestionada por el sistema operativo. Los procesos llevan a cabo tareas en el sistema operativo.

LOGO

QUE ES PLANIFICACION DE PROCESOS?

Un conjunto de polticas y mecanismos incorporados al SO que gobiernan el orden en que se ejecutan los trabajos que deben ser completados por el sistema informtico.

LOGO

EVALUACIN DE RENDIMIENTO DE PLANIFICACIN Los parmetros de rendimiento que utilizaremos como criterios para analizar la calidad de una poltica de planificacin se basa en los siguientes criterios:
EFICIENCIA PRODUCTIVIDAD TIEMPO DE FINALIZACIN TIEMPO DE ESPERA TASA DE CPU LATENCIA (TIEMPO DE RESPUESTA) EQUIDAD (PREDECIBILIDAD)
www.themegallery.com

LOGO

El trabajo de planificacin reside en gran parte en una funcin scheduler del ncleo del sistema operativo, pero otras partes del sistema pueden colaborar en esta tarea, normalmente modificando los parmetros que utiliza el scheduler para decidir qu proceso planificar. En general la planificacin puede repartirse en tres niveles: En la llamada al sistema de ejecutar programa: Cuando se crea un proceso se puede decidir alguno de los criterios para su planificacin En la funcin scheduler: A esta planificacin se la denomina de corto plazo.

LOGO

ALGORITMOS DE PLANIFICACIN
FCFS (FIRST - COME, FIRST SERVED)

SJF (SHORTEST JOB FIRST)


Se selecciona para entrar a ejecutarse el proceso de menor duracin. Es necesario estimar la duracin de un proceso. Esta estimacin depender del plazo de la planificacin: Largo plazo. El usuario proporciona la estimacin. Corto plazo. El scheduler puede predecir la duracin del prximo intervalo de CPU en funcin de las duraciones de los intervalos de CPU anteriores.
www.themegallery.com

Se elige el proceso a entrar en la CPU segn el tiempo que lleva esperando; es decir, en el orden de entrada al estado de preparados. La implementacin de esta poltica es sencilla: la cola de procesos preparados se gestiona con disciplina FIFO.

LOGO

PLANIFICACION MULTINIVEL
En los sistemas operativos de propsito general coexisten procesos con diferentes necesidades. Los usuarios lanzarn habitualmente procesos interactivos, para los que una planificacin de tiempo compartido es adecuada, pero quizs haya que ejecutar tambin procesos de tiempo real, que no pueden estar sujetos a una expulsin por tiempo. Este esquema requiere dos niveles de planificacin: 1. Planificacin dentro de cada cola. Cada cola puede utilizar su propia poltica de planificacin, de acuerdo a la clase de procesos que acoge. 2. Planificacin entre colas. En general se har por prioridades, bien de forma absoluta o distribuyendo la planificacin de forma que una cola de mayor prioridad reciba mayor nmero de planificaciones que una de menor prioridad.
www.themegallery.com

LOGO

POLTICAS DE PLANIFICACIN
Para describir una poltica de planificacin hay que considerar los siguientes aspectos:
Cmo se selecciona el proceso que entrar a ejecucin. De entre los procesos que estn en estado preparado, se elige uno de acuerdo a criterios como, por ejemplo, prioridades, tiempo que lleva en la cola de preparados, tasa de CPU que le ha correspondido. Cundo se lleva a cabo la planificacin. Este aspecto afecta fundamentalmente a la planificacin a corto plazo. Hay dos alternativas bsicas: si nicamente se planifica cuando un proceso abandona la CPU porque acaba o se bloquea (polticas no expulsoras), o si se puede forzar al proceso que est usando la CPU a abandonarla para planificar otro proceso (polticas expulsoras).

LOGO

PLANIFICACION EN MULTIPROCESADORES
Un multiprocesador es una maquina con un conjunto de procesadores que comparten un mismo espacio de direcciones de memoria fsica. Por esta razn, tambin se les llama multiprocesadores de memoria compartida(Shared-memory MultiProcessor).En un multiprocesador moderno existen niveles de memoria cache (normalmente dos, interna y externa) privados para cada procesador, lo que, como veremos, tiene relevancia para la eleccin de una poltica de planificacin

LOGO

La planificacin de procesos en un sistema multiprocesador presenta dos componentes:

Planificacin temporal: Define la poltica de planificacin en cada procesador individual, exactamente como si de un monoprocesador se tratase. En esta planificacin se decide que procesos se ejecutan. Planificacin espacial: Define como se asignan los procesadores a los diferentes procesos. En esta planificacin se decide en que procesadores se ejecutan los procesos.

LOGO

Polticas de Planificacin en Multiprocesadores


Estas polticas pueden clasificarse en dos grandes grupos no disjuntos, en funcin de si el conjunto de procesadores se multiplexa entre las aplicaciones en el tiempo (polticas de tiempo compartido) o en el espacio (polticas de espacio compartido).

LOGO

Polticas de Tiempo Compartido


Una primera opcin es mantener los criterios de la planificacin de los monoprocesadores y no gestionar espacialmente el uso de los procesadores. En el caso ms simple se puede utilizar una cola global nica de procesos preparados, que van asignndose a los procesadores libres. Esta poltica optimiza el reparto de la carga en detrimento de la afinidad al procesador, siendo la alternativa utilizar una cola local para cada procesador, de forma que la asignacin al procesador se hace inicialmente y luego el proceso siempre se planifica en el mismo procesador, potenciando la afinidad.

LOGO

Polticas de Espacio Compartido


Se utilizan en entornos de clculo intensivo, generalmente con aplicaciones multithread. Pueden clasificarse en dos tipos, que no se excluyen entre s: polticas de planificacin en grupos y polticas de particionado. Planificacin en grupos : Si el sistema operativo reconoce el thread como entidad planificable, tiene sentido dedicar recursos suficientes a los threads de una misma aplicacin, planificando simultneamente el conjunto de threads en un grupo de procesadores Particionado: El conjunto de procesadores se reparte entre la aplicaciones de forma que a cada una se le asigna un subconjunto de particin. La asignacin puede ser fija o variable, y en este ltimo caso puede hacerse estticamente o dinmicamente.

LOGO

Planificacin de Tiempo Real


Procesos de tiempo real (en este contexto es ms habitual el trmino tareas de tiempo real) son aquellos cuya correccin no slo depende del resultado, sino tambin de si lo producen antes de un plazo determinado de tiempo. En otras palabras, el tiempo de finalizacin est acotado. Esta restriccin implica que, en general, la ejecucin de una tarea de tiempo real no puede verse afectada por circunstancias como la carga del sistema.

LOGO

Criterios para la Planificacin de Tiempo Real


El criterio fundamental de un algoritmo de planificacin de tiempo real para un conjunto de tareas de tiempo real {T1, T2, , TN} es proporcionar planificacin viable, es decir, debe ser posible planificar la ejecucin de las tareas de forma que se cumplan los plazos de todas ellas. El criterio de planificacin viable es absoluto para los sistemas de tiempo real crtico. En sistemas acrticos, si los plazos no se pueden cumplir, los criterios a aplicar se dependen del tipo de sistema

www.themegallery.com

LOGO

Planificacin Dinmica
Con tareas peridicas no es posible establecer un plan de ejecucin apriori. En el momento en que se libera una tarea, se establece la planificacin con el objetivo de hacerla viable. En algunos sistemas, ni siquiera en ese momento es posible un plan de viabilidad. Slo una vez cumplido el plazo se sabe que no es viable, y entonces se aborta la ejecucin de la tarea. Este ltimo tipo de planificacin, habitual en sistemas de propsito general, se denomina planificacin dinmica del mejor resultado (best-effort).
www.themegallery.com

LOGO

El smbolo del sistema (en ingls Command prompt) es el intrprete de comandos en sistemas basados Windows NT (incluyendo Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 y Windows 8). Es el equivalente de command.com en MS-DOS y sistemas de la familia Windows 9x.

SHELL EN WINDOWS

LOGO

A diferencia de su antecesor (command.com), este programa es tan slo una aplicacin, no es una parte del sistema operativo y no posee la funcin de cargar la configuracin al arrancar el sistema.

SHELL EN WINDOWS

LOGO

Archivo Batch
En DOS, OS/2 y Microsoft Windows un archivo batch es un archivo de procesamiento por lotes. Se trata de archivos de texto sin formato, guardados con la extensin BAT que contienen un conjunto de comandos MS-DOS. Cuando se ejecuta este archivo, mediante CMD los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando MS-DOS puede ser utilizado en un archivo batch.
SHELL EN WINDOWS

LOGO

Scripts
El subsistema MS-DOS, adems de ejecutar archivos con formato .exe (ejecutable) de 16 bits, este tambin interpreta una serie de scripts con formato .bat (BATCH) y .sys, por ej. autoexec.bat y config.sys (archivos de configuracin); estos scripts estn compuestos por comandos (tanto internos como externos), y pueden editarse con un editor de texto plano (por ej. el Bloc de notas).
SHELL EN WINDOWS

LOGO

FINDER
Finder es el administrador o gestor de archivos que viene instalado por defecto en las computadoras de Apple que tienen cualquier versin de Mac OS, incluyendo OS X. Es una aplicacin que nos ayuda a navegar entre los documentos, imgenes, videos, aplicaciones y otros archivos que estn dentro de nuestra Mac o en cualquier dispositivo externo de almacenamiento que tengamos insertado en nuestra computadora.

SHELL EN MAC OS

LOGO

SHELL EN MAC OS

El Finder hace lo que el explorador de Windows hara en una PC. El software est presente en las computadoras de Apple desde que fue lanzada la primera Mac, en 1984, y se ha convertido en una de las aplicaciones ms importantes para el sistema operativo de Apple.

LOGO

Bach
Bash (Bourne again shell) es un programa informtico cuya funcin consiste en interpretar rdenes.

SHELL EN MAC OS

LOGO

El intrprete de comandos es independiente del lenguaje de programacin utilizado, Linux permite crear programas utilizando caractersticas propias de cada uno de los shell existentes.

SHELL EN LINUX

LOGO

PRINCIPIOS DE LOS SHELL El shell es un programa que nos permite interactuar con el sistema operativo. La lnea de comandos es la entrada del usuario para el shell. El shell examina la lnea de comandos, verifica que lo que se ha escrito es correcto, determina si se ha digitado el nombre de un programa (un programa binario o compilado), y de ser as envia dicho programa al ncleo (kernel) para su ejecucin.

SHELL EN LINUX

LOGO

Redireccin de E/S Cuando se ejecuta un programa en Linux se abre automticamente tres archivos (flujos) de E/S para ellos. Estos son: la entrada estndar, la salida estndar y el error estndar. Aunque parezca confuso todos los sistemas UNIX utilizan este sistema, basado en el manejo de archivos.

SHELL EN LINUX

LOGO

VARIABLES DE ENTORNO Normalmente los programas utilizan variables para poder llevar a cabo determinadas acciones. Por ejemplo los editores como vi o emacs necesitan saber en qu tipo de shell se etn ejecutando

SHELL EN LINUX

LOGO

VARIABLES UTILIZADAS

SHELL EN LINUX

DISPLAY: Esta variable la leen los programas X para saber dnde desplegar su salida. PATH: Contiene una lista de nombres de directorios separados por el signo dos puntos ":"

LOGO

VARIABLES UTILIZADAS

TERM: El tipo de terminal o emulacin del terminal. Los programas como los editores deben saber sobre qu tipo de terminal se estn ejecutando para poder manipular correctamente la pantalla y el cursor. HOME: El directorio personal del usuario actual.

SHELL EN LINUX

LOGO

SCRIPTS EN LINUX Los programas de shell no necesitan ser compilados como ocurre en otros lenguajes. En este caso, el propio shell los ejecuta lnea a lnea. A estos programas se les conoce con el nombre de shell scripts y son los equivalentes a los archivos por lotes de otros sistemas operativos.

SHELL EN LINUX

LOGO

GRACIAS

También podría gustarte