domingo, 18 de julio de 2010

0 QUE ES EL SOFTWARE ?? (video)

sábado, 10 de julio de 2010

0 software


CONCEPTOS DE SOFTWARE
El software es el conjunto de instrucción es que controlan el
funcionamiento del sistema de computación. Es decir, el software le "da vida" al hardware, le da una razón de ser, una finalidad.
El software esta constituido por programas que, como vimos en el capitulo anterior, se cargan en la Unidad Central de Proceso para su ejecución.
Hay diferentes niveles de software o programa, en función de la "cercanía" que tienen para trabajar con las funciones básicas del hardware o con los datos como información.


HADWARE
El hadware contrasta con el software que es intangible y lo da lógica al hadware (ademas de ejecutarse dentro de éste)
EL hadware no es frecuentemente cambiado, en tanto el software puede ser creado, borrado y modificado sencillamente ( excepto el firmware que es un tipo de software que raramente es alterado )

clasificación por la funcionalidad del hadware

*hadware básico: dispositivos para iniciar la computadora. los mas básicos son la placa madre, la fuente de alimentación, el microprocesador y la memoria. se podrían incluir componentes como monitor y teclado, aunque no son estrictamente básicos.
*Hadware complementario:aquellos dispositivos que complementan a la computadora, pero que no son fundamentales para su funcionamiento , como ser, impresora, unidades de almacenamiento, etc.
+ Periféricos (componentes externos): dispositivos externos a la computadora.
*Componentes internos : dispositivos que son internos al gabinete de la computadora.
*Puertos: conectan los periféricos con los componentes internos




SOFTWARE DE BASES Y SOFTWARE DE APLICACIÓN

Si bien encontramos muchas zonas grises, podemos clasificar el software en dos grandes grupos:

*Software de base: se ocupa del control de las tareas básicas del sistema de computación, tales como la administración de la memoria, de los dispositivos de entrada-salida, etcétera.
*Software de aplicación: se ocupa de resolver las tareas requeridas por el ser humano, tales como procesar la información contable, realizar la liquidación de haberes, reservar un pasaje de micro.
Veremos a continuación diferentes tipos de software,- correspondiendo claramente los primeros, a piezas de software de base y los últimos, también claramente a ejemplos de software de aplicación.



SISTEMA OPERATIVO

El sistema operativo es el software de más bajo nivel, indica y supervisa las operaciones de la CPU. Sus componentes pueden agruparse así:
Programa de carga inicial (
IPL del ingles initial program loader) o, mas utilizado en el ámbito de las computadoras personales: boot.
Es un programa pequeño que le indica a la computadora las primeras acciones que debe realizar, cuando se enciende y luego de los chequeos establecidos por hardware, incluyendo los programas y archivos que ofrecen datos, que requiere el sistema operativo para trabajar en cada computadora en particular, y el resto de los programas que conforman el sistema operativo.

* Los programas de control. Constituyen el núcleo del sistema operativo, y son los programas que se ocupan de:
* El control los recursos físicos del sistema; manejo de entradas y salidas, lectura y grabación de archivos, manejo de los contenidos de la memoria, ejecución de procesos de transformación de datos en la CPU, etcétera.
*La coordinación de las acciones de esos recursos; tomar los datos y llevarlos al punto correcto para su procesamiento, coordinar las diferentes funciones requeridas por múltiples programas que se encuentren en ejecución, etcétera.

Los objetivos de los sistemas operativos son:

*utilizar, al máximo, la capacidad de proceso del sistema.
*minimizar el tiempo de espera de los equipos periféricos (unidades de entrada, salida y almacenamiento).
*Garantizar el correcto procesamiento.

Si bien encontramos múltiples sistemas operativos, algunos sencillos y otros mas complejos y con mayor
funcionalidad, sus componentes básicos son comunes a todos.


