You are on page 1of 8

Introduccin

Sin el software, una computadora no es ms que una masa metlica sin utilidad. Con el software, una computadora puede almacenar, procesar y recuperar informacin, encontrar errores de ortografa en manuscritos, tener aventuras e intervenir en muchas otras valiosas actividades para ganar el sustento. El software para computadoras puede clasificarse en general en dos clases: los programas de sistema, que controlan la operacin de la computadora en si y los programas de aplicacin, los cuales resuelven problemas para sus usuarios. El programa fundamental de todos los programas de sistema es el sistema operativo (SO), que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicacin.

Definicin de software
Existen varias definiciones similares aceptadas para software, pero probablemente la ms formal sea la siguiente:
Es el conjunto de los programas de cmputo, procedimientos, reglas, documentacin y datos asociados que forman parte de las operaciones de un sistema de computacin.

Considerando esta definicin, el concepto de software va ms all de los programas de computacin en sus distintos estados: cdigo fuente, binario o ejecutable; tambin su documentacin, los datos a procesar e incluso la informacin de usuario forman parte del software: es decir, abarca todo lo intangible, todo lo no fsico relacionado. El trmino software fue usado por primera vez en este sentido por John W. Tukey en 1957. En la ingeniera de software y las ciencias de la computacin, el software es toda la informacinprocesada por los sistemas informticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones (programa) desde la memoria de un dispositivo para controlar los clculos fue introducido por Charles Babbage como parte de su mquina diferencial. La teora que forma la base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936, Los nmeros computables, con una aplicacin al problema de decisin.

Tipos de Software:

Clasificacin del software


Si bien esta distincin es, en cierto modo, arbitraria, y a veces confusa, a los fines prcticos 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 informtico 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, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:

Sistemas operativos Controladores de dispositivos 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. Incluyen bsicamente:

Editores de texto Compiladores Intrpretes 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 mltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz grfica de usuario (GUI).

Software de aplicacin: Es 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 muchos otros:

Aplicaciones para Control de sistemas y automatizacin industrial Aplicaciones ofimticas Software educativo Software empresarial Bases de datos Telecomunicaciones (por ejemplo Internet y toda su estructura lgica) Videojuegos Software mdico Software de clculo Numrico y simblico. Software de diseo asistido (CAD)

Software de control numrico (CAM)

