Archivo de la categoría: Programacion de Servicios

Funcionamiento de los Sockets en Java.

1

Lee el resto de esta entrada

Anuncios

Multitarea e Hilos en Java con ejemplos (Thread & Runnable)

images

Multitarea e Hilos en Java con ejemplos (Thread & Runnable)

 

Lee el resto de esta entrada

Planificacion de Hilos PSP

1

Que significa planificación ?

Un tema fundamental dentro de la programación multihilo es la planificación de los hilos. Este concepto se refiere

que hilo toma el control del procesador y cuando. Obviamente en el caso de que un hilo este bloqueado esperando una

operación  este hilo debería dejar el control del procesador y que este control lo tomara otro hilo que si pudiera hacer

uso del tiempo de CPU. ¿Pero que pasa si hay más de un hilo esperando? ¿A cual de ellos le otorgamos el control

del procesador?

Aqui en este Proyecto veremos tambien el Ejemplo de la cena de los Filosofos para poder entenderlo mejor .

 

1

Lee el resto de esta entrada

Algoritmos de Planificacion FCFS, SJF, SRTF, Round Robind

Emilio Sedano Gijon PSP Actividad.

Programación de Servicios y Procesos

Introducción

Aquí vamos a centrarnos en analizar los distintos tipos de algoritmos de planificación.  Estos algoritmos surgen debido a la necesidad de poder organizar los procesos de una manera eficiente para el procesador.

Los algoritmos de planificación se encargan de asegurar que un proceso no monopoliza el procesador. Un proceso es un programa que está en ejecución. Este proceso puede estar en 3 estados distintos  “Listo” “Bloqueado” y “En Ejecución”. Los procesos son almacenados en una lista  junto con la información que indica en qué estado está el proceso, el tiempo que ha usado el CPU, etc.

1

Lee el resto de esta entrada

Gestión de Procesos

n   este modulo , vamos abordar la siguiente información:           

 

  Programación multiproceso :
En Java, así como en cualquier lenguaje de programación, la principal estructura de ejecución de instrucciones es la estructura secuencial, en la que cada comando, cada línea, cada instrucción se ejecuta una después de otra. El código se ejecuta de arriba hacia abajo y cada línea es ejecutada según el orden en que halla sido escrita por el programador.Y eso es una parte de las que voy a estudiar este año en DAM.

Multiproceso es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU, múltiples CPUS pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso.

El multiproceso para tareas generales es bastante difícil de conseguir debido a que puede haber varios programas manejando datos internos (conocido como estado o contexto) a la vez. Los programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de técnicas de programación incluyendo semaforos  y otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de forma exclusiva ciertos valores.

1

 

 

Programación multihilo:

Java es un lenguaje de programación multihilo. Un programa de multiproceso contiene dos o más partes que se pueden ejecutar al mismo tiempo y cada parte puede manejar diferentes tareas al mismo tiempo, haciendo un uso óptimo de los recursos disponibles, especialmente cuando el equipo tiene varias CPU.

Por definición la multitarea es cuando varios procesos comparten recursos comunes de procesamiento, tales como CPU. Multithreading extiende la idea de la multitarea en aplicaciones donde se puede subdividir operaciones específicas dentro de una sola aplicación en hilos individuales.

Cada uno de los hilos se pueden ejecutar en paralelo. El sistema operativo divide el tiempo de procesamiento, no sólo entre las diferentes aplicaciones, sino también entre cada hilo dentro de una aplicación.

 

 

 

Programación de comunicaciones en red:

Son un mecanismo de comunicación entre procesos:
– Dentro de una misma máquina.
– Distribuidos en diferentes máquinas.

• Que pueden ser identificados mediante un nombre.
• Proporcionan un interfaz estándar para el acceso a diferentes protocolos de comunicaciones.
• Soportan, entre otros, la pila de protocolos TCP/IP.
– Acceso a servicios de transporte orientados a conexión
(TCP)
– Acceso a servicios de transporte orientados a data-grama
(UDP)
– Acceso a servicios de capa de red (IP)

 

 

Utilización de Técnicas de Programación Segura.

El desarrollo de un programa que resuelva un problema dado es una tarea compleja, ya que es necesario tener en cuenta de manera simultánea muchos elementos. Por lo tanto, es indispensable usar una metodología de programación.Una metodología de programación es un conjunto o sistema de métodos, principios y reglas que permiten enfrentar de manera sistemática el desarrollo de un programa que resuelve un problema algorítmico. Estas metodologías generalmente se estructuran como una secuencia de pasos que parten de la definición del problema y culminan con un programa que lo resuelve.

 

 


 

Pero realmente , que es un Proceso ?

Un proceso es un programa en ejecución. Para ejecutar un proceso, este necesita recursos , estos recursos

se pueden asignar cuando se crea el proceso o durante la ejecución.

Y un Sistema ?

Un sistema es una colección de procesos que pueden ejecutarse concurrentemente. Las obligaciones del SO son:

  • Creación y eliminación de procesos.
  • Planificación de procesos.
  • Sincronización y comunicación.
  • Manejo de bloqueos.

Por eso vamos a ver :

  • Conceptos de Programa , de concepto , de ejecutables , de demonios.
  • Diferencias de Programación Concurrente , Distribuida.
  • Estados de un Proceso por Gráficos.
  • Algoritmos de Planificación FIFO y LIFO.
  • Concepto de PDI.

 

 

Programación de servicios y procesos.