JUnit en NetBeans 6.5

•julio 5, 2009 • Dejar un comentario

JUnit

JUnit, es una herramienta proporcionada por java para la prueba de bloques de código, mas convencionalmente de procedimientos, comprobando los resultados obtenidos, con los datos esperados. Toda esta clase de pruebas pueden realizarse de manera manual, simplemente insertando salidas de sistema con el System.out.println(), he indicando que variable o que secuencia pasa o no pasa por cierto lugar,  para eso junit ha sido creado para este fin.

Assert

Es una herramienta que sirve para hacer comprobaciones de resultados, este es proporcionado por la clase junit.framework.Assert, proporciona una serie de métodos que son los encargados de hacer dichas comprobaciones. Esta clase posee una serie de métodos con el nombre de assert. Los métodos son los siguientes:

  • AssertEquals: indica si dos objetos son iguales
  • AssertNull: indica si un objeto es nulo
  • AssertNotNull: que indica que un objeto no es nulo
  • AssertSame: que indica si dos variables apuntan a un mismo objeto
  • AssertTrue: indica si el método devuelve un true
  • AssertFalse: indica si el método devuelve un false

Entre otros….

Cada uno de estos métodos assert es considerada como un test. La lógica de estos métodos es muy simple, si la condición del método assert se cumple el test es válido, de lo contrario el test no es valido y lanza un FailedAssertionError, lo que significa que existe un error en el test.

Cuando se utilizan bloques de excepciones try-catch, se debe tener cuidado, ya que esta clase de bloque normalmente captura las excepciones que el código lanza y es este quien lanza la anomalía que se tiene y no los bloques assert que indicamos en nuestras pruebas, por lo que para testear esta clase de bloques, debe utilizarse el método fail() o fail(String mensaje), que muestra un FailedAssertionError e informe de esta manera el resultado del test.

TestCase

La clase abstracta junit.framework.TestCase es la base sobre la cual se definen todas las clases de tests. Esta clase se extiende de junit.framework.Assert

Para crear una unidad de testeo se realizan los siguientes pasos:

  • Se crea una nueva clase en netbeans
Crea un nuevo Proyecto de NetBeans

Crea un nuevo Proyecto de NetBeans

  • Se crean las clases a testeas y los métodos para cada una de estas clases
Se crean las clases a ser Testeadas

Se crean las clases a ser Testeadas

  • Se crea una nueva unidad de testeo para cualquier clase de las que se han creado, mediante clic derecho sobre una clase, luego en tolos y por ultimo en la opción de Create Unit Test

Se crea la nueva Unidad de Testeo

Se crea la nueva Unidad de Testeo

  • El paso anterior genera una nueva clase en el directorio de test del proyecto
Se genera el siguiente codigo segun la Clase implementada

Se genera el siguiente codigo segun la Clase implementada

  • Al revisar el fichero que se acaba de crear se puede verificar que existen todas los métodos que se incluyeron en el archivo original pero con la terminación Test en la cual se generan los assert y los fail correspondientes

Se genera codigo para realizar los Testeos

Se genera codigo para realizar los Testeos

Ya con esto, debe notarse que la ejecución de un test puede terminar de cuatro formas:

  • Con la validación correcta de los assert. Lo que se espera
  • Mostrando uno o varios FailedAssertionError con su información asociada. Esto ocurre si el assert no ha sido valido,  esto significa que la ejecución del código no ha devuelto el resultado esperado.
  • Mostrando cualquier Excepcion de Java. Esto no es provocado por la validación de los métodos assert, sino que indica algún error de implementación, puede ser por el propio TestCase o por el mismo código.
  • Y por último, puede ser una mezcla de excepciones de java y de FailedAssertionErrors


setUp() y tearDown()

Se debe indicar también que la secuencia de ejecución de una clase la cual herede atributos de una clase TestCase es la siguiente:

  • setUp()
  • test<Nombre>()
  • tearDown()

Esto se repite para todos los métodos test que contenga la clase

Estos métodos se utilizan de la siguiente manera:

  • El método setUp(), se utiliza para inicializar variables, crear conexiones a bases de datos, etc.
  • El método tearDown(), en cambio se utiliza para liberar recursos tales como las indicadas anteriormente.

Se crea el respectivo codigo para el setUp() y tearDown()

Se crea el respectivo codigo para el setUp() y tearDown()

TestSuite

Muchas veces cuando se necesita tener varios test estruturados en varias clases TestCase e interesa ejecutarlos todos al mismo tiempo se utiliza un testSuite.

Para crear dicha colección se realizan los siguientes pasos:

  • Se da un clic derecho en el nodo del proyecto y se escoge en nuevo y en Otros para abrir el asistente para la creación de un nuevo documento

Se escoge entre los documentos nuevos el de TestSuite

Se escoge entre los documentos nuevos el de TestSuite

  • Se selecciona la categoría JUnit y el objeto Test Suite
Se escoge la opcion de TestSuite

Se escoge la opcion de TestSuite

  • Se le asigna un nombre y se le indica en que paquete se desea guardar

Se indica el nombre del TestSuite

Se indica el nombre del TestSuite

  • Se quita la selección de Test Initializer y Test Finalizer  y se da en finalizar

Se verifican las opciones de creacion

Se verifican las opciones de creacion

Finalmente para ejecutarlo, en la clase que se acaba de crear se añaden las siguientes líneas:

Se añaden las siguientes lineas

Se añaden las siguientes lineas

Con lo que muestra el siguiente resultado:

Muestra el resultado de los testeos

Muestra el resultado de los testeos

El cual indica si el procedimiento paso la prueba o no

Altenativas para Spring Framework MVC Maverick

•junio 28, 2009 • Dejar un comentario

MAVERICK

Maverick es un Framework para trabajar con el Modelo Vista Controlador para publicaciones web utilizadon Java y el J2EE. Es un framework pequeño el cual se focaliza en la logica MVC, permitiendo generar presentacion utilizando una variedad de plantilla y tecnologias de transformación. En principio este combina las mejores caracteristicas de tecnologias como Struts, WebWork y Cocoon2, sin embargo:

  • Maverick es simple de utilizar, ya que es pequeño y capaz de ser entendido por cualquiera. No es tampoco una receta de cocina que trata de provee todo lo necesario para crear una aplicacion web, posee pools de coneciones a bases de datos, aplicaciones de servidor, frameworks de validacion, plantillas de lenguaje, etc.
  • Maverick es simple de entender, el codigo es facil de entender, no hay mucho que programar.
  • Puede utilizarse cualquier generador de plantillas con maverick. Ejemplos utilizados para JSP con JSTL no necesitan ninguna libreria en especial, Velocity y Domify/XSLT. Los desarrolladores de MAverick utilizan estos tres en la creaciones de apliciones web reales.
  • Puede ejecutarse una vista de salida a travez de un pipeline de transfomaciones. Maverick-supplied para transformaciones incluye XSLT, DVSL. “wrapping” layout transformation, FOP, y Perl.
  • Los comandos, controladores, vistas y tranformaciones son configurados con un facil de enteder XML de mapa de sistema , para mas flexibilidad puede utilizarse tambien XSLT.

Mas Adelante estare subiendo un ejemplo de como implementarse

Integración Apache y Tomcat con mod_jk en Windows

•junio 28, 2009 • Dejar un comentario

Apache

es un servidor desarrollado dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Este presenta entre otras características altamente configurables, bases de datos de autenticación y nevociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración.

Ventajas

  • Modular
  • Open Source
  • Multi-plataforma
  • Extensible
  • Popular

Es usado primariamente para enviar páginas web estáticas y dinámicas de la WWW. Muchas aplicaciones web están diseñadas asumiendo como ambien de implantacion a Apache, o que utilizaran caracteristicas propias de este servidor web.

TOMCAT

Funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en el apache software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages o JSP de Sun Microsystems.

Tomcat no es un servidor de aplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que compila JSPs convirtiédolas en servlets. El motos de servlets de Tomcat a menudo se presenta en combinacion con el servidor web Apache.

Tomcat puede funcionar como servidor web por sí mismo, En sus inicios existio la percepcion de que el uso de Tomcat de forma autónoma era sólo recomendable para entornos de desarrollo y entornos con requisitos mínimos de velocidad y gestión de transacciones.

Pero muchas veces la peticiones hechas hacia este servidor en si, son demasiadas por las que necesita de un servidor más robusto como lo es Apache.

Integracion:

Versiones Utilizadas

  • Apache 2.2.4-win32-x86-no_ssl
  • Tomcat-6.0.10
  • mod_jk-1.2.27-httpd-2.2.10.so

Instalar Apache

  • Se debe descargar “Apache 2.2.4-win32-x86-no_ssl.msi”
  • La instalacion de Apache en windows es sencilla, solo debe seguirse el wizard
  • Luego, debe iniciarse el servicio de Apache, generalmente esto se hace automatico
  • En el browser debe ingresarse al hhtp://localhost/ y debe salir en el navegador “It works!”
  • Lo que significa que la instalacion de Apache ha sido correcta
Pantalla principal de servicio de Apache

Pantalla principal de servicio de Apache

Instalar Tomcat

  • Se debe descargar la version .zip de Tomcat “apache-tomcat-6.0.10.zip”
  • Al momento de descargarla puede poner el archivo en cualquier directorio
  • Para arrancar la version sin instalacion de Tomcat, dentro de la carpeta bin , se encuentra un archivo llamado “start.bat” el cual puede ser ejecutado con un doble clic o ejecutandolo desde consola
  • Ahora, se debe ver en un navegaro el estado de tomcat entrando a la direccion “http://localhost:8080/&#8221; y debe entrar a la pagina principal de tomcat
Pantalla inicial de Tomcat

Pantalla inicial de Tomcat

Integración

  • A continuacion deben detenerse ambos servicios
  • Se debe descargar el conector “mod_jk-1.2.27-httpd-2.2.10.so” este puede encontrarse en la pagina de tomcat
  • Se renombra el archivo a “mod_jk.so” y debe copiarse dentro de la direccion donde este instalado los modulos de Apache por ejemplo “Apache_PATH\Apache Software Foundation\modules”
  • Dentro de las carpetas de Tomcat se encuentra un archivo llamado “workers.properties”
  • Se abre y se edita lo siguiente:

#Define 1 real worker using ajp13

worker.list=worker1

#Set properties for worker 1

worker.worker1.type=ajp13

worker.worker1.host=localhost

worker.worker1.port=8009

  • Este archivo habitualmente se encuentra dentro de “TOMCAT_PATH\Tomcat 6.0\conf\jk”

Configurar Apache

  • Se debe abrir el archivo “httpd.conf” de “APACHE_PATH\Apache Software Foundation\conf”
  • y se debe añadar lo siguiente al final

LoadModule jk_module “APACHE_PATH/Apache Software Foundation/modules/mod_jk.so”

include “TOMCAT_PATH/Tomcat 6.0/conf/auto/mod_jk.conf”

Configurar Tomcat

  • Se debe abrir el archivo “server.xml” de “TOMCAT_PATH\Tomcat 6.0\conf”
  • Se debe añadir lo siguiente dentro del tag “<Server>”

<Listener className = “org.apache.jk.confi.ApacheConfig”

workersConfig=”conf/workers.properties” mod_jk=”APACHE_PATH/Apache Software

Foundation/modules/mod_jk.so” jkLog=”logs/mod_jk.log” jkDebug=”info” noRoot=”false”/>

  • Luego se añade lo siguiente dentro del tag “<Engine>”

<Listener className = “org.apache.jk.confi.ApacheConfig”

workersConfig=”conf/workers.properties” mod_jk=”APACHE_PATH/Apache Software

Foundation/modules/mod_jk.so” jkLog=”logs/mod_jk.log” jkDebug=”info” noRoot=”false”/>

  • Se debe reinicar los servicios de Tomcat y Apache en ese orden
  • En el monitor de estado de Apache debe aparecer el modulo mod_jk
  • y al ingresar a la direccion “http://localhost/&#8221; de ingresar a la pagina principal de Tomcat
  • Con esto, ya las peticiones de tomcat seran atendidas por Apache


Instalacion de SVN, Trac y Hudson en Debian Lenny

•junio 14, 2009 • Dejar un comentario

Instalacion de SVN

Vamos a instalar SVN, para esto abrimos una consola con permisos de Administrador y ejecutamos las siguientes instrucciones:

# apt-get install subversion subversion-tools

# mkdir /srv/svn

# svnadmin create /srv/svn/proyecto

Ya con esto, es posible crear la estructura basica dentro del repositorio del proyecto, en este caso llamado proyecto Tambien

# svn co file:///srv/svn/proyecto

# svn mkdir proyecto/{branches,tags,trunk}

# svn ci -m ‘Estructura Principal’ proyecto

Con lo anterior, queda instalado SVN, al momento de realizar commit o de realizar cualquier operacion sobre este, no se llevara un log de quien fue quien lo realizo, sino que queda todo de manera anonimo

Instalacion de Trac

Bueno, antes de continuar con SVN, es mejor que empecemos la configuracion de la herramienta trac, en la misma ventana donde hemos instalado SVN escribimos lo siguiente:

# apt-get install trac

# mkdir /srv/trac

# trac-admin /srv/trac/proyecto initenv

Esta ultima instruccion genera una especie de wizard lo cual podemos dejar lo que trae por default, en mi caso solo cambie el nombre del Proyecto a “Practica1”

Path to repository [/path/to/repos]> /srv/svn/proyecto

En este momento trac y SVN deben estar unidos completamente, para lazar el servidor de trac escribimos en la consola lo siguiente:

# tracd -p 80 /srv/trac/proyecto

Con la instruccion anterior y verificando en un explorador la direccion http://localhost:80/trac y se tiene que ver de la siguiente forma:

Directorio de Trac creado y enlazado con SVN y apache

Directorio de Trac creado y enlazado con SVN y apache

Intalacion de Apache2

Antes de seguir con Trac debemos instralar apache el cual podra ser utilizado para verificar los cambios con una interfaz web, para enlazar trac instalamos el modulo de apache de python que es la mejor opcion para esta ocacion de la siguiente forma:

# apt-get install libapache2-mod-python

En esta parte, debemos editar el fichero /etc/apache2/sites-available/default esto para que todas las peticiones a apache se redirijan hacia /trac, en el archivo default antes de el trag </VirtualHost> escribimos lo siguiente:

<Location /trac>

SetHandler mod_python

PythonInterpreter main_interpreter

PythonHandler trac.web.modpython_frontend

PythonOption TracEnvParerntDir /srv/trac

PythonOption TracUriRoot /trac

</Location>

De aqui en adelante, cada vez que se haga un cambio en algun archivo que afecte a apache es necesario reiniciarlo de esta manera:

# /etc/init.d/apache2 reload

En este momento, si deseamos ingresar a la direccion del svn, debe marcarnos un error especificando que no tenemos los permisos suficientes para ingresar a esta carpeta, como se va a dejar a apache como gestor de los proyectos es necesario darle los permisos que necesita:

# chown -R www-data.www-data /srv/trac/proyecto

A continuacion debemos instalar la libreria de apache que soporte a svn como lo hicimos con el modulo de trac de la siguiente forma:

# apt-get install libapache2-svn

Como en la configuracion de trac, modificamos el fichero /etc/apache2/mods-available/dav_svn.conf, para lo cual podemos solo descomentar las siguientes instrucciones del archivo y el archivo debe quedar de la siguiente manera:

<Location /svn/proyecto>

DAV svn

SVNParentPath /srv/svn

</Location>

Ya con esto, como dije anteriormente, se debe reiniciar el servicio de apache y verificar la direccion http://localhost/svn/proyecto, este deberia mostrarnos la estructura que anteriormente creamos y si ingresamos solamente a http://localhost/svn debe marcarnos un error indicadonos que no tenemos permisos para ingresar a esa pagina

Ahora igual que con trac, debemos darle permisos a apache para poder escribir en el repositorio, en este caso se realiza de la siguiente forma:

# chown -R www-data.www-data /srv/svn/proyecto

Una prueba que podemos hacer para verificar si esta funcionando bien SVN es la siguiente:

# svn co http://localhost/svn/proyecto/trunk

# touch trunk/README.txt

# svn add trunk/README.txt

# svn ci -m “Fichero” trunk

Con lo anterior, verifique que se haya creado un nuevo archivo con el nombre definido en el ejemplo dentro del directorio trunk, si no existe ningun error significa que svn esta trabajando de una manera correcta, ahora debemos crear el archivo de autenticacion el cual nos ayudara a verficicar quien ha sido quien a modificado algo en el directorio

Se verifica los repositorios hechos en java

Se verifica los repositorios hechos en java

Autenticando Usuarios

Para poder autenticar un usuario primero debemos crear dicho usuario y crear un archivo de password encriptado de la siguiente forma:

#htpasswd -c /etc/apache2/dav_svn.passwd nombreDeUsuario

Lo cual nos pedira ingresar la nueva clave, ademas de esto debemos editar nuevamente el archivo default de trac de la siguiente forma:

<Location /trac/*/login>

AuthType Basic

AuthName “Proyecto Trac”

AuthUserFile /etc/apache2/dav_svn.conf

Require valid-user

</Location>

De nuevo debemos reiniciar el apache, y entrar en la pagina de trac, en donde debemos indicar que se ha habilitado el modulo para el loggeo a la pagina, hacemos lo mismo para svn de la siguiente forma, en el archivo de configuracion de webDAV:

AuthType Basic

AuthName “Repositorio Subversion”

<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

</LimitExcept>

Ya con esto, y reiniciando el servicio de apache podremos observar que cada vez que se realizamos una accion sobre los repositorios nos pedira un usuario y un password

SVN en Netbeans 6.5

NetBeans cuenta con soporte para varios tipos de repositorios de versiones, el cual nosotros utilizaremos SVN, para esto tenemos el siguiente ejemplo:

  • Creamos un nuevo Proyecto en Netbeans
  • Al dar un clic derecho en el proyecto, nos dirigimos a la opcion de versionamiento y la opcion de “Importar” en donde nos aparecera la siguiente ventana
Creamos un nuevo Proyecto

Creamos un nuevo Proyecto

  • La primera opcion, indica la direccion en donde tenemos nuestro repositorio, en este caso utilizaremos el repositorio web ya que debemos especificar un usuario y un password, para este caso es: http://localhost/svn/proyecto/trunk Usuario: Jorge Password: SiPues00
Repositorio de NetBeans

Repositorio de NetBeans

  • La siguiente ventana indica el subdirectiro a utilizar para guardar el proyecto y el comentario que llevara dicha revision
Comentarios para Repositorio

Comentarios para Repositorio

  • por ultimo el wizard nos muestra los archivos que importara y solo le damos finish y con esto cada vez que realizemos un cambio podremos hacer un commit para subirlo al repositorio
Archivos a importar

Archivos a importar

Instalacion de Hudson

Por razones de tiempo, esta parte solo dara razon a la instalacion de hudson, y para la instalacion de tomcat pueden verse los siguientes links:

http://www.manuelm.org/blog/?p=136

Solo que en este caso es bueno indicar, que puede existir un poco de problema con utilizar la version de tomcat 5.5 y la version mas reciente de hudson, por lo que debe de tenerse en cuenta eso.

Bueno, a continuacion, lo mas relevante de la instalacion de tomcat seria lo siguiente:

# mkdir /home/darkdebian/hudson

# chowun tomcat55:nogroup /home/darkdebian/hudson

Con lo anterior creamos un directorio para hudson y le asignamos un el grupo de tomcat, luego ingresamos al archivo de inicio de tomcat que se encuentra en /etc/init.d/tomcat5.5 con cualquier editor de linea de comando y agregamos la siguiente linea:

export HUDSON_HOME=/home/darkdebian/hudson

Luego ingresamos al archivo xml de usuarios de tomcat e insertamos las siguientes lineas

<roles rolename=”manager”/>

<roles rolename=”admin”/>

y se crea cualquier usuario y se le ingresa dichos roles para poder ingresar al area de administracion de tomcat

A continuacion iniciamos el tomcat e ingresamos al manager, le damos un deploy a nuestro archivo war y luego ingresamos al hudson que se vera de la siguiente forma:

Nuevo Trabajo en Hudson

Nuevo Trabajo en Hudson

El cual nos indica que debemos ingresarle el nombre de nuestro nuevo Trabajo, en el caso de nuestro proyecto de java utilizaremos la segunda opcion que es build a free stle software project, y al darle ok nos llevara a la siguiente ventana

Parametros para el nuevo Proyecto en Hudson

Parametros para el nuevo Proyecto en Hudson

Ya con esto, damos clic en la opcion de Build Now y ya podremos compilar proyectos desde hudson

Hudson Compilacion

Hudson Compilacion

y para que no quede duda ahi va el UUID de mi maquina virtual, bueno gracias por su atencion, cualquier cosa posteenla

UUID de mi maquina Virtual darkDebian

UUID de mi maquina Virtual darkDebian

Virus

•abril 24, 2009 • 2 comentarios

Virus informaticos

Considerando la lista de programas que producen uno o mas programas como salida, para cada para de programas p y q, p eventualmente produce q si y solo si p produce a q directamente o por una serie de pasos. Una lista de viruas es una lista maxima de programas V los cuales para cada par de programas p y q en V, p eventualmente produce q, y q eventualmente produce a p. De forma mas sencilla, un virus de computadora is una lista viral; un programa p es dicho a ser una instancia de, o a ser infenctada con un virus V precisamente cuando p es miembro de una lista viral de V.

muyyyy Complicado….. pero asi dice en los libros

Definicion:

Despues de la fumada anterior, la forma mas sencilla de definir un virus informatico es decir, un virus es un programa que es capaz de infectar otros programas modificandolos para que incluyan una copia, quiza evolucionada, de el mismo. Es decir, un virus lo que hace es tratar de añadir una copia de su propio codigo en otros programas.

En realidad es correcto llamarlos virus?

El termino virus informatico fue creado por Fred Cohen a comienzos de los 80. Pero en realidad esta correcto este termino? un virus biologico destruye las celulas por las que pasa, monopolizando todo su trabajo vital para su proyecto hasta que muere el huesped, mientras que un virus de computadora puede convivir durante mucho tiempo con un sistema de produccion y los bueno virus hacen todo lo posible para no interrumpir la funcionalidad de sus programas huesped. Seria mas adecuado llamalos Bacterias o programas con vida.

Terminos relacionados con virus:

Aqui solo dare un resumen, ya que es bastante extenso, pero para mayor informacion les dejo el link

http://www.e-ghost.deusto.es/docs/articulo.virus.html

  • Payload: es el efecto de un virus en el sistema
  • Marca de Infeccion: se utiliza para saber si un archivo ya ha sido infectado
  • Cavity: utiliza los espacios vacios que utilizan los virus entre cada bloque

Tecnicas:

  • Overwrite: sobreescribe el host con el codigo del virus. ejemplo:

$> cat virus > host

Shell Script

  • Prepending: el virus se copia justo antes que el codigo del huesped: ejemplo

$> cat virus > tmp

$> cat host > tmp

$> mv tmp host

Proceso de copia al Principio

  • Postpending: el virus se copia despues. ejemplo

Virus en Linux

Script: sh, Perl

Unix en la mayoria de sus casos utiliza los llamados lenguajes interpretados, actualmente se utilizan script de shell y Perl.  Programar virus a todo nivel es un juego, como un el ingeniero que nos dio a la mayoria Organizacion Computacional, queridamente conocido como “don Decoder”, quien indicaba que la computadora es como un bebe que solo hace lo que nosotros le decimos y que si de alguna forma se salta una paso pierde su ritmo y se confunde. Lo que se traduce en que si le damos una serie de instrucciones a la computadora en la que nos saltemos tan solo un procedimiento, la computadora no sabra que hacer y la atrofia.

En linux un ejemplo de virus es el siguiente:

#!/bin/sh
for FICHERO in *
do
  tail -4 $0 >> $FICHERO
done

Que hace esto? copia las ultimas 4 lineas al final de cada fichero en el directorio en donde se encuentra

Virus famosos:

Virus Famosos

W95/CIH (1998)
Es conocido como CIH 1003 y como Chernobyl, su fecha de activación y esta denominación hacen referencia al accidente nuclear en esta central.
Origen: Taiwan.
Daños: Más de 80 millones de dólares, pérdida incalculable de iinformación. Me incluyo en la lista.

Melissa (1999)
Atacó a miles de usuarios y empresas el 26 de Marzo de 1999, después de haber sido esparcido como un documento de MS-Word infectado en un grupo de noticias de Usenet, que conformaban una lista de interés sobre páginas web porno.
Origen: EEUU.
Daños: Entre 300 y 600 millones de dólares en pérdidas sólo en su país de origen.

I Love you (2000)
Fue detectado el Jueves 4 de mayo de 2000 cuando infecto a miles de ordenadores en todo el mundo. Este código ha sido considerado como uno de los más rápidos de todos los tiempos en propagarse e infectar ordenadores.
Origen: Hong Kong.
Daños: De 10 a 15 billones de dólares.

para mayor informacion visitar: http://traviesus.com/wp/?p=109

Sistemas de Archivos

•febrero 26, 2009 • 2 comentarios

Es un componente importante de un Sistema Operativo  suele contener lo siguiente:

  • Métodos de acceso
  • Administración de archivos
  • Administración del almacenamiento auxiliar
  • Integridad del archivo

                 Un sistema de archivos, como las fuentes dicen, es un método para el almacenamiento y organización de archivos en una computadora, y los datos que estos contienen, lo que hace más fácil encontrarlos y accederlos.  Todo esto involucra el mantenimiento de la localización física de los archivos, como puede ser, discos duros y CD-ROM.

                 Es un conjuto de tipo de datos abstractos que son implementados para:

  • Almacenamiento
  • Organización
  • Jerarquía
  • Manipulación
  • Acceso
  • Direccionamiento
  • Recuperación de Datos 

         El concepto de sistemas comparte mucho en común con las bases de datos, ya que en general los sistemas operativos tienen su propio sistema de archivos. Al igual que una base de datos que reserva su espacio en memoria, y algunos utilizan métodos similares para el almacenamiento de datos. 

       Existe un software para el sistema de archivos que se encarga de organizar los archivos, aunque físicamente estos  se encuentren separados en bloques en bytes los cuales son definidos según el sistema operativo que lo utilice y que lógicamente utiliza metodologías para mantenerlos juntos, mediante las direcciones físicas de cada bloque. 

               Los sistemas de archivos se clasifican en tres categorías: 

  • Sistemas de archivos de disco
  • Sistemas de archivos de red
  • Sistemas de archivos de propósito especial

Sistemas de archivos de disco:

                Fue diseñado para el almacenamiento, acceso y manipulación de archivos en dispositivo de almacenamiento.

  • HFS: es el sistema de archivos de mac
  • HFS+: es la variante moderna de HFS con soporte para una mayor capacidad de almacenamiento

 

Otros sistemas de archivos de disco son:

  • EFSa
  • EXT2
  • EXT3
  • FAT
  • UMSDOS
  • FFS
  • Fossil
  • ISO 9660
  • JSF y otros

Sistemas de archivos de red:

                Es un tipo especial, diseñado para acceder a sus archivos a travez de la red. Se clasifica en dos tipos:

  • Sistemas de ficheros distribuidos:  AFS,  AppleShare,  CIFS – Samba,  Coda,  intermezzo,  NSS,   NFS
  • Sistemas de ficheros paralelos:  PVFS,  PAFS

Sistemas de archivos de propósito especial:

                Son aquellos que no son ninguno de los dos anteriores, ejemplos:

  •  ACME
  •  Archfs
  • Cdfs
  • Swap y otros

 

aunque todo esto es muy general, espero que le sea de ayuda, cualquier duda me dicen

 

dejo aqui los links correspondientes:

http://es.wikipedia.org/wiki/Sistema_de_archivos

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO4.htm

http://www.alegsa.com.ar/Dic/sistema%20de%20archivos.php

 

Hello world!

•febrero 2, 2009 • 1 comentario

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

 
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.