Informática Aplicada al Trabajo Social.

Facultad Trabajo Social UMU

Capítulo 4. Fundamentos de software
Contacte Inicio Divulgación Escepticismo Avisos Asignaturas Mapa web: Aquí puedes cambiar el tamaño y color del texto

Programación Sistemas operativos Software libre Linux Descargar apuntes en Después de leer esta capítulo debe ser capaz de: ­ Describir las categorías de software. ­ Explicar la relación de los algoritmos con el software. ­ Comentar los factores que hacen de una aplicación una herramienta útil. ­ Esbozar la evolución de las interfaces de usuario.
Selecciona un texto y pulsa aquí para oírlo

Página Rafael Barzanallana
Informática Aplicada a la gestión Pública.
Trabajos propuestos (teoría)

Informática Aplicada al Trabajo Social.
Trabajos propuestos

Informática Aplicada al Trabajo Social.
Actualizado Fundamentos de los ordenadores

Informática Aplicada al Trabajo Social.
Actualizado programa asignatura

Introducción a la Informática.
Actualizado Redes y comunicaciones

Valora este capítulo

Escepticismo en España
Planeta escepticismo pdfcrowd.com

Click to customize your PDFs

Planeta escepticismo

4.1.- Programación
El software posibilita que las personas puedan interaccionar con los ordenadores, como se vio previamente, el hardware de un ordenador electrónico trabaja con la electrónica binaria, es decir con tan sólo ceros y unos, mientras que los humanos tenemos un lenguaje mucho más complejo. Lo que conocemos como software no surgió con el primer ordenador, sino que ha evolucionado a lo largo del desarrollo de la electrónica, los ordenadores primitivos se programaban modificando el cableado de los circuitos electrónicos. En 1945, el matemático John Von Neumann (1903 ­ 1957), que trabajó con los creadores del ordenador ENIAC, J. Presper Eckert (1919­1995) y John Mauchly (1907­1980), escribió un informe en el que sugería que las instrucciones de un programa podrían almacenarse en la memoria junto con los datos. A partir de entonces los ordenadores se diseñaron con el concepto de programa almacenado, este fue el origen de la industria del software. Hasta el momento se han definido unos 2500 lenguajes de programación, siendo muy pocos los que han logrado una amplia difusión. El más reciente es Go, diseñado por la famosa empresa del buscador Google. Actualmente se escriben programas, que son un conjunto de instrucciones informáticas, diseñadas para resolver problemas, que le indican al ordenador los pasos a seguir. Estos programas se llevan al disco duro u otro dispositivo de almacenamiento y en el momento que se han de ejecutar se vuelcan a la memoria RAM del ordenador. Por ejemplo, si tenemos un ordenador tipo PC y queremos imprimir un documento, se efectuará el siguiente proceso: una vez arrancado el ordenador, el sistema operativo (por ejemplo Linux) se carga en la memoria RAM desde el disco duro, seguidamente se carga en memoria el programa editor de textos (por ejemplo Writer) para a continuación escribir el texto que deseemos o recuperarlo también de un soporte de almacenamiento si lo habíamos escrito previamente. Por último el documento se envía a la impresora.
Click to customize your PDFs

Escepticismo ARP­SAPC Círculo escéptico Magonia

Escepticismo en América
Pensar. Argentina Escépticos. Colombia Arev. Venezuela James Randi. EE.UU. CSI. EE.UU.

Sugerencias y consultas
Nombre: eMail: Tel (opcional):

Consulta o sugerencia:

pdfcrowd.com

