Está en la página 1de 8

Software

Software palabra proveniente del ingls (literalmente: partes blandas o suaves), que en nuestro idioma no posee una traduccin adecuada al contexto, por lo cual se la utiliza asduamente sin traducir y fue adoptada por la RAE. Se refiere al equipamiento lgico o soporte lgico de un computador digital, comprende el conjunto de los componentes lgicos necesarios para hacer posible la realizacin de una tarea especfica, en contraposicin a los componentes fsicos del sistema (hardware). Tales componentes lgicos incluyen, entre otras, aplicaciones informticas tales como procesador de textos, que permite al usuario realizar todas las tareas concernientes a edicin de textos; software de sistema, tal como un sistema operativo, el que, bsicamente, permite al resto de los programas funcionar adecuadamente, facilitando la interaccin con los componentes fsicos y el resto de las aplicaciones, tambin provee una interface ante el usuario.

Clasificacin del software


Si bien esta distincin es, en cierto modo, arbitraria, y a veces confusa, se puede clasificar al software de la siguiente forma: Software de sistema: Es aquel que permite que el hardware funcione. Su objetivo es desvincular adecuadamente al programador de los detalles del computador en particular que se use, aislndolo especialmente del procesamiento referido a las caractersticas 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 y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
y y y y y y

Sistemas operativos Controladores de dispositivo Herramientas de diagnstico Herramientas de Correccin y Optimizacin Servidores Utilidades

Software de programacin: Es el conjunto de herramientas que permiten al programador desarrollar programas informticos, usando diferentes alternativas y lenguajes de programacin, de una manera prctica. Incluye entre otros:
y y y y y y

Editores de texto Compiladores Intrpretes Enlazadores Depuradores Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma que el programador no necesite

introducir mltiples comandos para compilar, interpretar, depurar, etc.. Habitualmente cuentan con una avanzada interfaz grfica de usuario (GUI). Software de aplicacin: Aquel que permite a los usuarios llevar a cabo una o varias tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios. Incluye entre otros:
y y y y y y y

Aplicaciones de control y automatizacin industrial Aplicaciones ofimticas Software educativo Software mdico Software de Clculo Numrico Software de Diseo Asistido (CAD) Software de Control Numrico (CAM)

Sistema operativo
y

Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administracin eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la mquina desde los niveles ms bsicos, permitiendo tambin la interaccin con el usuario. Un sistema operativo se puede encontrar normalmente en la mayora de los aparatos electrnicos que utilicen microprocesadores para funcionar, ya que gracias a stos podemos entender la mquina y que sta cumpla con sus funciones (telfonos mviles, reproductores de DVD, autoradios, computadoras, etc.).

Un sistema operativo desempea 5 funciones bsicas en la operacin de un sistema informtico: suministro de interfaz al usuario, administracin de recursos, administracin de archivos, administracin de tareas y servicio de soporte y utilidades.

Interfaces del usuario


Es la parte del sistema operativo que permite comunicarse con l de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos bsicos de interfaces: las que se basan en comandos, las que utilizan mens y las interfaces grficas de usuario.

Administracin de recursos
Sirven para administrar los recursos de hardware y de redes de un sistema informativo, como el CPU, memoria, dispositivos de almacenamiento secundario y perifricos de entrada y de salida.

Administracin de archivos

Un sistema de informacin contiene programas de administracin de archivos que controlan la creacin, borrado y acceso de archivos de datos y de programas. Tambin implica mantener el registro de la ubicacin fsica de los archivos en los discos magnticos y en otros dispositivos de almacenamiento secundarios.

Administracin de tareas
Los programas de administracin de tareas de un sistema operativo administran la realizacin de las tareas informticas de los usuarios finales. Los programas controlan que reas tiene acceso al CPU y por cunto tiempo. Las funciones de administracin de tareas pueden distribuir una parte especfica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad.

Servicio de soporte
Los servicios de soporte de cada sistema operativo dependern de la implementacin (programas orientados a diferentes tareas, como editores de texto, administradores de archivos, navegadores, etc.) particular de ste con la que estemos trabajando. Entre las ms conocidas se pueden destacar las implementaciones de Unix, desarrolladas por diferentes empresas de software, los sistemas operativos de Apple Inc., como Mac OS X para las computadoras de Apple Inc., los sistemas operativos de Microsoft, y las implementaciones de software libre, como GNU/Linux o BSD producidas por empresas, universidades, administraciones pblicas, organizaciones sin fines de lucro y/o comunidades de desarrollo. Estos servicios de soporte suelen consistir en:
y y y y y y

Actualizacin de versiones. Mejoras de seguridad. Inclusin de alguna nueva utilidad (un nuevo entorno grfico, un asistente para administrar alguna determinada funcin, ...). Controladores para manejar nuevos perifricos. Correccin de errores de software. Otros.

No todas las utilidades de administracin o servicios forman parte del sistema operativo, adems de ste, hay otros tipos importantes de software de administracin de sistemas, como los sistemas de administracin de base de datos o los programas de administracin de redes. El soporte de estos productos deber proporcionarlo el fabricante correspondiente (que no tiene porque ser el mismo que el del sistema operativo).

Clasificacin de los Sistemas Operativos.


Con el paso del tiempo, los Sistemas Operativos fueron clasificndose de diferentes maneras, dependiendo del uso o de la aplicacin que se les daba.

