lunes, 4 de enero de 2016








PROGRAMAS DE ANTIVIRUS





En informática los antivirus son programas que buscan prevenir, detectar y eliminar virus informáticos.
Inicialmente, un antivirus buscaba la detección y eliminación de archivos ejecutables o documentos que fuesen potencialmente peligrosos para el sistema operativo, pero en los últimos años, y debido a la expansión de Internet, los nuevos navegadores y el uso de ingeniería social, los antivirus han evolucionado para detectar varios tipos de software fraudulentos, también conocidos como malware.


Métodos de funcionamiento

De acuerdo a la tecnología empleada, un motor de antivirus puede funcionar de diversas formas, pero ninguno es totalmente efectivo, según lo demostrado por el Frederick Cohen, quien en 1987 determinó que no existe un algoritmo perfecto para identificar virus.
Algunos de los mecanismos que usan los antivirus para detectar virus son:

  • Firma digital: consiste en comparar una marca única del archivo con una base de datos de virus para identificar coincidencias.
  • Detección heurística: consiste en el escaneo de los archivos buscando patrones de código que se asemejan a los que se usan en los virus.
  • Detección por comportamiento: consiste en escanear el sistema tras detectar un fallo o mal funcionamiento. Por lo general, mediante este mecanismo se pueden detectar software ya identificado o no, pero es una medida que se usa tras la infección.
  • Detección por caja de arena (o sandbox): consiste en ejecutar el software en máquinas virtuales y determinar si el software ejecuta instrucciones maliciosas o no. A pesar que este mecanismo es seguro, toma bastante tiempo ejecutar las pruebas antes de ejecutar el software en la máquina real.

Métodos de contagio

Existen dos grandes grupos de propagación: los virus cuya instalación el usuario, en un momento dado, ejecuta o acepta de forma inadvertida; y los gusanos, con los que el programa malicioso actúa replicándose a través de las redes.
En cualquiera de los dos casos, el sistema operativo infectado comienza a sufrir una serie de comportamientos anómalos o no previstos. Dichos comportamientos son los que dan la traza del problema y tienen que permitir la recuperación del mismo.
Dentro de las contaminaciones más frecuentes por interacción del usuario están las siguientes:
  • Mensajes que ejecutan automáticamente programas, como el programa de correo que abre directamente un archivo adjunto.
  • Ingeniería social, mensajes como «Ejecute este programa y gane un premio».
  • Entrada de información en discos de otros usuarios infectados.
  • Instalación de software que pueda contener uno o varios programas maliciosos.
  • A través de unidades extraíbles de almacenamiento, como memorias USB.

Planificación

La planificación consiste en tener preparado un plan de contingencia en caso de que una emergencia de virus se produzca, así como disponer al personal de la formación adecuada para reducir al máximo las acciones que puedan presentar cualquier tipo de riesgo. Cada antivirus puede planear la defensa de una manera, es decir, un antivirus puede hacer un escaneado completo, rápido o de vulnerabilidad según elija el usuario.

Consideraciones de software

El software es otro de los elementos clave en la parte de planificación. Se debería tener en cuenta la siguiente lista de comprobaciones para tu seguridad:
  1. Tener el software indispensable para el funcionamiento de la actividad, nunca menos pero tampoco más. Tener controlado al personal en cuanto a la instalación de software es una medida que va implícita. Asimismo, tener controlado el software asegura la calidad de la procedencia del mismo (no debería permitirse software pirata o sin garantías). En todo caso un inventario de software proporciona un método correcto de asegurar la reinstalación en caso de desastre.
  2. Disponer del software de seguridad adecuado. Cada actividad, forma de trabajo y métodos de conexión a Internet requieren una medida diferente de aproximación al problema. En general, las soluciones domésticas, donde únicamente hay un equipo expuesto, no son las mismas que las soluciones empresariales.
  3. Métodos de instalación rápidos. Para permitir la reinstalación rápida en caso de contingencia.
  4. Asegurar licencias. Determinados softwares imponen métodos de instalación de una vez, que dificultan la reinstalación rápida de la red. Dichos programas no siempre tienen alternativas pero ha de buscarse con el fabricante métodos rápidos de instalación.
  5. Buscar alternativas más seguras. Existe software que es famoso por la cantidad de agujeros de seguridad que introduce. Es imprescindible conocer si se puede encontrar una alternativa que proporcione iguales funcionalidades pero permitiendo una seguridad extra.