Lenguajes de programación Una clasificación habitual de los lenguajes es la de hacer dos grupos según la forma de ejecución, esto es considerarlos como intérpretes y compiladores, según se describe seguidamente. Un lenguaje se dice que es un intérprete, por ejemplo el BASIC original, cuando para ejecutar un programa el lenguaje ha de leer y traducir al lenguaje de la máquina las instrucciones una por una. Como es lógico el proceso se enlentece, por ejemplo si una operación está dentro de la estructura conocida como ciclo y este se repite 100 veces, el lenguaje tiene que traducirlo 100 veces al código de la máquina. No todo son desventajas, pues la parte buena de este tipo de lenguajes es que los errores se pueden corregir al momento y seguir fácilmente la ejecución del programa, por lo cual son idóneos, aunque el BASIC no es recomendable, para aprender a programar, proceso en el que da lo mismo la lentitud. Por contra un lenguaje se dice que es compilado, cuando el programa entero se traduce mediante el compilador de dicho lenguaje al lenguaje máquina correspondiente y el resultado se almacena de manera permanente en un archivo. De esta forma el programa se ejecutará de forma mucho más rápida que con un intérprete, sobre todo si hay estructuras que se repiten, caso de los ciclos. La principal desventaja es cuando se produce un error, que muchas veces se detecta en el momento de la ejecución, y la corrección no se puede hacer de inmediato, sino que hay que realizar todo el proceso de compilado desde el principio. Un ejemplo típico de lenguaje de este tipo el C ++, ampliamente usado en el desarrollo de programas. El siguiente esquema muestra como trabaja un compilador:
Protec ción de datos: la informac ión proporcionada sólo se usa para reponder. No se almac ena los datos.

Submit

Recent Visitors

Click to customize your PDFs

pdfcrowd.com

Otra clasificación de los lenguajes de programación es según su nivel de abstracción, en dos grandes grupos, lenguajes de alto nivel y lenguajes de bajo nivel. El grupo de los de bajo nivel, como su nombre indica incluye los relacionados íntimamente con la arquitectura de la máquina, por lo que generalmente son específicos de un microprocesador (CPU) y no son válidos para otra diferente. Dentro de los de estos grupos está el lenguaje máquina, que es programar en el ámbito de la CPU, por lo tanto usando ceros y unos, lenguaje muy difícil y propenso a errores. El otro más conocido dentro de esta categoría es el Ensamblador, que utiliza nemónicos, por ejemplo ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), a escala sencilla, y por lo tanto evita las secuencias de ceros y unos. Aún así es bastante complicado y no es recomendable para usuarios sin amplios conocimientos. Seguidamente se muestra un programa en lenguaje ensamblador para CPU Intel, que muestra en pantalla el texto "Universidad de Murcia",
Click to customize your PDFs

pdfcrowd.com

.model tiny .data message db 'Universidad de Murcia' .code org 100h start: mov ah,9 mov dx,offset message int 21h ret end start Mientras que en un lenguaje de alto nivel como el Pascal, se escribiría de forma muy sencilla,

program UniMurcia; begin writeln('Universidad de Murcia'); end. En conclusión, un lenguaje de bajo nivel está orientado hacia una determinada máquina o clases de ordenadores. Mientras que un lenguaje de alto nivel es independiente del microprocesador del ordenador que lo soporta, así por ejemplo un programa escrito en lenguaje C, se puede compilar sin modificar para cualquier máquina, y en principio funcionará sin ningún problema. Esto implica dos ventajas principales, una es que la persona que desarrolla los programas no ha de saber nada acerca del ordenador en que se ejecutará el programa, la otra es que los programas son portables, es decir el mismo programa (en teoría) ha de funcionar sobre distintos tipos de ordenadores.
Click to customize your PDFs

pdfcrowd.com

El desarrollo de los lenguajes de alto nivel comenzó a mediados de los años cincuenta del siglo pasado, en esta época se crearon los lenguajes COBOL, Fortran y ALGOL60. Posteriormente han ido originándose otros muchos, aunque sobreviven muy pocos. Entre los lenguajes de alto nivel cabe destacar los siguientes: JAVA, BASIC, FORTRAN, MODULA 2, Pascal, ADA, C, C ++, LOGO, LISP, PROLOG En conclusión: un lenguaje de alto nivel está orientado hacia la resolución de una determinada clase de problemas. Otra forma de clasificar los lenguajes es según el paradigma de programación, declarativo, imperativo, orientado a objetos y funcional. Los imperativos establecen cómo debe ejecutarse una tarea partiéndola en procedimientos que especifican cada una de las tareas, por ejemplo C, Fortran y Pascal. Por el contrario los declarativos establecen estructuras de datos y las relaciones entre ellos que son significativas para ejecutar una tarea determinada, al tiempo que indican cual es el objetivo de dicha tarea. Un lenguaje típico de este grupo es el Prolog. El orientado a objetos usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora; está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento, Smalltalk es el lenguaje más representativo de este tipo. Funcional es un paradigma de programación declarativo basado en la utilización de funciones matemáticas, el lenguaje más representaivo es el LISP. Aunque puede seleccionarse la forma pura de estos paradigmas a la hora de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma. Metodologías de programación Desde hace algunos años se están produciendo cambios de gran alcance en la forma en que se desarrolla el "software" para los equipos informáticos. Entre las causas de estos cambios se incluyen las siguientes: El coste creciente de los desarrollos
Click to customize your PDFs