Sistemas Operativos de multiprogramacin (o Sistemas Operativos de multitarea).


Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutacin de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o ms aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicacin que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicacin.

Sistema Operativo Monotareas.


Los sistemas operativos monotareas son ms primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresin.

Sistema Operativo Monousuario.


Los sistemas monousuarios son aquellos que nada ms puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicacin que se este ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario.

Sistema Operativo Multiusuario.


Es todo lo contrario a monousuario; y en esta categora se encuentran todos los sistemas que cumplen simultneamente las necesidades de dos o ms usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes.

Sistemas Operativos por lotes.


Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interaccin entre los usuarios y los programas en ejecucin. Se renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o ms trabajos como sucede en el procesamiento en serie. Estos sistemas son de los ms tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.

Sistemas Operativos de tiempo real.

Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, estn subutilizados sus recursos con la finalidad de prestar atencin a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un gran nmero de sucesos o eventos. Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy especficas como control de trfico areo, bolsas de valores, control de refineras, control de laminadores. Sistemas Operativos de tiempo compartido. Permiten la simulacin de que el sistema y sus recursos son todos para cada usuario. El usuario hace una peticin a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecer en la terminal del usuario. Los principales recursos del sistema, el pocesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de que tiene el sistema dedicado para s mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administracin de memoria principal y secundaria. Sistemas Operativos distribuidos. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas bsicos de stos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema dbilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.

Sistemas Operativos de red.


Son aquellos sistemas que mantienen a dos o ms computadoras unidas atravs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema.

Sistemas Operativos paralelos.


En estos tipos de Sistemas Operativos se pretende que cuando existan dos o ms procesos que compitan por algn recurso se puedan realizar o ejecutar al mismo tiempo.En UNIX existe tambin la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). As, en lugar de esperar a que el proceso termine de ejecutarse (como lo hara normalmente), regresa a atender al usuario inmediatamente despus de haber creado el proceso. Definicion: Algoritmo

Podemos encontrar muchas definiciones de algoritmo en los textos de programacion, todas ellas muy similares:
y y y y y y y y y y

Conjunto ordenado y finito de pasos que permite hallar la solucin de un problema. Una secuencia de pasos que conducen a la realizacin de una tarea. Descripcin exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento. Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lgica de un programa. Es un sistema por el cual se llega a una solucin, teniendo en cuenta que debe de ser definido, finito y preciso. Toda receta, proceso, rutina, mtodo, procedimiento, tcnica, formula que resuelven un determinado problema. Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una accin determinada. Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas. Descripcin precisa de una sucesin de instrucciones que permite llevar a cabo un trabajo en un nmero finito de pasos. Un conjunto de smbolos y procedimientos usados en la realizacin de un clculo.

Las definiciones mas completas o formales:


y

Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968] Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988] Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solucin o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]

Caracteristicas: Las caractersticas fundamentales que debe cumplir todo algoritmo son:
y y y

Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin a realizar sin criterios de interpretacin. Ser finito: Un nmero especfico y numerable de pasos debe componer al algoritmo, el cual deber finalizar al completarlos. Tener cero o ms entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende. Tener una o ms salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe

ser considerado como nicamente verlos en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programacin que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo. Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada ms ni nada menos que aquello que se requiera para y en su ejecucin.

Definicin de Lenguaje de programacin


Anuncios

Lenguaje artificial que puede ser usado para controlar el comportamiento de una mquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintcticas y semnticas que permiten expresar instrucciones que luego sern interpretadas. Debe distinguirse de lenguaje informtico, que es una definicin ms amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programacin en s misma. El programador es el encargado de utilizar un lenguaje de programacin para crear un conjunto de instrucciones que, al final, constituir un programa o subprograma informtico. Los lenguajes de programacin pueden clasificarse segn el paradigma que usan en: procedimentales, orientados a objetos, funcionales, lgicos, hbridos, etc. Son ejemplos de lenguajes de programacin: php, prolog, ASP, ActionScript, ada, python, pascal, c, basic, JAVA, JavaScript, etc.

Programa informtico
Un programa informtico es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora. Sin programas, estas mquinas no pueden funcionar.1 2 Al conjunto general de programas, se le denomina software, que ms genricamente se refiere al equipamiento lgico o soporte lgico de una computadora digital. En informtica, se los denomina comnmente binarios, (propio en sistemas Unix, donde debido a la estructura de este ltimo, los ficheros no necesitan hacer uso de extensiones. Posteriormente, los presentaron como ficheros ejecutables, con extensin .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilacin y han sido creados, las instrucciones que se escribieron en un

lenguaje de programacin que los humanos usan para escribirlos con mayor facilidad, se han traducido al nico idioma que la mquina comprende, combinaciones de ceros y unos llamada cdigo mquina. El mismo trmino, puede referirse tanto a un programa ejecutable, como a su cdigo fuente, el cual es transformado en un binario cuando es compilado. Generalmente el cdigo fuente lo escriben profesionales conocidos como programadores. Se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo y que posteriormente puede ser convertido en una imagen ejecutable por un compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instruccin por instruccin. De acuerdo a sus funciones, se clasifican en software de sistema y software de aplicacin. En los computadores actuales, al hecho de ejecutar varios programas de forma simultnea y eficiente, se le conoce como multitarea.

Programacin
La programacin es el proceso de disear, escribir, probar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Programar no involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar fusionadas en el desarrollo de pequeas aplicaciones.

También podría gustarte