miércoles, 15 de mayo de 2013

SERIE FIBONACCI


SE EJECUTA EL PROGRAMA DE FIBONACCI CON UNA SERIE DEL 1-100.
LO QUE HACE LE FIBONACCI ES SUMAR EL NUMERO ANTERIOR AL  ACTUAL  Y ASI SUCESIVAMENTE (1+1=2+1=3+2…)
A CONTINUACION, SE MUESTRA EL CODIGO UTILIZADO
package seriefibunacci;
public class Seriefibunacci {
    public static long fib(int n) {
if (n <= 1) return n;
else return fib(n-1) + fib(n-2);
}
    public static void main(String[] args) {
        int N = 100;
for (int i = 1; i <= N; i++)
System.out.println(i + ": " + fib(i));         // TODO code application logic here
    }
}

Diferencia entre Sección Crítica y Prioridad


PROPÓSITO :
El docente determinara mediante la ejecución de un caso práctico en java de las principales  diferencias entre los conceptos de prioridad y sección critica aplicables a los sistemas operativos.
Procedimiento
Ejecutará los programas y elabora un cuadro comparativo de las principales diferencias que identifiques durante y después de la ejecución del código fuente y define con tus propias palabras los conceptos de sección crítica y prioridad.
Diferencia entre sección crítica y prioridad.
SECCION CRITICA
SECCION DE PRIORIDAD

Es la parte del proceso en la cual se tiene acceso a un recurso compartido. Para evitar problemas en situaciones relacionadas con recursos compartidos, la clave es determinar una forma de prohibir que más de un proceso lea o escriba en los datos compartidos a la vez, en otras palabras, lo que se necesita es una forma de garantizar que si un proceso utiliza una variable o archivo compartido, los demás procesos no puedan utilizarlos.
Para determinar que hilo debe ejecutarse primero, cada hilo posee su propia prioridad: un hilo de prioridad más alta que se encuentre en el estado LISTO entrara antes en el estado EN EJECUCION que otro de menor prioridad.
Dos procesos no deben encontrarse al mismo tiempo dentro de sus secciones criticas.
No se debe hacer hipótesis sobre la verdad o el número de procesadores.
Ninguno de los procesos que estén en ejecución fuera de su sección critica puede bloquear a otros procesos.
Ningún proceso debe esperar demasiado tiempo para entrar en su sección critica.
Si los procesos comparten recursos no deben estar en su sección critica al mismo tiempo , ya que puede provocar un conflicto; pero si ambos procesos son independientes no de haber problema, si un procesos desea entrar a su secón critica no deben hacerlo mucho para acceder al recurso compartido.
 SECCIÓN DE PRIORIDAD
SECCIÓN CRITICA


CUESTIONARIO


1.- Define diferencia entre programación secuencial y concurrente
Concurrente: en esta se tiene más de una lógica de ejecución, es decir,  cuando un programa realice determinada función.
Secuencial: Son procesos que se ejecutan una tras otra
2.- Este término es utilizado para indicar un programa único en el que puede ver más de un contexto de ejecución activo simultáneamente
R= Concurrencia
3.- Menciona los 5 estados de una Hebra
Ejecución, en espera y bloqueado

4.- Explica el término de condición de competencia aplicable a una Hebra

Permite a los hilos suspender su ejecución y abandonar el procesador hasta que alguna porción de un código compartido sea satisfecho.

5.-  Explica cómo funciona el término de exclusión mutua para un hilo

Consiste en que un solo proceso excluye temporalmente a todos los demás para usar un recurso compartido de forma que garantice la integridad del sistema.6.- Menciona cuales son las características de los procesos concurrentes.

7.- Cuales son los métodos que se utilizan en java para controlar los estados de una ebra (hilo)

Nuevo
Un hilo nuevo es uno que se ha creado y que está esperando su arranque para pasar al estado de preparación. Se crea con el operador "new".  Ejemplo:
Thread hiloInicial = new Thread (new hilosRunnable ("Hilo Primario", 3));

