Está en la página 1de 10

Por su estructura:

Funcionales
Est compuesto por el conjunto de programas que sirven para hacer funcional el computador por lo que tambin recibe el nombre de software operativo. Desde el punto de vista del control de los recursos de una computadora podemos definir el sistema operativo como el subsistema administrador para alcanzar un eficaz rendimiento de los recursos ofrecidos por el hardware. Estos recursos son los siguientes: El procesador, la memoria interna, la entrada / salida y la informacin.

Orientados a objetos.
Significa que el software se organiza como una coleccin de objetos discretos que contiene tanto estructura de datos como tambin un comportamiento, sus caractersticas son: 1. Identidad: Los datos estn cuantificados en entidades discretas y distinguibles denominadas objetos, por ejemplo una persona, los objetos pueden ser tangibles (como un archivo) o intangibles. 2. Clasificacin: Los objetos con la misma estructura de datos (atributos) y comportamiento (operaciones) se agrupan para formar una misma clase, se dice que cada objeto es una instancia de su propia clase, y una clase es una abstraccin que describe propiedades importantes para una aplicacin y se olvida del resto. 3. Polimorfismo: Significa que una misma operacin puede comportarse de modos distintos en distintas clases, una operacin es una accin o transformacin que se aplica a un objeto 4. Herencia: Comparte atributos y operaciones entre clases tomando como base una relacin jerrquica, es decir que puedo definir una clase que despus producir subclases, sabiendo que todas las subclases adquirirn todas y cada una de las propiedades de su super-clase y le agrega adems sus propiedades exclusivas

Orientados a listas.
Las listas son estructuras de datos dinmicas, esto es, su talla puede variar en el curso de la sesion de trabajo.

Son adems estructuras de tipo secuencial. Esto es, para acceder a un elemento contenido en una lista es necesario recorrer previamente todos los que le preceden. En Lisp, las listas son las estructuras fundamentales de manejo de datos.

Orientados a componentes.
La programacin basada en componentes (PBC) es aquella que se basa en la implementacin de sistemas utilizando componentes previamente programados y probados. La Programacin Orientada a Componentes (POC) aparece como una variante natural de la programacin orientada a objetos (POO) para los sistemas abiertos, en donde la POO presenta algunas limitaciones; por ejemplo, la POO no permite expresar claramente la distincin entre los aspectos computacionales y meramente composicionales de la aplicacin, no define una unidad concreta de composicin independiente de las aplicaciones (los objetos no lo son, claramente), y define interfaces de demasiado bajo nivel como para que sirvan de contratos entre las distintas partes que deseen reutilizar objetos. La POC nace con el objetivo de construir un mercado global de componentes software, cuyos usuarios son los propios desarrolladores de aplicaciones que necesitan reutilizar componentes ya hechos y probados para construir sus aplicaciones de forma ms rpida y robusta. Las entidades bsicas de la POC son los componentes, es decir cajas negras que encapsulan cierta funcionalidad y que son diseadas para formar parte de ese mercado global de componentes, sin saber ni quin los utilizar, ni cmo, ni cundo. Los usuarios conocen acerca de los servicios que ofrecen los componentes a travs de sus interfaces y requisitos, pero normalmente ni quieren ni pueden modificar su implementacin.

POR SU FUNCIN:
Programas o Sistemas de Usuario
Programa informtico diseado para facilitar al usuario la realizacin de un determinado tipo de trabajo. Posee ciertas caractersticas que le diferencia de un sistema operativo (que hace funcionar al ordenador), de una utilidad (que realiza tareas de mantenimiento o de uso general) y de un lenguaje (con el cual se crean los programas informticos). Suele resultar una solucin informtica para la automatizacin de ciertas tareas complicadas como puede ser la contabilidad. Ciertas aplicaciones desarrolladas 'a medida' suelen ofrecer una gran potencia ya que estn exclusivamente diseadas para resolver un problema especfico. Otros,

llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, de hoja de clculo y de base de datos.

Aplicaciones basadas en un lenguaje de programacion que una computadora interpreta para resolver un problema o una funcion especifica.

Interfaces Hombre-Mquina.
Una interfaz de software es la parte de una aplicacin que el usuario ve y con la cual interacta. Est relacionada con la subyacente estructura, la arquitectura, y el cdigo que hace el trabajo del software. La interfaz incluye las pantallas, ventanas, controles, mens, metforas, la ayuda en lnea, la documentacin y el entrenamiento. Cualquier cosa que el usuario ve y con lo cual interacta es parte de la interfaz. Una interfaz inteligente es fcil de aprender y usar. Permite a los usuarios hacer su trabajo o desempear una tarea en la manera que hace ms sentido para ellos, en vez de tener que ajustarse al software. Una interfaz inteligente se disea especficamente para la gente que la usar. Esto implica, que existe un sistema de traduccin entre el hombre y la maquina, porque ambos manejan cdigos diferentes: verbo-icnico en el caso del hombre y binario en el caso del procesador electrnico. Existe una idea fundamental del concepto de interfaz es el de mediacin, entre hombre y mquina. Es decir, la interfaz es lo que "media", lo que facilita la comunicacin, la interaccin entre ambas partes.

Herramientas de Software.
Existen herramientas de Software generales, de uso muy comn, y herramientas de Software especficas que son utilizadas exclusivamente por algunos fabricantes. Entre las herramientas de software estndar para usar en las PC, la secuencia de autotest lanzada por el BIOS (POST), en el momento de encender la computadora, que de ningn modo debe ignorarse. En muchos casos, ste autotest le permitir localizar un desperfecto grave que impida incluso el acceso a la pantalla para cualquier otro control.

Libreras.
Las libreras son una forma sencilla y versatil de modularizar y reutilizar cdigo sus posibles usos y los recursos mnimos necesarios para gestionarlas de forma adecuada.

Una librera esttica no es ms que un conjunto de ficheros objeto empaquetados en un nico archivo. Para crear una librera esttica debemos seguir los siguientes pasos:

Codificar los mdulos de la forma habitual. Obtener los ficheros objeto utilizando el compilador. Empaquetar los ficheros objeto que integran la librera por medio de la utilidad ar.

Por convenio, los nombres de todas las libreras estticas comienzan por lib y tienen .a por extensin. Aunque estas restricciones no son obligatorias, es poco recomendable saltrselas pues el entorno ofrece facilidades de uso si se siguen dichas normas.

Junto con los compiladores de C y C++, se incluyen ciertos ficheros llamados bibliotecas o libreras. Las bibliotecas contienen el cdigo objeto de muchos programas que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar nmeros, realizar funciones matemticas, etc. Las bibliotecas estn clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, matemticas, de manejo de memoria, de manejo de textos, etc.

Sistemas de uso genrico:


El software para uso general ofrece la estructura para un gran nmero de aplicaciones empresariales, cientficas y personales. El software de hoja de clculo, de diseo asistido por computadoras (CAD), de procesamiento de texto, de manejo de Bases de Datos, pertenece a esta categora. La mayora de software para uso general se vende como paquete; es decir, con software y documentacin orientada al usuario ( manuales de referencia, plantillas de teclado y dems ).

Bases de Datos.
Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilizacin y su implementacin en mquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de informacin diferente y no predicable en tiempo. Una base de datos es un almacn que nos permite guardar grandes cantidades de informacin de forma organizada para que luego podamos encontrar y utilizar fcilmente

es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Se define una base de datos como una serie de datos organizados y relacionados entre s, los cuales son recolectados y explotados por los sistemas de informacin de una empresa o negocio en particular.

Sistemas basados en Web.


