Software
libre es aquel que respeta la libertad de todos los usuarios que adquieren el
producto, es libre cuando se pueda conocer, utilizar, crear, programar,
desarrollar, comunicar y compartir sin restricciones. De esta forma, todo el
mundo puede contribuir a mejorar el software libre sin tener que pagar ni pedir
permiso a nadie, y que estas mejoras se pongan a disposición de todo el mundo. Linux
es el mejor ejemplo de lo que se conoce como software de código abierto, y en
la actualidad es la punta de lanza del popular movimiento a favor de este tipo
de software.
Las
computadoras parecen inteligentes porque pueden efectuar estas operaciones
aritméticas y las comparaciones rápidamente y con precisión. Una computadora
doméstica típica puede realizar miles de operaciones en el tiempo que usted
tarda en coger un bolígrafo y meterlo en el bolsillo.
Un
programa bien diseñado es el encargado de indicarle a la computadora que
ejecute una secuencia de operaciones sencillas que, tomadas en conjunto,
imprime un informe, organizan las notas de los alumnos de una escuela o simulan
un vuelo espacial. Sorprendentemente, todo lo que puede verse en una
computadora es el resultado de una secuencia de operaciones aritméticas y
lógicas extremadamente simples.
La
receta de la tortilla de patata de la abuela Enriqueta no es un programa
informático, ya que no ésta escrito en un lenguaje que la máquina pueda
entender, pero sí que podría ser considerado como un algoritmo (Un conjunto de
procedimientos secuenciales para llevar a cabo una tarea). Un programa suele
iniciarse como un algoritmo escrito en cualquier lenguaje humano, el algoritmo
inicial contendrá generalidades, ambigüedades y errores. El trabajo de
programador es convertir el algoritmo en un programa añadiéndole detalles,
puliendo los fallos, verificando los procedimientos y depurando los errores.
Cada
computadora procesa instrucciones en un lenguaje máquina, el cual emplea
códigos numéricos para representar las operaciones más básicas de una
computadora. Los programadores de antaño estaban obligados a escribir cada
programa en lenguaje máquina, lo que suponía una tediosa tarea de trasladar
cada instrucción a código binario. Hoy en día, la mayoría de programadores
emplean lenguajes de programación como C++, C#, Java o Visual Basic.NET que se
encuentra a medio camino entre lo que se entiende un humano y lo que se debe
suministrar a la máquina, estos lenguajes llamados lenguajes de alto nivel,
posibilitan que los científicos, ingenieros y público en general resuelvan sus
problemas mediante una terminología familiar, en lugar de usar enigmáticas instrucciones
máquina.
Las
aplicaciones de software que permiten a los usuarios controlar sus computadoras
sin pensar del mismo modo que los programadores. Cualquier paquete de software
debe incluir documentación impresa con las instrucciones a seguir para su
instalación en el disco duro de la computadora. La mayoría de empresas de
software trabajan en la mejora de sus productos, eliminando fallos y añadiendo
nuevas características, como resultado de ello es frecuente que aparezcan
nuevas versiones de los programas más populares cada uno o dos años. Según la
letra pequeña de las garantías incluidas en muchos paquetes de software,
algunas aplicaciones podrían ser técnicamente inservibles aun disponiendo de
hardware y software compatible. EULA (Contrato de licencia de usuario final,
End User License Agreement), cuando se adquiere cualquier paquete se software,
usted generalmente no está comprando ese software sino una licencia para usar
el programa, generalmente en una sola máquina.
El
software del sistema, un tipo de software que incluye el sistema operativo (SO)
y los programas de utilidad, es el encargado de gestionar esos detalles y otros
muchos sin que usted se entere de ellos. Toda computadora depende de un SO que
mantenga el hardware funcionando de forma eficiente y facilite el proceso de
comunicación con él. EL SO está ejecutándose continuamente desde el mismo
momento en el que se enciende la computadora, proporcionando una capa de
aislamiento entre el usuario y los bits y bytes que componen el mundo del hardware
de la computadora.
La
administración de memoria se alcanza de muy diversas formas, desde sencillas
rutinas que subdividen la memoria entre los distintos trabajos hasta elaborados
esquemas que intercambian temporalmente información entre la memoria de la
computadora y cualquier dispositivo de almacenamiento externo.
Algunas
computadoras tienen sus sistemas operativos almacenados permanentemente en ROM,
de modo que están operativas desde el mismo momento en que se encienden. La
mayor parte del tiempo, el SO trabaja en la sombra sin que el usuario se dé
cuenta de ello, pero hay ocasiones en las que el usuario tiene que comunicarse
directamente con él. A media que el software evoluciona, también lo hace la
interfaz de usuario. La interfaz de usuario es el aspecto y comportamiento desde
el punto de vista de un humano.
Un
sistema operativo actúa como una capa intermedia entre el usuario y los datos
contenidos en la computadora. Windows y Mac OS emplean una interfaz de usuario
que representa los datos de la computadora como ficheros almacenados en
carpetas que se encuentran en un escritorio virtual, tanto Windows como Mac
soportan el concepto de carpetas de sistema con nombres autoexplicativos. Los
sistemas operativos actuales incluyen herramientas de búsqueda que pueden
ayudar a encontrar ficheros almacenados en cualquier parte. En Windows es
posible buscar por nombre de fichero, por palabras o frases contenidas en los
mismos. En Mac OS X, se puede localizar información almacenada en el disco duro
mediante la herramienta integrada Buscar.
Internet
está lleno de computadoras con el sistema operativo UNIX, el mismo que fue
desarrollado en los laboratorios Bell antes de que apareciera el primer PC,
permite a una computadora de tiempo
compartido comunicarse una vez con otras computadoras o terminales. UNIX ha
sido durante mucho tiempo el sistema operativo preferido para las workstations y los mainframes de los centros académicos y de investigación. Linux es
un clon de UNIX, está ampliamente distribuido y soportado por un devoto e inteligente
grupo de usuarios.
En la
mayoría de dispositivos electrónicos, el sistema operativo trabaja de forma
invisible y anónima. Pero algunos de estos sistemas operativos, especialmente
los incluidos en los PC, son reconocidos por su nombre y su reputación. Entre
los sistemas operativos más populares se puede citar: Microsoft Windows XP,
Windows Server 2003, Microsoft Windows Millennium Edition (Windows Me)/Windows
9x, Microsoft Windows CE.NET, Palm OS, Mac OS X (10), Mac OS 9 y Linux. En sí
mismos, los sistemas operativos no resultan muy útiles a la gente, necesitan de
software para que puedan resultar interesantes.
Las
interfaces de usuario han evolucionado a lo largo de los años hasta el punto de
que sofisticados paquetes de software pueden ser controlados por cualquier
persona. Las interfaces gráficas del mañana integrarán voz, gráficos
tridimensionales y animaciones para crear una realidad artificial. Estas futura
interfaces de usuario estará ciertamente involucrado el uso del lenguaje
natural.
No hay comentarios:
Publicar un comentario