lunes, 22 de septiembre de 2014

Administración de Archivos

Definición: 

Cualquier aplicación encargada de la manipulación de ficheros en dispositivos de almacenamiento. Estos programas hacen más fácil el manejo de los archivos en discos duros, discos flexibles, discos ópticos, etc.

Las funciones básicas que permite un administrador de archivos son: copiar, pegar, mover, crear directorios, borrar, renombrar y buscar.

En Windows la aplicación administradora de archivos es llamada Explorador de Windows.

Los primeros gestores de archivos fueron creados para sistemas operativos con interfaces de usuario de símbolos (no gráficos).
Estos gestores de archivos generalmente representaban las unidades, particiones y directorios en su distribución física real y permitían un número limitado de operaciones sobre estos recursos.


El sistema operativo es responsable de las siguientes actividades respecto a la adminstración de archivos:

  • Creación de archivos y borrado. 
  • Creación de directorio y borrado. 
  • Soporte de primitivas de manipulación de archivos y directorios.
  • Mapeo de archivos en memoria secundaria. 
  • Respaldo de archivos en un medio de almacenamiento estable (no-volatil).

OPERACIONES CON ARCHIVOS

Las operaciones con archivos son básicamente dos:


  • Lecturas
  • Escrituras
“Una operación de lectura lee la siguiente porción del archivo y automáticamente adelanta un puntero de archivo, que sigue la pista a la posición de E/S”.
 
“Una escritura anexa información al final del archivo y adelanta el puntero al final de ese material (el nuevo final del archivo)”
.






Organización de Archivos:
 
La técnica utilizada para representar y
almacenar registros en archivos es
llamada organización de archivos. Las
cuatro técnicas fundamentales son: 

  • Secuencial 
  • Secuencial indexado 
  • Relativa (acceso directo) 
  • Multi-llave

TIPOS DE ACCESO A ARCHIVOS:


Mecanismo: Acceso Secuencial
La información del archivo se procesa en orden, un registro tras otro. Ventajas:Es el método de acceso más sencillo y más común.


Mecanismo: Acceso directo
Se basa en la premisa de que un archivo se compone de registros lógicos de longitud fija que permiten a los programas leer y escribir registros rápidamente sin ningún orden específico.
Para el acceso directo, el archivo se visualiza como una secuencia numerada de bloques o registros.







VENTAJAS: 


Los archivos de acceso directo son muy útiles para obtener acceso inmediato a grandes cantidades de información.
“Las bases de datos suelen ser de este tipo”

lunes, 15 de septiembre de 2014

Sistemas Operativos Libres y Propietarios

Primero que nada hay que entender que software libre no tiene nada que ver con software "gratuito" sino que esta relacionado a "libertad".

Software Libre:


Es aquel que incluye el código de programación para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el mismo. El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios.


Ventajas del software libre 


1.Coste de Adquisición. 
El Software como mercadería por lo general, no está a la venta. Lo que el usuario compra, al proveedor, es una licencia para usar de forma legal el programa en cuestión. 
El usuario que adquiere software libre, lo hace sin ningún gasto económico o a un coste realmente bajo (por lo general) . Para la mayoría de usuarios individuales el software libre, es una opción atractiva que garantiza calidad sin necesidad de verse forzado a gastar dinero. 


2.Innovación en el área de la tecnología. 
El software libre, tiene como objetivo compartir la información trabajando de manera cooperativa. Este es el principal modelo sobre el cual el hombre ha avanzado hasta el día de hoy. La ideología del software libre es que el conocimiento y la cultura son propiedad de la humanidad, sin hacer distinciones. 

3.Menores Requisitos de hardware. 
Por lo general, los sistemas y el software libre requieren menos hardware ala hora de funcionar al mismo rendimiento que el software privativo. Un ejemplo son los servidores Linux, que pueden prescindir de la interfaz gráfica para obtener una reducción de consumo / recursos del servidor. 

4.Independencia del proveedor. 
El software libre garantiza la independencia respecto al proveedor, gracias a la disponibilidad del código fuente del software, cualquier profesional, o entendido con unos conocimientos adecuados puede seguir ofreciendo desarrollo y servicios para la aplicación en cuestión. En el mundo del software privativo solo el creador tiene derecho a hacer eso, cosa que obstaculiza/anula por completo la personalización o adaptación del programa. 


5.Adaptación del software. 
El software propietario, se suele vender en paquetes de licencia estándar, por lo que el programa muchas veces no se adapta a las necesidades del usuario que va a hacer uso de este. Una gran parte de la industria del software se basa en desarrollar proyectos donde se requiere software personalizado. El software libre permite la completa personalización de este ya que el usuario dispone del código fuente, y así poder modificar el programa hasta que este cubra las necesidades que el usuario necesita satisfacer. 
La personalización es una área muy importante que el software libre puede responder muchísimo mejor que el software privativo. 



Desventajas del Software Libre. 


1.La curva de aprendizaje es mayor. 
Suele ser mayor para gente que viene de sistemas privativos , ya que estos "mastican la comida” al usuario para facilitar cualquier tipo de tarea esta característica puede ser positiva en muchos casos pero negativa en lo que aspectos técnicos se refiere. 

2.Es necesario dedicar recursos y tiempo a la reparación de errores. 
Sin embargo el software privativo, ni siquiera te da la opción ya que hay que esperar a que saquen la siguiente versión o un parche de la misma para solucionar ese error. 

3.La mayoría de tareas referentes a la configuración de hardware. 
No es intuitiva, los archivos de configuración precisan de ciertos cambios que requieren de conocimientos previos del sistema operativo y fundamentos del equipo a conectar para lograr, ya no el funcionamiento adecuado sino optimo.

4.Solo los proyectos importantes y de trayectoria tienen un buen soporte. 
Tanto de desarroladores como de los usuarios, aún así existen muchos proyectos más pequeños y recientes que carecen del compromiso necesario de los desarrolladores y de los usuarios para que sean instalados de manera fiable. 

5.No existen compañías o entidades únicas que respalden toda la tecnología. 
Así como la evolución y necesidades del software. 

Tipos de licencias: 


Una de las más utilizadas es la Licencia Pública General de GNU (GNU GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.

La Licencia Pública General de Affero (en inglés Affero General Public License, también Affero GPL o AGPL) es una licencia copyleft derivada de la Licencia Pública General de GNU diseñada específicamente para asegurar la cooperación con la comunidad en el caso de software que corra en servidores de red.
La Affero GPL es íntegramente una GNU GPL con una cláusula nueva que añade la obligación de distribuir el software si éste se ejecuta para ofrecer servicios a través de una red de ordenadores.

Software Propietario:

Es aquel que no cede el código de programación con el que está escrito el programa para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el mismo. El software propietario puede o no ser gratuito. Las empresas que hacen software propietario ganan dinero vendiendo directamente ese software y también con el asesoramiento y mantenimiento de esas redes hechas con software propietario.


Ventajas del software privativo.


1.Control de calidad.

las empresas al vender un producto, se ven forzadas a exigir un mínimo de calidad , un proceso donde el software es puesto a prueba para verificar su funcionalidad y estabilidad.

2.Cuentan con personal muy cualificado.

las grandes empresas , tienen a su disposición grupos de trabajo formados por programadores altamente cualificados y con años de experiencia en sus respectivos campos, para que el desarrollo de software sea el máximo de eficiente posible.

3.Software, muy específico.

Existen compañías espeicalizadas en desarrollar un tipo de software concreto y específico para unas tareas muy concretas y puntuales.

4.Difusión de publicidad.

Las grandes empresas realizan inversiones en patrocinar sus programas y esto genera un movimiento en el mercado a su favor, ya que estas grandes campañas publicitarias enseñan, presentan y documentan el producto de forma atractiva para que el cliente pueda ver lo mejor del producto en profundidad.

5.Usado mas comúnmente.

El software privativo de las grandes marcas conocidas, ha sido usado por la gran mayoría de usuarios en repetidas ocasiones y es fácil de usar hasta por el usuario mas inexperto.


Desventajas del software privativo.



1.Cursos de aprendizaje costosos.

Los cursos de especialización de casi cualquier marca de software (propietario) conocida son muy, muy caros y es difícil aprender a usarlos eficientemente.

2.Soporte técnico lento y deficiente.

Al ser tan grande la demanda de servicio técnico, las respuestas a la infinidad de los problemas y preguntas del usuario son respuestas prediseñadas con manuales muy pobres para el usuario.

3.Ausencia del código fuente.

El funcionamiento del software, es desconocido para el usuario que solo puedo usarlo de una forma en lugar de poder sacarle el 100% de su eficiencia, pese y haber pagado por él.

4.Ilegalidad en las copias.

Cualquier tipo de copia del contenido del cd, sin haber comprado las licencias necesarias anteriormente es un delito como todo el mundo ya sabe, con lo que eso acarrea. Que es nada.

Por lo cual el usuario tampoco podrá compartir el contenido que el ha pagado con personas de su confianza o incluso instalarlo en un segundo ordenador que el tenga a su cargo para su uso particular.

5.Imposible la innovación.

Es ilegal , modificar el programa o intentarlo . Si alguien tiene una idea innovadora o una mejora para el software en cuestión, hay dos simples opciones. O bien vender la idea a la compañía propietaria del software. O sino empezar des de cero una versión equivalente pero no copiada del programa.




lunes, 8 de septiembre de 2014

Historia de los Sistemas Operativos (S.O)

Década del '40 (Generación Cero):

A finales de los años 40, no existían los sistemas operativos, por eso, el programador debía conocer muy bien el hardware. En el infortunado caso de que su programa fallara, debía examinar los valores de los registros y páneles de luces indicadoras del estado de la computadora para determinar la causa del fallo y poder corregir su programa, además de enfrentarse nuevamente a los procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc; para volver acorrer su programa.



Década del '50 (Primera Generación):

A partir de los años 50 los operadores realizaban una secuencia de pasos repetitiva , se comenzaba a notar que  que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó "Sistema Operativo". Así, tenemos entre los primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS. 

Década del '60 (Segunda Generación):

La característica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramación, y los principios del multiprocesamiento. En los sistemas de multiprogramación, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rápidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional,con la finalidad de incrementar el poder de procesamiento.


Década del '70 (Tercera Generación):

Se inicia en 1964, con la introducción de la familia de computadores Sistema/360 de IBM. Los computadores de esta generación fueron diseñados como sistemas para usos generales. Casi siempre eran sistemas grandes,voluminosos, con el propósito de serlo todo para toda la gente. Eran sistemas de modos múltiples, algunos de ellos soportaban simultáneamente procesos por lotes,tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos.

Década del '80 (Cuarta Generación):

Los sistemas de la cuarta generación constituyen el estado actual de la tecnología. Muchos diseñadores y usuarios se sienten aun incómodos,después de sus experiencias con los sistemas operativos de la tercera generación.Los sistemas de seguridad se ha mejorado mucho ahora que la información pasa a través de varios tipos vulnerables de líneas de comunicación. La clave de cifrado esta recibiendo mucha atención;han sido necesario codificar los datos personales o de gran intimidad para que; aun si los datos son expuestos, no sean de utilidad a nadie mas que a los receptores adecuados.

Los sistemas para ordenadores personales
La tecnología de los circuitos integrados a gran escala (LSI) que permitía incluir miles de transistores por centímetro cuadrado, hizo que a principios de la década de 1980 comenzasen a proliferar los primeros ordenadores personales y sistemas operativos para ellos. Entre los muchos sistemas de esta época destacan el CP/M, el MS/DOS (precursor de los actuales sistemas de Microsoft), el OS/2 (inicialmente una iniciativa conjunta de Microsoft e IBM) y el Sistema 1 (precursor de Mac OS).