Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción a la
Informática
Alvaro Velez
Valeria Viva
Año: 2021
Índice
Software 2
Definición 2
Definición formal 2
Entendiendo el software 2
La electricidad y su significado 2
Dialogando con la computadora 2
Clasificación 3
Software de sistema 3
Sistemas operativos 4
Clasificación 5
Según la administración de las tareas 5
Según la administración de los usuarios 5
Según la arquitectura 5
Según la distribución de procesos 6
Sistemas: de propósito general y embebidos 6
Software de aplicación 7
Software para el desarrollo 7
Denominaciones del software 8
1
Software
Definición
El software es el conjunto de instrucciones escritas por una persona que, ejecutadas por el
procesador, genera algún valor agregado al oficiar como intermediario entre las necesidades del
usuario y las prestaciones del hardware (memoria, cpu, discos, periféricos, etc) u otros sistemas.
En un sentido más práctico, es aquello que permite hacer uso de la computadora para que las
personas puedan llevar a cabo diversos tipos de tareas aprovechando las capacidades del
sistema informático.
Definición formal
Para el estándar 729 del IEEE (Institute of Electrical and Electronics Engineers), se trata del
conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos
asociados, que forman parte de las operaciones de un sistema de computación.
Entendiendo el software
La electricidad y su significado
Sabiendo que para dialogar con la computadora es necesario cambiar el estado eléctrico de sus
elementos, ya que en base a esto cada uno de los componentes actúa de distinto modo, es
necesario emplear los periféricos de entrada.
2
A grandes rasgos, un periférico de entrada funciona transformando la acción del usuario en
impulsos eléctricos; los dispositivos envían estímulos eléctricos que la computadora recibe a
través de los puertos en los que están conectados, generando distintos cambios en los estados
de sus componentes. Por ejemplo, mover el mouse o presionar una tecla generan cambios que
luego son mostrados en pantalla.
Otro modo de cambiar el estado eléctrico de los componentes es a través del software, que
son instrucciones escritas mediante un dispositivo de entrada -generalmente el teclado- y que
suelen ser guardadas en alguna unidad de almacenamiento perpetuo para su ejecución
posterior; de este modo, cada vez que sea necesario, es posible indicarle a la computadora que
los recupere y que los interprete nuevamente, transformando lo almacenado en impulsos
eléctricos.
Resumiendo, a un nivel más técnico, el software es el resultado de haber generado impulsos
eléctricos capaces de alterar el estado de distintos componentes de la computadora y cuya
interpretación por parte de la unidad central de procesamiento resulta en la generación de
otros estímulos eléctricos, los que finalmente se manifiestan a través de un dispositivo de
salida como el monitor, la impresora u otros dispositivos y sistemas.
Clasificación
Existen dos grandes familias:
- Software de sistema
- Software de aplicación
Hay otras clasificaciones que admiten un desglose más minucioso, pero una segregación tan al
detalle implicaría desarrollar una jerarquía muy extensa.
Software de sistema
El software de sistema es uno de los más importantes debido a que es el que permite explotar
las capacidades de una computadora.
También conocido como software base, no necesariamente posee interfaz gráfica e incluir
utilidades y juegos; todo dependerá de la naturaleza del hardware y lo que se pretende
conseguir con el software de sistema.
Lo que debe quedar en claro es que persigue el objetivo de hacer del hardware algo utilizable,
ocultando detalles sobre éste y brindando llamadas a instrucciones para evitar una manipulación
indebida o que tal vez complique el uso a las personas.
3
Sistemas operativos
Cuando se habla de este tipo de software de sistema, por lo general se hace referencia al
software base que, además de transformar a la computadora en algo útil, va un poco más allá al
brindar un conjunto de aplicaciones que asisten a la naturaleza del problema para el cual fueron
creados.
Este es el caso de los sistemas operativos más populares utilizados por las computadoras de
escritorio, servidores y dispositivos portátiles; incluyen interfaces orientadas a garantizar una
buena experiencia en el uso y utilidades ofimáticas o de entretenimiento.
La realidad es que un sistema operativo, además, realiza muchas tareas administrativas de cara
la manejo de los recursos como, por ejemplo, la asignación de memoria que requieren las
aplicaciones, el control de los dispositivos de entrada y salida, distribuir el poder de
procesamiento para el tratamiento de los datos, entre otras decenas de actividades.
4
Clasificación
Los sistemas operativos pueden ser clasificados de muchas formas, desde cómo funcionan en
términos de la cantidad de tareas que pueden realizar en simultáneo, pasando por la cantidad de
usuarios que admiten, hasta de acuerdo con el modo en el que las tareas se realizan.
Según la arquitectura
5
como súper usuario, si un proceso falla posiblemente el núcleo o kernel se sea
comprometido.
● Micronúcleo: se caracteriza por separar funcionalmente los programas del sistema de los
programas de aplicación y asegurar protección adicional con el hardware, sin perder
tanto rendimiento ni
simplicidad pero con la
protección y
organización de una
arquitectura por capas.
La idea fundamental es
obtener un núcleo lo
más pequeño y rápido
posible y tratar el resto
de las funciones y
componentes como
procesos de aplicación,
de modo que que el
núcleo solo contenga lo
necesario para la
gestión de memoria y
procesos.
● Híbrido: básicamente, es un micronúcleo que tiene código “no esencial”, para que éste
se ejecute más rápido de lo que lo haría si estuviera en espacio de usuario.
● Centralizados: son aquellos sistemas operativos que usan los recursos de un sólo
equipo, como es el caso habitual de las computadoras de escritorio o de las notebooks.
● Distribuidos: es la unión lógica de un grupo de sistemas operativos sobre una colección
de nodos computacionales independientes, conectados en red, comunicándose y
físicamente separados.
La computadora como la conocemos suele ser identificada como de propósito general ya que
tiene por objetivo cubrir un conjunto amplio de necesidades y por consiguiente depende de un
sistema operativo que abrace la misma filosofía.
6
No obstante existen otros dispositivos que son muy específicos en sus funciones y necesitan un
software particular, generalmente que trabaje en tiempo real: se tratan de los sistemas
embebidos.
Los sistemas embebidos están constituidos por un hardware que hace foco en una problemática
particular y para el cual se desarrolla un software de sistema cuya complejidad puede variar
significativamente entre unos y otros; por ejemplo, en el caso de las tarjetas de extensión de una
computadora convencional, a dicho software se lo conoce bajo la denominación driver o
controlador y permite que el sistema operativo de la computadora pueda disponer de las
prestaciones del dispositivo sin saber nada de él, logrando la comunicación entre sí porque
ambas piezas de software conocen un conjunto de protocolos (interfaces) común que deben
respetar.
Software de aplicación
Dentro de esta clasificación recaen todos los programas construidos con el propósito de asistir a
los usuarios en sus diversas tareas como, por ejemplo, aquellos de carácter ofimático como los
procesadores de texto, planillas de cálculo, generador de presentaciones, etc.
Por supuesto que los software de aplicación no se limitan al pack básico de oficina sino que
también es posible adquirir programas que permiten diseñar en 2 y 3 dimensiones, antivirus
informáticos, juegos, y otras aplicaciones para tratar áreas de estudios muy particulares como
aquellos utilizados en la medicina.
El software que permite crear aplicaciones suele ser discriminado del resto aun cuando en
realidad no deja de ser un programa como cualquiera; la diferencia fundamental es que permite
crear otras aplicaciones.
Se tratan de entornos de trabajo constituidos principalmente por un espacio para escribir, cual si
fuera un procesador de texto, excepto que no incluye opciones para colorear palabras y aplicar
arte sino herramientas que asisten al programador en la tarea de construir programas.
7
sintaxis determinada y un conjunto de palabras reservadas, ambos aspectos supeditados al
lenguaje de programación con el que se quiera desarrollar el programa.
Aquello que se haya escrito, conocido habitualmente como código fuente, es convertido a un
lenguaje que la computadora puede interpretar y ejecutar, que recibe el nombre de lenguaje de
máquina o código máquina.
Existe una pluralidad de clasificaciones, casi tantas como tipo de programas; no obstante es
habitual que a lo largo del tiempo el lector se tope con las siguientes denominaciones:
8
Software libre
Es un programa sobre el cual su dueño renuncia a la posibilidad de obtener utilidades por las
licencias, patentes, o cualquier forma que adopte su derecho de propiedad sobre él, habilitando
a quien lo obtiene a utilizarlo, copiarlo, modificarlo o transferirlo sin pago alguno al licenciante o a
su creador.
Software propietario
Como es plausible imaginar, el software propietario es todo aquel cuyo uso, modificación o
redistribución está sujeta al permiso expreso del titular del software.
De este modo, entonces, es posible adquirir software gratis pero con las restricciones recién
mencionadas, aunque es bastante común que el software propietario sea pago y que, además,
no pueda transferirse la tenencia.
Características básicas
● Se encuentra disponible el código fuente del software, por lo que puede modificarse
libremente.
● Libertad de estudiarlo, adaptarlo y distribuirlo.
● Libertad de usar el programa con cualquier propósito.
Ventajas
● El usuario no comete delito por su tenencia o uso.
● Amplísima gama y variedad de herramientas.
● Actualizaciones periódicas.
● Gana estabilidad con el paso del tiempo por las contribuciones de la comunidad.
● Suelen crearse comunidades que aportan ideas y esfuerzo.
● Costo reducido, mayormente gratis.
● Alternativas a soluciones caras, ofreciendo calidad.
● Evitan la dependencia con grandes corporaciones.
9
Desventajas
Características básicas
● Restrictivo en muchos aspectos: no se puede modificar, copiar o distribuir sin permiso.
● En oportunidades no es posible acceder al código fuente.
Ventajas
● Suele soportar una gama amplia de hardware.
● Los procesos de testeos son más rigurosos.
● Mejor UI/UX en la mayoría de aplicaciones.
● Algunos programas surgen como parte de una suit de productos que favorecen la
interoperabilidad entre las aplicaciones.
● Facilidad y seguridad en la adquisición: stores autorizados, sitios propios.
● Existencia de programas diseñados específicamente para desarrollar una tarea.
● Por lo general, para tareas de dominio especializado, existen soluciones.
● Dependiendo del licenciamiento, existe soporte.
Desventajas
● Los desarrollos contemplan una o pocas plataformas.
● Restricciones en el uso (marcadas por la licencia).
● Costo elevado.
● El soporte de la aplicación es exclusivo del propietario.
● El usuario que adquiere software propietario depende del roadmap y ciclo de vida que la
empresa le confiera a la solución.
10
Copyright & Copyleft
derecho a copia constituye una parte del derecho de autor que establece las
El Copyright o
condiciones de uso y comercialización de una obra o creación.
Esta licencia estipula que solo el autor puede utilizar, modificar y distribuir su contenido, y en el
caso de que un tercero desee hacer uso de este derecho, debe pedir autorización indicando el
fin concreto y pagar por su uso.
Es una de las licencias más utilizadas por empresas y autores de prestigio; los contenidos de
internet que no especifican un tipo de licencia están
protegidos por Copyright.
En otros términos, el Copyleft invita a compartir el contenido de una obra siempre y cuando la
persona que reciba el material lo siga haciendo de la misma manera en que lo consiguió.
● Licencia de software de código abierto permisivas: se puede crear una obra derivada
sin que ésta tenga obligación de protección alguna (algunas: MIT License, Academic Free
License v.1.2, Artistic License v.2.0, Apache Software License v.1.1).
● Licencia de software de código abierto robustas
○ Fuertes: las licencias de software de código abierto robustas fuertes o con
copyleft fuerte, contienen una cláusula que obliga a que las obras derivadas o
modificaciones que se realicen al software original, se deban licenciar bajo los
mismos términos y condiciones de la licencia original (algunas Common Public
License v.1.0, GNU General Public License v.2.0 y v.3.0, Eclipse Public License).
○ Débiles: las licencias de software de código abierto robustas débiles, con copyleft
débil/suave o híbridas, son similares a las anteriores pero admite que las obras
derivadas puedan ser licenciadas bajo otros términos y condiciones distintas
(algunas: GNU Lesser General Public License v.2.1, Mozilla Public License, Open
Source License).
● Licencia de software de código cerrado: son las más restrictivas y admiten modificación
alguna; de hecho, el código no está disponible para su alternación.
● Software de dominio público: puede modificarse, copiarse con o sin fines de lucro, etc.
11
● Licencia de usuario final
● Licencia de distribuidores
12