Consideraciones de la red

Disponer de una visión clara del funcionamiento de la red permite poner puntos de verificación de filtrado y detección ahí donde la incidencia es más claramente identificable. Sin perder de vista otros puntos de acción es conveniente:
  1. Mantener al máximo el número de recursos de red en modo de sólo lectura. De esta forma se impide que computadoras infectadas los propaguen.
  2. Centralizar los datos. De forma que detectores de virus en modo batch puedan trabajar durante la noche.
  3. Realizar filtrados de firewall de red. Eliminar los programas que comparten datos, como pueden ser los P2P; Mantener esta política de forma rigurosa, y con el consentimiento de la gerencia.
  4. Reducir los permisos de los usuarios al mínimo, de modo que sólo permitan el trabajo diario.
  5. Controlar y monitorizar el acceso a Internet. Para poder detectar en fases de recuperación cómo se ha introducido el virus, y así determinar los pasos a seguir.

Formación del usuario

Esta es la primera barrera de protección de la red.

Antivirus

Es conveniente disponer de una licencia activa de antivirus. Dicha licencia se empleará para la generación de discos de recuperación y emergencia. Sin embargo, no se recomienda en una red el uso continuo de antivirus.
El motivo radica en la cantidad de recursos que dichos programas obtienen del sistema, reduciendo el valor de las inversiones en hardware realizadas. Aunque si los recursos son suficientes, este extra de seguridad puede ser muy útil.
Sin embargo, los filtros de correos con detectores de virus son imprescindibles, ya que de esta forma se asegurará una reducción importante de elecciones de usuarios no entrenados que pueden poner en riesgo la red.

Firewalls

Filtrar contenidos y puntos de acceso. Eliminar programas que no estén relacionados con la actividad. Tener monitorizado los accesos de los usuarios a la red, permite asimismo reducir la instalación de software que no es necesario o que puede generar riesgo para la continuidad del negocio. Su significado es barrera de fuego y no permite que otra persona no autorizada tenga acceso desde otro equipo al tuyo.

Reemplazo de software

Los puntos de entrada en la red la mayoría de las veces son el correo, las páginas web, y la entrada de ficheros desde discos, o de computadoras ajenas a la empresa.
Muchas de estas computadoras emplean programas que pueden ser reemplazados por alternativas más seguras.
Es conveniente llevar un seguimiento de cómo distribuyen bancos, y externos el software, valorar su utilidad.

Centralización y backup

La centralización de recursos y garantizar el backup de los datos es otra de las pautas fundamentales en la política de seguridad recomendada.
La generación de inventarios de software, centralización del mismo y la capacidad de generar instalaciones rápidas proporcionan métodos adicionales de seguridad.
Es importante tener localizado dónde se sitúa la información en la empresa. De esta forma podemos realizar las copias de seguridad de forma adecuada.
Control o separación de la informática móvil, dado que esta está más expuesta a las contingencias de virus.

Empleo de sistemas operativos más seguros

Para servir ficheros no es conveniente disponer de los mismos sistemas operativos que se emplean dentro de las estaciones de trabajo, ya que toda la red en este caso está expuesta a los mismos retos. Una forma de prevenir problemas es disponer de sistemas operativos con arquitecturas diferentes, que permitan garantizar la continuidad de negocio.

Temas acerca de la seguridad