Son aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a travs de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicacin software que se codifica en un lenguaje soportado por los navegadores web en la que se confa la ejecucin al navegador. Las aplicaciones web son populares debido a lo prctico del navegador web como cliente ligero, a la independencia del sistema operativo, as como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en lnea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones web. Una pgina Web puede contener elementos que permiten la comunicacin activa entre el usuario y la informacin, accediendo a los datos de modo interactivo, como rellenar y enviar formularios, participar en juegos, etc.
Se desarrollan usando lenguajes de programacin como ASP, PHP, JSP, Cold Fusion, ASP.Net; los cuales crean la infraestructura necesaria para poder desarrollar desde sistemas transaccionales a sistemas integrados. De esta manera se integran oficinas, personas, clientes, trabajadores, proveedores usando un slo sistema, creando y mejorando las redes de negocios.

Por su plataforma de computo:


Sistemas embebidos.
Un sistema embebido o empotrado es un sistema de computacin diseado para realizar una o algunas pocas funciones dedicadas frecuentemente en un sistema de computacin en tiempo real. Los sistemas embebidos se utilizan para usos muy diferentes a los usos generales a los que se suelen someter a las computadoras personales. En un sistema embebido la mayora de los componentes se encuentran incluidos en la placa base (la tarjeta de vdeo, audio, mdem, etc.) aunque muchas veces los dispositivos no lucen como computadoras, por ejemplo relojes de taxi, registradores, controles de acceso entre otras mltiples aplicaciones.

Por lo general los sistemas embebidos se pueden programar directamente en el lenguaje ensamblador del microcontrolador incorporado sobre el mismo o bien, utilizando algn compilador especfico, suelen utilizarse lenguajes como C, C++ y hasta en algunos casos BASIC. Su misin consiste en resolver una pequea del conjunto que tiene que resolver la mquina en cuestn. Por ejemplo, en el caso de una lavadora, esta se compone de un chasis, de motores elctricos y bombas de agua, de un frontal con varias teclas para que el usuario pueda poner en marcha la lavadora, contiene temporizadores y vlvulas elctricas que controlan el flujo del agua, y ms componentes. En este conjunto nos podemos fcilmene imaginar la necesidad un circuito electrnico que contenga los diferentes programas de lavado del que disponga el electrodomstico. Y por razones obvias, esta electrnica no sera otra cosa que un micro-ordenador, especialmente diseado para dicho fin. Por lo tanto pdemos hablar de un sistema embebido o empotrado en el interior de la lavadora.

Sistemas de cmputo distribuido.


Un sistema distribuido se define como: una coleccin de computadoras separadas fsicamente y conectadas entre s por una red de comunicaciones distribuida; cada mquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema (no necesita saber qu cosas estn en qu mquinas). El usuario accede a los recursos remotos (RPC) de la misma manera en que accede a recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en comn. Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos. El tamao de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (red de rea local), centenas de hosts (red de rea metropolitana), y miles o millones de hosts (Internet); esto se denomina escalabilidad. Ejemplo:

Una fbrica de robots, donde los robots actan como dispositivos perifricos unidos a la misma computadora central.

Sistemas de cmputo paralelo.


La computacin paralela es una tcnica de programacin en la que muchas instrucciones se ejecutan simultneamente. Se basa en el principio de que los problemas grandes se pueden dividir en partes ms pequeas que pueden resolverse de forma concurrente ("en paralelo"). Existen varios tipos de computacin paralela: paralelismo a nivel de bit, paralelismo a nivel de instruccin, paralelismo de datos y paralelismo de tareas. Durante muchos aos, la computacin paralela se ha aplicado en la computacin de altas prestaciones, pero el inters en ella ha aumentado en los ltimos aos debido a las restricciones fsicas que impiden el escalado en frecuencia. La computacin paralela se ha convertido en el paradigma dominante en la arquitectura de computadores, principalmente en los procesadores multincleo. Los ordenadores paralelos se pueden clasificar segn el nivel de paralelismo que admite su hardware: los ordenadores multincleo y multiproceso tienen varios elementos de procesamiento en una sola mquina, mientras que los clusters, los MPP y los grids emplean varios ordenadores para trabajar en la misma tarea. Los programas de ordenador paralelos son ms difciles de escribir que los secuencialesporque la concurrencia introduce nuevos tipos de fallas de software. La comunicacin y la sincronizacin entre las diferentes subtareas son tpicamente las grandes barreras para conseguir un buen rendimiento de los programas paralelos. Generalmente estos sistemas suelen manejar grandes cantidades de informacin del orden de los terabytes y pueden procesar cientos de peticiones por segundo. Los sistemas paralelos estn formados por varios sistemas que comparten la informacin, los recursos y la memoria de alguna manera.

