jueves, 29 de noviembre de 2012
PROCESOS DEL SISTEMA
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication5
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new formProcess());
}
}
}
En este programa nos muestra los procesos que se estan generando en el sistema
miércoles, 28 de noviembre de 2012
CARRERA DE CABALLOS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace caballosCarrera
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
En la carrera de caballos nos muestra como es el proceso de hilos; cada caballo nos representa la velocidad de los procesos y su posicion de dentro de la carrera
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace caballosCarrera
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
En la carrera de caballos nos muestra como es el proceso de hilos; cada caballo nos representa la velocidad de los procesos y su posicion de dentro de la carrera
BARRAS 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace EjemploHilos1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
En este programa nos dice como o mejor dicho nos muestra como es que trabaja los procesos del sistema operativo, cuando termina con uno continua con el otro.
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace EjemploHilos1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
En este programa nos dice como o mejor dicho nos muestra como es que trabaja los procesos del sistema operativo, cuando termina con uno continua con el otro.
Hilos
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace EjemploHilos
{
class Program
{
static void Main(string[] args)
{
Proceso oProceso = new Proceso();
Console.WriteLine("Contando PARES en el proceso principal: ");
Console.WriteLine("---------------------------------------");
Console.WriteLine();
oProceso.ContarNumerosPares();
Console.WriteLine("Contando IMPARES en el proceso principal: ");
Console.WriteLine("-----------------------------------------");
Console.WriteLine();
oProceso.ContarNumerosImpares();
Console.WriteLine("Contando PARES desde un hilo: ");
Console.WriteLine("-----------------------------");
Console.WriteLine();
Thread HiloPar = new Thread(oProceso.ContarNumerosPares);
HiloPar.IsBackground = true;
HiloPar.Start();
HiloPar.Join();
Console.WriteLine("Contando IMPARES desde un hilo: ");
Console.WriteLine("-------------------------------");
Console.WriteLine();
Thread HiloImpar = new Thread(oProceso.ContarNumerosImpares);
HiloImpar.IsBackground = true;
HiloImpar.Start();
HiloImpar.Join();
Console.WriteLine("Lanzando los dos hilos al mismo tiempo: ");
Console.WriteLine("---------------------------------------");
Console.WriteLine();
Thread nuevoHiloPar = new Thread(oProceso.ContarNumerosPares);
Thread nuevoHiloImpar = new Thread(oProceso.ContarNumerosImpares);
nuevoHiloPar.Start();
nuevoHiloImpar.Start();
Console.ReadLine();
}
}
class Proceso
{
public void ContarNumerosPares()
{
for (int numero = 0; numero <= 100; numero = numero + 2)
{
Console.Write(numero + " ");
for (int GranContador = 0; GranContador <= 20000000; GranContador++) ;
}
Console.WriteLine();
Console.WriteLine();
}
public void ContarNumerosImpares()
{
for (int numero = 1; numero <= 100; numero = numero + 2)
{
Console.Write(numero + " ");
for (int GranContador = 0; GranContador <= 20000000; GranContador++) ;
}
Console.WriteLine();
Console.WriteLine();
}
}
}
Hilos: Son mecanismos de sincronizacion para controlar el acceso a este recurso compartiendo entre las distintas hebras de un proceso
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace EjemploHilos
{
class Program
{
static void Main(string[] args)
{
Proceso oProceso = new Proceso();
Console.WriteLine("Contando PARES en el proceso principal: ");
Console.WriteLine("---------------------------------------");
Console.WriteLine();
oProceso.ContarNumerosPares();
Console.WriteLine("Contando IMPARES en el proceso principal: ");
Console.WriteLine("-----------------------------------------");
Console.WriteLine();
oProceso.ContarNumerosImpares();
Console.WriteLine("Contando PARES desde un hilo: ");
Console.WriteLine("-----------------------------");
Console.WriteLine();
Thread HiloPar = new Thread(oProceso.ContarNumerosPares);
HiloPar.IsBackground = true;
HiloPar.Start();
HiloPar.Join();
Console.WriteLine("Contando IMPARES desde un hilo: ");
Console.WriteLine("-------------------------------");
Console.WriteLine();
Thread HiloImpar = new Thread(oProceso.ContarNumerosImpares);
HiloImpar.IsBackground = true;
HiloImpar.Start();
HiloImpar.Join();
Console.WriteLine("Lanzando los dos hilos al mismo tiempo: ");
Console.WriteLine("---------------------------------------");
Console.WriteLine();
Thread nuevoHiloPar = new Thread(oProceso.ContarNumerosPares);
Thread nuevoHiloImpar = new Thread(oProceso.ContarNumerosImpares);
nuevoHiloPar.Start();
nuevoHiloImpar.Start();
Console.ReadLine();
}
}
class Proceso
{
public void ContarNumerosPares()
{
for (int numero = 0; numero <= 100; numero = numero + 2)
{
Console.Write(numero + " ");
for (int GranContador = 0; GranContador <= 20000000; GranContador++) ;
}
Console.WriteLine();
Console.WriteLine();
}
public void ContarNumerosImpares()
{
for (int numero = 1; numero <= 100; numero = numero + 2)
{
Console.Write(numero + " ");
for (int GranContador = 0; GranContador <= 20000000; GranContador++) ;
}
Console.WriteLine();
Console.WriteLine();
}
}
}
Hilos: Son mecanismos de sincronizacion para controlar el acceso a este recurso compartiendo entre las distintas hebras de un proceso
martes, 27 de noviembre de 2012
Programación paralela
La meta más agresiva del paralelismo de hoy en día
es hacer que los programas sean eficientes, portables y escalables
(que se adapten al incremento del número de núcleos que son integrados
al sistema).
No es productiva, esto retardará y reducirá el número de programas que puedan explotar los recursos computacionales de las nuevas arquitecturas multinúcleos.
La programación paralela o programación concurrente es una técnica de programación basada en la ejecución simultánea, bien sea en un mismo ordenador (con uno o varios procesadores) o en un cluster de ordenadores, en cuyo caso se denomina computación distribuida.
Los sistemas multiprocesador o multicomputador consiguen un aumento del rendimiento si se utilizan estas técnicas. En los sistemas monoprocesador el beneficio en rendimiento no es tan evidente, ya que la CPU es compartida por múltiples procesos en el tiempo, lo que se denomina multiplexación.
La esencia de la porgramación concurrente es la división de una tarea en múltiples sub-tareas que puedan ser realizadas relativamente independientemente unas de otras para combinarlas después.
Critica:
En se tiene que buscar la mejor forma y facil para la realizacion de programas.
La programacion en paralela se me hace una buena forma para llevar a cado dichos programas ya que se puede ejecutar simultanea o en un mismo ordenador.
No es productiva, esto retardará y reducirá el número de programas que puedan explotar los recursos computacionales de las nuevas arquitecturas multinúcleos.
La programación paralela o programación concurrente es una técnica de programación basada en la ejecución simultánea, bien sea en un mismo ordenador (con uno o varios procesadores) o en un cluster de ordenadores, en cuyo caso se denomina computación distribuida.
Los sistemas multiprocesador o multicomputador consiguen un aumento del rendimiento si se utilizan estas técnicas. En los sistemas monoprocesador el beneficio en rendimiento no es tan evidente, ya que la CPU es compartida por múltiples procesos en el tiempo, lo que se denomina multiplexación.
La esencia de la porgramación concurrente es la división de una tarea en múltiples sub-tareas que puedan ser realizadas relativamente independientemente unas de otras para combinarlas después.
Critica:
En se tiene que buscar la mejor forma y facil para la realizacion de programas.
La programacion en paralela se me hace una buena forma para llevar a cado dichos programas ya que se puede ejecutar simultanea o en un mismo ordenador.
Suscribirse a:
Comentarios (Atom)









