Taller 3:  Software



FUNDAMENTACIÓN INFORMÁTICA


A continuación se presenta los conocimientos mínimos necesarios para estudiar el software.

En informática, Software son los programas o aplicaciones (instrucciones secuenciales que hacen posible el funcionamiento del hardware), que en interacción con el hardware permiten procesar datos en un sistema de computo.



Clasificación del software

Según la finalidad práctica, el software se puede clasificar en tres grandes tipos:

Software de sistema

En informática, el software de sistema, denominado también software de base, son programas informáticos que sirven para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware, brindando soporte a otros programas y facilitando el uso de la computadora

El Software de sistema se encarga de administrar y gestionar la memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. 

En es categoría, están:

Cargadores de programas

Parte de un sistema operativo que es responsable de cargar programas en memoria desde los ejecutables (por ejemplo, archivos ejecutables). El cargador es usualmente una parte del núcleo del sistema operativo y es cargado al iniciar el sistema y permanece en memoria hasta que el sistema es reiniciado o apagado. Algunos sistemas operativos que tienen un núcleo paginable pueden tener el cargador en una parte paginable de la memoria, entonces a veces el cargador hace un intercambio de memoria.


Sistemas operativos 

Conjunto de programas básicos y utilidades que hacen que una máquina funcione y resulte útil a los usuarios. El SO comienza a trabajar cuando encendemos un ordenador, y gestiona los recursos de hardware de la máquina en los niveles más básicos. Software de sistema que controla la computadora, administra los servicios y sus funciones y permite la ejecución de programas compatibles con éste. Ejemplos d: Windows, Unix, Linux, DOS, Mac OS, etc. Permite controlar las asignaciones de memoria, ordenar las solicitudes al sistema, controlar los dispositivos de entrada y salida, facilitar la conexión a redes y el manejo de archivos. 

Características básicas

  • En computadoras, el sistema operativo comienza a funcionar cuando finaliza el trabajo del BIOS al encenderse o reiniciar la computadora.
  • Los sistemas operativos poseen una interfaz que puede ser gráfica (GUI) o de texto (línea de comandos).
  • Los sistemas operativos forman una plataforma para que otros sistemas o aplicaciones la utilicen. Aquellas aplicaciones que permiten ser ejecutadas en múltiples sistemas operativos son llamadas multiplataforma.
  • La mayoría de los sistemas operativos actuales son también multiusuario, aunque existen los monousuario (por ejemplo, DOS)
  • También pueden clasificarse en multitarea o monotarea. Cada programa que se ejecuta en un sistema operativo, ya sea aplicación o servicio de fondo, es llamado proceso.
  • Los sistemas operativos pueden ser centralizados, si permiten utilizar recursos de una sola computadora, o distribuido si permiten utilizar recursos de más de una computadora al mismo tiempo.
  • Todos los sistemas operativos deben incluir un soporte para uno o más sistemas de archivos. Por ejemplo, el sistema operativo Windows XP soporta NTFS y FAT32, en tanto Windows Vista sólo soporta NTFS.
  • También deben tomar medidas de seguridad que antes no existían en los sistemas operativos. El principal peligro proviene de las redes como internet.
  • Otra característica de los actuales sistemas operativos es que poseen un gran conjunto de controladores (drivers) para permitir rápida compatibilidad con dispositivos de hardware.


Controladores de dispositivos

Es una pieza de software que permite al sistema operativo y programas interactuar adecuadamente con dispositivos de hardware. Un controlador suele comunicarse con el dispositivo a través del bus de la computadora o del subsistema de comunicaciones al cual el hardware se conecta. Un controlador es dependiente del hardware y sistema operativo específico. 

Función del controlador o driver de un dispositivo

El objetivo de los controladores es permitir simplificar la programación de las aplicaciones, al funcionar como "traductor" entre el dispositivo de hardware y la aplicación o el sistema operativo que lo usa. Los programadores pueden escribir códigos de alto nivel independientemente del dispositivo de hardware específico que se emplee en estos.

Los comandos de alto nivel que escribe el programador son tomados por el controlador del dispositivo, que los traduce en una serie de comandos de bajo nivel específicos para el dispositivo de hardware que le corresponde)

