miércoles, 20 de noviembre de 2013

CAPÍTULO 4. FUNDAMENTOS DEL SOFTWARE: EL FANTASMA DE LA MÁQUINA

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