pdfcrowd.com

La insatisfacción de los usuarios con la adecuación y calidad La complejidad y tamaño creciente de los programas La creciente dependencia de muchas organizaciones de sus sistemas informáticos, sin posibilidad de abandonarlos El avance hacia los ordenadores de quinta generación con características "software" muy diferentes de los actuales. Estas y otras presiones están provocando una reorganización de los métodos empleados en el desarrollo de los programas para los ordenadores. Lo que se necesita son técnicas para la elaboración de productos software muy largos y complejos, que satisfagan estándares muy estrictos de calidad y prestaciones, de acuerdo con una planificación, control y presupuestos adecuados. Los métodos de trabajo que se han desarrollado para responder a estas necesidades constituyen lo que se ha dado en llamar "Ingeniería del Software". La Ingeniería del Software es una tarea de equipo, al comenzar un proyecto de desarrollo, se constituyen una serie de equipos con una estructura paralela a la del programa en sí. Se establece un calendario para el proyecto y se asignan costes a cada una de las partes y etapas del proyecto. Cada equipo tiene un responsable, cuya tarea es la de comprobar que la programación desarrollada por el equipo sea correcta, está estructurado con propiedad, dispone de las interfaces para conectar Sin embargo no ha mostrado gran eficacia en el tiempo que lleva aplicándose, incluso hay quienes no son partidarios de la Ingeniería del Software, como por ejemplo Ricardo Galli, creador de la famosa página Meneame. La Ingeniería del Software se ocupa del ciclo de vida completo de un producto software, diseño, desarrollo, uso y mantenimiento. El trabajo se hace buscando el mayor grado posible de estandarización y los menores costes durante la totali dad del ciclo de vida de los programas. La Ingeniería del Software implica que un programa bien estructurado satisfaga las siguientes condiciones:
Click to customize your PDFs

pdfcrowd.com

El programa ha de tener una estructura general en forma de módulos, que a su vez estarán formados por procedimientos o segmentos. Debe existir un interfaz claramente definido entre los diversos módulos. Cada módulo debe de ser una combinación sencilla de construcciones elementales de un lenguaje de programación. Debe existir una fuerte correspondencia entre la estructura de los módulos y la de los datos sobre los que operan. Cada módulo debe dejar las estructuras de datos sobre las que opera en un estado consistente con su definición. Un módulo no debe tener efectos secundarios. Por lo que respecta a las técnicas de diseño de programas, el método más simple y uno de los más populares es el conocido como de "Refinamiento Progresivo". Se fundamenta en el uso de algoritmos que se escriben en un lenguaje intermedio entre el castellano y un lenguaje de programación como el Pascal, este lenguaje se denomina pseudocódigo. El proceso se puede describir en términos de un lenguaje de esta naturaleza: Establecer todos los pasos del programa en un algoritmo breve de alto nivel. Repetir: Expandir cada sentencia del algoritmo en detalle, especificando los pasos necesarios. Hasta que las tareas hayan sido especificadas con el detalle suficiente como para que pueda generarse el código del programa.
Click to customize your PDFs

pdfcrowd.com