Existen ideas instaladas por parte de las empresas de antivirus parte en la cultura popular que no ayudan a mantener la seguridad de los sistemas de información.
  • Mi sistema no es importante para un cracker. Este tema se basa en la idea de que no introducir passwords seguras en una empresa no entraña riesgos pues «¿Quién va a querer obtener información mía?» Sin embargo, dado que los métodos de contagio se realizan por medio de programas automáticos, desde unas máquinas a otras, estos no distinguen buenos de malos, interesantes de no interesantes. Por tanto abrir sistemas y dejarlos sin claves es facilitar la vida a los virus.
  • Estoy protegido pues no abro archivos que no conozco. Esto es falso, pues existen múltiples formas de contagio, además los programas realizan acciones sin la supervisión del usuario poniendo en riesgo los sistemas.
  • Como tengo antivirus estoy protegido. Únicamente estoy protegido mientras el antivirus sepa a lo que se enfrenta y como combatirlo. En general los programas antivirus no son capaces de detectar todas las posibles formas de contagio existentes, ni las nuevas que pudieran aparecer conforme las computadoras aumenten las capacidades de comunicación.
  • Como dispongo de un firewall no me contagio. Esto únicamente proporciona una limitada capacidad de respuesta. Las formas de infectarse en una red son múltiples. Unas provienen directamente de accesos a mi sistema (de lo que protege un firewall) y otras de conexiones que realizó (de las que no me protege). Emplear usuarios con altos privilegios para realizar conexiones tampoco ayuda.
  • Tengo un servidor web cuyo sistema operativo es un UNIX actualizado a la fecha. Puede que este protegido contra ataques directamente hacia el núcleo, pero si alguna de las aplicaciones web (PHP, Perl, Cpanel, etc.) está desactualizada, un ataque sobre algún script de dicha aplicación puede permitir que el atacante abra una shell y por ende ejecutar comandos en el UNIX.




PAQUETES UTILITARIOS




PAQUETES UTILITARIOS



