lunes, 29 de noviembre de 2010

Seguridad informatica

Seguridad informática:
La Seguridad Informática es el conjunto de reglas, planes y acciones que permiten asegurar la información contenida en un sistema computacional.

 Áreas que cubre la seguridad informática:
·        Políticas de Seguridad
·        Seguridad Física
·        Autentificación
·        Integridad
·        Confidencialidad
·        Control de Acceso
·        Auditoría

La seguridad informática es importante para todo lo referido a la protección de datos ya que estos pueden ser alterados, borrados, controlados, etc. En sistemas como las redes, la protección hacia todo tipo de software dañino como los virus, troyanos, spyware y demás, la seguridad cumple un papel esencial para un buen mantenimiento de la misma y los archivos que se manejen dentro de ella. Es importante, para ello, tener en cuenta los siguientes puntos:

Análisis de vulnerabilidades:

Analizar las vulnerabilidades es muy importante para obtener así una primera vista de si la red es fiable y viable. Para la verificación de posibles problemas de seguridad en ordenadores, sistemas y aplicaciones, lo ideal es utilizar un analizador de vulnerabilidades. Existen algunos que son excelentes y que ofrecen informes finales que no sólo detallan los posibles agujeros de seguridad detectados, sino que aconsejan las soluciones a adoptar. En el mundo Linux, Nessus es un excelente software de código abierto. Sin embargo, si se prefiere una solución comercial que cuente con el soporte técnico de un fabricante y una serie de consultorías especializadas, Shadow Security Scanner constituye una elección idónea, tanto por sus prestaciones como por su precio contenido.

Cortafuegos:

Una vez obtenido el informe y parcheados los posibles agujeros de seguridad, debe acometerse la implementación de algún cortafuegos e IDS. Aquí el abanico de elección es amplio. En el espectro de firewalls de nivel 1, tanto en software como en hardware, encontramos a Checkpoint y a Cisco. Sin embargo, sus precios pueden resultar inasumibles para las pymes y pequeños despachos, con lo que éstas suelen dirigirse a aplicaciones como McAfee Firewall, Noton Internet Security y, en algunos casos, Zone Alarm.
Una elección excelente la constituye una solución como Securepoint Firewall & VPN Server. Se trata de un cortafuego avanzado, en español, que se instala en una máquina independiente, gestiona redes privadas virtuales externas, bloquea contenidos considerados inapropiados, realiza informes en tiempo real, detecta intrusos, filtra el spam del correo electrónico y, además, hace de antivirus.
Antivirus:

En la parte final de la pirámide se encuentran los antivirus. Existen tantos que uno nunca saber por cuál decantarse. Lo ideal es que el antivirus se encuentre centralizado y, si es posible, integrado con el propio protocolo que cubre. Por ejemplo, puede utilizarse un antivirus de servidor y, además, uno integrado con el propio servidor de correo, ya que constituye la principal vía de contagio.
La oferta es variada. Todo el mundo conoce un antivius u otro, gracias a su divulgación a través de revistas especializadas. Sin embargo, Avast!, es un antivirus nada conocido en el mercado español, pero que opera en versiones servidor para Windows y Linux, estaciones de trabajo y PDA. Por descontado, también está en español.

Lo que debe garantizar la seguridad:

La seguridad informática debe garantizar:

·        La Disponibilidad de los sistemas de información.
·        El Recupero rápido y completo de los sistemas de información
·        La Integridad de la información.
·        La Confidencialidad de la información.


Objetivos de la seguridad informática:

La seguridad informática está concebida para proteger los activos informáticos, entre los que se encuentran:

La información contenida:

Se ha convertido en uno de los elementos más importantes dentro de una organización. La seguridad informática debe ser administrada según los criterios establecidos por los administradores y supervisores, evitando que usuarios externos y no autorizados puedan acceder a ella sin autorización. De lo contrario la organización corre el riesgo de que la información sea utilizada maliciosamente para obtener ventajas de ella o que sea manipulada, ocasionando lecturas erradas o incompletas de la misma. Otra función de la seguridad informática en esta área es la de asegurar el acceso a la información en el momento oportuno, incluyendo respaldos de la misma en caso de que esta sufra daños o pérdida producto de accidentes, atentados o desastres.

La infraestructura computacional:

Una parte fundamental para el almacenamiento y gestión de la información, así como para el funcionamiento mismo de la organización. La función de la seguridad informática en esta área es velar que los equipos funcionen adecuadamente y prever en caso de falla planes de robos, incendios, boicot, desastres naturales, fallas en el suministro eléctrico y cualquier otro factor que atente contra la infraestructura informática.

