Asignatura: Tecnologa de la Informacin Marcelo Jimnez Encina Ingeniero en Informtica
MJE Tecnologa de la Informacin Software Se conoce como software al conjunto de programas, instrucciones y reglas informticas que permiten ejecutar distintas tareas en una computadora. Se compone de secuencias de ordenes o instrucciones que indican al Hardware que debe hacer. El computador procesa instrucciones que le indican que operaciones debe realizar en cada instante. Estas instrucciones hacen referencia a los programas y datos almacenados en un computador y son las responsables de que el equipo (hardware) realice su tarea. La interaccin entre el Software (componente lgico) y el Hardware (componente fsico) hace operativa la mquina, es decir, el Software enva instrucciones al Hardware haciendo posible su funcionamiento Que es Software? MJE Tecnologa de la Informacin Software El software segn su funcin general, puede clasificarse en tres categoras principales: Software de Sistema (o base). Software de Aplicaciones. Software de Programacin (o desarrollo) Tipos de Software Software de Sistema Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar con el sistema, gestionando y confiriendo control sobre el hardware, adems de dar soporte a otros programas. Software de Aplicaciones Corresponde a todo aquel software diseados para y por los usuarios y cuyo propsito es ayudar al usuario a realizar alguna tarea. Software de Programacin El Software de Programacin es el conjunto de herramientas que permiten al desarrollador informtico (o programador) escribir programas usando diferentes alternativas y lenguajes de programacin. MJE El software es todo programa o aplicacin programada, para realizar diferentes tareas a travs de un computador Tecnologa de la Informacin Software MJE Tecnologa de la Informacin Software Software de Sistema o Software Base Conjunto de programas que sirven para interactuar con el sistema, gestionan y confiriendo control sobre el hardware, adems de dar soporte a otros programas. Permite a los programas de Aplicaciones abstraerse de los detalles del HW, gestionar y coordinar la comunicacin entre el resto de los programas y los componentes del HW. El Software de Sistema se divide en: Sistema operativo El Sistema Operativo es un conjunto de programas que administran los recursos de la computadora y controlan su funcionamiento. Un Sistema Operativo realiza cinco funciones bsicas: Suministro de Interfaz al Usuario, Administracin de Recursos, Administracin de Archivos, Administracin de Tareas y Servicio de Soporte. Controladores de Dispositivos Los Controladores de Dispositivos son programas que permiten a otros programa de mayor nivel como un sistema operativo interactuar con un dispositivo de hardware. Programas Utilitarios Los Programas Utilitarios realizan diversas funciones para resolver problemas especficos, adems de realizar tareas en general y de mantenimiento. Algunos se incluyen en el sistema operativo. MJE Tecnologa de la Informacin Sistema Operativo El sistema operativo es la aplicacin (o software) ms importante de un computador. Para que funcionen los otros programas, cada computador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas bsicas, tales como reconocimiento de la conexin del teclado, enviar la informacin a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos perifricos tales como impresoras, escner, entre otras. MJE Tecnologa de la Informacin Sistema Operativo Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados utilitarios o aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la eleccin del sistema operativo determina en gran medida las aplicaciones que se pueden utilizar. MJE Tecnologa de la Informacin Sistema Operativo Control de procesos: Es un programa de ejecucin que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El S.O. es el responsable de crear y destruir los procesos, parar y reanudar los procesos, ofrecer mecanismos para que se comuniquen y sincronicen. Gestin de la memoria principal: Es una gran tabla de palabras o bytes que se referencian cada una mediante una direccin nica. Considera Gestin del almacenamiento secundario, necesaria, ya que la memoria principal es voltil y adems muy pequea para almacenar todos los programas y datos El sistema E/S: Es un de almacenamiento temporal, una interfaz de manejadores de dispositivos y otra para dispositivos concreto. Gestin de archivos: son colecciones de informacin relacionada, definidas por sus creadores. Estos almacenan programas y datos tales como imgenes, textos, informacin, de bases de datos. Sistema de Seguridad: Es el mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de distinguir entre uso y autorizado y no autorizado. Especifica los controles de seguridad a realizar. Comunicaciones: para mantener las comunicaciones con otros sistemas es necesario poder controlar el envi y recepcin de informacin a travs de las interfaces de red. hay que crear puntos de comunicacin que sirvan a las aplicaciones que estn ejecutndose localmente. MJE Tecnologa de la Informacin Software Ejemplos de Sistemas Operativos Familia Windows Windows 95 Windows 98 Windows ME Windows NT Windows 2000 Windows 2000 server Windows XP Windows Server 2003 Windows CE Windows Mobile Windows XP Windows Vista Windows 7. Familia Macintosh Mac OS 7 Mac OS 8 Mac OS 9 Mac OS X Familia UNIX AIX AMIX GNU/Linux GNU / Hurd HP-UX Irix Minix System V Solaris UnixWare Familia Linux Linux Ubuntu Tecnologa de la Informacin Sistemas Operativos La utilizacin -casi masiva- de Windows (XP y 7) responde bsicamente a: La costumbre a su uso, La variedad de aplicaciones soportadas por Windows, El desconocimiento que tienen los usuarios de otros sistemas operativos, Su negativa al cambio a una nueva interface y por otra parte A la falta de soporte de hardware -en el caso de Linux. Estas son las cifras totales por sistema operativo: Windows 7: 69.73% Windows XP: 10.05% Windows 8: 8.76% Windows Vista: 6.02% OS X: 3.56% Ubuntu: 1.12% Cifras por versin de sistema (02/2013): MJE Tecnologa de la Informacin Sistemas Operativos Los primeros sistemas operativos modernos y orientados a PC`s nacen en los aos 80s. Apple Macintosh y MS-DOS seran los ms populares. La diferencia entre estos dos se basa en que el primero tena una Interface Grfica y la segunda trabajaba en una Lnea de Comandos. En los aos 90s aparecera Linux y su software libre. De all derivaran otros sistemas operativos basados en Linux como por ejemplo Ubuntu. Ante todo esto, Windows busco corregir los errores del Windows Vista con Windows 7 lanzado a comienzos del 2010. Estas funcionan sobre servidores Linux, de forma que an cuando como usuarios, estemos accediendo desde un navegador ejecutndose en Windows o Mac, la aplicacin real se est ejecutando en servidores Linux y los datos estn almacenndose igualmente en dichos servidores.. El ms claro ejemplo del trabajo de Linux es su utilizacin en servidores y supercomputadoras donde tiene la cuota ms importante del mercado. Grandes aplicaciones funcionan sobre Linux, tales como: Facebook, Gmail, Yahoo MJE Tecnologa de la Informacin Sistema operativo Sistemas Operativos en Mviles Ejemplos de S.O. Android (Google Inc.) Blackberry OS iOS (Apple Inc.) Symbian (Nokia, Sonny Ericsson, Motorola) Windows Mobile (Microsoft) MJE Tecnologa de la Informacin Sistema operativo Sistemas Operativos en Mviles (01/2013) MJE Diferencias a considerar entre los Sistemas Operativos Factor e Inters Econmico. Los usuarios para poder utilizarlo deben pagar por ellos, como son, por ejemplo el Sistema Operativo Windows y el Mac OS, mientras que el Linux es Gratuito. Derecho de Autora del Fabricante y el Manejo de Licencia. Implica el pago para distribuir y operar el software, como sucede con Windows y el Mac OS, en cambio el Linux es Libre. Modificacin y ajustes de los Sistemas Operativos. Windows no permite modificacin de sus componentes, no obstante Linux si permite mayor opciones de modificacin. Tecnologa de la Informacin Sistemas Operativos Hoy da tras varios aos de desarrollo tecnolgico se han creado varios Sistemas Operativos para facilitar el uso adecuado de los equipos, ya sea un servidor, un PC o un telfono celular. Entre estos sistemas operativos hay ciertas similitudes y diferencias como consecuencia de intereses propios de las empresas fabricantes de software Al comparar los Sistemas Operativos se deben considerar las siguientes diferencias Operatividad o Fcil Manejo de los Sistemas Operativos. Windows es conocido como el ms popular entre los usuarios por su fcil manejo, en comparacin de otros como el Linux, donde para realizar algunas actividades se deben tener ciertos conocimientos tcnicos en el rea. MJE Diferencias a considerar entre los Sistemas Operativos Mayor Rendimiento De acuerdo a los expertos se dice que Linux ofrece Mayor Rendimiento en los equipos en cuanto a rapidez, puesto que el sistema no se queda pegado como sucede en Windows Compatibilidad. Actualmente la mayora de las aplicaciones: productividad, juegos y otros, son ms compatibles con Windows que con Linux. Adems en Windows los programas y software de los perifricos se instalan con mayor facilidad, mientras que en Linux, algunos programas son difciles de instalar o no se instalan completamente y presentan deficiencias. En conclusin, el desarrollo de los sistemas operativos debe apuntar hacia crear un software que cubra todas las expectativas del usuario, en cuanto a: fcil manejo, atractivo visual, eficiencia en el rendimiento del equipo y dems programas, seguridad y accesibilidad econmica. . Tecnologa de la Informacin Sistemas Operativos Al comparar los Sistemas Operativos se deben considerar las siguientes diferencias Interfaz Grfica de usuario Proporciona un entorno visual sencillo para permitir la comunicacin con el sistema operativo de una mquina o computador, a travs del uso y la representacin de lenguaje visual. En este aspecto los preferidos por la mayora de los usuarios son el Windows y el Mac OS, los cuales resultan atractivos por sus variedades y aplicaciones grficas en el escritorio y en el rea multimedia. Seguridad Los diferentes sistemas tienen vulnerabilidades, no obstante, hay opiniones encontradas que sealan mayor seguridad en uno o en otro, en cuanto a la proteccin de los archivos y del sistema frente a posibles virus y hackers. MJE Tecnologa de la Informacin Software Software de Programacin El Software de Programacin es el conjunto de herramientas que permiten al desarrollador informtico escribir programas usando diferentes alternativas y lenguajes de programacin. Este tipo de software incluye principalmente compiladores, intrpretes, ensambladores, enlazadores, depuradores, editores de texto y un entorno de desarrollo integrado que contiene las herramientas anteriores, y normalmente cuenta una avanzada interfaz grfica de usuario. Editores de texto Compiladores Intrpretes Enlazadores Depuradores Entornos de Desarrollo Integrados: 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). MJE Tecnologa de la Informacin Software de Programacin Que es un Programa Un programa se escribe en algn lenguaje de programacin. (Una vez disponible para su ejecucin queda identificado, por ejemplo, con la extensin .exe en el sistema Windows . El software es un conjunto de programas, instrucciones y reglas informticas que permiten ejecutar distintas tareas en una computadora. Un programa (informtico) es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas dictadas por el programador en una computadora. Sin programas, estas mquinas no pueden funcionar. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. MJE Tecnologa de la Informacin Software de Programacin Programacin Estos lenguajes consisten en un conjunto de smbolos y reglas sintcticas y semnticas, que definen el significado de sus elementos y expresiones. Un lenguaje de programacin permite a los programadores del software especificar, en forma precisa, sobre qu datos debe operar una computadora. 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 el equipo se ven como: MJE Tecnologa de la Informacin Software de Programacin Programacin Los programas son desarrollados mediante distintos lenguajes de programacin, que permiten controlar el comportamiento de una mquina. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. MJE Tecnologa de la Informacin Software de Programacin Cuando se pide que el programa sea ejecutado, el procesador ejecuta instruccin por instruccin. Tambin la palabra programacin se define como el proceso de creacin de un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos: El desarrollo lgico del programa para resolver un problema en particular. Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa). Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina. Prueba y depuracin del programa. Desarrollo de la documentacin. Programacin Tecnologa de la Informacin Software de Programacin Lenguajes de Programacin MJE Tecnologa de la Informacin Software de Programacin MJE Tecnologa de la Informacin Software de Programacin Computador Java MJE Tecnologa de la Informacin Software de Programacin Programa disponible para ejecucin Cuando se pide que el programa sea ejecutado, el procesador ejecuta instruccin por instruccin, en un cdigo que entiende el computador. 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: La traduccin del cdigo escrito del programa (lo que se denomina cdigo fuente), a su equivalente en lenguaje mquina, se le denomina Compilar un programa y al programa traductor se le denomina Compilador. 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. Combinaciones de ceros y unos llamada cdigo mquina. MJE Tecnologa de la Informacin Software de Programacin El programa debe ser compilado o interpretado para poder ser ejecutado por el computador y as cumplir su objetivo. MJE Tecnologa de la Informacin Software de Programacin El procesador ejecuta (corre) el programa, instruccin por instruccin hasta que termina. A un programa en ejecucin se le suele llamar tambin proceso. Ejecucin de un Programa. Generalmente, los programas se almacenan en una memoria no voltil, donde quedan disponibles para su ejecucin. El sistema operativo recibe la solicitud de ejecucin y accede al procesador directamente tomando el control para su ejecucin. El usuario de la computadora, directa o indirectamente, solicita su ejecucin. Al momento de la solicitud, el programa es cargado en la memoria de acceso aleatorio o RAM del equipo, bajo el control del sistema operativo. Un programa puede terminar su ejecucin en forma normal o por causa de un error, dicho error puede ser de software o de hardware. MJE Qu es Open Source? Caractersticas mas relevantes de una licencia Open Source: o La posibilidad de usar el programa, con cualquier propsito. Tecnologa de la Informacin SW Open Source Por Open Source, se entiende todo aquel software que cualquier persona tiene el derecho de usar, modificar y redistribuir el cdigo libremente. Esto esta garantizado por el tipo de licencia que utiliza. El concepto de Open Source deriva del software libre, que responde al Movimiento que lleva ese nombre Software Libre Es la denominacin del software que respeta la libertad de todos los usuarios que adquirieron el producto y, por tanto, una vez obtenido el mismo puede ser usado, copiado, estudiado, modificado, y redistribuido libremente de varias formas. El software libre suele estar disponible gratuitamente, o al precio de costo de la distribucin a travs de otros medios; sin embargo no es obligatorio que sea as, por lo tanto no hay que asociarlo a "software gratuito". o La posibilidad estudiar cmo funciona el programa, y adaptarlo a las necesidades; por lo que se necesita acceso al cdigo fuente. o La posibilidad de distribuir copias. o La posibilidad de mejorar el programa y hacer pblicas las mejoras a los dems. o La no discriminacin de personas o grupos. o La no restriccin a ninguna actividad o lnea de negocio. o Para la distribucin de la licencia debe aplicarse los mismos derechos a todo el que reciba el programa. MJE Aplicaciones Open Source Tecnologa de la Informacin SW Open Source En general los que habitualmente no estn relacionados con aplicaciones open source desconocen las posibilidades de un software que podra ser tan bueno como las alternativas ofrecidas por el software pagado. De acuerdo a estudios y evaluaciones de Datamation (medio internacional especializado y, referente, en tecnologas de la informacin y comunicacin) existen una serie de aplicaciones para los usuarios domsticos, pequeas empresas y empresas, que son notables por su facilidad de uso y la calidad general. Incluso, afirman, algunas son mejores que sus contrapartes comerciales. Entre otras, se encuentran: Funcionalidad Producto Equivalente a Sistema Operativo Navegadores Firefox Internet Explorer Windows, Linux, OS X, Android Compresin de archivos PeaZip WinZip Windows, Linux, OS X Base de Datos MySQL Microsoft SQL Server Windows, Linux, Unix, OS X Destruccin de datos Eraser BCWipe Enterprise Windows CRM SugarCRM SalesForce.com Windows, Linux, OS X ERP Open ERP SAP, Microsoft Dynamics For mid Windows, Linux Administracin E-mail Thunderbird Microsoft Office Outlook Windows, Linux, OS X Diagramas y modelos DIA Microsoft Visio Windows, Linux/Unix Imgenes Gimp Adobe Photoshop Windows, Linux Juegos FlightGear Microsoft Flight Simulator X Windows, Linux, OS X, others Productividad OpenOffice.org Microsoft Office Windows, Linux, OS X, others Sistema Operativo Linux Mint Microsoft Windows PDF PDFCreator Adobe Acrobat Windows Administracin Proyectos OpenProj Microsoft Project Windows, Linux, Unix, OS X Videos VLC Media Player Windows Media Player Windows, Linux, OS X, others Creacin sitios Web BlueGriffon Adobe Dreamweaver Windows, Linux, OS X Tecnologa de la Informacin Software Asignatura: Tecnologa de la Informacin Marcelo Jimnez Encina Ingeniero en Informtica