Sei sulla pagina 1di 11

INSTITUTO TECNOLOGICO SUPERIOR DE LA SIERRA NEGRA DE AJALPAN.

CARRERA: ING SISTEMAS COMPUTACIONALES UNIDAD: 2 SEMESTRE: 3 ALUMNA FERNANDA SANCHEZ SANCHEZ. DOCENTE: MARCO ANTONIO ISIDRO ABRIL.

ADMINISTRACION DEL PROCESADOR


Un proceso es un concepto manejado por un sistema operativo que consiste en el conjunto constituido: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Sistemas operativos multihilos: Cada hilo consta de instrucciones y estado de ejecucin. Los procesos son creados y destruidos por el sistema operativo, as como tambin este se debe hacer cargo de comunicacin entre procesos, pero lo hace a peticin de otros procesos. ( birfucacion) procesos pueden ser independientes y no compartir el espacio de memoria. multihilo puede crear hilos para s mismo y en que dichos hilos comparten toda la memoria reservada para el proceso. Se puede compartir un procesador entre varios procesos, usando algn algoritmo de planificacin para determinar cuando debe de trabajar en un proceso para atender a uno distinto. Los procesos necesitan poder crear otros procesos. En MINIX, los procesos se crean con la llamada al sistema FORK (bifurcar), que crea una copia idntica del proceso invocador. El proceso hijo tambin puede ejecutar FORK, as que es posible tener un rbol de proceso.
ESTADOS Y TRANSICIONES DE LOS PROCESOS.

El principal trabajo del procesador es ejecutar las instrucciones de mquina que se encuentran en la memoria principal. Instrucciones se encuentran en forma de programas. En la multiprogramacin, el procesador intercalar la ejecucin de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignacin de recursos a cada proceso. Aunque cada proceso se una entidad independiente, con su propio contador de programa y estado interno, los procesos a menudo necesitan interactuar con otros procesos. Un proceso podra generar ciertas salidas que otro proceso utilizan como entradas, en el comando de Shell. Cuando un proceso se bloquea, lo que hace porque le es imposible continuar lgicamente, casi siempre porque esta separando entradas que todava no estn disponibles, la suspensin es inherente al problema (no es posible procesar la lnea de comandos de los usuarios antes de que este la teclee). En el segundo caso, se trata de un tecnicismo del sistema (no hay suficiente: CPU para darle a cada proceso su propio procesador privado). 1.-ejecutandolos (usando realmente la CPU en instante) 2.- listo (se puede ejecutar, pero se suspendi temporalmente para dejar que otro proceso se ejecute). 3.-bloqueo (no puede ejecutarse en tanto no ocurra algn evento externo).

Procesos ligeros (hilos o hebras).


Si se tiene esta divisin de caractersticas, la unidad de asignacin de la CPU se conoce como hilo, mientras que a la unidad que posee recursos se le llama proceso. Dentro de un proceso puede haber uno o ms hilos de control cada uno con: Un estado de ejecucin (en ejecucin, listo, bloqueado). Un contexto de procesador, que se salva cuando no est ejecutndose.

Una pila de ejecucin. Algn almacenamiento esttico para variables locales. Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos. Los beneficios rendimiento se tarda menos tiempo en crear un nuevo hilo de un proceso que existe. Si el servidor es un multiprocesador, se pueden ejecutar varios hilos de unos mismos procesos simultneos y en diferentes procesadores. Un proceso ligero (thread o hebra) es un programa en ejecucin que comparte la imagen de la memoria y otras informaciones con otros procesos ligeros.

Es una unidad bsica de utilizacin de la CPU consistente en un juego de registros y un espacio de pila. Comparte el cdigo, los datos y los recursos con sus hebras pares. Est formada ahora por una o ms hebras Una hebra una tarea

. La comparticin de la memoria permite a las hebras pares comunicarse sin usar ningn mecanismo de comunicacin inter-proceso del SO. La conmutacin de contexto es ms rpida gracias al extenso compartir de recursos, no hay proteccin entre las hebras. Estados de los Procesos ligeros. El paralelismo son los procesos ligeros que permiten paralelizar una aplicacin.

Concurrencia y se confiabilidad. Comprende cuestiones de diseo, incluyendo la comunicacin entre procesos, comparacin y competencia por los recursos, sincronizacin de la ejecucin de varios procesos y asignacin del tiempo de procesador. Cuando dos o ms procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos esto seda solo cuando hay alguna relacin entre ellos La concurrencia puede presentarse en tres contextos diferentes: Varias aplicaciones: La multiprogramacin compartido dinmicamente entre varios trabajos o aplicaciones activas. Aplicaciones estructuradas: ampliacin del diseo modular y la programacin estructurada. Estructura del sistema operativo: estn implementados como un conjunto de procesos. Concurrentes: Multiprogramacin con un nico procesador. Multiprocesador. Es una maquina formada por un conjunto de procesadores que comparten memoria principal. Existen diversas razones que motivan la ejecucin concurrente en un sistema: Facilita la programacin de aplicaciones al permitir que stas se estructuren como un conjunto de procesos que cooperan entre s para alcanzar un objetivo comn. Acelera los clculos. Dividirla en procesos, cada uno de los cuales se ejecuta en paralelo con los dems. As como existen las razones que motivan la ejecucin de procesos concurrentes, tambin existen sus contras: Inanicin e interrupcin de procesos Ocurrencia de bloqueos Que dos o ms procesos requieran el mismo recursos. Exclusin mutua de secciones crticas. Los algoritmos de exclusin mutua (comnmente abreviada como mutex por mutual exclusin) se usan en programacin concurrente para evitar que fragmentos de cdigo conocidos como secciones crticas accedan al mismo tiempo a recursos que no deben ser compartidos.

Procesamiento de Interrupciones.
Cuando ocurre una interrupcin, el Sistema Operativo:

Obtiene el control. Salva el estado del proceso interrumpido, generalmente en su bloque de control de procesos. Analiza la interrupcin.

Transfiere el control a la rutina apropiada para la manipulacin de la interrupcin.


SVC (llamada al supervisor): es una peticin generada por el usuario para un servicio particular del sistema, Entrada / Salida: son iniciadas por el hardware de Entrada / Salida, indicando a la CPU que ha cambiado el estado de un canal o dispositivo. Externas: son causadas por distintos eventos, (seal de otro procesador en un sistema multiprocesador). De reinicio: ocurren al presionar la tecla de reinicio o cuando llega una instruccin de reinicio de otro procesador en un sistema multiprocesador. De verificacin de programa: son causadas por errores producidos durante la ejecucin de procesos, por ejemplo: o Un intento de dividir por cero. o Un intento de un proceso de usuario de ejecutar una instruccin privilegiada. o Un intento de ejecutar un cdigo de operacin invlido. De verificacin de mquina: son ocasionadas por un mal funcionamiento del hardware. Tipo de Interrupcin Descripcin SVC Entrada / Salida Externa De Reinicio Llamada al Sistema Operativo Cambio de estado de un canal o dispositivo Evento externo al sistema Reinicio del procesamiento

De Verificacin de Errores de procesos Programa De Verificacin de Errores de hardware Mquina Tabla 2.1: Tipos de interrupciones.

El Sistema Operativo incluye rutinas llamadas Manipuladores de Interrupciones (IH) para procesar cada tipo diferente de interrupcin.

Cuando se produce una interrupcin el Sistema Operativo efecta las siguientes acciones:

Salva el estado del proceso interrumpido. Dirige el control al manipulador de interrupciones adecuado. Se aplica la tcnica de Cambio de Contexto. Palabras de Estado de Programa (PSW)

Solo una PSW actual. Seis PSW nuevas (una para cada tipo de interrupcin). Seis PSW viejas (una para cada tipo de interrupcin). - FIFO o FCFS FIFO (first-in first-out) o FCFS (first come first served). Que significa que el primero que est en la cola es el primero que va a usar el recurso procesador. Ms Corto Primero (JSF) Sin Desalojo.

