lunes, 22 de septiembre de 2014

Administración de archivos

Concepto de administración de archivos.

Un administrador de archivos es una aplicación informática que provee acceso a archivos y facilita el realizar operaciones con ellos, como copiar, mover o eliminar archivos donde el usuario lo quiera ubicar.
Se ocupa de ofrecer los mecanismos para almacenar, compartir y asegurar archivos, así como para hacer referencia a ello.

La administración de archivos no tan solo esta en la administración de datos en la memoria de la computadora y no solo ocupa una pequeña parte del desarrollo total del software su función principal va mas allá del manejo de la información en la memoria y es la de organizar el almacenamiento físico de archivos en el disco ya sea de tipo de texto, de códigos, de base de datos, etcétera. Por lo que al verlo desde este punto de vista es una parte esencial en el desarrollo del software ya que permite la manipulación y organización directa de los archivos.


Archivos Secuenciales

En un archivo organizado secuencialmente, los registros quedan grabados consecutivamente cuando el archivo se crea y se deben accesarse consecutivamente.

[Diapositiva3.JPG]

Ventajas y desventajas: La ventaja mas importante es la capacidad de accesar al “siguiente” registro rápidamente, además de que son muy
sencillos de usar y de aplicar. Si la secuencia de acceso a registros
en un archivo secuencial es conforme al ordenamiento físico de los mismos, entonces los tiempos de acceso serán muy buenos,
sin embargo, si el acceso no esta basado en el orden físico de los registros, entonces la eficiencia del programa puede ser terrible dando lugar a tiempos de acceso muy altos, provocando una desventaja.


Archivos Relativos

Se utiliza la organización relativa cuando existe la necesidad de accesar registros individuales directamente. En un archivo relativo existe una relación predecible entre la llave usada para identificar un registro y su localización dentro del archivo. Sin embargo es importante comprender que el ordenamiento lógico de los registros no necesita tener ninguna relación con su secuencia física. Los registros no necesariamente aparecen físicamente ordenados de acuerdo al valor de sus llaves. A cada archivo relativo debe
definírsele una relación que será utilizada para obtener una dirección física (o lógica) a partir de un valor llave. Esta relación R es una función de mapeo y se obtiene mediante métodos de conversión clave-dirección o
técnicas hashing,


http://www.ite.educacion.es/formacion/materiales/62/cd/modulo_6_elementos_multimedia/18_carpeta.png


R(llave) <-----> Dirección

Ventajas y desventajas: La ventaja principal de un archivo relativo es la habilidad de accesar registros individuales directamente. Su desventaja radica (dependiendo de la función de mapeo) en que se puede presentar una misma dirección para diferentes valores de llave, es decir, se presentan colisiones.

R (K1) = R (K2) : Colision


Donde:

 R = Función de mapeo
K1, K2 = Valores de clave o llave y
K1 ? K2



Otra desventaja es el desperdicio de espacio debido a la distribución al azar de los registros.

lunes, 15 de septiembre de 2014


Las cinco funciones básicas de los sistemas 

operativos.





Interfaces de usuarios: Es la parte del sistema operativo que permite comunicarse con él de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos básicos de interfaces: las que se basan en comandos, las que utilizan menús y las interfaces gráficas de usuario. 











Administración de recursos:
Sirve para administrar los recursos de hardware y de redes de un sistema informativo, como el CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida.










Administración de archivos: Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos magnéticos y en otros dispositivos de almacenamiento secundarios.










Administración de tareas: Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. Las funciones de administración de tareas pueden distribuir una parte específica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad.




Servicio de soporte: Los servicios de soporte de cada sistema operativo dependerán de la implementación (programas orientados a diferentes tareas, como editores de texto, administradores de archivos, navegadores, etc.) particular de éste con la que estemos trabajando. Estos servicios de soporte suelen consistir en:
  • Actualización de versiones.
  • Mejoras de seguridad.
  • Inclusión de alguna nueva utilidad (un nuevo entorno gráfico, un asistente para administrar alguna determinada función, etc.).
  • Controladores para manejar nuevos periféricos.
  • Corrección de errores de software.
  • Otros.


Sistemas operativos libres y propietarios.



Sistemas operativos libres. 

El Software libre, es aquel que puede ser distribuido, modificado, copiado , redistribuido y usado como al usuario le plazca. Por tanto, este viene acompañado de su código fuente (es un conjunto de líneas de texto que son las instrucciones que debe seguir el ordenador a la hora de ejecutar dicho programa. Por tanto, en el código fuente de un programa está descrito por completo su funcionamiento.) 
Dentro de la rama del software libre, hay matices que debemos tener en cuenta. 

Por lo general, todo el software libre, tiene las siguientes características. 


  • Todo el mundo tiene derecho de usarlo sin coste alguno. 
  • Todo el mundo tiene derecho a acceder a su diseño y aprender de él y su funcionamiento.  
  • Todo el mundo tiene derecho de modificarlo: si el software tiene limitaciones o no es adecuado para una tarea, es posible adaptarlo a necesidades específicas de cada usuario y redistribuirlo para que otras personas se puedan ver beneficiadas por tu trabajo. 
  • No tiene un coste asociado. 
  • Es de libre distribución. 


Estas mismas características tienen una repercusión directa en el software. 


  • El software tiende a ser mucho mas eficiente ya que mucha gente trabaja en él y lo optimizan y mejoran continuamente. 
  • Suele ser software muy robusto, ya que es testeado por muchísima más gente (hay muchos mas desarrolladores) y todo el mundo quiere colaborar y aportar su granito de arena para el bién común. 
  • Tiende a ser software muy diverso, ya que la gente tiene muchas necesidades distintas y esto es lo que hace al software libre estar preparado para adaptarse a una cantidad mayor de problemas. 
Estos derechos, características y ventajas, no están principalmente relacionadas con el software privativo, en el cual tenemos que pagar una licencia al creador ( como el pago por uso de una patente) y estar continuamente sujetos a las condiciones de uso del fabricante. 

El gran éxito y el continuo crecimiento del software libre, se debe en gran parte al internet, ya que ha permitido a personas interesadas en los varios componentes del software libre ponerse fácilmente a trabajar en conjunto con un gran grupo de personas en un desarrollo continuo y conjunto de software. 

Existen distintas motivaciones que impulsan a los desarrolladores a trabajar en el software libre, algunas de ellas podrían ser: 

-El deseo de crear nuevo software, para distintas necesidades. 
-El querer crear este software más estable y robusto. 
-La posibilidad de controlar el software y tener un mayor control en los errores y problemas de este. 
-Crear aplicaciones funcionales de coste muy reducido. 
-Reutilización del conocimiento de otros compañeros, y una formación continuada. 
-Adquirir conocimientos de programación. 
-Adaptar cualquier tipo de software a las necesidades del usuario. 

Cuando hablamos de software libre, nos referimos a la LIBERTAD del usuario, para usar el programa para un cometido para el cual este no había sido diseñado, así como libertad para modificarlo, libertad para realizar copias del mismo… en definitiva, todo lo necesario para poder comprender el funcionamiento del programa y poder aprender de él y su uso. 
Para gozar de la libertad de la cual estamos hablando implica entre otras, no tener que pedir permiso al autor (persona o entidad) para modificaciones o distintos usos que le queramos dar al software, así como no pagar por este. 




Sistemas operativos propietarios.


El software no libre o también llamado software propietario o privativo, se refiere a cualquier programa informático, en el que los usuarios de este tienen limitadas las posibilidades de uso, modificación o distribución de este. 
En el software privativo, una persona física o jurídica (empresas, corporaciones, asociaciones y demás) posee la obligación de NO usar el programa con otro fin que no haya impuesto el autor de dicho programa o soft. Quedando así descartada cualquier opción de estudiar la mecánica del programa en cuestión, o adaptar este a unas necesidades más específicas para el usuario que lo está usando. De esta manera, un software privativo, no permite la modificación de su código fuente, aún si este es público, siempre y cuando se mantenga la reserva de derechos sobre el uso, modificación o distribución de este. 
Actualmente cerca del 75% de todo el software, usado es propietario o privativo. 




¿Porque Software Privativo? 
La expresión de “software privativo “ fue empezada a usar por Richard Stallman (padre del software libre y su filosofía) por el año 2003, ya que exponía que lo que hacia el software propietario era privar y restringir de derechos o libertades, que es justamente lo que se pretendía describir, la privación que tenemos los usuarios delante de todo el software privativo, que actualmente por desgracia es la gran mayoría. 



Software Semilibre. 
Es todo aquel software que sigue manteniendo todas las características que el software libre para los usuarios individuales o particular, mientras que prohíbe esas libertades a las entidades que lo usan para fines comerciales u otros medios. 





Abandonware. 
El abandonware, es el software cuyos derechos de autor ya no son defendidos o que ya no está siendo vendido por la compañía que lo hizo o simplemente se han desentendido de ese proyecto, por eso se le ha denominado “Abandonware” 

lunes, 8 de septiembre de 2014

Historia de los sistemas operativos (SO)

HISTORIA DE LOS SISTEMAS OPERATIVOS.
Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del Hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de válvulas (primera generación) a transistores (segunda generación), a circuitos integrados (tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación).






PRIMERA GENERACIÓN.

Los sistemas operativos de los años cincuenta fueron diseñados para hacer mas fluida la transición entre trabajos. Antes de que los sistemas fueran diseñados, se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando el trabajo estaba en ejecución, este tenia control total de la maquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y leía e iniciaba el trabajo siguiente.
Al inicio de los 50's esto había mejorado un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina), puesto que ya no había necesidad de utilizar los tableros enchufables.


La introducción del transistor a mediados de los 50's cambió la imagen radicalmente.

Se crearon máquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque sólo las grandes universidades y las grandes corporaciones o bien las oficinas del gobierno se podían dar el lujo de tenerlas.





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 de la maquina.

La independencia de dispositivos aparece después. Un usuario que desea escribir datos en una cinta en sistemas de la primera generación tenia que hacer referencia especifica a una unidad de cinta particular. En la segunda generación, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto numero de pistas y cierta densidad.





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, nunca antes se había construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho después de lo que el planificador marcaba como fecha de terminación.
Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios.


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.
Con la ampliación del uso de redes de computadores y del procesamiento en línea los usuarios obtienen acceso a computadores alejados geográficamente a través de varios tipos de terminales.
Los sistemas de seguridad se ha incrementado 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.
El porcentaje de la población que tiene acceso a un computador en la década de los ochenta es mucho mayor que nunca y aumenta rápidamente.
El concepto de maquinas virtuales es utilizado. El usuario ya no se encuentra interesado en los detalles físicos de; sistema de computación que esta siendo accedida. En su lugar, el usuario ve un panorama llamado maquina virtual creado por el sistema operativo.
Los sistemas de bases de datos han adquirido gran importancia. Nuestro mundo es una sociedad orientada hacia la información, y el trabajo de las bases de datos es hacer que esta información sea conveniente accesible de una manera controlada para aquellos que tienen derechos de acceso.