En preparación
Se denomina "hilo detenido", pues se encuentra listo para ejecutarse en espera del método "start", que lo arranque.

En Ejecución
Pasa a este estado después de arrancado mediante la "start", método que busca en la clase el método run () implementado para hacer correr el hilo. Se denomina "hilo vivo", y cuando el método isAlive () de la clase Thread devuelve "true" significa que está en estado de ejecución. Ejemplo:
if (objetoHilo.IsAlive == true)

Bloqueado
Esta situación se da cuando ha sucedido un evento que suspende la ejecución del hilo. JAVA utiliza dos métodos para bloquear un hilo: sleep () y wait (), que deriva de la clase Object. Es decir dormido y esperando:

·         Dormido
En este caso, el hilo no hace nada. Esto quiere decir que no utiliza la UCP. Es un método estático y se le llama pasando como argumento los milisegundos que el hilo permanecerá bloqueado. Opera sobre el hilo que se encuentra en actual ejecución. Ejemplo:
Thread.sleep (milisegundos);

·         Esperando
Acá se utiliza el método wait (), que pasará a estado de preparado utilizando los métodos notify () o notifyAll (), de la clase Object.

Muerto
Una vez terminado el método run() el hilo pasa a estado "muerto", en forma natural. En este estado, ya no es posible arrancar nuevamente el hilo. Habría que construir un nuevo objeto Thread y enviarle el comando "start".

Menciona los conceptos de:

aThreand
Intercambian entre si mensajes con información y mensajes de sincronismo. Representa un proceso individual ejecutándose en un sistema.

bYield
Este método hace que el intérprete cambie de contexto entre el hilo actual y el siguiente hilo ejecutable disponible. Es una manera de asegurar que los hilos de menor prioridad no sufran inanición.

cSleep
Mueve a la hebra del estado en ejecución a un estado bloqueado, donde espera una interrupción del temporalizador de intervalo. Ponga el hilo a dormir durante milisegundos y transcurridos esos dicho hilo volverá a estar disponible para su ejecución.

  Start
Indica al intérprete de java que cree un contexto de hilo del sistema y comience a ejecutarlo. Hay que tener precaución de no llamar el método start más de una vez sobre el hilo determinado.

eRun
Constituye el cuerpo de un hilo en ejecución. Este es el único método del interfaz Runnable. Es llamado por el método start después de que el hilo apropiado del sistema se haya inicializado.

f)     Stop
Provoca que el hilo se detenga de manera inmediata. Una forma más elegante de detener el hilo es utilizar alguna variable que ocasione que el método run termine de manera ordenada.

gSuspend
Toma el hilo y provoca que se detenga su ejecución sin destruir el hilo de sistema subyacente, ni el estado del hilo anteriormente en ejecución.

hResume
Se utiliza para revivir un hilo suspendido. No hay garantía de que el hilo comience a ejecutarse inmediatamente, ya que puede haber un hilo de mayor prioridad en ejecución actualmente.

i)     Runnable
Forma habitual de crear hilos.

ARREGLO DE DISCOS


Organización de múltiples discos para ofrecer una mayor funcionalidad.
RAID: Arreglo redundante de discos.
(Redundant Array of Inexpensive Disk) (Arreglo Redundante de Discos Independientes)
·         Mayor capacidad de almacenamiento y flexibilidad en el manejo de discos
·         Mejor rendimiento lector-escritura
·         Recuperación de datos en caso de daños inesperados
·         DISCOS BASICOS (No sirven para arreglos)
·         Tablas de Particiones normales (FAT, NTFS)
ARRAY  DISK
CARACTERISTICAS
VENTAJAS
DESVENTAJAS
RAID
El rendimiento general del sistema aumenta.
Ofrece más fiabilidad de almacenamiento de datos.
La reconstrucción de los datos del disco que ha fallado se hace de forma automática sin intervención humana. Recuperación de Desastres en Tecnología e Informática
Si uno de los discos del conjunto falla, la unidad continúa funcionando, sin pérdida de tiempo ni de datos.
RAID Nivel 0
Une varios discos como si fueran uno solo,
Nivel 1: espejo de discos (mirroring).
 Nivel 3 y 4: con de paridad en disco independiente
Nivel 5: con de paridad distribuida.
Recuperación de Desastres en Tecnología e Informática
Sin tolerancia a fallos
No hay un nivel de RAID mejor que otro; cada uno es apropiado para determinadas aplicaciones y entornos informáticos.
RAID RAID 0
Separación de secuencias de datos, con el objeto de escribirlos en múltiples dispositivos físicos (Striping) Mejora el rendimiento

No tiene mecanismos de redundancia.
Mínimo de discos: 2 Capacidad:
RAID RAID 1:
(Arreglo donde un disco duro se 1 refleja en otro disco duro (mirroring).
Se protege la información. Evita pérdida de información y las interrupciones del sistema debido a fallas de discos. Desventaja Gran consumo de necesidades hardware
Como ambas unidades guardan una copia de los datos, éstos aún estarán disponibles en caso de que una unidad falle.
Costo alto.
RAID RAID 3 y 4
Conocido también como "striping con 4 paridad dedicada en un disco“.
Utilizan un disco de protección de información separado para almacenar información de control codificada con lo que se logra una forma más eficaz de proporcionar redundancia de datos
Proporciona una alta disponibilidad del arreglo, así como una tasa de transferencia elevada.
Si dos discos fallan de manera simultánea hay una pérdida total de la información. Mínimo de discos: 3 Capacidad:

PRINCIPALES HERRAMIENTAS DE SOFTWARE PARA CREAR UN SERVIDOR DE ARCHIVOS EN LINUX


CD Red Hat Linux en el lector de CD-ROM de tu ordenador.
Empezar la instalación
1º Inserta el CD-ROM en el lector de CD-ROM: Si estás instalando desde un disco duro local o una red, en su lugar puedes insertar un disco de instalación arrancable. (Ver crear un discos de instalación).
2º Inicia el ordenador: Si ves la pantalla "Bienvenido a Red Hat Linux", sigue hasta el siguiente paso.
3º Comienza el procedimiento de inicio: Presiona Intro en el botón de inicio para arrancar el procedimiento de carga, te pedirá que elijas el idioma.
Nota: En lugar de presionar simplemente Intro, puedes escribir los modos expert, text o rescue. Si escribes expert vas a evitar explorar, de forma que podrás elegir el ratón, la memoria de vídeo y otros valores d que de otro modo, serían elegidos en tu lugar por el proceso de instalación. Si escribes text se te permitirá tener un proceso de instalación basado en texto. Si el proceso de instalación no puede encontrar tu disco duro (por ejemplo, un disco SCSI que no puede detectar), o si algunas propiedades de tu disco duro necesitan ser especificadas antes de poder instalar adecuadamente, puedes usar el modo rescue para forzar a la instalación a identificar el número de cilindros, cabezas y sectores de tu disco duro (si crees que el proceso de inicio no está detectando estos valores correctamente), podrías pasar la información al kernel como se indica a continuación:
Linux hd=720,32,64
En este ejemplo, se le indica al kernel que el disco duro tiene 720 cilindros, 32 cabezas y 64 sectores. Puedes encontrar esta información en la documentación que viene con tu disco duro (o bien pegada en el propio disco duro en una pegatina cerca del número de serie).
4º Elige un idioma: Cuando se te pida, indica el idioma que te gustaría utilizar durante el procedimiento de instalación moviendo las flechas de dirección y seleccionando Siguiente. Se te pedirá que elijas un teclado.
5º Elige un teclado: Selecciona el modelo de teclado correcto (por defecto el genérico para PC de 101 teclas), extendido (inglés americano por defecto) y si quieres o no activar teclas muertas (activado por defecto). Estas teclas muertas te permiten introducir caracteres especiales c(como circunflejos y diéresis). Haz clic en siguiente.

6º Añade un ratón: Cuando se te pida indica el tipo de ratón y después haz clic en Siguiente. Si es posible, elige una correspondencia exacta para el modelo de ratón que tienes. Si no, puedes elegir un ratón serie genérico (si te conectas a un puerto COM) o a un ratón genérico PS/2 (si te conectas a un puerto PS/2). Para esta versión también se ha añadido soporte para ratones USB de dos y tres botones. Para un ratón serie necesitas identificar qué puerto COM está conectado. Si estás usando un ratón de dos botones, puedes hacer clic en emular 3 botones. Esto te permite usar la tecla Mayúsculas con un botón del ratón para emular el botón central del ratón de tres botones.
7º Continúa con la instalación: En la pantalla instalación del sistema, haz clic en Siguiente para poder continuar. Aparecerá la pantalla Opciones de instalación.
8º Elige el tipo de instalación: Selecciona instalar para una nueva instalación (junto con el tipo de instalación) o actualizar para actualizar el software para una versión existente de Red Hat.
Advertencia: Para actualizar, debes tener instalado al menos un Kernel Linux 2.0. Con un actualizar, todos tus archivos de configuración se van a guardar como nombre del archivo.rpmsave (por ejemplo, el archivo de hosts se guarda como hosts.rpmsave). Las ubicaciones de estos archivos, así como otras informaciones de actualizar, se escriben en /tmp/upgrade.log. Actualizar instala el nuevo kernel, cualquier paquete de software modificado y cualquier paquete del que dependan los paquetes instalados. Sus ficheros de datos y la información acerca de la configuración deberían permanecer intactos.
Para una nueva instalación debes elegir uno de los siguientes tipos (también llamados clases) de instalación:
Estación de trabajo: Selecciona de forma automática la partición e instala paquetes que son apropiados para una estación de trabajo Linux. Se configuran como gestor de escritorio GNOME o KDE y el Sistema X Window proporciona GUI subyacente. El gestor de ventanas recomendado para Red Hat Linux es GNOME. Puedes seleccionar el que quieras en una fase posterior del proceso de instalación.
Servidor. Un servidor instala los paquetes de software que necesitará normalmente para un servidor Linux (por ejemplo, servidor Web, servidor de archivos, etc.) Este tipo de instalación no instala el Sistema X Window (así que más vale saber utilizar el shell). También borra todos los discos duros y asigna todos los discos a Linux.
Personalizada: Se te ofrece la posibilidad de configurar tus propias particiones y seleccionar tus propios paquetes de software.
Los pasos que se indican a partir de este punto se refieren a la instalación personalizada. Si estás realizando una instalación de Estación de Trabajo, puedes indicar que deseas realizar una partición automática, y después salta al punto 12, Configuración de red. Si seleccionas instalación Servidor, puedes indicar que deseas borrar todo el disco, luego salta al punto 12. Para instalaciones personalizadas sigue con los siguientes puntos:
9º Hacer particiones del disco duro: Dependiendo de si seleccionas fdisk o simplemente, continúas hasta la Pantalla Disk Druid, usarás una de esas herramientas para hacer particiones de tu disco duro. Disk Druid es recomendable para los usuarios menos experimentados. En general, lo que se quiere crear es una partición swap y al menos una partición Linux asignada al sistema de archivos root (/). Esta partición root ha de contener suficiente espacio libre en disco para albergar la cantidad mínima de espacio requerido por la instalación que has seleccionado. Si tienes una partición nativa simple de Linux, haz doble clic sobre ella y escribe la barra lateral (/) en el cuadro de punto de anclaje (luego haz clik sobre OK) para asignar esta partición al directorio raíz. Para la partición de intercambio, 64 MB es un tamaño común para una estación de trabajo Linux. Cuando se haya terminado la partición, haz clic en Siguiente para continuar.
10º Elige particiones para formatear: Ahora selecciona qué particiones quieres formatear de la lista de particiones Linux que aparece. Tal vez sólo veas la partición root (/). Si quieres, haz clic en chequear bloques defectuosos (esto lleva un poco más de tiempo que formatear simplemente). Haz clic en Siguiente para continuar.
11º Configura LILO: Selecciona si quieres usar LILO para arrancar Linux (haz clic en no instalar LILO para no usarlo) y, en caso de que sí quieras, dónde se ha de almacenar. Sus opciones son:
 Master Boot Record: Éste es el mejor lugar para LILO. Provoca que LILO controle el proceso de inicio para todos los sistemas operativos que están instalados en el disco duro.
 Primer sector de la partición de inicio: Si tu ordenador está utilizando otro gestor de arranque, puedes dejar LILO instalado en su partición Linux (primer sector). Esto te permite dejar que el otro gestor recurra a LILO para arrancar Red Hat Linux.
También puedes elegir crear un disco de arranque (recomendado) y añadir los parámetros kernel (que se pueden necesitar si tu ordenador no pide detectar determinado hardware). La parte inferior de la pantalla indica las particiones arrancables en tu ordenador. Selecciona la partición arrancable por defecto haciendo clic en la partición y después , seleccionando "Imagen de inicio por defecto". También se puede cambiar la etiqueta de cualquier partición haciendo clic sobre ella y cambiando el valor en el cuadro etiqueta de inicio.
12º Configuración de red: Ahora se te pedirá que configures tu red. Esto se aplica sólo a la configuración de una red de área local. Si sólo vas a utilizar conexiones de acceso telefónico, salta esta sección y haz clic en Siguiente. Si tu ordenador aún no está conectado a una LAN, pasa al siguiente punto. La información sobre la dirección de red se asigna a tu ordenador básicamente de dos formas: estrictamente (tú la escribes) o dinámicamente (un servidor DHP suministra la información en el momento de arranque).
Si has seleccionado introducir la información sobre tu red estáticamente, posiblemente tengas que desactivar la opción "Configure utilizando DHP" y añadir los siguientes datos:
Dirección IP.
Máscara de Red, Red, Broadcast, hostname, puerta de Enlace, DNS primario.
13º Elige un uso horario: Selecciona la zona horaria de la lista de zonas horarias que se muestran. Puedes hacer clic sobre un punto en el mapa o elegir de la lista desplegable. Para tener una vista más específica de su localización, haz clic sobre Mundo y elige tu continente. Desde la tabla de usos horarios UTC puedes elegir una zona horaria según el número de horas de diferencia con el "Greenwich Mean Time" (GMT), conocido como los retrasos UTC.
14º Configura cuentas de usuarios: Tienes que elgir una contraseña para tu usuario root en este momento y añadir una o varias cuentas de usuarios regulares. Sin ella, y antes de añadir otros usuario, no tendrás acceso a tu propio sistema. Introduce la contraseña de Root y a continuación, escríbela otra vez en la casilla de confirmación .
Añade un nombre de cuenta para un usuario regular de tu ordenador. Escribe la contraseña, confírmala, escribe un nombre completo para el usuario y haz clic en Añadir para poder añadir la cuenta. Haz clic en Siguiente para continuar.
15º Activa autentificación: En la mayoría de las situaciones vaas a activar las contraseñas shadow y las contraseñas MD5 (que se seleccionan por defecto). El fichero de las contraseñas shadow prohibe el acceso a las contraseñas encriptadas.
Nota: MD5 es un algoritmo utilizado para encriptar contraseñas en Linux y otros sistemas UNIX. Sustituye a un algoritmo llamado crypt, utilizado en los primeros sistemas UNIX. Cuando activas las contraseñas MD5, tus usuarios pueden tener contraseñas más largas, que son más difíciles de descifrar que las que se encriptan con crypt.
Si te encuentras en una red que soporta alguna de las distintas formas de autentificación de red, puedes elegir una de las siguientes opciones:
Activar NIS: Si tu red está configurada para usar el Network Information System, selecciona este botón y escribe el nombre de dominio NIS y la localización del servidor NIS. En lugar de seleccionar un Servidor NIS, puedes hacer clic en el botón para broadcast para encontrar el servidor en tu red.
Activar kerberos: Haz clic en este botónm para activar los servidores de autentificación de red disponibles en Kerberos. Después de activar Kerberos, puedes acceder a la información sobre un Kerberos Realm (un grupo de servidores y clientes de Kerberos), un KDC (un ordenador que emite tickets Kerberos) y un servidor Admin (un servidor que ejecuta el daemon kadmin de Kerberos).

COMO CREAR UN HOSTING


Espacio web ofrece  un servidor de Hosting (que significa alojamiento de páginas web) bien de forma gratuita o bien pagando cierta cantidad. En la sección de Hosting te recomiendo algunos planes gratuitos y de pago donde alojar tu web, e incluso instrucciones detalladas de cómo registrarte en un servidor gratuito así como la definición de los términos que has de conocer para escoger con conocimiento.

Por otro lado, una vez tenemos el espacio para nuestra página web, los visitantes necesitan escribir algo en sus navegadores para dirigirse a nuestra nueva web. Esto es la URL o dirección de la web que puede ser o bien un dominio escogido (y pagado) por tí, como por ejemplo www.comocreartuweb.com, o www.google.es o www.mipagina.es o bien un subdominio (los gratuitos suelen ser subdominios) que tienen una forma algo más larga.

En ese caso pasa a la página del hosting gratuito de CCTW ofrece  un pequeño hosting para aprender, o compra uno Sered que son muy buena gente y con unos precios muy bajitos, aunque te recomiendo que cuando tengas tiempo te leas bien el resto de toda esta información. Ah! No sobreentiendas que un hosting de pago es cosa de gente con mucho dinero o para proyectos serios y profesionales. Existen Hostings de pago al alcance de cualquiera, ya lo verás en estas páginas.

QUE ES UN HOSTING


El alojamiento web (en inglés web hosting) es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía Web. Es una analogía de hospedaje o alojamiento en hoteles o habitaciones donde uno ocupa un lugar específico, en este caso la analogía alojamiento web o alojamiento de páginas web, se refiere al lugar que ocupa una página web, sitio web, sistema, correo electrónico, archivos etc. en Internet o más específicamente en un servidor que por lo general hospeda varias aplicaciones o páginas web.
Los Web Host son compañías que proporcionan espacio de un servidor a sus clientes.
Se puede definir como un lugar para tu página web o correos electrónicos, aunque esta definición simplifica de manera conceptual el hecho de que el alojamiento web es en realidad espacio en Internet para prácticamente cualquier tipo de información, sea archivos, sistemas, correos electrónicos, videos etc.
Tipos de hosting
El hosting se puede dividir en varios tipos generales:
Hosting gratuito: el hosting gratuito es extremadamente limitado comparado al hosting de pago. Los proveedores de alojamiento gratuito normalmente requieren sus propios anuncios en el sitio alojado de forma gratuita y tienen límites muy grandes de espacio y de tráfico.
 Hosting de imágenes: alojando solamente algunos formatos de imágenes. Este tipo de alojamiento normalmente es gratuito y la mayoría requieren que el usuario se registre. La mayoría de los proveedores de alojamiento de imágenes permiten el hotlinking, de modo que el usuario pueda subir imágenes al servidor del proveedor para ahorrar espacio y ancho de banda.
 Hosting compartido: el alojamiento compartido es cuando un mismo servidor aloja a varios cientos de sitios web de clientes distintos. Un problema en uno de los sitios en el servidor puede traer abajo al resto de los sitios. El hosting compartido también tiene algunas restricciones con respecto a qué ser puede hacer exactamente, aunque estas restricciones no son en ninguna manera tan restrictivas como en el hosting gratuito.