No es desalojado del uso recurso procesador ya que una vez que lo toma lo sigue usando. En el momento en que se produce una interrupcin por fin de E/S, se atender Ese fin de E/S el que momentneamente har que el proceso abandone el uso del Procesador, pero despus de finalizada la atencin de tal interrupcin, el proceso Original retomar el uso de la CPU. La cola se ordena en funcin de las rfagas Que se espera que van a emplear de procesador lo distintos procesos (Nota: Rfaga o Quantum es el tiempo continuo de uso del procesador por parte de un proceso que va desde que ste toma el procesador hasta que lo abandona por algn evento). Bloque de Control de Proceso (BCP). El Bloque de Control de Procesos contiene el contexto de un proceso y todos Los datos necesarios para hacer posible la ejecucin de ese proceso y satisfacer sus necesidades. Cada entrada de la tabla tiene un apuntador al bloque anterior y uno al posterior, una identificacin del proceso, la palabra de control, los registros, si se est trabajando en un sistema de administracin de memoria paginada un apuntador a su tabla de distribucin de pginas, dispositivos que est usando, archivos que est usando, tiempos que hacen a la vida del proceso, el estado, y apuntadores al anterior y posterior en el mismo estado. Implementacin ms dinmica se puede implementar a la TBCP como un encadenamiento de BCPs. En forma ms detallada cada uno de sus campos contiene:

- Apuntador a proceso anterior: direccin del BCP anterior (anterior en tiempo Pues fue creado antes). El primer BCP tendr una identificacin que lo seale Como tal y deber ser conocida su ubicacin por el Planificador de Procesos. - Apuntador a proceso posterior: direccin del BCP posterior (posterior en tiempo, Pues fue creado despus). El ltimo BCP tendr un nil (no se descarta encadenamientos Circulares, pero por ahora se los presenta como lineales). - Identificacin de Proceso: identificacin nica para este proceso que lo hace Inconfundible con otro. - Palabra de control: espacio reservado o apuntador en donde se guarda la PC Cuando el proceso no se encuentra en ejecucin. - Registros: dem anterior, pero para los registros de uso general del proceso. - TDP: apuntador al lugar en donde se encuentra la Tabla de Distribucin de Pginas correspondientes a este proceso. En el supuesto de tratarse de otro tipo De administracin de memoria en esta ubicacin se encontrara la informacin Necesaria para conocer en qu lugar de memoria est ubicado el proceso. - Dispositivos: apuntador a todos los dispositivos a los que tiene acceso el Proceso al momento. Esta informacin puede ser esttica si es necesario que el Proceso declare antes de comenzar su ejecucin los dispositivos a usar, o completamente dinmica si existe la capacidad de obtener y liberar dispositivos a Medida que se ejecuta el proceso. - Archivos: dem Dispositivos pero para los archivos del proceso. - Tiempos: Tiempo de CPU utilizado hasta el momento. Tiempo mximo de CPU permitido a este proceso. Tiempo que le resta de CPU a este proceso. Otros tiempos. - Estado: Ejecutando. Listo. Bloqueado. Wait (En espera). Ocioso. -Apuntador al BCP del proceso anterior en el mismo estado: direccin del BCP Correspondiente al proceso anterior en ese mismo estado. - Apuntador al BCP del proceso posterior en el mismo estado: dem anterior Pero al proceso posterior. - Informacin para el algoritmo de adjudicacin del procesador: aqu se tendr La informacin necesaria de acuerdo al algoritmo en uso. - Apuntador al BCP del proceso anterior en funcin del algoritmo: depender Del algoritmo. - Apuntador al BCP del proceso posterior en funcin del algoritmo: depender Del algoritmo. - Apuntador al BCP del Proceso Padre: direccin del BCP del proceso que Gener el actual proceso. - Apuntador a los BCP Hijos: apuntador a la lista que contiene las direcciones De los BCP hijos (generados por) de este proceso. Si no tiene contendr nil. - Accounting: informacin que servir para contabilizar los gastos que produce Este proceso (nmeros contables, cantidad de procesos de E/S). Programa y Proceso. Es un conjunto de instrucciones, un proceso es un conjunto de instrucciones ms su contexto (BCP) y en ejecucin. Si se ejecuten en forma independiente no afecta el resultado final del programa ya