Herramientas de programación

Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. 

  • Editores de texto. Programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano 
  • Compiladores. Proceso de traducción de un código fuente (escrito en un lenguaje de programación de alto nivel) a lenguaje máquina (código objeto) para que pueda ser ejecutado por la computadora. Las computadoras sólo entienden el lenguaje máquina. 
  • Ensambladores. Tipo de herramienta que traduce un archivo de código fuente escrito en lenguaje ensamblador, a un archivo objeto que puede ser ejecutado por la computadora. 
  • Enlazadores. Módulo o programa que junta los ficheros de código objetos (generados en la primer parte de la compilación), la información de todos los recursos necesarios (biblioteca), elimina los recursos que no se necesitan y enlaza el código objeto con sus bibliotecas. Finalmente produce el fichero ejecutable o una biblioteca. Existen programas que se enlazan dinámicamente, esto significa que este proceso se hace en el momento que se carga el programa. El paso de un código fuente escrito en un lenguaje de programación cualquiera hacia un archivo ejecutable es realizado por un compilador. 
  • Intérpretes. Programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los primeros (los intérpretes) sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
  • Depuradores Programa usado para probar y depurar (eliminar los errores) de otros programas (el programa "objetivo"). 
  • Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). 


Programas utilitarios. 


 Son herramientas que realizan tareas de mantenimiento, Soporte para la construcción y ejecución de programas, 

Herramientas de diagnóstico

 Software que permite monitorear y en algunos casos controlar la funcionalidad del hardware, como: computadoras, servidores y periféricos, según el tipo y sus funciones. Estos dispositivos pueden ser, la memoria RAM, el procesador, los discos duros, ruteadores, tarjetas de red, entre muchos dispositivos más. El software permite monitorear temperatura, rendimiento, transferencia de datos 

Entorno de escritorio / Interfaz gráfica de usuario
 (que pueden incluir Gestores de ventanas)

 Conjunto de formas y métodos que posibilitan la interacción de un sistema con los usuarios utilizando imágenes., botones, íconos, ventanas, fuentes, que representan funciones, acciones e información. Es una evolución de la línea de comandos tradicional (CLI) de los primeros sistemas operativos como la familia de sistemas DOS (como MS-DOS). Por ejemplo, el escritorio de Windows 

Línea de comandos 

Tipo de interfaz para manipular un programa o sistema operativo con instrucciones escritas. Cada instrucción es escrita en una línea de texto y suelen ejecutarse al presionar ENTER. También se suele permitir archivos scripts para la ejecución automática de varias líneas de comandos que cumplen alguna función. Si bien se siguen usando en algunos ámbitos, este tipo de interfaz ha evolucionado hacia los GUI, que son interfaces gráficas. Por ejemplo: Sistemas operativos de la familia DOS 

BIOS

(Basic Input/Output System - Sistema básico de entrada/salida de datos). Programa que reside en la memoria EPROM (Ver Memoria BIOS no-volátil). Es un programa tipo firmware. La BIOS es una parte esencial del hardware que es totalmente configurable y es donde se controlan los procesos del flujo de información en el bus del ordenador, entre el sistema operativo y los demás periféricos. También incluye la configuración de aspectos importantísimos de la máquina. Se accede a la BIOS ingresando la tecla Suprimir (DEL), ESC u otra tecla, indicada en la primer pantalla que aparece cuando se enciende una PC. 

Hipervisores

Monitor de máquina virtual (virtual machine monitor) es una plataforma de virtualización que permite utilizar, al mismo tiempo, diferentes sistemas operativos (sin modificar o modificados en el caso de para virtualización) en una misma computadora. Es una extensión de un termino anterior, “supervisor”, que se aplicaba a kernels de sistemas operativos. 

Bootloaders

Es el gestor de inicio o de arranque, o cargador de inicio, es un programa que se encarga de dejar todo listo para que comience la ejecución del sistema operativo. 

Servidores

Es una computadora que forma parte de una red para proveer servicios a otras computadoras denominadas clientes. 


Software de aplicación

El software de aplicación, son aquellos programas que controlan y optimizan el funcionamiento de la computadora e intermedian con el usuario para facilitar el uso simple y amigable. Estos programas son desarrollados y modificados por programadores de sistemas con amplios conocimientos en programación