En informática, una aplicación es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajos. Esto lo diferencia principalmente de otros tipos de programas, como los sistemas operativos (que hacen funcionar la computadora), los utilitarios (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación (para crear programas informáticos).
Suele resultar una solución informática para la automatización de ciertas tareas complicadas, como pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén. Algunos ejemplos de programas de aplicación son los procesadores de textos, hojas de cálculo, y base de datos.
Ciertas aplicaciones desarrolladas «a medida» suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, de hoja de cálculo y de base de datos.
Diagrama mostrando la ubicación y relación que tienen las aplicaciones frente al usuario final, y con otros programas informáticos existentes.
Otros ejemplos de programas de aplicación pueden ser: programas de comunicación de datos, multimedia, presentaciones, diseño gráfico, cálculo, finanzas, correo electrónico, navegador web, compresión de archivos, presupuestos de obras, gestión de empresas, etc.
Algunas compañías agrupan diversos programas de distinta naturaleza para que formen un paquete (llamados suites o suite ofimática) que sean satisfactorios para las necesidades más apremiantes del usuario. Todos y cada uno de ellos sirven para ahorrar tiempo y dinero al usuario, al permitirle hacer cosas útiles con la computadora; algunos con ciertas prestaciones, otros con un determinado diseño; unos son más amigables o fáciles de usar que otros, pero bajo el mismo principio.
Actualmente, con el uso de dispositivos móviles se ha extendido el término app, aplicación informática para dispositivos móviles o tabletas con multitud de funcionalidades. Desde juegos hasta aplicaciones para realizar tareas cotidianas. Es un abanico enorme que hacen más interactivo los dispositivos móviles.

Programas Utilitarios
Cuando se trabaja con una computadora, se realizan una serie de trabajos repetitivos, como clasificación de ficheros, copia de los mismos o de programas de una unidad de almacenamiento en otra (de un disco a otro), etcétera.Para facilitar estas tareas a los usuarios y para evitar a los programadores el trabajo de preparar los programas que las lleven a cabo, se distribuyen, junto con el software de base que va incluido en la computadora, unos programas que realizan las tareas mencionadas y que se denominan programas de utilidad.
Estas son aplicaciones de software que ejecutan funciones misceláneas dentro de sus sistemas operativos
Ejecutan tareas relacionadas con el mantenimiento de la PC - hardware o software. Hay algunos que se incluyen con el sistema operativo (concepto que más adelante se explicará).

PROGRAMAS UTILITARIOS

NexusFile 5.1.2 es una herramienta que nos permitirá hacer un manejo más rápido y cómodo de nuestros archivos.
Recuva v1.28 es una utilidad que sirve para recuperar archivos que hayas borrado sin querer; detecta los borrados y te permite seleccionarlos cómodamente.
Duplicate Cleaner 1.3.1 es un práctico programa con el que dirás adiós de manera definitiva a los archivos duplicados.
Synchromat 9.2.15 es una herramienta rápida e intuitiva, diseñada para mantener archivos y carpetas de cualquier tipo sincronizadas, sin importar dónde se encuentren.

REDES O TELEPROCESOS





REDES O TELEPROCESOS


Una red de computadoras, también llamada red de ordenadores, red de comunicaciones de datos o red informática, es un conjunto de equipos informáticos y software conectados entre sí por medio de dispositivos físicos que envían y reciben impulsos eléctricos, ondas electromagnéticas o cualquier otro medio para el transporte de datos, con la finalidad de compartir información, recursos y ofrecer servicios.1
Como en todo proceso de comunicación se requiere de un emisor, un mensaje, un medio y un receptor. La finalidad principal para la creación de una red de computadoras es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el costo. Un ejemplo es Internet, la cual es una gran red de millones de computadoras ubicadas en distintos puntos del planeta interconectadas básicamente para compartir información y recursos.
La estructura y el modo de funcionamiento de las redes informáticas actuales están definidos en varios estándares, siendo el más importante y extendido de todos ellos el modelo TCP/IP basado en el modelo de referencia OSI. Este último, estructura cada red en siete capas con funciones concretas pero relacionadas entre sí; en TCP/IP se reducen a cuatro capas. Existen multitud de protocolos repartidos por cada capa, los cuales también están regidos por sus respectivos estándares.

Componentes básicos de las redes

Para poder formar una red se requieren elementos: hardware, software y protocolos. Los elementos físicos se clasifican en dos grandes grupos: dispositivos de usuario final (hosts) y dispositivos de red. Los dispositivos de usuario final incluyen los computadores, impresoras, escáneres, y demás elementos que brindan servicios directamente al usuario y los segundos son todos aquellos que conectan entre sí a los dispositivos de usuario final, posibilitando su intercomunicación.
El fin de una red es la de interconectar los componentes hardware de una red , y por tanto, principalmente, las computadoras individuales, también denominados hosts, a los equipos que ponen los servicios en la red, los servidores, utilizando el cableado o tecnología inalámbrica soportada por la electrónica de red y unidos por cableado o radiofrecuencia. En todos los casos la tarjeta de red se puede considerar el elemento primordial, sea ésta parte de un ordenador, de un conmutador, de una impresora, etc. y sea de la tecnología que sea (ethernet, Wi-Fi, Bluetooth, etc.)

Software

  • Sistema operativo de red: permite la interconexión de ordenadores para poder acceder a los servicios y recursos. Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. En muchos casos el sistema operativo de red es parte del sistema operativo de los servidores y de los clientes.
  • Software de aplicación: en última instancia, todos los elementos se utilizan para que el usuario de cada estación, pueda utilizar sus programas y archivos específicos. Este software puede ser tan amplio como se necesite ya que puede incluir procesadores de texto, paquetes integrados, sistemas administrativos de contabilidad y áreas afines, sistemas especializados, correos electrónico, etc. El software adecuado en el sistema operativo de red elegido y con los protocolos necesarios permiten crear servidores para aquellos servicios que se necesiten.

Hardware

Para lograr el enlace entre las computadoras y los medios de transmisión (cables de red o medios físicos para redes alámbricas e infrarrojos o radiofrecuencias para redes inalámbricas), es necesaria la intervención de una tarjeta de red (NIC, Network Card Interface), con la cual se puedan enviar y recibir paquetes de datos desde y hacia otras computadoras, empleando un protocolo para su comunicación y convirtiendo a esos datos a un formato que pueda ser transmitido por el medio (bits, ceros y unos). Cabe señalar que a cada tarjeta de red le es asignado un identificador único por su fabricante, conocido como dirección MAC (Media Access Control), que consta de 48 bits (6 bytes). Dicho identificador permite direccionar el tráfico de datos de la red del emisor al receptor adecuado.
El trabajo del adaptador de red es el de convertir las señales eléctricas que viajan por el cable (p.e.: red Ethernet) o las ondas de radio (p.e.: red Wi-Fi) en una señal que pueda interpretar el ordenador.
Estos adaptadores son unas tarjetas PCI que se conectan en las ranuras de expansión del ordenador. En el caso de ordenadores portátiles, estas tarjetas vienen en formato PCMCIA o similares. En los ordenadores del siglo XXI, tanto de sobremesa como portátiles, estas tarjetas ya vienen integradas en la placa base.
Adaptador de red es el nombre genérico que reciben los dispositivos encargados de realizar dicha conversión. Esto significa que estos adaptadores pueden ser tanto Ethernet, como wireless, así como de otros tipos como fibra óptica, coaxial, etc. También las velocidades disponibles varían según el tipo de adaptador; éstas pueden ser, en Ethernet, de 10, 100, 1000 Mbps o 10000, y en los inalámbricos, principalmente, de 11, 54, 300 Mbps.

SISTEMA OPERATIVO



Sistema operativo

 


Un sistema operativo (SO o, frecuentemente, OS —del inglés Operating System—) es un programa o conjunto de programas de un sistema informático que gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes (aunque puede que parte de él se ejecute en espacio de usuario).
Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador web y todo tipo de herramientas que permiten la interacción con el sistema operativo. Otro ejemplo para comprender esta diferencia se encuentra en la plataforma Amiga, donde el entorno gráfico de usuario se distribuía por separado, de modo que, también podía reemplazarse por otro, como era el caso de directory Opus o incluso manejarlo arrancando con una línea de comandos y el sistema gráfico. De este modo, comenzaba a funcionar con el propio sistema operativo que llevaba incluido en una ROM, por lo que era cuestión del usuario decidir si necesitaba un entorno gráfico para manejar el sistema operativo o simplemente otra aplicación. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, usado en las llamadas distribuciones Linux, ya que al estar también basadas en Unix, proporcionan un sistema de funcionamiento similar. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar. Véase AmigaOS, beOS o Mac OS como los pioneros de dicha modernización, cuando los Amiga fueron bautizados con el sobrenombre de Video Toasters por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.
En ciertos textos, el sistema operativo es llamado indistintamente como núcleo o kernel, pero debe tenerse en cuenta que la diferencia entre kernel y sistema operativo solo es aplicable si el núcleo es monolítico, lo cual fue muy común entre los primeros sistemas. En caso contrario, es incorrecto llamar al sistema operativo núcleo.
Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo (teléfonos móviles, reproductores de DVD, computadoras, radios, enrutadores, etc.). En cuyo caso, son manejados mediante una interfaz gráfica de usuario, un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o control remoto si es un DVD y, mediante una línea de comandos o navegador web si es un enrutador.

Llamadas al sistema operativo

Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.
Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:
  • Las llamadas correspondientes deben tener el mismo formato.
  • Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.

Modos de ejecución en un CPU

Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el conjunto de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:
  • Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.
  • Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.

Llamadas al sistema

Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el S.O. haría que hubiera que reconstruir la aplicación.
Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno).
Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función.

Bibliotecas de interfaz de llamadas al sistema

Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación.
La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema.

HARDWARE-SOFTWARE


 HARDWARE




El término hardware (pronunciación AFI: /ˈhɑːdˌwɛə/ o /ˈhɑɹdˌwɛɚ/) se refiere a todas las partes físicas de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos y mecánicos.1 Son cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software. El término es propio del idioma inglés (literalmente traducido: partes duras), su traducción al español no tiene un significado acorde, por tal motivo se la ha adoptado tal cual es y suena; la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora».2 El término, aunque sea lo más común, no solamente se aplica a las computadoras; del mismo modo, también un robot, un teléfono móvil, una cámara fotográfica, un reproductor multimedia o cualquier otro electrónico que procese datos poseen hardware (y software). La historia del hardware de computador se puede clasificar en cuatro generaciones, cada una caracterizada por un cambio tecnológico de importancia. Una primera delimitación podría hacerse entre hardware básico, el estrictamente necesario para el funcionamiento normal del equipo, y complementario, el que realiza funciones específicas.
Un sistema informático se compone de una unidad central de procesamiento (UCP o CPU), encargada de procesar los datos, uno o varios periféricos de entrada, los que permiten el ingreso de la información y uno o varios periféricos de salida, los que posibilitan dar salida (normalmente en forma visual o auditiva) a los datos procesados. Su abreviatura es Hw.

Clasificación del hardware

Una de las formas de clasificar el hardware es en dos categorías: por un lado, el básico, que abarca el conjunto de componentes indispensables necesarios para otorgar la funcionalidad mínima a una computadora; y por otro lado, el hardware complementario, que, como su nombre indica, es el utilizado para realizar funciones específicas (más allá de las básicas), no estrictamente necesarias para el funcionamiento de la computadora.
Necesita un medio de entrada de datos, la unidad central de procesamiento, la memoria RAM, un medio de salida de datos y un medio de almacenamiento constituyen el hardware básico.
Los medios de entrada y salida de datos estrictamente indispensables dependen de la aplicación: desde el punto de vista de un usuario común, se debería disponer, al menos, de un teclado y un monitor para entrada y salida de información, respectivamente; pero ello no implica que no pueda haber una computadora (por ejemplo controlando un proceso) en la que no sea necesario teclado ni monitor; bien puede ingresar información y sacar sus datos procesados, por ejemplo, a través de una placa de adquisición/salida de datos.
Las computadoras son aparatos electrónicos capaces de interpretar y ejecutar instrucciones programadas y almacenadas en su memoria; consisten básicamente en operaciones aritmético-lógicas y de entrada/salida. Se reciben las entradas (datos), se las procesa y almacena (procesamiento), y finalmente se producen las salidas (resultados del procesamiento). Por ende todo sistema informático tiene, al menos, componentes y dispositivos hardware dedicados a alguna de las funciones antedichas; a saber:
  1. Procesamiento: unidad central de procesamiento
  2. Almacenamiento: Memorias
  3. Entrada: Periféricos de entrada (E)
  4. Salida: Periféricos de salida (S)
  5. Entrada/Salida: Periféricos mixtos (E/S)
Desde un punto de vista básico y general, un dispositivo de entrada es el que provee el medio para permitir el ingreso de información, datos y programas (lectura); un dispositivo de salida brinda el medio para registrar la información y datos de salida (escritura); la memoria otorga la capacidad de almacenamiento, temporal o permanente (almacenamiento); y la CPU provee la capacidad de cálculo y procesamiento de la información ingresada (transformación).
Un periférico mixto es aquél que puede cumplir funciones tanto de entrada como de salida; el ejemplo más típico es el disco rígido (ya que en él se lee y se graba información y datos).




SOFTWARE




Se conoce como software1 al equipo lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.
El anglicismo "software" es el más ampliamente difundido al referirse a este concepto, especialmente en la jerga técnica; en tanto que el término sinónimo «logicial», derivado del término francés logiciel, es utilizado mayormente en países y zonas de influencia francesa. Su abreviatura es Sw.

Clasificación del software

Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:
  • Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:
    • Sistemas operativos
    • Controladores de dispositivos
    • Herramientas de diagnóstico
    • Herramientas de Corrección y Optimización
    • Servidores
    • Utilidades
  • Software 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. Incluyen básicamente:
    • Editores de texto
    • Compiladores
    • Intérpretes
    • Enlazadores
    • Depuradores
    • 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).
  • Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:
    • Aplicaciones para Control de sistemas y automatización industrial
    • Aplicaciones ofimáticas
    • Software educativo
    • Software empresarial
    • Bases de datos
    • Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
    • Videojuegos
    • Software médico
    • Software de cálculo numérico y simbólico.
    • Software de diseño asistido (CAD)
    • Software de control numérico (CAM)