miércoles, 15 de junio de 2016

Tema 9 Virus y antivirus

Virus y Antivirus
VIRUS INFORMÁTICOS

Todas las computadoras están expuestas hoy en día a las denominadas infecciones producidas por virus informáticos. La entrada de uno de estos programas en una red de sistemas puede significar una catástrofe para la información contenida. Los efectos pueden ser más o menos importantes de pendiendo del virus: desde provocar la pérdida de datos o la desconfiguración de algunos de los programas hasta el borrado completo del disco rígido. A medida que el mercado de la computación va progresando, los virus también lo hacen y adquieren nuevas formas y efectos insospechados.
Los virus informáticos son programas ocultos, normalmente de tamaño reducido, que acompañan a otros programas o archivos de datos que se trasladas a través de las redes y por medio de los disquettes para introducirse en las computadoras, instalándose en los lugares más recónditos de su memoria con dos objetivos básicos:
a) Reproducirse y propagarse.
b) Alterar el funcionamiento normal de las computadoras.
Algunos virus no están diseñados específicamente para producir daño, sino sólo para dar a conocer su presencia. Esta clase de virus suele presentar mensajes textuales, auditivos o visuales. se los conoce como “virus benignos”.
Estos programas son realizados por individuos (hackers) cuyo principal interés se centra en el desafío de ciertas normas para efectuar sabotajes corporativos a la competencia.
Que un sistema esté contagiado con un virus no significa que haya sido dañado. Antes de producir el mayor daño, el virus tratará de replicarse, de generar copias de si mismo.
Las condiciones de activación del daño cambian de acuerdo con el virus. La más conocida depende de una fecha, pero también puede ser el número de ejecuciones de un programa en particular o la cantidad de veces que se encendió la computadora a partir del momento del contagio.
Una vez que se produjo la condición de activación, el virus puede:
a) Borrar la pantalla.
b) Provocar el cuelgue del sistema.
c) Sobreescribir o mezclar información.
d) Borrar total o parcialmente la información del disco rígido.

Clasificación de los virus - De acuerdo con el medio de contagio.
* Virus de archivo ejecutable: parasitan en los archivos .EXE y .COM, se ubican al comienzo del archivo, de modo que cada vez que éste se abre lo primero que se ejecuta es el virus.
* Virus de arranque: se ubica en el sector de arranque de los disquetes, cada vez que se enciende una computadora que tiene colocado un disquete infectado, lo primero que ejecuta es el virus. Y a continuación contagia al sector del arranque del disco rígido.
* Virus de macro: son relativamente recientes, han alcanzado una difusión muy grande gracias a su distribución a través de Internet. Los macrovirus infectan archivos de macro de programas.
* Virus Bat: se encuentran en los archivos .BAT, emplean órdenes DOS en archivos de proceso y consiguen replicarse por lotes.
 * Virus del MIRC: Forman parte de la nueva generación Internet y demuestra que la Red abre nueva forma de infección.
* Virus gusanos de Internet o i-worm: De más reciente aparición. Se trata de programas que se propagan como archivos adjuntos por el correo electrónico. Los gusanos son programas dañinos que pueden replicarse a si mismos y transferirse entre sistema y sistema. A diferencia de los virus y los troyanos, no necesitan estar colocados dentro de otro archivo recipiente (el archivo infectado) para reproducirse. Sin embargo, muchos de los gusanos se encuentran dentro de archivos Word o Excel, ya que pueden utilizar la función de “macros” de estos programas, que es la capacidad de programar y ejecutar instrucciones.
* Hoax: (bromas) existen otros programas que no son estrictamente virus, pero que pueden producir diversos tipos de daño, pero desde la masificación del correo electrónico, llegan a tener efectos parecidos. Los podemos detectar a menudo en los programas de correo.


ANTIVIRUS

Afortunadamente, el avance de las tecnologías ha permitido también el progreso de las técnicas de desinfección y de prevención, así como el nacimiento de nuevos y más sofisticados antivirus.
Un antivirus es un programa para proteger las computadoras que instalados en ellas, detectan el intento de infección, impidiéndolo, o bien si el sistema ha sido infectado procede a su limpieza.
Dos son los módulos para que un programa antivirus funcione correctamente:
1- El monitor residente: este módulo se encuentra activo permanentemente en la memoria de la computadora. Su objetivo es detectar cualquier actividad sospechosa y avisar al usuario antes de ejecutar algún programa infectado.
2- El scanner: módulo principal de los antivirus. Es la aplicación que se debe ejecutar periódicamente (1 vez por semana) para detectar la existencia de virus en la computadora.
Los virus deben actualizarse con cierta frecuencia, ya que la aparición de nuevos virus es continua y la protección caduca al poco tiempo. Debe actualizarse 1 vez por mes.
Entre otros, los programas utilizados para la protección, cabe mencionar además de los antivirus:
* Antiespías (antispyware:( evitan que algún programa o persona sepa qué estamos haciendo con nuestro equipo o cómo nos conectamos con los diversos sitios, etc.
* Cortafuegos (firewall:( se trata de filtros que impiden el paso de paquetes de información que no cumplan con los criterios determinados por la administración de una red, y sí permiten el paso de paquetes de información cuyas características están previstas por el sistema. Existen en dos niveles: para los usuarios de computadoras personales, que impiden las intrusiones, y para las computadoras que conectan redes entre sí. El objetivo general es el mismo, filtrar el tráfico indeseado.

PIRATERÍA – INFRACCIONES INFORMÁTICAS (Delitos)



Se denomina infracciones informáticas a las acciones ilegales en las que se aplican conocimientos y tecnología informática. Entre estas acciones encontramos diversas acciones detalladas a continuación:
* Cracker: (del inglés crack, romper) Tienen grandes conocimientos de computación y su objetivo es bloquear los sistemas de seguridad de los distintos sitios a los que desea acceder, con el fin de causas daños económicos y morales. Utilizan sus conocimientos para penetrar en redes, perturbar procesos, infundir alguna clase de daño o molestia, romper sistemas de seguridad y actividades de piratería.
* Hacker: A menudo son contratados por las grandes empresas informáticas para testear sus programas y encontrar fallas, que ellos mismos resuelven. Cuando actúan en forma independiente, a menudo pasan el límite de lo legal, pero su único objetivo es alertar a los creadores de los sistemas y programas o a los usuarios acerca de la vulnerabilidad de éstos. Su deseo es que toda la información sea completamente pública y libre. La actividad de algunos hackers se vincula con ideales políticos y luchan contra el control de los gobiernos y de las corporaciones sobre la red. Gran parte de su actividad se organiza en redes de colaboración en Internet.
* Pirata informático: Copian ilegalmente software creado por terceros y lo ponen a la venta sin licencia de autor.
* Prehacker: Tienen amplios conocimientos de telefonía y usa estos dispositivos o los fabrica para realizar actividades ilícitas.
* Delincuentes informáticos: Persona que realiza actividades ilegales en agravio de terceros, como interceptar el número de tarjeta de otros usuarios para hacer compras sin la autorización del titular.
*  Wannabe: Persona que puede convertirse en un hacker, pero aún no lo es.
* Newbie: novato
* Bogus: Alguien que dice ser un hacker, pero la comunidad hacker no lo reconoce como tal. El término significa farsante.
* Lamer, Leecher, Luser: palabras que usan los crackers pero aún lo son y se aprovechan de los recursos de otros sin aportar nada personal. Estos términos nacen de la mezcla de las palabras inglesas “user” (usuario) y “looser” (perdedor).
* Bigot: Fanático de un determinado lenguaje de programación, sistema operativo o computadora.
* Mundane: persona que no tiene particulares conocimientos de informática. Es la palabra que usan los hackers para referirse a la mayor parte de las personas que no son como ellos.
* Troyanos: Pequeños programas que envían los hackers y que se activan cuando el navegante desprevenido hace doble clic sobre el icono que lo representa. Es un archivo benigno en el que se imposta un código maligno es un caballo de Troya o troyano. Se los conoce también como impostores. A diferencia de los virus, éstos no pueden replicarse a sí mismos.
* Cookies: Archivos muy pequeños que muchos sitios web envían a la computadora del navegante. Sirven para reconocer las actividades que esa persona realizó en la página.

Malware

Malware (del inglés malicious software), también llamado badware, software malicioso o software malintencionado es un tipo de software que tiene como objetivo infiltrarse o dañar una computadora sin el consentimiento de su propietario. El término malware es muy utilizado por profesionales de la informática para referirse a una variedad de software hostil, intrusivo o molesto.  El término virus informático es utilizado en muchas ocasiones para referirse a todos los tipos de malware, incluyendo los verdaderos virus.


jueves, 9 de junio de 2016

Tema 8 El software

EL SOFTWARE
INTRODUCCIÓN

En un sistema de información es fundamental realizar una adecuada selección del hardware, es decir, de los componentes físicos del sistema. Pero es mucho más importante que, conociendo la función que va a desempeñar la computadora, la dotemos de los componentes lógicos que puedan resolver los problemas a la que va a ser expuesta.
En los inicios de la informática, el mayor costo de un sistema estaba representado por el hardware, debido al alto costo de sus componentes. En la actualidad, esa situación se ha invertido, el software representa la mayor parte del costo total. Esto se debe al abaratamiento de los costos de producción del hardware y, a la vez, a la necesidad de utilizar programas cada vez más complejos. Para ese desarrollo de software se necesita mayor tiempo de desarrollo y personal altamente capacitado.

¿QUÉ ES EL SOFTWARE?

Así como dos personas, para poder comunicarse deben hablar el mismo idioma, para lograr que la máquina funcione debemos comunicarnos con ella en un lenguaje que entienda. Esta comunicación se hace a través de instrucciones que se van ejecutando una por vez.
Al conjunto de instrucciones escritas en lenguaje de programación para que la computadora realice una determinada tarea se lo conoce como programa. A la acción de diseñar y crear los programas se la conoce como programar y a las personas que la llevan a cabo, programadores.

 Son las instrucciones responsables de que el hardware (la máquina) realice su tarea

Es la parte lógica de un sistema, compuesta por programas.

Clasificación del software

Existen dos grandes clasificaciones del software: por su función y por el tipo de licencia.

Clasificación del software por su función

A Software de sistemas
B Software de aplicación
C Lenguajes de programación

A- Software de sistemas

El software del sistema es el conjunto de programas que administra los recursos de hardware.
Vimos que la computadora, para funcionar, necesita instrucciones en una secuencia lógica mediante uno o más programas. Estos programas se pueden clasificar en dos grandes grupos: los que tienen que ver con el control y sincronización del hardware y los programas que resuelven problemas o son de utilidad para el usuario. El conjunto de programas que controla directamente al hardware, que ayuda a mantenerlo y da soporte a otros programas para que interactúen con él, es conocido como software de sistemas. Dentro de estos tenemos a los programas traductores, los sistemas operativos y los programas utilitarios

PROGRAMAS TRADUCTORES

Para que la computadora ejecute un programa, éste debe estar escrito en lenguaje de máquina, por lo tanto, no puede ejecutar directamente los programas escritos en lenguajes de alto nivel o lenguaje ensamblador. Estos, antes de ser ejecutados, deben ser traducidos al lenguaje de máquina.
Estos programas se denominan traductores, y entre ellos se encuentran: compiladores, ensambladores e intérpretes.
·         Compilador: es un software que convierte todo el programa escrito en lenguaje de alto nivel en otro programa en código de máquina. El programa escrito en lenguaje de alto nivel se llama Programa Fuente y el que se obtiene en lenguaje de máquina se denomina Programa Objeto. El programa compilado (programa objeto) esta libre de errores, ya que si hay errores se detiene la compilación. Este programa puede ejecutarse en cualquier computadora. El programa fuente se debe guardar, ya que las modificaciones y actualizaciones se hacen sobre este y no sobre el programa objeto, y luego se vuelve a compilar, reemplazando al anterior. Cada lenguaje tiene su propio compilador.    
                                  

·         Ensamblador: es un software que convierte programas escritos en lenguaje ensamblador en programas en lenguaje de máquina. El proceso es similar al compilador, pero es más rápido porque una instrucción en lenguaje ensamblador equivale a una instrucción en lenguaje de máquina. Se obtiene un programa objeto listo para ser ejecutado.

                                  

 

·         Intérprete: este software, a diferencia de los anteriores, va traduciendo instrucción por instrucción a medida que estas se van ejecutando. Por lo tanto, no se genera un programa objeto, en lenguaje de máquina como con los compiladores y ensambladores. Los lenguajes de alto nivel que utilizan intérpretes son mucho más lentos en el tiempo de ejecución ya que cada vez que se ejecutan tienen que traducir las instrucciones. Uno de los lenguajes más conocidos que usa intérpretes es el BASIC.


 

 SISTEMAS OPERATIVOS

Para que cualquier programa pueda funcionar, previamente debe cargarse el sistema operativo. Es el principal software de sistemas.
El sistema operativo se carga durante el arranque de la computadora en la memoria RAM. Esto se debe a que es el encargado de controlar el hardware, actuando como interfaz entre el usuario y la máquina y entre los distintos programas con la CPU y los periféricos.
Por esa razón, el sistema operativo debe estar almacenado en el disco rígido, cargándose en la memoria las funciones necesarias para ejecutar las tareas principales.
Hace algunos años existían sistemas operativos monousuarios y multiusuarios, en la actualidad son todos multiusuarios. Esto significa, que varios usuarios pueden trabajar con los recursos del equipo, es decir, trabajan en red. Lo más común es compartir la información.
Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos simultáneamente. En la mayoría de los ordenadores sólo hay una CPU; un sistema operativo multitarea crea la ilusión de que varios procesos se ejecutan simultáneamente en la CPU. El mecanismo que se emplea más a menudo para lograr esta ilusión es la multitarea por segmentación de tiempos, en la que cada proceso se ejecuta individualmente durante un periodo de tiempo determinado. Si el proceso no finaliza en el tiempo asignado, se suspende y se ejecuta otro proceso. El sistema operativo se encarga de controlar el estado de los procesos suspendidos. También cuenta con un mecanismo llamado planificador que ejecuta los procesos basándose en su prioridad para minimizar el retraso percibido por el usuario. Los procesos parecen efectuarse simultáneamente por la alta velocidad del cambio de contexto.
Las principales funciones del sistema operativo son:
·         Administrar y controlar la comunicación con los periféricos: con el objetivo de optimizar los recursos del sistema, el sistema operativo monitorea permanentemente para detectar los pedidos de entrada, salida y almacenamiento de datos.  Por ejemplo si se ordena guardar un archivo en un disquete, el sistema operativo controla que todo esté en orden y en caso de no estarlo, muestra un mensaje de error, como ser “La unidad seleccionada no esta en uso. Compruebe que insertó un disco”. Otro ejemplo es el aviso de falta de papel en la impresora.
·         Administrar y controlar las tareas de procesamiento: esta función consiste en permitir la  ejecución simultánea de varios programas. Por ejemplo, se puede estar trabajando con el procesador de textos, abrir el explorador de Windows para buscar un archivo, que este escaneando el antivirus y estemos escuchando música. El sistema operativo supervisa estas tareas para que se ejecuten correctamente, informando mediante mensajes de error si surge algún conflicto.
·         Administración de archivos: el sistema operativo provee al usuario de una organización de directorio o carpetas con estructura de árbol, para almacenar en forma organizada los archivos en los dispositivos de almacenamiento secundario.
También ofrece un conjunto de herramientas que permiten ciertas acciones sobre los archivos y directorios como: crear, copiar, borrar, abrir, cerrar, guardar, listar, buscar y renombrar.
·       Administrar la memoria: A través de esta función, el sistema operativo controla y asigna la forma en que los programas tienen acceso a la memoria principal, con el objetivo de maximizar su uso. Debido a que es un recurso limitado, es fundamental que se administre eficientemente para que se pueda tener la mayor cantidad de programas y datos almacenados en la memoria sin que se produzcan interferencias entre ellos ni que el sistema baje su rendimiento. Cuanto más complejo es el sistema operativo, mayor cantidad de memoria necesita para su funcionamiento. Lo mismo ocurre con algunos programas que requieren mucha memoria, sobre todo los juegos con gráficos de alta calidad. Se recomienda cerrar los programas que no se estén usando.
·      Administrar el acceso al sistema: El sistema operativo, a través de procedimientos de identificación, puede controlar el acceso para permitir o no ingresar al sistema a los usuarios. Para ello, solicita un nombre o código de usuario y una contraseña o password, verificándolos con  los valores que tiene guardados. Si coinciden permite el acceso, en caso contrario lo deniega. A la acción de ingresar en el sistema, se la suele llamar “loguearse”, y a la de salir “desloguearse”. Una vez que el usuario ingresa, el sistema operativo registra quien lo utiliza, las operaciones que lleva a cabo y durante cuanto tiempo lo hace. Al registro de estos datos se lo conoce como log de seguridad. 

Ejemplos de sistemas operativos:
• UNIX: sistema operativo de alto rendimiento utilizado actualmente en grandes proyectos y para necesidades de intercomunicación a nivel internacional y de gran volumen de operaciones diarias.
• LINUX: es un sistema operativo basado en Unix, del tipo libre y de código abierto.
• WINDOWS: es el sistema operativo de interfaz gráfica de mayor utilización en computadoras personales de todo el mundo
Los sistemas operativos son una base común para el software de aplicación.
Aplicaciones como los procesadores de texto y los programas gráficos se escriben para un sistema operativo específico, no para la marca y modelo de cada computadora.  Las aplicaciones se comunican con la computadora a través del sistema operativo. Por ese motivo, los programas de Macintosh no se pueden ejecutar en una computadora que ejecute directamente sistema operativo Windows y los programas desarrollados para Windows no se ejecutarán en una computadora que ejecute Unix. El sistema operativo realiza toda la comunicación del hardware para la aplicación. El software de sistema es un sinónimo de sistema operativo, lo cual habilita a citar lo ejemplos escritos anteriormente

B- Software de aplicación

El software de Aplicación es aquel que hace que la computadora coopere con el  usuario en la realización de tareas típicamente humanas, tales como gestionar una contabilidad, escribir un texto, realizar un dibujo, editar imágenes, etc.
La diferencia entre los  programas de aplicación y los de  sistema está en que los de sistema suponen ayuda al usuario para relacionarse con la computadora y hacer un uso más cómodo de la misma, mientras los de aplicación son programas que cooperan con el usuario para la realización de las actividades mencionadas, la máquina se convierte en un auxiliar del hombre, liberándole de las tareas repetitivas.
Los programadores de aplicaciones, a diferencia de los programadores de sistemas, no necesitan conocer a fondo el modo de funcionamiento interno del hardware. Basta con que conozcan las necesidades de información de sus aplicaciones y cómo usar el sistema operativo.
Sus  programas deben ser independientes del  hardware específico que se utilice y deben ser transportados sin grandes problemas de adaptación a otras computadoras y otros entornos operativos.
Dentro de los programas de aplicación, puede ser útil una distinción entre aplicaciones verticales,
Que son específicas para un tipo de usuarios (médicos, abogados, arquitectos), y aplicaciones horizontales, de utilidad para una amplísima gama de usuarios de cualquier tipo.
Algunos ejemplos de software aplicaciones son:
 Procesadores de texto: Programas orientados a la creación de documentos de texto, tienen las funciones similares a las de una máquina de escribir con la diferencia de tener grandes ventajas en su uso  con respecto a estas, ya que permiten diseñar todo tipo de documentos escritos, incluir imágenes, hacer hipervínculos, etc.  Ejemplos: Word, Wordperfect, OpenOffice.orgWriter, etc.
 Hojas de Cálculo: Programas orientados al manejo de información donde se requiera realizar cálculos matemáticos. Son similares a las hojas tabulares utilizadas en contabilidad y se desarrollaron para que realicen las mismas funciones que estas con la ventaja de que los cálculos y la actualización de la información se puede hacer más rápido, sencillo y con menos margen de error. También permiten realizar gráficos para representar los datos. Ejemplos: Excel, Lotus, OpenOffice.orgCalc, etc.
 Sistemas gestores de bases de datos: Programas que permiten manipular grandes cantidades de información, son utilizados para administrar los sistemas de información de las empresas como control de inventario, facturación, control escolar, recursos humanos, etc. Ejemplos: MySQL, Access, etc.
 Programas de comunicaciones: Programas que nos permiten navegar por la red mundial de la información (INTERNET) y aprovechar al máximo las bondades que nos ofrece  la misma. Ejemplos:
Internet Explorer, Mozilla, Chrome, Netscape, MSN Messenger, Outlook (para correo electrónico), etc.
 Editores de imágenes y diseño gráfico: Programas orientados al diseño y creación de material publicitario, de dibujo técnico y artístico. Estos programas hacen más accesible el área de dibujo para que todas las personas puedan desarrollar su creatividad. Ejemplos: PhotoShop, Corel Draw, Paint, etc.
 Diseño asistido por computadora: programas diseñados para realizar diseños en 3D y animaciones. Ejemplos: AutoCad, 3D Studio, etc.
 Presentaciones multimedia: Estos programas permiten generar material de apoyo para la realización de una presentación. Donde se podrá utilizar Texto, Gráficos, Sonidos, Efectos especiales en los archivos para lograr un mejor impacto con la audiencia. Ejemplos: Power Point, Windows Movie Maker, OpenOffice.orgImpress, etc.
 Programas para comprimir archivos: WinZip, WinRar, etc.
 Paquetes integrados: son paquetes de programas comerciales que ofrecen un conjunto de aplicaciones integradas, teniendo la ventaja de poder compartir datos entre las diferentes aplicaciones que integran el paquete. Ejemplos: Office, integrado  por Word, Excel, PowerPoint, Access y Front Page; Corel Graphics Suite, integrado por Corel Draw, Corel Photo Paint, Corel Trace, Corel R.A.V.E.; OpenOffice, etc.

Creación de software

La mayoría de los problemas o tareas que se presentan a diario en una empresa, pueden ser resueltos manualmente gracias a la capacidad intelectual y la habilidad de una persona; sin embargo, la utilización de la computadora aporta mayor rapidez y fiabilidad a los resultados obtenidos.
Las computadoras son las máquinas más poderosas que el hombre ha inventado para calcular. Permiten recibir, procesar, guardar y transmitir datos. En realidad son “máquinas tontas”, no saben hacer nada más que ejecutar instrucciones operando con la información representada en código binario. Sólo pueden seguir al pie de la letra las instrucciones que les fueron dadas. No pueden tomar decisiones más allá de las que le fueron programadas. Cada vez los programas que se van creando son más variados y complejos, al punto de hacerlas parecer casi humanas, pero esto se debe a la variedad de alternativas programadas y a la capacidad del programador de anticipar alternativas con las que se puede encontrar un determinado programa. Para que la computadora haga algo, hay que darle instrucciones.
Mayormente las aplicaciones standard cubren los requerimientos en cuanto al procesamiento de datos, sin embargo, en la mayoría de las actividades se necesita que la computadora realice tareas muy específicas no contempladas en los utilitarios standard. En estos casos en particular se realizan programas denominados “A medida” que cumplen con tareas específicas.
El desarrollo de estos programas es llevado a cabo por profesionales que le indican a la computadora una secuencia de instrucciones para resolver un problema. Esta secuencia de instrucciones es denominada “Programa”, cuyo objetivo es dirigir el funcionamiento de la máquina.
Un programa consiste en una secuencia de instrucciones que ha de procesar la computadora con el objetivo de obtener unos resultados o datos de salida a partir de unos datos iniciales o datos de entrada.
El programa le indica a la computadora cómo operar con los datos. Un programa es entonces la secuencia de procesos e instrucciones. Para que una tarea pueda ser ejecutada por la computadora tienen que ser descompuesta en todos los pasos y posibilidades. Esto se llama análisis de un sistema.

C-LENGUAJES DE PROGRAMACIÓN

Como todo lenguaje, los de programación también están compuestos por un conjunto de reglas, palabras, sintaxis que debe respetarse, etc.
Los microprocesadores procesan exclusivamente señales electrónicas binarias. Dar una instrucción a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de señales se denomina lenguaje de  máquina
Es muy complicado, largo y tedioso escribir combinaciones de 0 y 1 para indicarle que lleve e cabo una tarea.
Según la función que desempeñen, se los divide en lenguajes de bajo nivel y lenguajes de alto nivel
·         Lenguajes de bajo nivel: son los que se utilizan para crear los programas o software de sistemas, debido a que permiten controlar en forma más directa el hardware, y su ejecución es más rápida.
o   Lenguaje de máquina: escrito como combinaciones de 0 y 1. Es difícil de entender y escribir. No necesita ser traducido, por eso su ejecución es muy rápida.
o   Lenguaje ensamblador (assembler): reemplaza los 0 y 1 por símbolos, como por ejemplo ADD 5 (sumar 5); es de rápida ejecución. Es más fácil su escritura, se cometen menos errores que se encuentran más fácilmente. Una instrucción en este lenguaje corresponde a una en lenguaje de máquina. Necesita ser traducido a lenguaje de máquina.
·         Lenguajes de alto nivel: se utilizan para escribir los programas de aplicación y los de propósito especial, se escriben en una forma más parecida al lenguaje humano pero en inglés. Una instrucción en lenguaje de alto nivel corresponde a varias en lenguaje de máquina. Los lenguajes de alto nivel, tienen las ventajas de mayor legibilidad de los programas, portabilidad (se pueden usar en cualquier computadora), facilidad de aprendizaje y facilidad de modificación. De acuerdo a la estructura del lenguaje se dividen en:
o   Lenguajes basados en procedimientos: se llaman de procedimientos porque están diseñados para expresar la lógica capaz de resolver problemas generales. Entre estos tenemos: Basic, Pascal, Logo, Cobol, C, Fortran.
o   Lenguajes orientados a objetos: expresa un programa como un conjunto de objetos, que colaboran entre ellos para realizar tareas. Lo que se programa es la tarea que va a realizar cada objeto. Java, C++, Visual Basic, Visual C++.
o   Lenguajes naturales: programación basada en reglas para la toma de decisiones, tratan de emular el razonamiento humano produciendo inteligencia artificial. Dentro de este campo destacan las aplicaciones en sistemas expertos, juegos, visión artificial y robótica. Lisp es un lenguaje para procesamiento de listas y manipulación de símbolos. Prolog es un lenguaje basado en la lógica, para aplicaciones de bases de datos e Inteligencia Artificial.
Todos los lenguajes de alto nivel necesitan ser traducidos a lenguaje de máquina. Ejemplo.
Ø   Instrucción en lenguaje de máquina:
                                                                 00000110 01001010 10101101 01010001
Ø   Instrucciones en lenguaje de alto nivel:
                                                                       Print “ingresa tu nombre”
                                                                       Input Nombre
Las palabras Print (imprimir) e Input (ingresar) son palabras del lenguaje de alto nivel. A través de la orden Print se muestra la leyenda en la pantalla y a través de la orden Input se guarda en la memoria el dato ingresado.

Clasificación de software por tipo de licencia

Acerca de las Licencias de Uso

El software se rige por licencias de utilización, es decir, en ningún momento un usuario compra un programa o se convierte en propietario de él, tan sólo adquiere el derecho de uso, incluso así haya pagado por el. Las condiciones bajo las cuales se permite el uso del software --o sea las licencias--son contratos suscritos entre los productores de software y los usuarios. En general, las licencias corresponden a derechos que se conceden a los usuarios, principalmente en el caso del software libre, y a restricciones de uso en el caso del software propietario.  Las licencias son de gran importancia tanto para el software propietario como para el software libre, igual que cualquier contrato.
Un caso especial, en lo que  concierne a la propiedad sobre el software, lo constituyen los programas denominados de dominio público, porque sus creadores renuncian a los derechos de autor.

Tipos de Software según su Licencia

Si bien cada programa viene acompañado de una licencia de  uso particular,  existen diversos aspectos en común entre las licencias que hacen posible su clasificación. De acuerdo a ello, es común encontrar términos tales como software shareware, freeware, de dominio público, o de demostración. A estos nombres hay que agregar software libre y software propietario, términos un tanto desconocidos pero que se usan en medios informáticos.

Software propietario

En términos generales, el software propietario es software cerrado, donde el dueño del software controla su desarrollo y no divulga sus especificaciones.
El software propietario es el producido principalmente por las grandes empresas, tales como
Microsoft y muchas otras. Antes de poder utilizar este tipo de software se debe pagar por el.
Cuando se adquiere una licencia de uso de software propietario, normalmente se tiene derecho a utilizarlo en un solo computador y a realizar una copia de respaldo. En este caso la redistribución o copia para otros propósitos no está permitida. Se debe abonar por cada copia del programa que se utilice.

Software shareware o de evaluación

El software tipo shareware es un tipo particular de software propietario, sin embargo por la diferencia en su forma de distribución y por los efectos que su uso ocasiona, puede considerarse como una clase aparte.
El software shareware se caracteriza porque es de libre distribución o copia, de tal forma que se puede usar, contando con el permiso del autor, durante un periodo limitado de tiempo, después de esto se debe pagar para continuar utilizándolo, aunque la obligación es únicamente de tipo moral ya que los autores entregan los programas confiando en la honestidad de los usuarios. Este tipo de software es distribuido por autores individuales y pequeñas empresas que quieren dar a conocer sus productos. Muchas veces por ignorancia los programas de esta clase se utilizan ilegalmente. A menudo el software shareware es denominado como software de evaluación.

Software libre

El software libre es software que, para cualquier propósito, se puede usar, copiar, distribuir y modificar libremente, es decir, es software que  incluye archivos fuentes. La denominación de software libre se debe a la  Free Software Foundation (FSF), entidad que promueve el uso y desarrollo de software de este tipo. Cuando la FSF habla de software libre se refiere a una nueva filosofía respecto al software, donde priman aspectos como especificaciones abiertas y bien común, sobre software cerrado y ánimo de lucro.
¿Qué es Software Libre?
Es un programa o secuencia de instrucciones usada por un dispositivo de procesamiento digital de datos para llevar a cabo una tarea específica o resolver un problema determinado, 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 (o sea, el software libre puede estar licenciado, o protegido por una patente autoral), por lo que puede utilizarse o transferirse sin pago alguno al licenciante, o a su creador.

Es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado y redistribuido libremente. Según la Free Software Fundación, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.
El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el "software gratis" o "gratuito" incluye en ocasiones el código fuente; no obstante, este tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.
Un ejemplo típico de este tipo de software es el sistema operativo  Linux, que tanto se ha desarrollado en los últimos años, y las aplicaciones del paquete OpenOffice

Software de dominio público

El software de dominio público (public domain software), es software libre que tiene como particularidad la ausencia de Copyright, es decir, es software libre sin derechos de autor. En este caso los autores renuncian a todos los derechos que les puedan corresponder.

Software freeware

El software freeware es software que se puede usar, copiar y distribuir libremente pero que no incluye archivos fuentes. Para la FSF el software freeware no es software libre, aunque tampoco lo califica como propietario. El software freeware se asemeja más al software libre porque no se debe pagar para adquirirlo o utilizarlo.
Concordancia entre el sistema operativo y las aplicaciones
Cuando se toma la decisión de instalar un determinado sistema operativo en una computadora, hay que tener presente el tipo de actividades que se harán con ella, ya que las aplicaciones que se instalen posteriormente están diseñadas para un sistema operativo específico.
En este sentido, es interesante analizar el caso del sistema operativo Linux. La mayoría de las casas dedicadas a la venta de computadoras las ofrecen con Linux instalado, por una cuestión de costos (recordemos que Linux es software libre, por lo tanto, no se paga por la licencia de uso).
Pero luego, todas las aplicaciones que se instalen deben trabajar con ese sistema operativo. Por ejemplo, no podría utilizarse Word o el MSN, sino los equivalentes en versión libre. Si bien se produce un ahorro de dinero, puede producir grandes pérdidas de tiempo si no se sabe utilizar estos programas, especialmente si se tiene en cuenta que el estándar a nivel mundial siguen siendo los productos de Microsoft (bajo sistema operativo Windows)