Sistemas de tiempo real.


Un sistema en tiempo real (STR) es aquel sistema digital que interacta activamente con un entorno con dinmica conocida en relacin con sus entradas, salidas y restricciones temporales, para darle un correcto funcionamiento de acuerdo con los conceptos de predictibilidad, estabilidad, controlabilidad y alcanzabilidad. Los sistemas en tiempo real estn presentes en nuestra vida diaria, prcticamente en todo lo que nos rodea; en los aviones, trenes y automviles; en el televisor, la lavadora o el horno de microondas, en los telfonos celulares y en las centrales telefnicas digitales. Son un elemento imprescindible para garantizar la generacin, transmisin y distribucin de la energa elctrica y para asegurar la calidad y la seguridad de incontables procesos industriales. La principal caracterstica que distingue a los STR de otros tipos de sistemas es el tiempo de interaccin. Sin embargo, antes de continuar es necesario aclarar el significado de las palabras "tiempo" y "real". La palabra "tiempo" significa que el correcto funcionamiento de

un sistema depende no slo del resultado lgico que devuelve la computadora, tambin depende del tiempo en que se produce ese resultado. La palabra "real" quiere decir que la reaccin de un sistema a eventos externos debe ocurrir durante su evolucin. Como una consecuencia, el tiempo del sistema (tiempo interno) debe ser medido usando la misma escala con que se mide el tiempo del ambiente controlado (tiempo externo). Bsicamente los sistemas de tiempo real se definen como sistemas informticos que tienen la capacidad de interactuar rpidamente con su entorno fsico, el cual puede realizar funciones de supervisin o control para su mismo beneficio. Todos los sistemas de tiempo real tienen la facultad de ejecutar actividades o tareas en de intervalos de tiempo bien definidos. Todas las tareas son ejecutadas inmediatamente en una forma concurrente, esto es para sincronizar el funcionamiento del sistema con la simultaneidad de acciones que se presentan en el mundo fsico. La mayora de los STR son utilizados cuando existen requerimientos de tiempo muy rgidos en las operaciones o en el flujo de datos, generalmente son requeridos como sistemas de control en una aplicacin dedicada. La eficiencia de los STR no solo depende de la exactitud de los resultados de cmputo, sino tambin del momento en que los entrega. La predictibilidad es su caracterstica principal de este tipo de sistemas. Este tipo de sistemas se caracterizan por tener que producir una salida, como respuesta a una entrada, en un tiempo determinado. El intervalo de tiempo que se presenta entre la entrada y la salida debe ser muy pequeo para que la respuesta temporal del sistema sea aceptable.

Sistemas basados en Chips.


Tambien conocido como System-on-a-chip o system on chip (SoC o SOC) Se refiere a la integracin de todos los componentes de un equipo u otros electrnica sistema de en una sola circuito integrado (chip ) . Puede contener digitales, analgica, de seal mixta, y con frecuencia de frecuencias radioelctricas funciones - todo en un sustrato nico chip. El conjunto de chips, o chipset, es un elemento formado por un determinado nmero de circuitos integrados en el que se han incluido la mayora de los componentes que dotan a un ordenador de compatibilidad PC/AT a nivel hardware como, por ejemplo, el controlador de interrupciones, los controladores DMA, el chip temporizador, controladoras de disco duro, etc. Mediante este elemento se han integrado en unos pocos componentes los que

antes se encontraban un nmero de chips independientes relativamente elevado. Con el paso del tiempo, en el chipset se han ido incluyendo algunos nuevos tipos de dispositivos que han surgido con el avance tecnolgico, como es el caso de las controladores de bus USB, el bus AGP, el bus PCI, funciones de administracin de energa, etc. Este proceso de integracin va a continuar en el futuro, por lo que durante el presente ao aparecern en el mercado conjuntos de chips que incluirn tambin a la tarjeta grfica. Tanto Intel, como VIA Technologies y SIS estn trabajando en productos de este tipo para microprocesadores tanto de tipo socket 7 como Slot 1 o socket 370.

Wearable computing systems.


Wearable Computing Systems (Sistemas Usables de Computacin) son computadoras que se usan en el cuerpo. Este tipo de tecnologa de porttiles se ha utilizado en modelos de comportamiento, control de la salud de sistemas, tecnologas de la informacin y el desarrollo de medios de comunicacin. Computadoras usables son especialmente tiles para aplicaciones que requieren soporte computacional, mientras que las manos del usuario, voz, ojos, brazos o la atencin se vinculan activamente con el entorno fsico.
"La computacin usable" es un tema de investigacin activa, con reas de estudio, incluida la interfaz de usuario de diseo, realidad aumentada , reconocimiento de patrones , el uso de elementos vestibles para aplicaciones especficas o discapacidades. Muchos problemas son comunes a los elementos vestibles, informtica mvil , inteligencia ambiental y la computacin ubicua investigacin comunidades , incluyendo la administracin de energa y disipacin de calor, las arquitecturas de software, inalmbrico y de redes de rea personal . Una de las caractersticas principales de una computadora porttil es la consistencia. Hay una constante interaccin entre el ordenador y el usuario, es decir, no hay necesidad de encender el dispositivo encendido o apagado. Otra caracterstica es la capacidad de multi-tarea. No es necesario para detener lo que est haciendo para utilizar el dispositivo, sino que se aumenta en todas las otras acciones. Estos dispositivos pueden ser incorporados por el usuario para actuar como una prtesis . Por lo tanto, puede ser una extensin de la mente del usuario y / o el cuerpo.

Sistemas de cmputo ubiquos.


Es la integracin de la informtica en el entorno de la persona, de forma que los ordenadores no se perciban como objetos extraos. Algunas de las aplicaciones ubicuas son: e-Medicina Monitoreo y procesamiento de seales medicas remotas Context aware systems Monitoreo de actividades en ancianos. Tele-Diagnostico Movil Computacin Ubicua: La idea de la computacin ubicua es de proveer acceso a los ordenadores de forma sencilla y no de

la forma tradicional utilizada hoy en da. Es decir, permitir que hagas tu trabajo con la ayuda de los ordenadores sin tener que preocuparse por trabajar con los mismos. Por lo tanto la computacin mvil es de fundamental relevancia para el desarrollo de esta nueva tendencia de la computacin. La idea es que podremos usar sensores y otros perifricos (cmaras o micrfonos) en vez de las manos. Una definicin formal de Computacin Ubicua (ubicom): la integracin de la informtica en el entorno de la persona, de forma que los ordenadores no se perciban como objetos diferenciados. Esta disciplina se conoce en ingles por otros trminos como: pervasive-computing, calm technology, things that think y everyware y desde hace unos aos se le denomina Inteligencia Ambiental. El objetivo es insertar dispositivos inteligentes tanto en el entorno como en aparatos de uso diario para que las personas puedan interactuar con ellos de una manera natural y desinhibida en todo tipo de situaciones y circunstancias.