lunes, 30 de agosto de 2010
SUPERLATIVO
Denota el más alto grado de una cualidad
1. Para adjetivos cortos o de una sílaba
el superlativo:
Para formar el superlativo añadiremos al adjetivo -est, además el adjetivo irá precedido del artculo The.
Por ejemplo, al adjetivo old (viejo) le añadimos -est: the oldest (el ms viejo/mayor)
2-Para los adjetivos acabados en "y", "er", "le", "ow" de dos slabas:
El superlativo:
Para formar el superlativo añadiremos -est.Y si acaban en y, esta se sustituir por la i latina. Además siempre irá precedido por el artculo The.
Por ejemplo el adjetivo ugly (feo) acabará con -iest: the ugliest (el más feo)
3. Para adjetivos largos de dos o más sílabas
El superlativo:
Para formar el superlativo, el adjetivo irá precedido por : The + most
El adjetivo beautiful (hermoso) será: The most beautiful (el más hermoso).
COMPARATIVE:
IGUALDAD:
* Afirmative:
AS + adjetive + AS = TAN + adjetive + como
* Negative:
NOT AS + adjetive + AS = NOT AS + adjetive +como
SUPERIORIDAD:
Los monosilabos y los bisilabos terminados en sonido vocalico o con acento en la segunda silaba forman el comparativo añadiendo -er,al adjetivo:
2 adjetivos hasta dos silabas: adjetive + er + than
Con polisilabos se antepone "more" al adjetivo segundo "than"
adjetivos de 2 o mas silabas: MORE + ADJETIVE + THAN
domingo, 29 de agosto de 2010
El software es el conjunto de instrucciones 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.
SOFTWARE DE BASE Y 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.
EL 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 o, más utilizada 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 y los que permiten la concurrencia de rnultiples usuarios.
El trabajo multitarea
Cuando una CPU trabaja con múltiples tareas en forma concurrente, realmente se ocupo de una tarea por vez, alternando su atención entre todas las concurrentes.
Por ejemplo, cuando /a CPU esta ejecutando un programa que requiere datos que están en una unidad de almacenarniento externo, da la orden de tal lectura y pasa a la tarea siguiente.
Estando en la tarea siguiente ejecuta uno o varias instrucciones y vuelve a saltar a otra tarea, así hasta volver o la primera, momento en el que recibe los dato solicitados y continua con el proceso.
Esto permite que la CPU aproveche su tiempo en otras tareas, mientras espera acciones de los dispositivos periféricos que son, en términos relativos, mucho más lentos que ella.
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.
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, recupere los datos y continuar el proceso.
Esta situación agrega significativa complejidad al sistema operativo.
El trabajo multiusuario
El trabajo multiusuario se da cuando una CPU esta conectada por medio de una red, o vínculos específicos, a varios usuarios, tengan estos estaciones de trabajo o equipos de computación personal. Como en el caso del trabajo multitarea, la CPU se ocupa de un solo usuario por vez.
Los sistemas operativos multiusuarios deben almacenar en áreas de memoria 1a situación de cada tarea y usuario en el momento en que la abandonan, para, al retomarla, recuperar los datos y continuar el proceso. Esta situación agrega aun más complejidad al sistema operativo.
Encontramos diferentes tipos de sistemas operativos. En el ambiente de las computadoras personales podemos mencionar, entre otros: el Microsoft Windows, el Mac-Os y el Linux.
Por supuesto, como el sistema operativo actúa en forma mancomunada con el hardware, no todo sistema operativo sirve para todo hardware.
Por ejemplo, las computadoras personales identificadas. como "compatibles con Windows" -independientemente del fabricante y del chip procesador que las integre, siendo los mas comunes los fabricados por Intel y por Amdha- permiten utilizar uno de los sistemas operativos mas difundidos, el Windows, de Microsoft.
Otros equipos, tales como los Apple, utilizan el sistema operativo Mac-Os.
En ambientes de maquinas medianas, que permiten los múltiples usuarios, y de servidores de redes, encontramos otros sistemas, tales como: Windows Server, Novell, Linux, diferentes versiones de Unix y OS/400.
En ambientes de maquinas grandes es normal que encontrar sistemas operativos específicos para una familia de equipos, tal el caso de los sistemas operativos OS/390 y el i5/OS de IBM.
Los sistemas operativos desarrollados para manear una computadora específica se conocen, genéricamente, como sistemas propietarios. Los sistemas que permiten trabajar con múltiples maquinas se conocen como sistemas abiertos.
Dentro de los sistemas abiertos encontramos aquellos cuyo código es público y otros cuyo código es manejado por una empresa. Este ultimo caso es el de Windows, su código es construido y actualizado exclusivamente por Microsoft, si bien puede ser utilizado en maquinas de múltiples proveedores.
La memoria virtual y el paginado
En la unidad 2, fue definido el concepto de VM o memoria virtual como una extensión en disco de la memoria principal.
Cuando un programa no "entra" -es decir, todas las instrucciones que lo integran requieren mas espacio físico del disponible en la memoria principal-, este no podrá cargarse íntegramente.
En estos casos, como mencionamos, el programa se segmenta en paginas que se almacenan en los dispositivos de almacenamiento.
Una porción reside en la RAM y el resto en lo VM, las paginas apropiadas se transfieren a la RAM conforme se necesitan. Esta actividad se conoce como paginado de memoria. Así se independiza el tamaño del programa de la capacidad de 1a RAM.
Si bien esto evita que sea necesario que todo el programa se cargue en la RAM para su ejecución, si por la estructura del programa se requiere acceder a información que se encuentra en el disco en forma continua, la performance del sistema caerá, ya que requiere un acceso "lento” para obtener las instrucciones por lo que lo UAL y la UC estarán esperando (u ocupándose de otras tareas) gran parte del tiempo.
Por lo tanto, es posible que la ejecución de un proceso tarde más de lo esperado debido a la gran actividad sobre el disco, y el tiempo que ella requiere.
En este caso se presentan dos alternativas que pueden ser complementarias, en caso de necesitar mejorar el tiempo de ejecución.
Una de ellos es aumentar el tamaño de 1a memoria (si fuera posible), permitiendo asi que todo el programa, o una parte significativa del mismo, entre en la memoria primaria.
La otra es modificar el programa, optimizando su codificación, o partiéndolo; es decir, sacando funciones para cuya resolución se utilizara otro programa y otra maquina.
LOS LENGUAJES DE PROGRAMACION
Los lenguajes de programación son las estructuras de instrucciones, interpretadas y traducidas lenguaje de maquina, que es el lenguaje que puede interpretar la CPU.
Encontramos una gran cantidad de lenguajes de programación, mas o menos lejos de los lenguajes de maquina; es decir, mas o menos cerca del lenguaje natural (castellano, ingles, etcétera).
Se dice que un lenguaje de programación es de una generación superior a otra, cuando esta mas cerca del lenguaje natural.
Hoy en día utilizamos comúnmente lenguajes de tercera y cuarta generación.
Los primeros están constituidos por una serie de instrucciones en lenguaje más o menos comprensible, con una sintaxis lógica cercana a la sintaxis que requiere la CPU.
Los lenguajes de cuarta generación tienen como objetivo que los seres humanos, sin preparación en cuanto a conocimientos técnicos sobre la lógica en que las computadoras actúan, podamos comunicarnos con ellas en forma cercana a la modalidad que nos comunicamos con nuestros semejantes.
Como ejemplo de lenguaje de tercera generación podemos mencionar el Cobol, y como ejemplo de lenguaje de cuarta generación, los lenguajes administradores de bases de datos en general, que adoptan la forma de lenguajes de consulta estructurados (SQL del ingles structured query languaje).
LOS UTILITARIOS O SOFWARE DE SERVICIOS
Los programas utilitarios permiten realizar actividades habituales y comunes en un sistema de computación, tales como:
- Copiar archivos.
- Compararlos.
- Administrar la compilación y catalogación de programas.
- Realizar copias de seguridad.
- Llevar estadísticas sobre el uso del sistema.
En el ambiente de PC, la forma grafica de presentación nos permite realizar estas tareas en forma muy simple, en algunos casos arrastrando iconos, como en el caso de mover un archivo de una carpeta o directorio a otra, mas aun, ayudado por preguntas de confirmación, para evitar errores.
LOS SISTEMAS DE APLICACION
Los sistemas de aplicación se ocupan de realizar funciones especificas (preprogramadas) para cumplir con las tareas necesarias en la forma que los usuarios finales las requieren. A continuación damos algunos ejemplos.
* En el campo comercial:
- El sistema de clientes se ocupa de la administración de datos de los clientes.
- El sistema de facturación se ocupa del cálculo y la emisión de facturas para los clientes, en función de los datos del sistema de clientes, los productos o servicios entregados, etcéter.
- El sistema de reserva de pasajes, de micro o avión, se ocupa de mantener y actualizar la información sobre la cantidad de asientos disponibles y asignados en cada viaje o vuelo habilitado.
* En el campo de la ingeniería:
- Aplicaciones para el cálculo de estructuras.
- Aplicaciones para el diseño de edificios o grandes proyectos.
*En el campo de la medicina:
- Los sistemas de diagnostico por imágenes.
Mas adelante, en las siguientes unidades, veremos ejemplos de ellos.
Software propietario o 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.
Aun si la pieza de software en cuestión se obtiene gratis, el propietario, al entregarla, puede establecer restricciones con relación a su utilización.
Por ejemplo, cediendo en forma gratuita exclusivamente su derecho de uso para fines personales, no pudiendo ser utilizada en aplicaciones comerciales, ni copiar, vender o ceder a terceros. Cuando un software propietario se obtiene en forma 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 Reader y Pdf995.
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.
Software de aplicación de uso generalizado en computadoras personales.
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:
También, en ambientes específicos de trabajo, es habitual encontrar software que cubra necesidades más puntuales, entre ellas: planificación de tareas, graficación y edición compleja de textos.
Al seleccionar el software debemos tener en cuenta el que mas se adapte a nuestros requerimientos, considerando:
* Facilidad de uso y documentación
Podemos verificar la facilidad de uso mediante una prueba realizada en el negocio de venta.
La documentación del sistema debe permitir tanto aprender a usar sus funciones básicas como también evacuar las dudas sobre su utilización y permitir la investigación de las funciones mas avanzadas.
Encontramos diferentes tipos de documentación, y es bueno que las evaluemos individualmente. Ellas son:
- Manuales, cuyo objetivo es presentar en forma ordenada y creciente, en cuanto a su complejidad, las diferentes funciones del producto.
- Ayudas interactivas, que presentan información en pantalla (conocida como help) sobre la utilización específica de alguna función. En este caso es importante comparar la facilidad de consulta de las ayudas para un caso en particular.
Tutores interactivos, que toman la forma de cursos en pantalla, presentando ejemplos y requiriendo ciertas acciones simples para confirmar el aprendizaje.
* Integrabilidad
También es importante evaluar la posibilidad de compartir la información generada entre las distintas aplicaciones, en dos niveles:
- Poder incorporar un trabajo de una aplicación en otra, como una imagen.
- Poder incorporar un trabajo de una aplicación en otra, manteniendo las características de la aplicación original
* Compatibilidad
Poder compartir los archivos generados, tanto con otras personas como con otras aplicaciones. Por ejemplo, si generamos una planilla de cálculo y queremos compartirla con un compañero o amigo, ambos deben tener un software compatible.
La planilla que grabamos debe poder ser leída por el otro software.
Esto es de fundamental importancia también si cambiamos de versión de programa o de línea de productos, con relación a los archivos que grabamos con la aplicación anterior.
Asimismo, si queremos incorporar en una planilla de calculo los datos de una base de datos, la estructura de la base de datos debe poder ser traducida por la planilla de calculo para incorporarla, o bien debemos poder generar desde la base de datos un archivo intermedio de trabajo en un formato tal que pueda se leído por la planilla de calculo.
Para este ultimo caso es habitual utilizar archivos de texto, de impresión o con formatos específicos para el intercambio, conocidos como dif (del ingles data interchange format: formato para intercambio de datos) comunes para intercambiar entre bases de datos o rtf (del ingles rich text format), comunes para intercambiar entre diferentes procesadores de texto.
- Capacidad
Debemos verificar que pueda realizar las tareas que son nuestro objetivo que resuelva.
- Compatibilidad con Internet
Dada la difusión actual y esperada de Internet es importante considerar la compatibilidad de las aplicaciones con Internet, en particular con los documentos del tipo HTML (del ingles hyper text markup language, marcas de lenguaje de hipertexto).
Requerimientos de hardware
Debemos asegurarnos que el software funcione razonablemente en la maquina (el hardware) en que lo vamos a cargar para su utilización.
El vertiginoso avance tanto en el hardware cuanto en el software provoca que las nuevas versiones de software (cada vez mas completas y a la vez complejas) requieran, para funcionar adecuadamente, la capacidad de proceso y almacenamiento de tas nuevas versiones de hardware.
Por lo tanto, no es raro que si tenemos una maquina comprada hace dos o tres años al cargarle la ultima versión de una planilla de calculo, funcione con lentitud o, incluso, no funcione adecuadamente.
Es recomendable verificar este punto antes de realizar la compra, para evaluar la posibilidad de actualizar o reemplazar el hardware en forma simultánea, y no tener que hacerlo forzados por el problema resultante del nuevo software.
Algunas palabras y siglas de uso común: