DPSO_U2_A1_FRBC

November 9, 2017 | Author: FranciscoAlbertoBarriosCerda | Category: Central Processing Unit, Computer Cluster, Process (Computing), Computer Program, Computer Memory
Share Embed Donate


Short Description

Descripción: Programacion de sistemas operativos...

Description

Universidad Abierta y a Distancia de México. Desarrollo de Software. Programación de sistemas Operativos. Francisco Alberto Barrios Cerda Matricula: ES1410900442 Grupo: DS-DPSO-1502S-B2-001 Docente: Ing. Josué Guillermo Araujo Mayorga. Unidad 1: Administrador de procesador, memoria y dispositivos de E/S.

Actividad 1: Administrador del procesador. Elementos básicos del Procesador Los elementos básicos de un procesador o Unidad central de Proceso (CPU) para realizar intercambio con los datos de la memoria son: Registro de dirección de memoria (RDIM): el cual se encarga de darle la dirección de memoria de la siguiente lectura o escritura. Registro de datos de memoria (RDAM): contiene los datos que se van a escribir en la memoria o que recibe los datos leídos de la memoria. Registro de direcciones de E/S (RDIE/S): que especifica dispositivo de E/S.

un determinado

Registro de datos de E/S (RDAE/S): el cual permite el intercambio de datos entre el procesador y un módulo de E/S. Controlador de Programa (Program Counter, PC): éste controlador contiene la dirección de la instrucción siguiente que se leerá dentro de la memoria. Registro de Instrucción: (Instrucction Register, IR): Este registro contiene la última instrucción que se ha leído. Unidad Aritmética Lógica (ALU): es la encargada de realizar operaciones aritméticas y lógicas sobre los números

Tipos de Arquitectura de Procesador Existen varios tipos de Procesadores los cuales son: Tipo de Arquitectura de Procesador Un solo procesador

Características Como bien se sabe todos los sistemas utilizan un solo procesador que puede ser desde un PDA hasta un mainframe, en estos existen una CPU que puede ejecutar un conjunto de instrucciones de propósito general que incluye instrucciones de procesos de los usuarios, casi todos los sistemas tienen otros procesadores de propósitos especiales, como pueden ser un disco, teclado, controladores gráficos, procesadores de E/S, procesadores de propósito general; todos ellos crean un conjunto de instrucciones limitadas y no ejecutan procesos de usuario con esto pueden manejar tareas y monitorizar sus estados mediante el sistema operativo que los esté

gestionando liberando de cierta forma a la CPU principal de algún trabajo adicional.

Multiprocesador

1. Conocidos como sistemas paralelos o fuertemente acoplados, disponen de 2 o más procesadores comunicados entre sí, compartiendo el bus de la computadora, reloj, memoria y periféricos. Presentan 3 ventajas fundamentales:  Mayor rendimiento: realiza una cooperación de tareas consiguiendo con esto que la carga de trabajo se emplee en hacer que todas las partes funcionen correctamente reduciendo la ganancia esperada por tener más procesadores.  Economía de escala: resultan más baratos que los sistemas con un solo procesador ya que pueden compartir periféricos, almacenamiento masivo y fuentes de alimentación, también es más barato hacer que funcionen programas sobre un mismo conjunto de datos almacenando esos datos en un disco y haciendo que todos los procesadores compartan ese disco.  Mayor fiabilidad: Si todas las funciones son distribuidas de forma apropiada entre los procesadores, el fallo de un procesador no permite que deje de funcionar el sistema haciendo que se ralentice. Los sistemas multiprocesador utilizan dos tipos de procesamiento:  Multiprocesamiento asimétrico al cual a cada procesador se le asigna una tarea específica, donde un solo procesador maestro controla el sistema y los demás esperan a que el maestro les asigne alguna tarea o cuentan con tareas predefinidas.  Multiprocesamiento Simétrico en el cual cada procesador realiza todas las tareas correspondientes al sistema operativo, no existe una relación maestro-esclavo entre los procesadores.

Sistemas en clúster

Utilizan múltiples CPU para realizar su trabajo, se diferencian de los multiprocesadores debido a que están formados por 2 o más sistemas individuales acoplados, los equipos en clúster comparten el almacenamiento y se conectan entre sí a través de una red de área local (LAN) o por una conexión rápida como la InfinitiBand. Los sistemas de clústeres proporcionan servicios de alta disponibilidad el cual funcionará aunque uno o más sistemas clústeres fallen, la alta disponibilidad se obtiene añadiendo un nivel de redundancia al sistema; un nodo puede monitorizar a uno o más nodos de clúster dentro de una LAN, si éste nodo falla, el nodo que lo monitorea toma las propiedades de almacenamiento y reinicia las aplicaciones que se estuvieran ejecutando en la máquina que falló, haciendo que los usuarios y/o clientes de estas aplicaciones vean solo una breve interrupción del servicio. 

 

Clúster Asimétrico, se encuentra en modo de espera caliente es decir, espera mientras que otra está ejecutando las aplicaciones, monitorizando al servidor activo esperando la falla y así ponerse activo. Clúster simétrico es en el que 2 o más hosts ejecutan aplicaciones y se monitorizan entre sí, siendo más eficiente ya que se utiliza todo el hardware disponible. Clúster en paralelo y conectados a una red de área extensa (WAN): Son lo que permiten que múltiples hosts accedan a los mismos

datos, disponibles en el almacenamiento compartido, empleando versiones especiales de software y de aplicaciones.

CISC (Complex Instruction Set Computer)

RISC (Reduced Instruction Set Computer)

Es caracterizada por ejecutar un conjunto de instrucciones complejas para realizar funciones específicas, completando una tarea en el menor número de líneas de código posible. Contiene microprogramación en la que cada instrucción de la máquina es interpretada por un microprograma que se encuentra dentro de la memoria integrada del procesador usando varios ciclos de reloj. Toman como base el modelo moderno de Von Neumann, las instrucciones se dividen en 3 categorías: Transferencias, Operaciones y control de flujo; maneja una arquitectura del tipo load-store que son las únicas instrucciones que accesan a la memoria; las instrucciones se ejecutan dentro de un ciclo de reloj; se pueden ejecutar varias instrucciones de manera simultánea o de forma de Pipeline

Estados de un proceso de forma extendida Cuando se ejecuta un proceso, el mismo cambia de estado, esto depende de la actividad del proceso actual, puede estar en uno de los siguientes procesos o estados: Nuevo: el proceso está siendo creado. En ejecución: una instancia de un programa ejecutado en una computadora, una entidad que se puede asignar y ejecutar en un procesador, una entidad que consiste en un número de elementos esenciales que son el código de programa y un conjunto de datos. Cuando un proceso está en ejecución, se caracteriza por una serie de elementos, como los siguientes:       

Identificador: se tiene un identificador único que es asociado solo a este proceso y así se distingue de los demás procesos. Estado: depende del momento en que se encuentre el estado del proceso, si está corriendo se encuentra en estado de ejecución. Prioridad: da un cierto nivel a todos los procesos. Contador de Programa: Es la dirección de la siguiente instrucción del programa que ha de ejecutarse. Punteros a memorias: Son los punteros del código de programa y los datos asociados a dicho proceso incluidos los bloques de memoria que son compartidos con los demás procesos. Datos del contexto: Son datos que están presentes en los registros del procesador al momento de que se corre un proceso. Información de estado de E/S: Son las peticiones de E/S pendientes, los dispositivos E/S asignados a ese proceso, puede ser una lista de los ficheros que están en uso, etc.



Información de auditoria: Incluye el tiempo del procesador y de tiempo de reloj utilizados, así como los límites de tiempo, registros contables, etc. Esto es almacenado en la estructura de datos llamada Bloque de control de procesos o BCP, el cual permite al SO dar soporte a múltiples procesos y proporciona la multiprogramación, si un proceso se interrumpe los valores del contador de programa y los registros del procesador se guardan dentro del BCP y el estado de proceso cambia a otro valor como bloqueado o listo; el SO puede poner otro proceso en ejecución, recuperando los datos de contexto, cargando el contador de programa y así el proceso comienza a correr. En espera: el proceso está esperando a que se produzca un suceso (recepción de una señal, terminación de una operación de E/S). Preparado: el proceso está a la espera de que se le asigne a un procesador. Terminado: Ha terminado la ejecución del proceso.

Diagrama de estados: Estados extendidos de un proceso

Diferencia entre proceso e hilo Proceso son abstracciones de un programa en ejecución que tiene asociado un espacio de direcciones que es una lista de ubicaciones de memoria que van desde un mínimo

hasta un máximo valor, en donde el proceso puede leer y escribir información, proporcionando la operación concurrentemente inclusive si solo hay un CPU disponible, pueden convertir un CPU en varios CPU´s virtuales Los hilos son mini procesos o procesos dentro de otros procesos, sirven para desarrollar varias actividades a la vez pensando en que alguna de estas se pueda bloquear de vez en cuando, ejecutándose casi paralelamente la programación se simplifica, son más fáciles de crear y destruir debido a que su creación es 10 a 100 veces más rápida que la de un proceso. Muitihilamiento se utiliza para describir la situación de permitir varios hilos en el mismo proceso.

Algoritmos de planificación de procesos Algoritmo

Características

Primero en llegar primero en ser servido.

Emplea una cola de procesos asignando un lugar a cada uno por orden de llegada, No se interrumpe su ejecución hasta que termina, se conoce como FCFS (First Come First Served).

Prioridad al más corto.

Si el proceso está en ejecución cambia de estado de manera voluntaria y no tiene tiempo determinado de ejecución para el proceso, se asigna un tiempo para estar en ejecución y se ejecuta en el orden del que tenga un menor tiempo asignado, conocido como SJF (Shortest Job First). Se asigna un tiempo determinado para su ejecución a cada proceso siendo el mismo tiempo para todos, si no se puede ejecutar un proceso completamente se ejecuta después de que todos los procesos se hayan ejecutado. Se asigna una prioridad a cada proceso siguiendo un camino determinado, y de acuerdo con esa prioridad es el orden en que se ejecuta cada proceso.

Round Robin.

Planificación por prioridad. Bibliografía:

Silberschatz, A. (2006). Fundamentos de sistemas operativos. España: McGrawHill. Stallings, W. (2007). Sistemas operativos. México: Pearson Prentice Hall. Tanenbaum, A. (2003). Sistemas operativos modernos. México: Pearson Prentice Hall. Planificador de procesos en sistemas operativos [en línea], [consulta 20 octubre 2015].

http://www.ecured.cu/index.php/Planificaci %C3%B3n_de_procesos_en_Sistemas_Operativos Tonatiuh Balderas Morales “Arquitecturas del procesador” [en línea], [consultado 19 octubre 2015]. http://www.monografias.com/trabajos82/arquitectura-procesador/arquitecturaprocesador.shtml Fundamentos de la computación. Unidad 3 Conceptos de programación [en línea], [consulta 20 octubre 2015]. http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/PolilibroFC/ Unidad_VI/Unidad%20VI_31.htm

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF