Escolar Documentos
Profissional Documentos
Cultura Documentos
Introducción........................................................................................................... 2
Desarrollo............................................................................................................... 2
Procesamiento paralelo: ................................................................................... 2
Identifica el fabricante; ...................................................................................... 4
El número máximo de procesadores que usa la computadora; .................... 4
Qué tan rápido puede realizar cálculos la computadora: .............................. 5
Explica claramente cuál es el objetivo principal de la mayor parte de los
sistemas de Multiprocesamiento: .................................................................... 7
Identifica y explica qué pasos ejecuta un sistema de multiprocesamiento
bien diseñado cuando detecta que un procesador falla: ............................... 8
Conclusión ............................................................................................................. 8
Bibliografía............................................................................................................. 9
Introducción
Un proceso es un programa en ejecución, la ejecución de un proceso debe
progresar de forma secuencial. Por ejemplo, cuando escribimos un programa en C
o C ++ y lo compilamos, el compilador crea un código binario. El código original y
el código binario son ambos programas. Cuando realmente ejecutamos el código
binario, se convierte en un proceso.
Un proceso es una entidad "activa", a diferencia de un programa, que se considera
una entidad "pasiva" que representa la unidad básica de trabajo que se
implementará en el sistema. Un solo programa puede crear muchos procesos
cuando se ejecuta varias veces; por ejemplo, cuando abrimos un archivo .exe o
binario varias veces, comienzan varias instancias (se crean múltiples procesos).
Para ponerlo en términos simples, podemos escribir nuestros programas de
computadora en un archivo de texto y cuando ejecutamos este programa, se
convierte en un proceso que realiza todas las tareas mencionadas en el programa.
Cuando un programa se carga en la memoria y se convierte en un proceso, se
puede dividir en tres secciones: pila, texto y datos. La siguiente imagen muestra
un diseño simplificado de un proceso dentro de la memoria principal.
El conjunto de operaciones que un sistema operativo puede realizar en el proceso
incluye:
Crear un proceso
Destruir un proceso
Ejecutar un proceso
Suspender un proceso
Obtener información del proceso
Establecer información del proceso
Desarrollo
Procesamiento paralelo:
En las computadoras, el procesamiento paralelo es el procesamiento de las
instrucciones de los programas al dividirlas entre varios procesadores con el
objetivo de ejecutar un programa en menos tiempo. En las primeras
computadoras, solo un programa a la vez. Un programa intensivo en computación
que demoró una hora en ejecutarse y un programa de copia de cinta que demoró
una hora en ejecutarse tomaría un total de dos horas en ejecutarse. Una forma
temprana de procesamiento paralelo permitió la ejecución intercalada de ambos
programas juntos. La computadora iniciaría una operación de E / S, y mientras
esperaba que la operación se completara, ejecutaría el programa intensivo del
procesador. El tiempo total de ejecución para los dos trabajos sería un poco más
de una hora.
En el sentido más simple, la computación paralela es el uso simultáneo de
múltiples recursos informáticos para resolver un problema computacional:
Un problema se divide en partes discretas que pueden resolverse
simultáneamente
Cada parte se desglosa en una serie de instrucciones.
Las instrucciones de cada parte se ejecutan simultáneamente en diferentes
procesadores.
Se emplea un mecanismo general de control / coordinación.
La siguiente mejora fue la multiprogramación. En un sistema de
multiprogramación, múltiples programas enviados por los usuarios podían usar el
procesador por un corto tiempo. A los usuarios les parecía que todos los
programas se ejecutaban al mismo tiempo. Los problemas de contención de
recursos surgieron primero en estos sistemas. Las solicitudes explícitas de
recursos llevaron al problema del punto muerto. La competencia por los recursos
en máquinas sin instrucciones de ruptura conduce a la rutina de la sección crítica.
El siguiente paso en el procesamiento paralelo fue la introducción del
multiprocesamiento. En estos sistemas, dos o más procesadores compartieron el
trabajo a realizar. Las primeras versiones tenían una configuración:
maestro/esclavo. Un procesador (el maestro) fue programado para ser
responsable de todo el trabajo en el sistema; el otro (el esclavo) realizó solo
aquellas tareas que le asignó el maestro. Esta disposición era necesaria porque
no se entendía cómo programar las máquinas para que pudieran cooperar en la
gestión de los recursos del sistema.
La solución de estos problemas llevó al sistema de multiprocesamiento simétrico
(SMP) en estos sistemas cada procesador es igualmente capaz y responsable de
administrar el flujo de trabajo a través del sistema. Inicialmente, el objetivo era
hacer que los sistemas SMP parecieran a los programadores exactamente lo
mismo que los sistemas de multiprogramación con procesador único, a este
estándar de comportamiento se conoce como consistencia secuencial, sin
embargo, los ingenieros descubrieron que el rendimiento del sistema podría
incrementarse en algún lugar en el rango del 10-20% al ejecutar algunas
instrucciones fuera de orden y requerir que los programadores lidien con la mayor
complejidad. (El problema puede volverse visible solo cuando dos o más
programas leen y escriben simultáneamente los mismos operandos; por lo tanto,
la carga de lidiar con la mayor complejidad recae en muy pocos programadores y
solo en circunstancias muy especializadas).
Identifica el fabricante;
La arquitectura de una computadora explica la situación de sus componentes y
permite determinar las posibilidades de que una computadora, con una
determinada configuración, pueda realizar las operaciones para las que se va a
utilizar en mi caso trabajo con una computadora Dell Optilex 740 con CPU AMD
Athlon con una configuración dual, o una AMD Athlon 64 con cuatro memorias
Ram DDR2 de 1Gb cada una, esta computadora cuanta además con una tarjeta
gráfica ATI Radeon para tener una mejora opcional de la configuración, con 128
MB y 256 MB, usando el chipset Radeon 31003 con salida DVI.
Sin embargo, en Windows 10, realmente no tienes que cambiar el gráfico, ya que
te dice cuántos sockets, núcleos y procesadores lógicos hay en el sistema. En mi
caso, tengo un socket, lo que significa que tengo en la CPU física. Tengo 2
núcleos, lo que significa que es un procesador Dual Core. Así que tengo un total
de 2 procesadores lógicos.
También proporciona información sobre el caché L1 y el caché L2. Estos son
cachés especializados en la CPU que permiten a la CPU almacenar en caché las
instrucciones para un procesamiento más rápido.
Qué tan rápido puede realizar cálculos la computadora:
La unidad a la que te refieres (GHz) se refiere a la frecuencia, la frecuencia es el
recíproco del tiempo, esto significa que da la medida del trabajo realizado por
unidad de tiempo.
Los procesadores 486 corrían a velocidades de 16 MHz. 1 Hz significa que el reloj
del procesador puede hacer 1 ciclo por segundo, 1 MHz es 1,000,000 (un millón)
de ciclos por segundo, 1 GHz son 1,000,000,000 (mil millones) de ciclos por
segundo.
Por ejemplo, suponga que puede lanzar dos manzanas en un segundo, entonces
la frecuencia de su lanzamiento es de 2 Hz o 2 Hertz, de manera similar, suponga
que la CPU tiene una frecuencia de 2.9 GHz, entonces esto significa que produce
2,900,000,000 ciclos por segundo. Esto significa que, si una instrucción tarda un
ciclo en completarse, entonces esta CPU puede ejecutar 2,900,000,000
instrucciones en un solo segundo, pero recuerde que una ejecución completa de la
instrucción lleva más de un ciclo, y se usa para completar una instrucción en
muchos pasos y, por lo tanto, en lugar de intentar completar una sola instrucción.
Esto significa que la velocidad del reloj nunca puede ser un factor confiable para la
selección de CPU ya que un procesador Pentium con alta frecuencia aún perderá
cualquier i7 moderno con frecuencias más bajas. Esto significa que la evolución de
la arquitectura interna es la principal razón para impulsar las actuaciones, sin
embargo, se pueden seleccionar dos procesadores de la misma generación y
modelos similares utilizando solo la frecuencia, por ejemplo, si tiene dos
procesadores i7, ambos son de 6ª generación y, si se asume que la arquitectura
interna es similar, podemos compararlos utilizando sus frecuencias.
Es por esa razón que los GHz se han mantenido estables desde hace varios años
entre 1 y 2 GHz. Los Pentium 4 fueron los primeros CPU que tuvieron serios
problemas de calor en velocidades arriba de los 3 GHz.
Para mejorar la siguiente familia de procesadores, conocidos como Pentium D,
Pentium M y Core 2 Duo (y los AMD Athlon), se cambió su diseño, sacando la
porción de la GPU (Graphics Process Unit o Unidad de proceso de gráficos), se
bajó la velocidad del reloj y se incrementó el número de núcleos.
Conclusión
Durante el comienzo de este ensayo pudimos observar que el paralelismo
presenta nuevos desafíos al escribir código correcto y eficiente para ejecutar un
programa en menos tiempo. A medida que la tendencia a aumentar el paralelismo
en el nivel de hardware continúe en el futuro inmediato, la computación paralela
será cada vez más importante en la programación de aplicaciones. Existe un
cuerpo de investigación muy activo para hacer que el paralelismo sea más fácil y
menos propenso a errores para los programadores.
Ahora sabemos que los sistemas operativos de multiprocesos se han convertido
en un factor clave para el éxito de las nuevas computadoras. Con las capacidades
crecientes del hardware subyacente, la complejidad de administrar estas
capacidades crece de manera similar. En los últimos años, el hardware de
múltiples núcleos ha sido un desafío importante para los sistemas operativos y
comienza a dar forma también al subdominio en tiempo real. Estos desafíos, junto
con una de las mejores soluciones para administrar asignaciones complejas de
recursos.
También podemos entender que dos CPU son una forma sensata de aumentar el
rendimiento de las aplicaciones de adaptación. En el espacio del servidor ya
existen numerosas aplicaciones compatibles con MP (multiprocesamiento). Sin
embargo, el entorno de la estación de trabajo profesional muestra
significativamente menos aplicaciones. En este caso, una seria consideración, si
se obtiene un ahorro de tiempo y potencia de cómputo que justifique el precio más
alto del sistema MP.
Bibliografía
McIver, A; Flynn I. (2011). Sistemas operativos. 6ta edición. Cengage learning.
Tanenbaum, A. (2009). Sistemas operativos modernos. 3era edición. México:
Pearson educación.
Wolf, G. (2015). Fundamentos de sistemas operativos. 1era edición. México:
Biblioteca nacional de México.
Tanenbaum, A. (2003). Sistemas Operativos Modernos. 2Da edición. México:
Pearson Education.
Stallings, W. (2005). Sistemas Operativos. 5ta edición. México: Pearson
Education.