Existen otras metodologías más depuradas como por ejemplo la conocida como "Descomposición Funcional". A diferencia de la anterior en cada etapa se especifican las propiedades esenciales de las estructuras de datos, y cada algoritmo se expresa como una función matemática que transforma esta estructura de datos. Una vez desarrollado un programa como es lógico se ha de comprobar su buen funcionamiento. Actualmente en la mayoría de los casos se prueban con cualquier tipo de datos que pueden presentarse en la realidad. Sin embargo este proceso nunca puede establecer si un programa es o no correcto, sin importar cuantos conjuntos de datos de usen. Si un programa es de importancia crítica, como ocurre en el presente con muchas aplicaciones comerciales, industriales o militares, es necesario tomar todas las precauciones posibles para asegurar que están libres de errores. Otra metodología moderna es la de los "Métodos formales", la especificación formal es un área de investigación cuyo propósito es el desarrollo de técnicas, lenguajes y herramientas (basadas en lógicas clásicas y no clásicas, álgebras o cálculos) para alcanzar una de las principales metas de la ingeniería de software: permitir la construcción de sistemas que operen confiablemente a pesar de su complejidad. Aún cuando la aplicación de métodos formales no garantiza la correctitud a priori de un sistema, facilita considerablemente el análisis de las propiedades del sistema, mostrando posibles inconsistencias, ambigüedades o incompletitudes que de otra forma pasarían desapercibidas.

4.2.- Sistemas operativos
Como se ha visto en el apartado anterior, para ejecutar un programa de aplicación, por ejemplo un editor de textos, previamente se ha de cargar en la memoria del ordenador el denominado sistema operativo o sistema de explotación, que es como una capa intermedia entre el hardware del ordenador y los programas de los usuarios. En vez de definir qué es un sistema operativo, es más comprensible el describir las funciones que realiza en un ordenador:
Click to customize your PDFs

pdfcrowd.com

Comunicación con los periféricos. Algunas de las operaciones más complejas de un ordenador están relacionadas con la comunicación con los periféricos, como pantalla, impresora y disco duro. Coordinación de los trabajos concurrentes. Es habitual que los ordenadores procesen varios trabajos simultáneamente, es lo que se conoce como multitarea y algunos también son multiusuario, el sistema operativo ha de gestionar el acceso a la CPU de los diversos trabajos en ejecución simultánea. Administración de la memoria. Al estar bajo operación concurrente varios trabajos, es muy importante gestionar el uso de la memoria RAM, para evitar confusiones entre lo que procesan los distintos usuarios. También gestionan la conocida como memoria virtual, que es el uso del disco como almacenamiento temporal cuando no hay espacio suficiente en la memoria RAM. Monitorización de recursos. El sistema operativo también puede llevar una contabilidad sobre los recursos y tiempos que consume cada usuario, que suele acceder mediante un nombre y contraseña. Programas y localización de datos. El sistema operativo es como un librero que se encarga de buscar y acceder a los ficheros y programas que requiere el usuario. Coordinación de las comunicaciones en una red. Las primeras redes de ordenadores no eran gestionadas por los sistemas operativos, en su lugar habían sistemas específicos para redes, sin embargo actualmente también las gestionan.

En el entorno de ordenadores domésticos el sistema operativo más usado es Windows, mientras que en entornos profesionales hay otros como el Mac­OS y las diversas variantes de Linux y Unix. Con la llegada al mercado de equipos portátiles de reducido tamaño conocidos como netbooks,y teléfonos móviles de avanzadas prestaciones
Click to customize your PDFs

pdfcrowd.com

conocidos como netbooks,y teléfonos móviles de avanzadas prestaciones ("smartphones") han surgido otros sistemas operativos para ambos tipos de equipos. Para los netbooks hay un sistema operativo desarrollado por Google y basado en Linux, denominado Chrome, aparte también está empezando a difundirse Jolicloud. Nokia e Intel han fusionado sus desarrollos basados en Linux en un nuevo sistema operativo denominado MeeGo. Por lo que respecta a los teléfonos, Nokia tiene un sistema opertivo libre, Symbian; y Google ha desarrollado una variante de Linux, comercializada bajo el nombre Android. También existen versiones de WIndiws, no recomendables como es habitual con los productos Microsoft Como ejemplo de la complejidad de los sistemas operativos, se indica el número de líneas de código, en millones, de diversas versiones de los más habituales: Sistema Operativo Microsoft Windows 3.1 (Abril 1992) Sun Solaris (Octubre 1998) Microsoft Windows 95 (Agosto 1995) Red Hat Linux 6.2 (Marzo 2000) Microsoft Windows 2000 (Febrero 2000) Red Hat Linux 7.1 (Abril 2001) Microsoft Windows XP (2002) Red Hat Linux 8.0 (Septiembre 2002) Debian 3.0 (Julio 2002) Debian 3.1 (Junio 2005) Windows Vista (2005) Líneas *10^6 3 7.5 15 17 29 30 40 50 105 229.5 50