Una primera
clasificación entre sistemas operativos la encontramos entre los que permiten trabajar a un solo usuario por vez (si bien el sistema de computación puede estar trabajando, como en el caso del Windows, en múltiples tareas: como un procesador de texto, en el cual el usuario ingresa por teclado y ve por pantalla la redacción, y administrar la entrega de datos a una Impresora por una impresión previamente generada y encolada) y los que permiten la concurrencia de múltiples usuarios (como e! Unix, el Windows NT y los sistemas operativos de maquinas de mayor porte).

Mas allá de esto, el trabajo multitarea permite, en sistemas operativos complejos, asignar prioridades de procesamiento; es decir, indicarle al sistema que de mayor atención, materializada en mayor tiempo de CPU a un programa que a otro. Por ejemplo, atender el programa "A" prioritariamente sobre los programas "B” y "C" esto provocará que ni bien tenga la respuesta esperada por el programa "A” volverá al mismo programa "A', se encuentre donde se encuentre en el ciclo de atención de otros programas.

Los sistemas operativos multitarea deben almacenar, en áreas de memoria, la situación de cada tarea en el momento que la abandonan para, al retomarla, recuperar los datos y continuar el proceso.





COMPILADORES E INTÉRPRETES

El programa en el lenguaje que escribirnos las instrucciones se llama programa fuente, mientras que el programa en el lenguaje que la maquina las interpreta se llama programa objeto.

El proceso de transformación del programa fuerte al programa objeto se denomina compilación, y. es realizado por la maquina mediante la ejecución del programa compilador.

En este proceso, el programa que se ejecuta en la CPU es el compilador, la entrada es el programa., en lenguaje fuerte y la salida es el programa en lenguaje objeto.

Los
compiladores, como primera parte del proceso, validan la corrección interna del programa fuerte. (El compilador no puede validar errores en cuanto a la funcionalidad del programa; por ejemplo, si en lugar de sumar se indica que reste). Esto es, validan que el programa sea consistente en si mismo, que se repite la sintaxis propia del lenguaje de programación, etcetera.

Por ejemplo, si se define la realización de cálculos sobre ciertos datos para su archivo posterior, verifican que los datos requeridos en los cálculos se encuentren en los archivos de entrada
identificados en el mismo programa fuente, como así también que los datos de salida tengan un destino en algún archivo de salida. ~

Si se detectan errores, los mismos son comunicados (por una impresión o información en pantalla) al programador, si no se detectan errores se genera el programa objeto o ejecutable.

Este ejecutable es guardado en los almacenamientos del sistema, dará su posterior ejecución todas las veces que sea requerido. Este proceso de almacenamiento de los programas fuente y objetos se denomina
catalogación. Entonces nos encontramos con una biblioteca de programas fuentes y otra de programas objetos.

Por ejemplo, supongamos el caso de un programa cuyo objetivo inicial fuera calcular el total de ventas del mes, mediante la lectura del archivo de facturación, y luego de un tiempo se le requiere que en forma adicional muestre el total diario. En este caso debemos:

*Tomar el programa fuente anterior.

*Modificarlo, para que con la misma lectura del archivo de facturas calcule y exponga el total diario, y por ultimo, el del mes.

*Compilarlo nuevamente.

*Reemplazar el programa objeto de la primera versión por el programa objeto de esta nueva versión del programa fuente.

De lo expuesto se desprenden dos hechos relevantes:

*Resulta de gran importancia la correcta administración de programas fuente y objeto,
requiriéndose una gran disciplina para no perder la relación biunívoca entre ellos.

* Tanto la
documentación de programación cuanto la utilización de estándares, para que cada uno pueda entender con menor esfuerzo lo hecho por los demás, son elementos de fundamental importancia para realizar el mantenimiento en forma mas eficiente.
Por supuesto, el programa compilador esta estrictamente vinculado con la maquina para la cual genera los programas objetos.





Una alternativa a la compilación es la interpretación de los programas fuentes.