Los usuarios:

Son las personas que utilizan la estructura tecnológica, zona de comunicaciones y que gestionan la información. La seguridad informática debe establecer normas que minimicen los riesgos a la información o infraestructura informática. Estas normas incluyen horarios de funcionamiento, restricciones a ciertos lugares, autorizaciones, denegaciones, perfiles de usuario, planes de emergencia, protocolos y todo lo necesario que permita un buen nivel de seguridad informática minimizando el impacto en el desempeño de los funcionarios y de la organización en general y como principal contribuyente al uso de programas realizados por programadores

Las amenazas:

Una vez que la programación y el funcionamiento de un dispositivo de almacenamiento (o transmisión) de la información se consideran seguras, todavía deben ser tenidos en cuenta las circunstancias "no informáticas" que pueden afectar a los datos, las cuales son a menudo imprevisibles o inevitables, de modo que la única protección posible es la redundancia (en el caso de los datos) y la descentralización -por ejemplo mediante estructura de redes- (en el caso de las comunicaciones).

Estos fenómenos pueden ser causados por:

El usuario:

Causa del mayor problema ligado a la seguridad de un sistema informático (porque no le importa, no se da cuenta o a propósito).

Programas maliciosos:

Programas destinados a perjudicar o a hacer un uso ilícito de los recursos del sistema. Es instalado (por inatención o maldad) en el ordenador abriendo una puerta a intrusos o bien modificando los datos. Estos programas pueden ser un virus informático, un gusano informático, un troyano, una bomba lógica o un programa espía o Spyware.

Un intruso:

Persona que consigue acceder a los datos o programas de los cuales no tiene acceso permitido (cracker, defacer, script kiddie o Script boy, viruxer, etc.).
Un siniestro (robo, incendio, inundación): una mala manipulación o una mal intención derivan a la pérdida del material o de los archivos.
El personal interno de Sistemas. Las pujas de poder que llevan a disociaciones entre los sectores y soluciones incompatibles para la seguridad informática.

Conclusión:

Los problemas son variados y la seguridad infranqueable es complicada de conseguir pero un buen sistema siempre tiene que estar prevenido y bien formado.  Aparte de los programas antivirus, es bueno el buen uso, la confianza entre empleados, el uso de encriptadores y un buen sistema de backup por alguna torpeza y pérdida de archivos de gran importancia.



Bibliografía:


Gracias Martín por tu colaboración
Trabajo Practico :  Alumno Martin Ferrarese
Laboratorio de Redes Informáticas

lunes, 8 de noviembre de 2010

Empaquetamos o Comprimimos, o las dos cosas

El empaquetador TAR y el compresor GZ

Introducción

El empaquetado de archivos y directorios es una de las tareas más importantes en un sistema operativo porque nos permite realizar copias de seguridad (backups) entre otras cosas. Cuando se trabaja con información ésta está expuesta a muchos riesgos de ser borrada, perdida o alterada en forma involuntaria. Si se tiene un backup actualizado es fácil restituirla.

Los archivos TAR no son archivos comprimidos sino empaquetados.
TAR es un empaquetador, es algo más parecido a un compresor como “arj” ó “zip” pero sin compresión.
Su función es la de incluir todos los ficheros juntos en el mismo archivo, conservando las estructuras de directorios y permisos de los mismos.
Paquetes con TAR
Tenemos 2 operaciones básicas con TAR: empaquetado y desempaquetado.
Si estamos en un directorio y queremos “empaquetar” todos los archivos de éste y los que cuelgan de él, tecleamos la orden:

tar -cvf nombredelarchivo.tar*

En esta linea de comandos encontramos las siguientes variables:
c : crear
x : extraer
u :  actualizar
f: archivo (file)
v: visualizar el proceso tar
r: agregar un directorio a un archivo .tar
t: visualizar el contenido de un archivo .tar
z: comprimir el archivo
*:  (empaquetar todos los archivos).

Si tenemos un archivo “.tar” y queremos desempaquetarlo tecleamos:

tar -xvf nombredelarchivo.tar

donde la variable “-x” indica eXtract.

Compresor GZ

Los archivos con extensión “.gz” son archivos comprimidos.
El contenido de un archivo .gz es un solo archivo,es decir cuando comprimimos un archivo “txt” con este compresor llamado “GZIP” obtenemos un archivo “txt.gz” de un tamaño mucho menor al original.
Con GZ no es posible empaquetar archivos , es decir, la compresion se realiza sobre un solo archivo.

Para comprimir un archivo con “gz” se utiliza el comando:

gzip nombredelarchivo

Para descomprimirlo:

gunzip nombredelarchivo.gz

Tambien es posible hacer la compresión y la descompresión en 2 pasos,
(primero tar y luego usar gz) o bien usar el flag “-z”.

Compresión:

tar -cvzf nombredelarchivo.tar.gz

Descompresión:

tar -xvzf.tar.gz

Nota: Debido a que GNU/Linux es racional a la hora de crear archivos y evitando cualquier exceso de tamaño, mas las mejoras en la velocidad de conexion,la gran mayoria de los archivos descargados de Internet vienen en formato “.tar” ,y se utilizan muy poco los compresores, por esto, el comando mas usado para ejecutar un archivo de estos es:

tar -xvzf nombredelarchivo.tar

Para mayor información pueden utilizar "man tar" en la línea de comandos.


Autor: varios

jueves, 4 de noviembre de 2010

Diagrama de flujo Yourdon y DeMarco

Diagrama de Flujo de Datos



Componentes de un Diagrama de Flujo de Datos (DFD) según la notación de Yourdon y DeMarco.
Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando.
Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado puede determinarse a través de un diagrama de flujo de datos. El desarrollo de un DFD ayuda en la identificación de los datos de la transacción en el modelo de datos. niveles, los cuales son:
  • Nivel 0: Diagrama de contexto.
  • Nivel 1: Diagrama de nivel superior.
  • Nivel 2: Diagrama de detalle o expansión

Características de los niveles

 Diagrama de Contexto: Nivel 0

En el diagrama de contexto sólo se dibuja el proceso principal y los flujos entre éste y sus entidades. En los diagramas posteriores se va detallando de mejor manera. Representacion grafica de un Sistema de información.

 Diagrama de Nivel Superior: Nivel 1

En el diagrama de nivel superior se plasman todos los procesos que describen al proceso principal. En este nivel los procesos no pueden interrelacionarse directamente, sino que entre ellos siempre debe existir algún almacenamiento o entidad externa que los una.

 Diagrama de Detalle o Expansión: Nivel 2

Nota: Diagrama de nivel 2 (o superior) en la fotografía. Es de nivel >= 2, y no de nivel 1 porque en el nivel 1 no se permiten las interconexiones entre procesos, como puede verse entre el proceso 2 y 3.

Fuente. Wikipedia

Resolución Ejercicio 1-2-3


Algunos ejercicios básicos

1. tp1-ingresar un número y mostrarlo por pantalla
2. TP2-INGRESAR 2 NUMEROS Y INDICAR CUAL ES EL PRIMERO

3. TP3-INGRESAR 4 NUMEROS, CALCULAR SU PROMEDIO Y MOSTRARLO POR PANTALLA
4. TP4-DADO 2 CANTIDADES, UNA PARCIAL Y UNA TOTAL CALCULAR E INFORMAR EL PORCENTAJE DE LA PRIMERA CON RESPECTO DE LA SEGUNDA
5. TP5-DADO 2 CIFRAS, SUMARLAS Y DIVIDIRLAS POR 2
6. TP6-INGRESAR 3 CIFRAS Y OBTENER SU PROMEDIÓ, MOSTRARLO POR PANTALLA
7. tp7-dado 2 números determinar, cual es el mayor
8. tp8-se pide ingresar uno de 2 colores posibles (rojo o azul) y mostrar por pantalla que color a ingresado el usuario
9.Tp9-determinar si un numero ingresado es mayor o igual a 100
10. tp10-ingresar 2 cifras y determinar cual es la mayor a 100








miércoles, 3 de noviembre de 2010

Linux un poco de cultura

1.- Si uso Linux me quedaré aislado del resto.

Esto es tan falso como los romances de Michael Jackson (con mujeres). Se ha hecho un gran esfuerzo en integrar a Linux a los ambientes corporativos multiplataformas y los resultados son muy satisfactorios. Los sistemas con Linux pueden integrarse a un dominio Windows y hacer uso de los recursos compartidos. Se pueden editar archivos de Word y Excel en Linux e imprimirlos en la impresora del XP y viceversa. También se puede revisar Hotmail y usar el Messenger y ICQ en un equipo Linux. De igual manera los PDF y todos los tipos de archivos de imagen, video y audio están soportados, todo sin problemas.

2.- Linux no está estandarizado.

De todo los mitos, quizás este es el más infundado. Linux es la plataforma que más busca sujetarse a los estándares. Existen estándares para todo, desde aquellos que definen cómo se debe comportar un manejador de ventanas hasta el formato de las hojas de cálculo y los desarrolladores de linux son muy respetuosos de apegarse a todas estas reglas.

3.- Sólo un experto programador puede instalar y usar Linux.

Otro mito infundado. Cualquier persona puede ser un usuario eficiente de Linux. Si su empresa compra un equipo con Linux pre-instalado, usted encenderá el equipo, usará el quemador, leerá sus emails, imprimirá sus documentos, escuchará música, navegará por Internet y al final de día apagará la computadora e irá a casa (Linux es famoso por su gran estabilidad). Todo ello sin saber una jota de programación.

4.- Linux está bien como juego, pero no para algo serio.

Me gustaría saber qué opina el ICBC, (el banco más grande de China, con fondos que superan los 640 mil millones de dólares y que usa Linux como plataforma). Asimismo me gustaría saber qué opinan Google, Amazon.com, las automotrices Ford y VolksWagen, la fabricante de aeronaves de la comunidad europea Airbus y los astronautas de la estación orbital (en la cual se usa Linux extensivamente) sobre la opinión de que Linux es un "juego". De cualquer manera es un juego que todos quieren jugar: más de 38 mil millones de dólares en ganancias al año y sigue creciendo.

5.- Linux no genera empleos.

"Al no haber facturación por licencias, Linux daña la economía de los países, pues no hay impuestos para el gobierno ni hay empresas que pueden crear empleos". En realidad lo que está haciendo Linux es impulsar el desarrollo tecnológico (y la calidad de vida) de los países del tercer mundo: al no haber pago por licencias las empresas de tecnología (incluso las pequeñas) pueden cobrar por los servicios de soporte, personalización y desarrollo. Si antes las empresas latinoamericanas sólo aspiraban a quedarse con una pequeña fracción del precio de la licencia, ahora pueden pelear por una rebanada más grande del pastel, ofreciendo software libre y su experiencia. Hay más trabajo para los programadores locales.
Si los antigüos administradores de Windows sólo sabían apretar una bonita secuencia de botones sin entender lo que pasaba, ahora en Buenos Aires, Santiago y México se están desarrollando verdaderas secciones de código en C o Java a un nivel de complejidad e innovación que hace apenas cinco años era impensable. Eso tiene un mayor impacto en la economía: Brasil e India (dos grandes entusiastas de Linux) se están convirtiendo en los exportadores de software de sus respectivas regiones. Por supuesto que Linux daña la economía, pero no de los países, sino la de una empresa de Redmond, en Washington, USA. guiño .

6.- Linux es feo.

Linux ha cambiado mucho, sobre todo en los tres últimos años. Hasta la versión 7.2 de Mandrake, que salió al público a mediados del 2000, Linux o más precisamente, sus escritorios principales, KDE y Gnome, carecieron de un desarrollo gráfico que fuera al mismo ritmo que su desarrollo técnico. No todo era culpa de los escritorios; un aspecto fundamental del ambiente gráfico, el desplegado de las fuentes, lo realiza el Xserver, y su implementación no era la mejor.
Todo eso cambió al inicio del 2001, con el nuevo KDE y las mejoras al Xserver. Note que estoy hablando del 2001, de esto hace cuatro años. Actualmente Linux posee uno de los entornos gráficos más atractivos de la industria (más atractivo que el de Windows y sólo superado por el MacOSX de Apple). El ambiente gráfico de Linux es también, y por mucho, el más flexible y personalizable. Con frecuencia diseño páginas usando CSS y es una sorpresa para mí ver que en Windows las fuentes pierden definición, mientras en Linux se ven nítidas.
Pero todo tiene un precio; Linux se dio a conocer en 1994 como el SO más rápido del mundo, lo que era cierto. Esa rapidez, lógicamente, se ha perdido con los escritorios corporativos. No obstante, aún existen los hacker's desktops como Windowmaker, Fluxbox o FVWM, que son entornos funcionales y visualmente atractivos.

7.- En Linux no hay aplicaciones.

Aunque hubo el día en que esto era cierto, ahora no pasa de ser un mito. Linux está lleno de programas maduros y totalmente funcionales:
1. K3B y Nautilus queman CD's y DVD's sin problemas.
2. Koffice, GnomeOffice y OpenOffice.org son suites de oficina llenas de funciones avanzadas y dotadas de herramientas de integración.
3. Gnomeeting es compatible con Microsoft NetMeeting si deseamos usar nuestra cámara Web.
4. Gimp es uno de los mejores editores bitmap y retoque fotográfico del mundo.
5. Konqueror, Mozilla, Mozilla-Firefox, Epiphany, y Galeon son excelentes navegadores, inmunes al código malicioso de algunos sitios.
6. Kontact y Evolution manejan nuestra agenda e información personal.
7. Eclipse, Netbeans y Kdevelop son herramientas gráficas de programación similares a VisualStudio.
8. Linux está lleno de reproductores multimedia como Mplayer o Xine con el que podemos ver todos los tipos de películas.
9. Con Quanta y Screem se crean fácilmente páginas Web.
10. Con Gaim y Kopete tenemos mensajería instantánea.
11. Usando KmyMoney2, Gnucash o Facturalux, manejamos nuestras finanzas personales o las de una empresa.
Sólo existen dos grupos de programas que actualmente no pueden encontrarse muy desarrollados en Linux: juegos y diseño en vectores. Sin embargo, Quake, Doom y Wolfenstein están disponibles para linux e Inkscape es un buen editor de imágenes vectoriales.

8.- Linux es gratis y por tanto, lo que se haga en él no se puede cobrar.

Doblemente Falso. Linux no es gratis; que no se deba gastar en la licencia no significa que no habrá otros costos, como la capacitación y el tiempo en investigación de soluciones. El costo Total de Propiedad, o TOC por sus siglas en inglés, suma los costos totales por implementar y sostener un sistema operativo. En términos generales, Linux es un 30% más barato que Windows, y ese porcentaje de ahorro aumenta año con año, pero eso no significa que Linux no requiera inversión.
Por otro lado, la licencia GPL no prohíbe cobrar por lo que se haga en Linux; de hecho, en la facturas se cobra por la instalación, configuración y en su caso, programación de software libre.

9.- Linux es difícil de manejar.

Repita tres veces conmigo “Ningún sistema operativo es fácil de usar”. Tres anécdotas para el caso:
1. Una vez arreglé un computadora para un pequeño despacho. Como suelo hacer en estos casos, primero respaldé todo el disco duro, luego formateé el disco y reinstalé el SO con los programas (todos los usuarios de Windows saben a lo que me refiero, pues lo deben hacer cada año, quiéranlo o no). Al final copié las carpetas de regreso, comprobé que todo funcionaba y regresé el equipo. Tres horas después un iracundo arquitecto me reclamaba que todos sus archivos se habían perdido, que yo los había borrado y que todos eran importantísimos. Fui muy preocupado a verlo pues me gusta ser serio en mi trabajo, al llegar me explicaron: “todo se había perdido” según ellos, porqué la carpeta “Proyectos” del “papel tapiz” no estaba. En realidad la carpeta en C:/Mis documentos/Proyectos no tenía un acceso directo al escritorio y como no estaba allí, pues no existía. Alguien había hecho ese acceso directo años atrás y era la única manera que conocían para llegar a ellos, además de los archivos recientes del menú “File” de Excel. En esa misma empresa había una secretaria que se jactaba de usar la muy avanzada tecla tab para dar formato a los documentos de Word en lugar de dar muchos espacios.
2. Luego de una acalorada discusión, le aposté a un colega una comida si era capaz de encontrar, en el piso donde trabajábamos, tres personas que supiesen cambiar el IRQ de su mouse. Vale la pena mencionar el hecho de que el piso era de un banco, donde trabajaban más de cincuenta graduados universitarios. Ese día comí gratis.
3. Hace cosa de un mes, una vecina vino a pedirme de favor si podía descargar e imprimir un documento Word que le habían enviado por Hotmail; en ese momento yo estaba usando KDE. Ella abrió Mozilla, entró a Hotmail, al descargar el archivo, Mozilla sugirió OpenOffice.org, ella dijo OK, el archivo sólo era de dos hojas, cambió unos títulos y las palabras que el corrector ortográfico le marcó, dio un clíck en imprimir, redactó la respuesta en hotmail, se puso de pie para marcharse con su impresión, en la puerta me dijo “que raro windows”, luego me dio las gracias y se marchó. Ella había usado Linux sin siquiera darse cuenta. Por supuesto, todo salió bien porque el quipo estaba correctamente configurado, como si fuese un equipo OEM de fábrica.
No es que Linux sea difícil y Windows fácil, lo que pasa es que nosotros somos la primera generación de usuarios y lo que encontramos fue Windows; si hubiese sido MacOS o NeXT u OS/2 hubiésemos aprendido a batallar con eso, pero en realidad Windows o Linux poseen el mismo grado de dificultad.

10.- En el software libre no hay innovación.

La mejor innovación que han hecho los sistemas abiertos es el mismo Internet: el protocolo TCP/IP, que le da vida a la red, fue desarrollado por el equipo BSD de Berkeley y fue liberado bajo la BSD License, mientras el deficiente protocolo NetBeui ha sido abandonado. También fue en el software libre donde se dio la primer CLI (Common Lenguaje Interface) que fue Jython, años antes que el tardío .NET de Microsoft. Los Weblogs también son una innovación libre. El respaldo distribuido de información y sistemas de monitoreo de redes están también entre las muchas innovaciones libres.

11.- Todo mundo puede ver el código de los programas libres y por eso son inseguros.

En realidad, pasa todo lo contrario. Existen dos tipos de esquemas de seguridad: la tipo plaza pública, en la cual todo mundo puede ver los detalles de un programa y cuando encuentra una falla avisa a todo mundo, y la tipo torre de marfil, donde sólo un reducido grupo puede ver el programa y cuando encuentra una falla no avisa a nadie. Al ser revisados por muchas personas y hacer públicas las fallas, es difícil que un error grave no sea detectado en un programa de software libre. En los programas torre de marfil, en cambio, las fallas pasan desapercibidas por el pequeño grupo y cuando la encuentran no avisan. En todo caso, y quizás esto es más grave, la respuesta de los programas torre de marfil es muy lenta; arreglar un grave fallo de seguridad puede tardar meses sin que los usuarios estén conscientes del peligro que corren, como ya ha pasado en varias ocasiones con Windows 2000 y XP. En la plaza pública, al ser dada a conocer una vulnerabilidad, uno puede decidir continuar con ese programa o reemplazarlo por otro que cumpla la misma función. En la torre de marfil uno no tiene esa libertad.

12.- El software libre es comunista.

No hay ninguna razón por la cual desarrollar software libre vaya en contra de las reglas del mercado. De hecho, el software libre se ha revelado como un modelo de negocios novedoso y que reporta miles de millones de dólares cada año. IBM, SUN, Computer Associates y Novell son empresas que han descubierto en el SL una manera de abrir el mercado ahí donde estaba copado y han dado nuevos bríos e innovaciones a la industria. Linus Torvald quizás no sea tan rico como Bill Gates, pero ciertamente su fortuna se calcula en millones de dólares y tengo serias dudas de que esté planeando donarlos a la revolución cubana.

13.- No hay virus en Linux porque poca gente lo usa.

Durante décadas, Unix fue el único sistema operativo que estaba disponible, su cuota de mercado era del 99%. Durante todo ese tiempo nunca hubo un virus. Los virus aparecieron al sumar Windows + Internet. Hay quienes dicen que Windows no es un sistema operativo verdadero, sino un "gestionador promiscuo de memoria y ejecutables". Cuando un archivo llega a Linux (por Internet o porque se copia de un CD) no puede ejecutarse, porque no posee permisos y aunque los tuviese, no puede activar ningún servicio porque no es dueño del demonio que lo ejecuta. Esto revela un sistema operativo maduro y bien diseñado. Existen otros peligros para Linux, como los troyanos o algún exploit, pero por cada uno de ellos hay miles de virus. Concluyendo: en Linux (como en todos los Unix) nunca habrá virus.

14.- En linux no hay soporte.

Este mito ha sido despedazado por el último reporte de ganancias trimestrales de IBM: 27.700 millones de dólares (casi el triple que Microsoft). La mayoría de este dinero proviene de servicios y soporte para Linux. EL software libre ha revolucionado el mercado: ya no se venden licencias, se venden las consultorías y el Know how. Esto ha beneficiado a las empresas pequeñas de cada país, que pueden competir dando soporte a Linux a precios muy razonables. De esta manera el dinero que se iba al norte por el estéril pago de licencias, se queda en cada país por pago de servicios.

15.- Linux no le quita mercado a Windows, sino a Unix.

Si bien es cierto que Linux ha jubilado a AIX de IBM y Solaris de SUN, lo cierto es que muchas migraciones Unix->Windows se han visto canceladas en beneficio de las nuevas Unix->Linux. El modesto crecimiento de los servidores con Windows Server 2003 durante los dos útimos años es debido a que Linux se ha convertido en la gran opción de muchas empresas que gustan de Unix pero lo encontraban muy costoso. Las únicas razones por las cuales la gente sigue instalando servidores con Windows es por pereza o por ignorancia.
Fuente: Kernelnet
url: http://www.kernelnet.com/articulos/windows/58-mitos-sobre-linux-

lunes, 1 de noviembre de 2010

Algo de representaciones gráficas

El diagrama PERT es una representación gráfica de las relaciones entre las tareas del proyecto que permite calcular los tiempos del proyecto de forma sencilla.

·         Es un grafo, o sea, un conjunto de puntos (nodos) unidos por flechas.
·         Representa las relaciones entre las tareas del proyecto, no su distribución temporal.
·         Las flechas del grafo corresponden a las tareas del proyecto.
·         Los nodos del grafo, representado por círculos o rectángulos, corresponden a instantes del proyecto. Cada nodo puede representar hasta dos instantes distintos, el inicio mínimo de las tareas que parten del nodo y el final máximo de las tareas que llegan al mismo.
·         Es una herramienta de cálculo, y una representación visual de las dependencias entre las tareas del proyecto.
 Tarea 
 Predec. 
 Duración 
A
-
2
B
A
3
C
-
2
D
C
3
E
DII+1
2
F
BFI-1
3
G
D, E, F
3
H
GFF
2
    

Para construir un diagrama PERT se han de tener en cuenta las siguientes reglas
·         Los nodos representan instantes del proyecto. Cada nodo representa el inicio mínimo (im) de las tareas que tienen origen en dicho nodo y el final máximo (FM) de las tareas que llegan al mismo.
·         Sólo puede haber un nodo inicial y un nodo final. O sea, sólo puede haber un nodo al que no llegue ninguna flecha (nodo inicial) y sólo puede haber un nodo del que no salga ninguna flecha (nodo final).
·         La numeración de los nodos es arbitraria, si bien se reserva el número menor (generalmente el 0 o el 1) para el nodo inicial y el mayor para el nodo final.
·         Las flechas representan tareas y se dibujan de manera que representen las relaciones de dependencia entre las tareas. Los recorridos posibles a través del diagrama desde el nodo inicial al nodo final, siguiendo el sentido de las flechas, deben corresponder con las secuencias en que deben realizarse las distintas tareas, o sea, los caminos del proyecto.
·         No puede haber dos nodos unidos por más de una flecha.
·         Se pueden introducir tareas ficticias con duración 0, que acostumbran a notarse f(0), para evitar construcciones ilegales o representar dependencias entre tareas, como en los ejemplos siguientes.

Ejemplo 1:
Las tareas I y J dependen de la tarea H, mientras que la tarea K depende, a su vez, de I y J; la representación más inmediata sería la mostrada en el gráfico anterior, que no está permitida, siendo la correcta:

Ejemplo 2:
La tarea J depende de H y la tarea K depende de H e I. Siguiendo las flechas, puede comprobarse que el gráfico propuesto define los caminos H-J y H-K e I-K.

Ejemplo 3:
En el proyecto con las relaciones de dependencia establecidas en la siguiente tabla, es necesario utilizar dos tareas ficticias para representar la relación de dependencia de la tarea E, ya que sería imposible hacerlo de otro modo sin vincularla también la las tareas C o D.

 Tarea 
 Predec. 
A
-
B
-
C
A
D
B
E
A, B
 


Veremos, a continuación, la representación de las relaciones básicas de dependencia:
·         Relación Fin-Inicio (FI).
·         Relación Fin-Inicio (FI) con retardo. El retardo se representa como una tarea fictica de duración igual al retardo; si el retardo es negativo, se ha de indicar su signo y tenerlo en cuenta al realizar los cálculos.
·         Relación Inicio-Inicio (II). Para su representación en el diagrama se sustituye la relación II por una relación equivalente a efectos de cálculo: una relación Fin-Inicio con un retardo negativo igual a la duración de la tarea predecesora.
·         Relación Inicio-Inicio (II) con retardo. Se introduce una tarea ficticia adicional con la duración del retardo, como en el caso Fin-Inicio. Si se desea, se pueden sumar (teniendo en cuenta sus signos) las duraciones de las tareas ficticias correspondientes al tipo de relación y al retardo y representarlas mediante una única tarea ficticia.
·         Relación Fin-Fin (FF). Para su representación en el diagrama se sustituye la relación FF por una relación equivalente a efectos de cálculo: una relación Fin-Inicio con un retardo negativo igual a la duración de la tarea sucesora.
·         Relación Fin-Fin (FF) con retardo. Se introduce una tarea ficticia adicional con la duración del retardo, como en el caso Fin-Inicio. Si se desea, se pueden sumar (teniendo en cuenta sus signos) las duraciones de las tareas ficticias correspondientes al tipo de relación y al retardo y representarlas mediante una única tarea ficticia.
Para seguir paso a paso la construcción de un diagrama PERT, consulte el ejemplo

Cálculos
El diagrama PERT permite calcular los inicios mínimos y los finales máximos de todas las tareas del proyecto. En cada nodo obtendremos el inicio mínimo de todas las tareas que tengan origen en ese nodo y el final máximo de todas las tareas que lleguen a él. En todas las ilustraciones y ejemplos de este curso situaremos los inicios mínimos en la parte superior del nodo y los finales máximos en la parte inferior.

En primer lugar se calculan todos los inicios mínimos del proyecto; para ello:
·         Por definición, el inicio mínimo de un proyecto es el instante cero de ese proyecto. por lo tanto, se ha de poner un cero en la parte superior del primer nodo.

·         Si al inicio mínimo (im) de una tarea Ti le sumamos la duración de la misma, obtendremos el final mínimo (fm) de dicha tarea: fmi=imi+di. Si la tarea Tj depende sólo de la tarea Ti con una relación fin-inicio, Tj sólo podrá iniciarse una vez que la tarea precedente (Ti) haya terminado. O sea, el inicio mínimo de Tj será igual al fin mínimo de Ti:
imj = fmi = imi+di
·         Por lo tanto, se ha de recorrer el diagrama en el sentido de las flechas. En la parte superior de cada nodo se escribe el valor resultante de sumar la duración de la tarea mediante la que se llega al nodo y el valor en la parte superior del nodo del que procede.
·        
·        
·         Si una tarea Tj depende de varias tareas Ti con una relación fin-inicio, la tarea Ti no se podrá iniciar hasta que no hayan terminado todas las tareas Ti, o sea, el inicio mínimo de Tjes igual al mayor de los finales mínimos de las tareas Ti:
imj = max(fmi)
·         Por lo tanto, sobre el grafo, cuando a un nodo llegan varias flechas se deben calcular los valores obtenidos a través de los distintos caminos de llegada al nodo y tomar el mayor de dichos valores.
·        
·        
·         El último nodo representa el final del proyecto. En este punto ya conocemos los inicios mínimos de todas las tareas del proyecto. El valor en la parte superior del nodo es el inicio mínimo de cualquier tarea que se realice una vez terminado el proyecto, por lo que corresponde con el fin mínimo del proyecto. Normalmente nos interesa hacer los cálculos de manera que reflejen lo más pronto que se puede acabar el proyecto, por lo que fijaremos el fin máximo del proyecto igual a su fin mínimo.
fmproy = FMproy
·         Así, una vez se llega al último nodo, se copia en la parte inferior el valor obtenido en la parte superior.
·        
·        
A continuación se calcularán todos los finales máximos del proyecto:
·         Si al final máximo de una tarea Tj le restamos su duración, obtendremos su inicio máximo (lo más tarde que puede empezar sin retrasar el proyecto), o sea: IMj = FMj-dj. Si la tarea Tj depende sólo de la tarea Ti con una relación fin-inicio, la tarea Ti no podrá acabar más tarde del inicio máximo de Tj sin retrasar el proyecto, o sea, lo más tarde que puede terminar Ti es lo más tarde que puede empezar Tj:
FMi = IMj = FMj-dj
·         Por lo tanto, se ha de recorrer el diagrama en sentido inverso al de las flechas empezando por el nodo final. En la parte inferior de cada nodo se escribe el valor resultante de restar la duración de la tarea que parte del nodo calculado al valor en la parte inferior del nodo al que llega la tarea.
·        
·        
·         Si varias tareas Tj dependen de una o más tareas Ti, lo más tarde que podrán terminar las tareas Ti sin retrasar el proyecto será lo más tarde que podrá empezar la primera de las tareas Tj, o sea, aquella cuyo inicio mínimo sea menor. De este modo:
FMi = mín(IMj) = mín(FMj-dj)
·         Así, cuando de un nodo parten varias flechas, se deben calcular los valores obtenidos a través de cada una de ellas y tomar el menor de dichos valores.
·        
·        
·         El primer nodo del proyecto corresponde a su inicio, así que el valor obtenido como fin máximo se refiere al fin máximo que debería tener cualquier actividad previa al proyecto. Para que el proyecto pueda empezar en el instante 0, el fin máximo de cualquier actividad previa deberá también ser 0, por lo que éste deberá de ser el valor que obtengamos en la parte inferior del primer nodo.

Aunque la obtención de un cero en la parte inferior del primer nodo no nos garantiza que los cálculos sean correctos, si se obtiene cualquier otro valor se podrá afirmar que existe algún error en los cálculos realizados.