Fedora Core 4 (versión previa; Mayo 2005) 76

4.3.- Software Libre
Click to customize your PDFs

pdfcrowd.com

El "Software Libre" es un asunto de libertad, no de precio. Para entender el concepto, debes pensar en "libre" como en "libertad de expresión", no como en "cerveza gratis" (en inglés una misma palabra "free" significa tanto libre como gratis, lo que ha dado lugar a cierta confusión. "Software Libre" se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el "software". De modo más preciso, se refiere a cuatro libertades de los usuarios del "software": La libertad de usar el programa, con cualquier propósito (libertad 0). La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto. La libertad de distribuir copias, con lo que puedes ayudar a cualquiera (libertad 2). La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto. Un programa es "software libre" si los usuarios tienen todas estas libertades. Así pues, deberías tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos. También deberías tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin ni siquiera tener que anunciar que dichas modificaciones existen. Si publicas tus cambios, no tienes por qué avisar a nadie en particular, ni de ninguna manera en particular. La libertad para usar un programa significa la libertad para cualquier persona u organización de usarlo en cualquier tipo de sistema informático, para cualquier clase de trabajo, y sin tener obligación de comunicárselo al desarrollador o a alguna otra entidad específica.
Click to customize your PDFs

pdfcrowd.com

La libertad de distribuir copias debe incluir tanto las formas binarias o ejecutables del programa como su código fuente, sean versiones modificadas o sin modificar (distribuir programas de modo ejecutable es necesario para que los sistemas operativos libres sean fáciles de instalar). Está bien si no hay manera de producir un binario o ejecutable de un programa concreto (ya que algunos lenguajes no tienen esta capacidad), pero debes tener la libertad de distribuir estos formatos si encontraras o desarrollaras la manera de crearlos. Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, debes tener acceso al código fuente del programa. Por lo tanto, la posibilidad de acceder a dicho código es una condición necesaria para el software libre. Para que estas libertades sean reales, deben ser irrevocables mientras no hagas nada incorrecto; si el desarrollador del software tiene el poder de revocar la licencia aunque no le hayas dado motivos, el software no es libre. Son aceptables, sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre, mientras no entren en conflicto con las libertades centrales. Por ejemplo, copyleft ["izquierdo de copia"] (expresado muy simplemente) es la regla que implica que, cuando se redistribuya el programa, no se pueden agregar restricciones para denegar a otras personas las libertades centrales. Esta regla no entra en conflicto con las libertades centrales, sino que más bien las protege. Así pues, quizás hayas pagado para obtener copias de software GNU, o tal vez las hayas obtenido sin ningún coste. Pero independientemente de cómo hayas conseguido tus copias, siempre tienes la libertad de copiar y modificar el software, e incluso de vender copias. "Software libre" no significa "no comercial". Un programa libre debe estar disponible para uso comercial, desarrollo comercial y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual; el software comercial libre es muy importante. Es aceptable que haya reglas acerca de cómo empaquetar una versión
Click to customize your PDFs

pdfcrowd.com

modificada, siempre que no bloqueen a consecuencia de ello tu libertad de publicar versiones modificadas. Reglas como "Si haces disponible el programa de esta manera, debes hacerlo disponible también de esta otra" pueden ser igualmente aceptables, bajo la misma condición. (Observa que una regla así todavía te deja decidir si publicar o no el programa). También es aceptable que la licencia requiera que, si has distribuido una versión modificada y el desarrollador anterior te pide una copia de ella, debas enviársela. En el proyecto GNU, se utiliza "copyleft" para proteger de modo legal estas libertades para todos. Pero el software libre sin "copyleft" también existe. Hay razones importantes por las que es mejor usar "copyleft", pero si tus programas son "software libre" sin ser "copyleft", los podemos utilizar de todos modos. Visita la página Categorías de Software Libre para ver una descripción de las diferencias que hay entre el "software libre", "software con copyleft ("izquierdo" de copia)" y otras categorías que se relacionan unas con otras. A veces las normas de control de exportación del gobierno y las sanciones mercantiles pueden restringir tu libertad de distribuir copias de los programas a nivel internacional. Los desarrolladores de software no tienen el poder de eliminar o sobrepasar estas restricciones, pero lo que pueden y deben hacer es rehusar el imponerlas como condiciones de uso del programa. De esta manera, las restricciones no afectarán a actividades y gente fuera de las jurisdicciones de estos gobiernos. Cuando se habla de "software libre", es mejor evitar términos como: "regalar" o "gratis", porque esos términos implican que lo importante es el precio, y no la libertad. Algunos términos comunes tales como "piratería" conllevan opiniones que esperamos no apoyes. Visita la página "Palabras y frases confusas" que vale la pena evitar, donde encontrarás una discusión acerca de estos términos. También tenemos una lista de traducciones de "software libre" a varios idiomas. Por último, fíjate en que los criterios establecidos en esta definición de "software libre" requieren pensarse cuidadosamente para interpretarlos. Para decidir si una licencia de "software" concreta es una licencia de "software libre", lo juzgamos basándonos en estos criterios para determinar
Click to customize your PDFs

pdfcrowd.com

si tanto su espíritu como su letra en particular los cumplen. Si una licencia incluye restricciones contrarias a nuestra ética, la rechazamos, aun cuando no hubiéramos previsto el problema en estos criterios. A veces un requisito de una licencia plantea una situación que necesita de una reflexión minuciosa, e incluso conversaciones con un abogado, antes de que podamos decidir si la exigencia es aceptable. Cuando llegamos a una conclusión, a veces actualizamos estos criterios para que sea más fácil ver por qué ciertas licencias se pueden calificar o no como de software libre. Software libre no sólo existe para el sistema operativo Linux y análogos, sino que también lo hay para Windows, se puede obtener una relación de productos software gratuitos en Listible. Creative Commons Traducido literalmente como "Comunes  Creativos", es una organización no gubernamental, sin ánimo de lucro, que fue fundada y actualmente es presidida por Lawrence Lessig, profesor de derecho en la Universidad de Stanford (EE.UU.) y especialista en ciberderechos. Esta organización desarrolla planes para ayudar a reducir las barreras legales de la creatividad por medio de nueva legislación y de las nuevas tecnologías. Creative Commons está inspirada en la licencia GPL (General Public License) de la Free Software Foundation (Sin embargo no es un tipo de licenciamiento de software libre). La idea principal es posibilitar un modelo legal y ayudado de herramientas informáticas para así facilitar la distribución y el uso de contenidos para el dominio público. Ofrece una serie de licencias, cada una con diferentes configuraciones o principios como el derecho del autor original a dar libertad para citar su obra, reproducirla, crear obras derivadas, ofrecerlo públicamente y con diferentes restricciones como no permitir el uso comercial o respetar la autoría original.
Click to customize your PDFs

pdfcrowd.com

Una de las licencias ofrecidas por Creative Commons es la licencia que lleva por nombre "Developing Nations" (Naciones en Desarrollo). Esta licencia permite que los derechos de autor y regalías por las obras, se cobren solo en los países desarrollados del primer mundo, mientras que las mismas se ofrecen de forma abierta en los países en vías de desarrollo. Aunque originalmente fueron redactadas en inglés, las licencias han sido adaptadas a varias legislaciones alrededor del mundo. Entre otros idiomas, han sido traducidas al castellano, al portugués y al catalán a través del proyecto International Commons. Existen varios países que están involucrados en el proceso: Brasil, España, Chile, Argentina, México, Perú y Colombia ya tienen las licencias traducidas y en funcionamiento. Entre tanto, Venezuela y Puerto Rico (entre muchos otros) se encuentran en proceso de traducción e implementación de las mismas.

4.4.- Linux
El predecesor de Linux era el UNIX, diseñado en los laboratorios Bell de la empresa AT&T, para su empleo en ordenadores marca Digital. Dadas sus características pronto se difundió ampliamente en ambientes universitarios, por lo que en los primeros años se consideró como un sistema operativo orientado hacia ambientes de investigación y no en aplicaciones de gestión. Actualmente está muy difundido en todo tipo de equipos aunque se ha perdido la estandarización habiendo muchas versiones diferentes poco compatibles entre si. Otra versión es el Solaris de la empresa SUN. Una ventaja sobre otros sistemas operativos es que este sistema es multiusuario, por lo que un equipo admite gran cantidad de terminales trabajando simultáneamente, además de la robustez y seguridad. Linux es básicamente un sistema operativo compatible con UNIX, que opera bajo equipos compatibles con el estándar del mercado, estaciones de trabajo, servidores y grandes sistemas de computación. Una de sus muchas ventajas es que su costo es prácticamente nulo.
Click to customize your PDFs

pdfcrowd.com

Fue escrito por Linus Torvalds (1969­), como un sistema operativo abierto y estandar, siendo desarrollado posteriormente por muchos programadores, de forma independiente. El código fuente, gestores de dispositivos (drivers) y utilidades están disponibles gratuitamente. En estos momentos supone una competencia para Windows, más que para UNIX, de hecho en el futuro puede desbancarlo, no sólo por ser libre y disponer de los fuentes, sino por superioridad y más seguridad. Actualmente la distribución Ubuntu basada en Debian es la más conocida y asequible para usuarios sin conocimientos previos. Diversas administraciones públicas, como por ejemplo la Junta de Andalucía y la Junta de Extremadura, en España, y otras a nivel mundial lo están considerando como estándar, lo cual implicará una amplia utilización en el futuro. Como ejemplo de que Linux se puede adaptar a gran variedad de dispositivos, se tiene el caso de IBM que junto con Citizen diseñaron un reloj con este sistema operativo y masa inferior a 250 gramos, conocido como WatchPad, e incluye tecnología de voz y conectividad por infrarrojos. Para interactuar con él es mediante una pantalla táctil de cristal líquido QVGA. También se ha incorporado a muchos modelos de teléfonos móviles celulares. e incluso Google ha desarrollado un sistema operativo denominado ANDROID (ya existen teléfonos celulares fabricados por Motorola y otras marcas con este sistema operativo) y programas para telefonía móvil. Recientemente algunas empresas de ordenadores de consumo, como Dell, están vendiendo ordenadores con Linux instalado en lugar del Windows habitual. Otra muestra de la difusión que está tomando Linux, en la relación de los sistemas operativos que gestionan los 500 ordenadores más potentes a nivel mundial (ver Top500), Linux aparece en un 89.20%, el resto son sistemas análogos tipo UNIX y variantes específicas de Linux, mientras que en Windows sólo operan cinco (uno por ciento). Es de destacar que los dos ordenadores más rápidos a nivel mundial, fabricados por IBM, funcionan bajo Linux. Recientemente Silicon Graphics, ha presentado el mayor sistema Linux del mundo.
Click to customize your PDFs

pdfcrowd.com

Linux es un sistema de libre distribución por lo que se pueden encontrar todos los ficheros y programas necesarios para su funcionamiento en servidores conectados a internet. La tarea de reunir todos los ficheros y programas necesarios, asi como instalarlos en un ordenador y configurarlo, puede ser una tarea bastante complicada. Por esto mismo, nacieron las llamadas distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo para nuestro beneficio y comodidad. Una distribución es una recopilación de programas y ficheros, organizados y preparados para su instalación. Estas distribuciones se pueden obtener a traves de internet, o comprando los CDs de las mismas, los cuales contendrán todo lo necesario para instalar un sistema Linux bastante completo y en la mayoría de los casos un programa de instalación que nos ayudará en la tarea de una primera instalación. Casi todos los principales distribuidores de Linux, ofrecen la posibilidad de bajarse sus distribuciones gratuitamente, via FTP. A partir del desarrollo inicial de Linus Torvalds se han difundido diferentes distribuciones, la que sigue siendo completamente libre es Debian, que ha dado lugar al tan conocido Linux Ubuntu. Otras han acabado siendo distribuidas por empresas, aunque sigue siendo libre y descargable gratuitamente de sus páginas web, las mas conocidas son: RedHat, OpenSuse y Mandriva. Por lo que respecta a usos en la industria, se ha creado "Open Source Automation Development Lab (OSADL)", cuya finalidad es el uso de Linux en los procesos de automatización. A continuacion se muestra una gráfica con las distribuciones mas comunes en la linea del tiempo. Esta imagen es grande, asi que pulsar en el mismo para verla en tamaño original.

La siguiente tabla da un resumen por lenguajes de programación del número de líneas de código de Debian Sarge. Lenguaje Lineas de código fuente Porcentaje (%)
Click to customize your PDFs

pdfcrowd.com

en millones C C++ Shell LISP Perl Python Java PHP Pascal Ada Totales 130.847 38.602 20.763 6.919 6.415 4.129 3.679 2.144 1.423 1.401 229.496 57 16.8 9 3 2.8 1.8 1.6 1.2 0.93 0.62 0.61 100

FORTRAN 2.724

Enlaces de ampliación: 25 razones para cambiarse a Linux. Fundación de Software Libre AC. http://www.fsl.org.mx/index.pl/fsl/s/25 Administración de sistemas operativos. Universidad de Murcia. Mª Pilar González Férez. http://ditec.um.es/aso/
Click to customize your PDFs

pdfcrowd.com

Aprenda Linux como si estuviera en primero. Universidad de Navarra. Javier García de Jalón. http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Linux/Linux.pdf Sistemas operativos. Apuntes Introducción a la Informática. Universidad de Murcia. Rafael Barzanallana. http://www.um.es/docencia/barzana/IATS/Iats06.html Biografía de Richard Stallman. http://moonblues.gotdns.com/wordpress/?p=9 Haciendo el cambio a Linux http://www.getgnulinux.org/es/switch_to_linux/ HOPL: an interactive Roster of Programming Languages http://hopl.murdoch.edu.au/ Infomanuales.com. http://www.infomanuales.com/ Instalación completa de un windows. Wikilearning http://www.wikilearning.com/instalacion_completa_de_un_windows­ wkc­7607.htm Introducción a los sistemas operativos. Rincón del Vago. http://html.rincondelvago.com/sistemas­operativos_57.html La web del programador. http://www.lawebdelprogramador.com/ Migrando de Windows a Debian Linux. Wikilearning http://www.wikilearning.com/migrando_de_windows_a_debian_linux­
Click to customize your PDFs

pdfcrowd.com

wkc­6516.htm Programatium.com. http://www.programatium.com/index8.htm Recursos Linux. http://www.recursoslinux.com/ The Computer Language Benchmarks Game. http://shootout.alioth.debian.org/ Tipos de sistemas de archivos. Rincón del Vago. http://html.rincondelvago.com/tipos­de­sistemas­de­archivos.html Trece sistemas operativos NO Unix para saber más. http://federicosayd.wordpress.com/2008/05/22/trece­sistemas­ operativos­no­unix­para­saber­mas/

Organizaciones: Fundación software libre América Latina http://www.fsfla.org/ Guadalinex. Junta de Andalucía http://www.guadalinex.org/ Hispalinux http://www.hispalinux.es/ Linux­es.org. http://www.linux­es.org/
Click to customize your PDFs

pdfcrowd.com

Búsqueda escéptica

Búsqueda en mis webs Texto a buscar Bùsqueda en la Universidad de Murcia Imprimir Rafael Menéndez­Barzanallana Asensio Departamento Informática y Sistemas. Universidad de Murcia Bajo Licencia Creative Commons 3.0 Actualizado 2010/11/06

Oposiciones Masters

Click to customize your PDFs

pdfcrowd.com

Click to customize your PDFs

pdfcrowd.com