Que estn manejando datos distintos. Cada instruccin READ, que desencadena una serie de operaciones, es completamente independiente de la otra que desencadena Otro conjunto de instrucciones completamente independientes del otro. En cambio, la operacin C = A + B es dependiente de las otras dos, desde el momento que est usando resultados que le dan las dos anteriores. Fin de un Proceso (total o temporal). Las causales posibles de abandono son: FIN NORMAL: (Proceso completo) ERROR: (Fin anormal) NECESITA RECURSOS: (E/S, etc.) (Pasa a Bloqueado) DESALOJO: (Por algn proceso de mayor prioridad) (Pasa a Listos) Las dos primeras causales de finalizacin se refieren al fin Total del proceso, en Tanto que las dos ltimas indican solamente un fin Temporal del mismo. Rutinas de Administracin del Procesador. Conjunto de rutinas que realizan esta funcin de ingresar un proceso al sistema desde el exterior y se lo llama muy a menudo administrador de alto nivel. Es adems capaz de comunicarse con el resto de los administradores para ir pidiendo los recursos que el trabajo necesitar para iniciar su ejecucin. Sus funciones principales son: - Seleccionar trabajos a ingresar al Sistema. - Asignar recursos (solicitndolos a los administradores correspondientes) - Liberar recursos (dem anterior) Si posee datos suficientes, el Planificador de Trabajos, puede planificar la carga De un sistema. Esta ltima capacidad carece de sentido si se est trabajando en un sistema Que pierde su caracterstica de "batch". La administracin de la cola de listos que es en donde se centrar nuestro estudio, Es tambin llamada muchas veces planificador de bajo nivel, y se lo suele denominar Planificador del Procesador o Planificador de Procesos. El Planificador de procesos es el que tiene que inspeccionar la cola de listos y Seleccionar, de acuerdo a algn criterio, cual de los procesos que se encuentran all har uso del procesador. Administracin por Prioridades. Consiste en dar prioridades a los procesos. De alguna manera, el algoritmo del ms corto primero con desalojo constituye uno de estos. En estos casos es necesario implementar un mecanismo que evite un bloqueo indefinido para aquellos procesos que tienen las ms bajas prioridades. Una solucin puede ser que a medida que transcurre el tiempo la prioridad de Los procesos relegados se incrementan paulatinamente.

Round-Robn. Esta administracin consiste en dar a cada proceso la misma cantidad o cuota de uso del procesador. La asignacin se comporta como una manecilla que recorre el segmento circular (que representa la rfaga asignada) y que al pasar al prximo proceso genera una interrupcin por reloj. Multicolas. Es asignar distintas colas y distintos quantums dependiendo del tipo de bloqueo al que llega el proceso (lectora/impresora antes que cinta) o por las caractersticas del proceso. Adems se podra considerar que cada uno de las colas es administrada por Medio de una poltica diferente. Las variantes del Round-Robn y Multicolas pueden ser: - Todos los procesos tienen el mismo Quantum - Si un proceso us poco procesador se lo puede colocar por la mitad de la cola - Si un proceso acaba de ingresar se le otorga ms tiempo - Calesita circular del Mtodo Round-Robn. - Administracin del procesador Round-Robn. - Si un proceso ejecut muchas veces hasta el lmite ms alto de quantum slo se le permitir ejecutar cuando no haya otro proceso - Dar preferencia a los procesos que realizan mucha E/S - Dar preferencia a los procesos interactivos - Dar preferencia a los procesos ms cortos - Pasar procesos de una cola a otra segn el comportamiento que demuestren - Se puede seleccionar de las colas de acuerdo a su historia. SEMAFOROS. Esto para evitar el problema de que se cambie la informacin de una manera no Deseada, lo que se debe hacer es establecer un sistema de proteccin para posibilitar que esta concurrencia se d, pero en forma ordenada. O sea que accedan en orden, de a uno por vez. CIERRE (X) Para indicar que se cierra el semforo X. Obviamente, si lo que se quiere hacer Es controlar que no se est intentando acceder a un lugar que no corresponde, en ese. Momento lo que habr que hacer es mirar ese valor de X, y lo notaremos: EXAMINAR(X) Establecemos la siguiente convencin: si X es igual a 0, es de libre acceso; y si X es distinto de 0, significa que est ocupado.

Figura 2 Tareas con una y varias hebras

Potrebbero piacerti anche