Se incluyen en esta categoría :

  • Control de sistemas y automatización industrial 
  • Ofimática (Procesadores de texto, hoja de cálculo, presentaciones) 
  • Educativo 
  • Empresarial 
  • Bases de datos 
  • Telecomunicaciones (chat,redes sociales, videoconferencia, redes sociales, navegadores web) 
  • Videojuegos 
  • Médico 
  • Cálculo Numérico y simbólico. 
  • Diseño Asistido (CAD) 
  • Control Numérico (CAM) 

Según el tipo de licencia, el software se puede clasificar en:

El Software esta regulado por licencias de uso que permiten o restringen una o varias funcionalidades del Programa, de igual manera prohiben o permiten la distribucion de dicho software. Las Licencias son definidas por la empresa o el desarrollador del programa.

Freeware, Shareware, Adware, GNU, GPL, OpenSource, Demo, Trial…, entre muchas otras.

Pago

Son aquellos cuya versión completa cuesta dinero

Demo 

No es ningún secreto que la palabra demo venga de “demostración”. Te permite probar un programa o juego, parcialmente o por algún tiempo, sin que sirva de mucho. Puedes hacerte una idea de cómo es antes de comprarlo.

Shareware 

Una versión Shareware es una versión recortada de un programa comercial, que puedes probar para decidir si merece la pena. Pueden tener limitaciones muy variables, desde ventanas de aviso emergentes hasta marcas de agua, pasando por limitación de ejecuciones o usos.

A diferencia de una Demo, una versión Shareware puede ser útil, a veces de forma limitada, y a veces completamente funcional durante un período de tiempo. A veces también se lo denomina CrippleWare (software mutilado).

Trial 

Son versiones Shareware que puedes probar durante determinado tiempo, siendo lo más común 30 días. Algunas veces este período se amplía hasta los dos, tres y hasta cuatro meses, mientras que en otras ocasiones se recorta hasta medio mes o incluso unos pocos días.

La línea que lo separa con respecto a la definición de Shareware es muy estrecha y, de hecho, muchas veces se utiliza una u otra indistintamente para un mismo programa.

Freeware / Gratuito

Los programas considerados Freeware se distribuyen sin costo adicional a todo aquel que lo quiera. En ocasiones, el autor especifica que sólo puede ser utilizado en entorno doméstico, de modo que si se utiliza en una actividad económica se ha de pagar. En dichos casos se lo denomina Gratuito para uso no comercial.

Algunos programadores sin embargo piden donación voluntaria de dinero a su autor, y esto se conoce como Donationware.

GPL / GNU / BSD / OpenSource 

Son tipos de licencia muy conocidos en el entorno Linux, y básicamente consisten en programas libres de descargar, usar, distribuir e incluso modificar, puesto que también se distribuye su código fuente. Programas tan famosos como eMule y Ares se distribuyen bajo esta licencia, lo cual contribuye también a su enorme éxito.

Adware / Gratuito con publicidad

Son gratuitos, se finanacian con publicidad invasiva, como una barra de herramientas para el explorador, o poco visible.

A la “basura” que incluyen en forma de barras de herramientas, ventanas de publicidad u otras cosas no deseadas se la denomina con frecuencia como Spyware.

Otras clasificaciones

Si bien ya hemos hablado de los principales tipos de programas, existen otros bastante curiosos y específicos que también vamos a nombrar, a pesar de que no se utilizan demasiado.

* Bloatware: Software que utiliza demasiados recursos del sistema, es decir, que está sobrecargado o, siguiendo la traducción literal, hinchado.

* Abandonware: Programas y juegos antiguos que, a decir verdad, ya no preocupan a nadie, ni siquiera a sus autores, por lo que con frecuencia se distribuyen gratuitamente.

* Vaporware: Mucho ruido y pocas nueces, o mucho humo. Programas o juegos que se alargan indefinidamente y al final no se sabe si llegarán a ver la luz algún día.

Versiones de Software

Aunque no son licencias en sí, también nos ayudan a saber un poco más sobre lo que tenemos entre manos. Los principales indicativos son:

* Estable / Final: Es una versión del programa que ha sido testeada lo suficiente para determinar que se puede utilizar sin problemas.

* Beta: Versión en desarrollo que se distribuye para que sea probada en distintas configuraciones.

* Alpha: Parecida a la anterior, pero aún más en pañales.

* Release Candidate o RC: Son versiones en desarrollo que pueden llegar a convertirse en versión final si se demuestran lo suficientemente estables.

* Build: Identifica la versión de compilación del archivo, por lo que cuanto mayor sea el número, más reciente es.

Bien, con esta información, tendrás una idea general de todo lo que implica el software para una PC. 


ACTIVIDAD 1

Con base en lo expresado anteriormente sobre software, elaborar mapa conceptual en cuaderno y recurso didáctico de apoyo (cartelera(s)) para sustentar en clase


Veamos como funciona las PCs



Al presionar el botón de encendido de la PC, se inicia automáticamente el software de sistema contenido en la BIOS

¿Y qué es... la BIOS?

"Basic Input-Output System", sistema básico de entrada-salida. Programa incorporado en un chip de la placa base que se encarga de realizar las funciones básicas de manejo y configuración del ordenador.

La BIOS de software es el primer código que se ejecuta cuando se enciende un ordenador (firmware de arranque). La función principal de la BIOS es cargar e iniciar un sistema operativo . Cuando el PC se inicia, el primer trabajo de la BIOS es inicializar e identificar los dispositivos del sistema, tales como la pantalla de la tarjeta vídeo , teclado y ratón, disco duro , unidad de CD / DVD y todo hardware presente. 

El software de la BIOS localiza los dispositivos o periféricos designando el "un inicio" del dispositivo como, disco duro o un CD, y carga y ejecuta ese software, dándole el control de la PC. Este proceso se conoce como el inicio o arranque

La BIOS tiene interfaz gráfica de usuario. A ella se accede normalmente  pulsando una tecla determinada en el teclado cuando el PC se inicia. En la BIOS de interfaz de usuario, un usuario puede:
  • configurar el hardware 
  • ajustar el reloj del sistema 
  • habilitar o deshabilitar componentes del sistema 
  • seleccionar los dispositivos que son elegibles para ser un dispositivo de arranque potencial 
  • asignar password, una contraseña para garantizar el acceso a las funciones de la BIOS de interfaz de usuario sí mismo y evitar que usuarios no autorizados arranquen el sistema de dispositivos periféricos. 

ACTIVIDAD 2

Una vez leído y observado con atención lo anterior, ingresar a la bios de la PC asignada, teniendo en cuenta aspectos generales orientados y demostración práctica dada en próxima clase.  Tome atenta nota de lo observado en la pantalla de usuario de la BIOS de la PC asignada, en su cuaderno.

A continuación vea algunos ejemplos de BIOS






Ya se dijo, al presionar el botón de encendido de la PC, se inicia automáticamente el software de sistema contenido en la BIOS, mostrando 
información básica
 en pantalla, por algunos segundos dependiendo de las condiciones técnicas.  En PCs con características técnicas modestas o viejas se puede apreciar por más tiempo que en PCs con características técnicas más recientes o 
rápidas.  Esta información mostrada en pantalla se denomina setup y con ella se determina la configuración básica del sistema.

ACTIVIDAD 3


FICHA TÉCNICA DE UNA PC


A partir de la información básica mostrada por la PC en Pantalla, realiza la tarjeta técnica de tu equipo de trabajo asignado inicializando el sistema con disquete. 

Complete los datos requeridos en la tabla. Para llenarla siga los siguientes pasos:



1. Coloca tu disquete de 3½” número uno (preparado por el profesor) en la unidad A. Lea el siguiente punto sin olvidar el referente metodológico y de evaluación

2. Encienda su equipo. Este atento a cualquier información que aparezca en pantalla. Cuando aparezca una tabla con los datos que necesitas, presione la tecla pausa del teclado. Llene la ficha técnica. Luego unda cualquier botón del teclado y observe el sistema operativo que esta instalado en su equipo. Si no lo observa espere a que aparezca el prompt (bien A: \> ó C: \>), digite el comando VER y presione ENTER. Tome nota del sistema operativo. Si ya termino apague el equipo en el orden indicado.

3. La siguiente imagen, muestra una vista esquemática de una PC, obsérvela y compárela con la PC asignada, luego 

complete

 mediante líneas a lápiz las conexiones de tu computadora, teniendo en cuenta las partes componentes enunciadas. 




Partes componentes de un PC

4. Consulte sobre los tipos impresora. 

Cómo han evolucionado? 

¿Qué tipo hay? ¿Qué referencias conoces, cuántos puntos puede pintar en una pulgada cuadrada, qué tipo de papel acepta? 



NOTA:



Los numerales 1, 2, 3 de esta actividad se preparan y desarrollan en clase, el numeral 4 se consulta