Sistema operativo Un sistema operativo (SO) es un programa o conjunto de programas que en un sistema informtico gestiona los recursos de hardware y provee servicios a los programas de aplicacin, y se ejecuta en modo privilegiado respecto de los restantes.1 Ntese que es un error comn muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusin en el mismo trmino de programas como el explorador de ficheros, el navegador web y todo tipo de herramientas que permiten la interaccin con el sistema operativo, tambin llamado ncleo o kernel. Esta identidad entre kernel y sistema operativo es solo cierta si el ncleo es monoltico. Otro ejemplo para comprender esta diferencia se encuentra en la plataforma Amiga, donde el entorno grfico de usuario se distribua por separado, de modo que, tambin poda reemplazarse por otro, como era el caso de directory Opus o incluso manejarlo arrancando con una lnea de comandos y el sistema grfico. De este modo, al arrancar un Amiga, comenzaba a funcionar con el propio sistema operativo que llevaba incluido en una ROM, por lo que era cuestin del usuario decidir si necesitaba un entorno grfico para manejar el sistema operativo o simplemente otra aplicacin. Uno de los ms prominentes ejemplos de esta diferencia, es el ncleo Linux, usado en las llamadas distribuciones Linux, ya que al estar tambin basadas en Unix, proporcionan un sistema de funcionamiento similar. Este error de precisin, se debe a la modernizacin de la informtica llevada a cabo a finales de los 80, cuando la filosofa de estructura bsica de funcionamiento de los grandes computadores2 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) ms sencillo de gestionar.3 (Vase AmigaOS, beOS o MacOS como los pioneros4 de dicha modernizacin, cuando los Amiga fueron bautizados con el sobrenombre de Video Toasters5 por su capacidad para la Edicin de vdeo en entorno multitarea round robin, con gestin de miles de colores e interfaces intuitivos para diseo en 3D. Uno de los propsitos del sistema operativo que gestiona el ncleo intermediario consiste en gestionar los recursos de localizacin y proteccin de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayora de aparatos electrnicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo. (telfonos mviles, reproductores de DVD, computadoras, radios, enrutadores, etc). En cuyo caso, son manejados mediante una Interfaz Grfica 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 lnea de comandos o navegador web si es un enrutador.

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. A continuacin se mostrarn diversos tipos

de Sistemas Operativos que existen en la actualidad, con algunas de sus caractersticas: 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. Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecucin muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidad de la ejecucin de los trabajos. Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento acadmico. Algunas otras caractersticas con que cuentan los Sistemas Operativos por lotes son: Requiere que el programa, datos y rdenes al sistema sean remitidos todos juntos en forma de lote. Permiten poca o ninguna interaccin usuario/programa en ejecucin. Mayor potencial de utilizacin de recursos que procesamiento serial simple en sistemas multiusuarios. No conveniente para desarrollo de programas por bajo tiempo de retorno y depuracin fuera de lnea. Conveniente para programas de largos tiempos de ejecucin (ej, anlisis estadsticos, nminas de personal, etc.) Se encuentra en muchos computadores personales combinados con procesamiento serial. Planificacin del procesador sencilla, tpicamente procesados en orden de llegada. Planificacin de memoria sencilla, generalmente se divide en dos: parte residente del S.O. y programas transitorios. No requieren gestin crtica de dispositivos en el tiempo. Suelen proporcionar gestin sencilla de manejo de archivos: se requiere poca proteccin y ningn control de concurrencia para el acceso. Figura. Trabajos ms comunes que realiza el Sistema Operativo por lotes. Sistemas Operativos de tiempo real. Los Sistemas Operativos de tiempo real son aquelos 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. Tambin en el ramo automovilstico y de la electrnica de consumo, las aplicaciones de tiempo

real estn creciendo muy rpidamente. Otros campos de aplicacin de los Sistemas Operativos de tiempo real son los siguientes: Control de trenes. Telecomunicaciones. Sistemas de fabricacin integrada. Produccin y distribucin de energa elctrica. Control de edificios. Sistemas multimedia. Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las siguientes caractersticas: Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayora externos al sisterma computacional, en breve tiempo o dentro de ciertos plazos. Se utlizan en control industrial, conmutacin telefnica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc. Objetivo es proporcionar rpidos tiempos de respuesta. Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso. Proceso se activa tras ocurrencia de suceso, mediante interrupcin. Proceso de mayor prioridad expropia recursos. Por tanto generalmente se utliza planificacin expropiativa basada en prioridades. Gestin de memoria menos exigente que tiempo compartido, usualmente procesos son residentes permanentes en memoria. Poblacin de procesos esttica en gran medida. Poco movimiento de programas entre almacenamiento secundario y memoria. Gestin de archivos se orienta ms a velocidad de acceso que a utlizacin eficiente del recurso. Sistemas Operativos de multiprogramacin (o Sistemas Operativos de multitarea). Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms trabajos activos (que se estn ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al mximo su utilizacin. Su objetivo es tener a varias tareas en la memoria principal, de manera que cada uno est usando el procesador, o un procesador distinto, es decir, involucra mquinas con ms de una UCP. Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2, soportan la multitarea. Las caractersticas de un Sistema Operativo de multiprogramacin o multitarea son las siguientes: Mejora productividad del sistema y utilizacin de recursos. Multiplexa recursos entre varios programas. Generalmente soportan mltiples usuarios (multiusuarios). Proporcionan facilidades para mantener el entorno de usuarios inndividuales. Requieren validacin de usuario para seguridad y proteccin. Proporcionan contabilidad del uso de los recursos por parte de los usuarios.

Multitarea sin soprte multiusuario se encuentra en algunos computadores personales o en sistemas de tiempo real. Sistemas multiprocesadores son sistemas multitareas por definicin ya que soportan la ejecucin simultnea de mltiples tareas sobre diferentes procesadores. En general, los sistemas de multiprogramacin se caracterizan por tener mltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos perifricos. Sistemas Operativos de tiempo compartido. Permiten la simulacin de que el sistema y sus recursos son todos para cada usuarios. 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 procesador, 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. Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10. Caractersticas de los Sistemas Operativos de tiempo compartido: Populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de diseo asistido por computador, procesamiento de texto, etc. Dan la ilusin de que cada usuario tiene una mquina para s. Mayora utilizan algoritmo de reparto circular. Programas se ejcutan con prioridad rotatoria que se incrementa con la espera y disminuye despus de concedido el servicio. Evitan monopolizacin del sistema asignando tiempos de procesador (time slot). Gestin de memoria proporciona proteccin a programas residentes. Gestin de archivo debe proporcionar proteccin y control de acceso debido a que pueden existir mltiples usuarios accesando un mismo archivos. 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. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc. Caracteristicas de los Sistemas Operativos distribuidos:

Coleccin de sistemas autnomos capaces de comunicacin y cooperacin mediante interconexiones hardware y software . Gobierna operacin de un S.C. y proporciona abstraccin de mquina virtual a los usuarios. Objetivo clave es la transparencia. Generalmente proporcionan medios para la comparticin global de recursos. Servicios aadidos: denominacin global, sistemas de archivos distribuidos, facilidades para distribucin de clculos (a travs de comunicacin de procesos internodos, llamadas a procedimientos remotos, etc.). Sistemas Operativos de red. Son aquellos sistemas que mantienen a dos o ms computadoras unidas atravs de algn medio de comunicacin (fisico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware. Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic. Conclusin: Luego de haber investigado y analizado se puede ver que se han desarrollado varios tipos de sistemas operativos con diferentes interfaces y categoras. Pero hemos podido observar que todos los sistemas operativos han sufrido cambios por parte de los programadores, y siguen evolucionando. Los sistemas operativos empleados normalmente son UNIX, Macintosh OS, MS-DOS, OS/2, Windows 95 y Windows NT. El UNIX y sus clones permiten mltiples tareas y mltiples usuarios. Otros SO multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft e IBM, Windows NT y Win95 desarrollados por Microsoft. El SO multitarea de Apple se denomina Macintosh OS. El MS-DOS es un SO popular entre los usuarios de PCs pero solo permite un usuario y una tarea. Los sistemas operativos han ido evolucionando a medida de las necesidades que se fueron generando, cada sistema operativo tiene un fin determinado que es la de realizar tareas segn el objetivo a lograr, dependiendo de lo que necesite el o los usuarios. La mayora de los sistemas operativos de ultima generacin tienden a, atender un gran numero de usuarios, y que los procesos a realizar demoren en un mnimo de tiempo. Tipos de Sistemas Operativos Los sistemas operativos ms conocidos son los siguientes: 1) DOS: El famoso DOS, que quiere decir Disk Operating System (sistema operativo de disco), es ms conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compaa de software Microsoft y es en esencia el mismo SO que el PC-DOS.

La razn de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel. Cuando Intel liber el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayora del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran xito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacan. An con los nuevos sistemas operativos que han salido al mercado, todava el DOS es un slido contendiente en la guerra de los SO. 2) Windows 3.1: Microsoft tomo una decisin, hacer un sistema operativo que tuviera una interfaz grfica amigable para el usuario, y como resultado obtuvo Windows. Este sistema muestra conos en la pantalla que representan diferentes archivos o programas, a los cuales se puede accesar al darles doble click con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fcil aprender a usar nuevo software una vez aprendido las bases. 3) Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versin del Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo as correr mejores aplicacines para mejorar la eficacia del trabajo. 4) Windows NT: Esta versin de Windows se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o ms computadoras. 5) OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las caractersticas de el SO, ya que la mayora del mercado de software ha sido monopolizado por Windows. 6) Mac OS: Las computadoras Macintosh no seran tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc. 7) UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la informacin. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas.

You might also like