Mientras que en la compilación encontramos dos pasos para la ejecución de un programa (primero se genera el programa objeto y luego se ejecuta el programa objeto) en la interpretación, el mismo programa, denominado interprete, se ocupa de leer el programa fuente interpretarlo en lenguaje maquina y ejecutarlo en el momento.

El programa interprete también detecta los errores internos del programa fuente, los indica e interrumpe la ejecución.

La utilización de intérpretes permite al programador seguir las instrucciones del programa y facilita la depuración de errores.

Cuando un programa esta totalmente depurado, y será ejecutado
rutinariamente en múltiples oportunidades, es conveniente compilado, generando el modulo ejecutable, de esta forma se evita la interpretación en cada ejecución, mejorando el rendimiento del sistema.



SOFTWARE PROPIETARIOS Y SOFTWARE LIBRE

El software tanto de base como de aplicación- es desarrollado y construido por medio de la aplicación de conocimientos de sus elaboradores; de esta manera, los desarrolladores del software son dueños de su propiedad intelectual.





Si el dueño del software establece restricciones sobre su utilización y/o modificación se dice que se trata de un software propietario, o no libre. Por ejemplo, cuando el vendedor entrega al comprador una licencia de uso sobre su creación intelectual; es decir, que puede usar el software, pero no modificarlo ni copiarlo para entregarlo a terceros, en venta o cesión.
Au n si la pieza de software en cuestión se obtiene gratis, el propietario, al entregarla, puede establecer restricciones con relación a su utilizaci6n. Por ejemplo, cediendo en forma gratuita exclusivamente su derecho de uso para fines personales, no pudiendo ser utilizada en aplicaciones comercial es, n i copiar, vender o ceder a terceros. Cuando un software propietario se obtiene en arma gratuita se dice que es una pieza free-ware (del ingles, free: gratis).

De esta manera podemos encontrar software gratuito y, a la vez, propietario: no libre. También encontramos software propietario que es gratuito para uso no comercial, pero con costo para usos comerciales.

Corno ejemplo de software propietario, no gratuito podemos mencionar Microsoft
Windows, productos de Adobe para la generación de PDF y software para juegos. Como ejemplos de software propietario gratuito, para usos no comerciales, podemos mencionar Adobe Readers y Pd1995.

Cuando hablamos de software de código abierto nos referimos a software cuyo programa fuente es accesible y modificable por el usuario, sin restricciones. Este software puede obtenerse en forma gratuita u onerosa.

El concepto de software libre se refiere a aquel cuya licencia de uso garantiza a su receptor la libertad de utilizarlo en lo que quiera, modificarlo como quiera y redistribuirlo, otorgando licencias de igual tipo como desee.

La libertad de modificarlo implica la necesidad de que se trate de software de
codigo abierto. Se acepta que esta libertad se condicione en cuanto a la forma de incorporar mejoras y a la obligación de compartir esas mejoras con el resto de la comunidad.

La libertad de redistribuirlo implica que se pueden hacer copias y entregar a terceros, con o sin cargo, independientemente de haberlo obtenido en forma gratuita u onerosa. Es mas, un poseedor de licencia puede ofrecer un determinado software sin cargo y otro, el mismo software, en forma onerosa.

Por lo tanto, un software de
open source, que se vende sin otorgar el derecho a copiarlo y entregarlo en forma gratuita, no es un software libre.

En el ambiente de
PC hogareñas y de oficina encontramos habitualmente software que cubre todas o algunas de las siguientes funciones:

* Correo electrónico.
* Agenda.
* Procesador de textos.
*
Planilla de cálculos.
* Presentaciones.
* Navegadores para Internet.
* Administradores simples de bases de datos.

Como ejemplos de navegadores de Internet podemos mencionar los software: Internet
Explorer de Microsoft, y el Firefox de Mozilla Fundation, siendo este último libre, de código abierto y gratuito.

Estos programas pueden obtenerse por separado o en conjuntos, integrados por varios de ellos, tomando el nombre de
suites. Encontramos propuestas tanto de software propietario cuanto de software libre. Dentro de las ofertas del mercado las más difundidas son:





domingo, 18 de julio de 2010

sábado, 10 de julio de 2010

software


CONCEPTOS DE SOFTWARE
El software es el conjunto de instrucción es que controlan el
funcionamiento del sistema de computación. Es decir, el software le "da vida" al hardware, le da una razón de ser, una finalidad.
El software esta constituido por programas que, como vimos en el capitulo anterior, se cargan en la Unidad Central de Proceso para su ejecución.
Hay diferentes niveles de software o programa, en función de la "cercanía" que tienen para trabajar con las funciones básicas del hardware o con los datos como información.


HADWARE
El hadware contrasta con el software que es intangible y lo da lógica al hadware (ademas de ejecutarse dentro de éste)
EL hadware no es frecuentemente cambiado, en tanto el software puede ser creado, borrado y modificado sencillamente ( excepto el firmware que es un tipo de software que raramente es alterado )

clasificación por la funcionalidad del hadware

*hadware básico: dispositivos para iniciar la computadora. los mas básicos son la placa madre, la fuente de alimentación, el microprocesador y la memoria. se podrían incluir componentes como monitor y teclado, aunque no son estrictamente básicos.
*Hadware complementario:aquellos dispositivos que complementan a la computadora, pero que no son fundamentales para su funcionamiento , como ser, impresora, unidades de almacenamiento, etc.
+ Periféricos (componentes externos): dispositivos externos a la computadora.
*Componentes internos : dispositivos que son internos al gabinete de la computadora.
*Puertos: conectan los periféricos con los componentes internos




SOFTWARE DE BASES Y SOFTWARE DE APLICACIÓN

Si bien encontramos muchas zonas grises, podemos clasificar el software en dos grandes grupos:

*Software de base: se ocupa del control de las tareas básicas del sistema de computación, tales como la administración de la memoria, de los dispositivos de entrada-salida, etcétera.
*Software de aplicación: se ocupa de resolver las tareas requeridas por el ser humano, tales como procesar la información contable, realizar la liquidación de haberes, reservar un pasaje de micro.
Veremos a continuación diferentes tipos de software,- correspondiendo claramente los primeros, a piezas de software de base y los últimos, también claramente a ejemplos de software de aplicación.



SISTEMA OPERATIVO

El sistema operativo es el software de más bajo nivel, indica y supervisa las operaciones de la CPU. Sus componentes pueden agruparse así:
Programa de carga inicial (
IPL del ingles initial program loader) o, mas utilizado en el ámbito de las computadoras personales: boot.
Es un programa pequeño que le indica a la computadora las primeras acciones que debe realizar, cuando se enciende y luego de los chequeos establecidos por hardware, incluyendo los programas y archivos que ofrecen datos, que requiere el sistema operativo para trabajar en cada computadora en particular, y el resto de los programas que conforman el sistema operativo.

* Los programas de control. Constituyen el núcleo del sistema operativo, y son los programas que se ocupan de:
* El control los recursos físicos del sistema; manejo de entradas y salidas, lectura y grabación de archivos, manejo de los contenidos de la memoria, ejecución de procesos de transformación de datos en la CPU, etcétera.
*La coordinación de las acciones de esos recursos; tomar los datos y llevarlos al punto correcto para su procesamiento, coordinar las diferentes funciones requeridas por múltiples programas que se encuentren en ejecución, etcétera.

Los objetivos de los sistemas operativos son:

*utilizar, al máximo, la capacidad de proceso del sistema.
*minimizar el tiempo de espera de los equipos periféricos (unidades de entrada, salida y almacenamiento).
*Garantizar el correcto procesamiento.

Si bien encontramos múltiples sistemas operativos, algunos sencillos y otros mas complejos y con mayor
funcionalidad, sus componentes básicos son comunes a todos.


Una primera
clasificación entre sistemas operativos la encontramos entre los que permiten trabajar a un solo usuario por vez (si bien el sistema de computación puede estar trabajando, como en el caso del Windows, en múltiples tareas: como un procesador de texto, en el cual el usuario ingresa por teclado y ve por pantalla la redacción, y administrar la entrega de datos a una Impresora por una impresión previamente generada y encolada) y los que permiten la concurrencia de múltiples usuarios (como e! Unix, el Windows NT y los sistemas operativos de maquinas de mayor porte).

Mas allá de esto, el trabajo multitarea permite, en sistemas operativos complejos, asignar prioridades de procesamiento; es decir, indicarle al sistema que de mayor atención, materializada en mayor tiempo de CPU a un programa que a otro. Por ejemplo, atender el programa "A" prioritariamente sobre los programas "B” y "C" esto provocará que ni bien tenga la respuesta esperada por el programa "A” volverá al mismo programa "A', se encuentre donde se encuentre en el ciclo de atención de otros programas.

Los sistemas operativos multitarea deben almacenar, en áreas de memoria, la situación de cada tarea en el momento que la abandonan para, al retomarla, recuperar los datos y continuar el proceso.





COMPILADORES E INTÉRPRETES

El programa en el lenguaje que escribirnos las instrucciones se llama programa fuente, mientras que el programa en el lenguaje que la maquina las interpreta se llama programa objeto.

El proceso de transformación del programa fuerte al programa objeto se denomina compilación, y. es realizado por la maquina mediante la ejecución del programa compilador.

En este proceso, el programa que se ejecuta en la CPU es el compilador, la entrada es el programa., en lenguaje fuerte y la salida es el programa en lenguaje objeto.

Los
compiladores, como primera parte del proceso, validan la corrección interna del programa fuerte. (El compilador no puede validar errores en cuanto a la funcionalidad del programa; por ejemplo, si en lugar de sumar se indica que reste). Esto es, validan que el programa sea consistente en si mismo, que se repite la sintaxis propia del lenguaje de programación, etcetera.

Por ejemplo, si se define la realización de cálculos sobre ciertos datos para su archivo posterior, verifican que los datos requeridos en los cálculos se encuentren en los archivos de entrada
identificados en el mismo programa fuente, como así también que los datos de salida tengan un destino en algún archivo de salida. ~

Si se detectan errores, los mismos son comunicados (por una impresión o información en pantalla) al programador, si no se detectan errores se genera el programa objeto o ejecutable.

Este ejecutable es guardado en los almacenamientos del sistema, dará su posterior ejecución todas las veces que sea requerido. Este proceso de almacenamiento de los programas fuente y objetos se denomina
catalogación. Entonces nos encontramos con una biblioteca de programas fuentes y otra de programas objetos.

Por ejemplo, supongamos el caso de un programa cuyo objetivo inicial fuera calcular el total de ventas del mes, mediante la lectura del archivo de facturación, y luego de un tiempo se le requiere que en forma adicional muestre el total diario. En este caso debemos:

*Tomar el programa fuente anterior.

*Modificarlo, para que con la misma lectura del archivo de facturas calcule y exponga el total diario, y por ultimo, el del mes.

*Compilarlo nuevamente.

*Reemplazar el programa objeto de la primera versión por el programa objeto de esta nueva versión del programa fuente.

De lo expuesto se desprenden dos hechos relevantes:

*Resulta de gran importancia la correcta administración de programas fuente y objeto,
requiriéndose una gran disciplina para no perder la relación biunívoca entre ellos.

* Tanto la
documentación de programación cuanto la utilización de estándares, para que cada uno pueda entender con menor esfuerzo lo hecho por los demás, son elementos de fundamental importancia para realizar el mantenimiento en forma mas eficiente.
Por supuesto, el programa compilador esta estrictamente vinculado con la maquina para la cual genera los programas objetos.





Una alternativa a la compilación es la interpretación de los programas fuentes.

Mientras que en la compilación encontramos dos pasos para la ejecución de un programa (primero se genera el programa objeto y luego se ejecuta el programa objeto) en la interpretación, el mismo programa, denominado interprete, se ocupa de leer el programa fuente interpretarlo en lenguaje maquina y ejecutarlo en el momento.

El programa interprete también detecta los errores internos del programa fuente, los indica e interrumpe la ejecución.

La utilización de intérpretes permite al programador seguir las instrucciones del programa y facilita la depuración de errores.

Cuando un programa esta totalmente depurado, y será ejecutado
rutinariamente en múltiples oportunidades, es conveniente compilado, generando el modulo ejecutable, de esta forma se evita la interpretación en cada ejecución, mejorando el rendimiento del sistema.



SOFTWARE PROPIETARIOS Y SOFTWARE LIBRE

El software tanto de base como de aplicación- es desarrollado y construido por medio de la aplicación de conocimientos de sus elaboradores; de esta manera, los desarrolladores del software son dueños de su propiedad intelectual.





Si el dueño del software establece restricciones sobre su utilización y/o modificación se dice que se trata de un software propietario, o no libre. Por ejemplo, cuando el vendedor entrega al comprador una licencia de uso sobre su creación intelectual; es decir, que puede usar el software, pero no modificarlo ni copiarlo para entregarlo a terceros, en venta o cesión.
Au n si la pieza de software en cuestión se obtiene gratis, el propietario, al entregarla, puede establecer restricciones con relación a su utilizaci6n. Por ejemplo, cediendo en forma gratuita exclusivamente su derecho de uso para fines personales, no pudiendo ser utilizada en aplicaciones comercial es, n i copiar, vender o ceder a terceros. Cuando un software propietario se obtiene en arma gratuita se dice que es una pieza free-ware (del ingles, free: gratis).

De esta manera podemos encontrar software gratuito y, a la vez, propietario: no libre. También encontramos software propietario que es gratuito para uso no comercial, pero con costo para usos comerciales.

Corno ejemplo de software propietario, no gratuito podemos mencionar Microsoft
Windows, productos de Adobe para la generación de PDF y software para juegos. Como ejemplos de software propietario gratuito, para usos no comerciales, podemos mencionar Adobe Readers y Pd1995.

Cuando hablamos de software de código abierto nos referimos a software cuyo programa fuente es accesible y modificable por el usuario, sin restricciones. Este software puede obtenerse en forma gratuita u onerosa.

El concepto de software libre se refiere a aquel cuya licencia de uso garantiza a su receptor la libertad de utilizarlo en lo que quiera, modificarlo como quiera y redistribuirlo, otorgando licencias de igual tipo como desee.

La libertad de modificarlo implica la necesidad de que se trate de software de
codigo abierto. Se acepta que esta libertad se condicione en cuanto a la forma de incorporar mejoras y a la obligación de compartir esas mejoras con el resto de la comunidad.

La libertad de redistribuirlo implica que se pueden hacer copias y entregar a terceros, con o sin cargo, independientemente de haberlo obtenido en forma gratuita u onerosa. Es mas, un poseedor de licencia puede ofrecer un determinado software sin cargo y otro, el mismo software, en forma onerosa.

Por lo tanto, un software de
open source, que se vende sin otorgar el derecho a copiarlo y entregarlo en forma gratuita, no es un software libre.

En el ambiente de
PC hogareñas y de oficina encontramos habitualmente software que cubre todas o algunas de las siguientes funciones:

* Correo electrónico.
* Agenda.
* Procesador de textos.
*
Planilla de cálculos.
* Presentaciones.
* Navegadores para Internet.
* Administradores simples de bases de datos.

Como ejemplos de navegadores de Internet podemos mencionar los software: Internet
Explorer de Microsoft, y el Firefox de Mozilla Fundation, siendo este último libre, de código abierto y gratuito.

Estos programas pueden obtenerse por separado o en conjuntos, integrados por varios de ellos, tomando el nombre de
suites. Encontramos propuestas tanto de software propietario cuanto de software libre. Dentro de las ofertas del mercado las más difundidas son: