1. UNIDAD I
EL COMPUTADOR
Una computadora es un sistema digital con tecnología microelectrónica capaz de procesar
datos a partir de un grupo de instrucciones denominado programa. La estructura básica de una
computadora incluye microprocesador (CPU), memoria y dispositivos de entrada/salida (E/S),
junto a los buses que permiten la comunicación entre ellos. La característica principal que la
distingue de otros dispositivos similares, como una calculadora no programable, es que puede
realizar tareas muy diversas cargando distintos programas en la memoria para que los ejecute
el procesador.
TIPOS DE COMPUTADORA:
Se clasifican de acuerdo al principio de operación de Analógicas y Digitales.
Computadora Analógica:
1. Aprovechando el hecho de que diferentes fenómenos físicos se describen por relaciones
matemáticas similares (v.g. Exponenciales, Logarítmicas, etc.) pueden entregar la solución muy
rápidamente. Pero tienen el inconveniente que al cambiar el problema a resolver, hay que
realambrar la circuitería (cambiar el Hardware).
Computadora Digital:
1. Están basadas en dispositivos biestables, i.e., que sólo pueden tomar uno de dos valores
posibles: ‘1’ ó ‘0’. Tienen como ventaja, el poder ejecutar diferentes programas para diferentes
problemas, sin tener que la necesidad de modificar físicamente la máquina.
Historia del Computador
Durante siglos la gente vivió sobre la tierra sin llevar registros ni archivos. Pero en la medida en
que se formaron las organizaciones sociales y se tornó más complejo el tejido social, se fueron
haciendo necesarias adaptaciones e innovaciones de diversa índole.
Cronología.
Año 4000 a 3000 a.C. Invención del Ábaco, en China, instrumento formado por un conjunto de
cuerdas paralelas, cada de las cuales sostiene varias cuentas móviles, usadas para contar, se
desarrolló, hasta reflejar el sistema decimal, con diez cuentas en cada cuerda.
2. Año 1300 a 1500 d.C. En el imperio Inca es usado el sistema de cuentas, mediante nudos en
cuerdas de colores, para mantener un registro y cálculo de los inventarios de granos y ganado.
1617 John Napier desarrolla los vástagos de Napier, formados por un conjunto de piezas con
números grabados en ellas, que podían ser usadas para multiplicar, dividir y extraer raíces.
1642 Blaise Pascal construye el primer calculador mecánico, que consistía en un conjunto de
ruedas, cada una de las cuales registraba un dígito decimal, y al girarse en diez pasos producía
un paso de rotación en la siguiente.
1662 William Oughtred inventa la regla de cálculo.
1871 Gottfried Wilheim Von Leibnitz mejora el diseño de Pascal.
1801 Joseph Marie Jackard perfecciona la primera máquina que utiliza tarjetas perforadas; ésta
era un telar, que podía tejer automáticamente diseños complejos, de acuerdo a un conjunto de
instrucciones codificadas en las tarjetas perforada.
1822 Charles Babbage construye un pequeño modelo operativo de un calculador llamado
“Máquina de Diferencias”
1829 Charles Xavier Thomas, construye el primer calculador que ejecuta las cuatro operaciones
aritméticas en forma exacta.
1872 Frank Stephen Baldwin inventa una calculadora con teclas, basada en los principios de la
máquina de Charles Thomas.
1887 Hernan Hollerith, un estadista, hizo realidad su idea de la tarjeta de lectura mecánica, y
diseñó un aparato que se llamó “Máquina de Censos”. Después del censo de 1890,
Hollerithtransformóó su equipo para uso comercial y estableció sistemas de estadísticas de
carga para los ferrocarriles. En 1896, fundó la Compañía de Máquinas de Tabulación, para
hacer y vender su invento. Posteriormente esta empresa se fusionó con otras para formar lo
que hoy se conoce como IBM.
3. El procesamiento de tarjetas perforadas se basa en una idea simple: los datos de entrada se
registran inicialmente en una forma codificada, perforando huecos en las tarjetas, y estas luego
alimentan a las máquinas, las cuales realizan las diferentes etapas del proceso.
1925 Vennevar Bush y sus colaboradores construyen el primer Computador analógico de gran
escala.
1937 Howard Aiken de la Universidad de Harvard en Massachussetts comienza a construir una
máquina calculadora automática, el Mark I, que pudiera combinar las capacidades técnicas de
la época con los conceptos de tarjetas perforadas desarrolladas por Hollerith. En 1944 el
proyecto fue culminado.
El Mark I es considerado el primer Computador digital de proceso general. La máquina se
basaba en el concepto de aceptar datos por medio de tarjetas perforadas utilizada como
entrada de datos (INPUT), realizaban cálculos controlados por un relex electromagnético y
contadores aritméticos mecánicos y perfora los resultados en tarjetas como salidas (OUTPUT).
1943 – 1946 J. Presper Ecker y John Mauchly construyen el primer Computador completamente
electrónico, el E.N.I.A.C. (Electronic Numerical Integrator And Calculator), pesaba
aproximadamente 30 toneladas, ocupaba un espacio aproximado de 1.500 pies cuadrados y
usaba 18.000 tubos. ENIAC podía resolver en un día lo que manualmente tardaría 300 días.
1944 John Von Neumann desarrolla el concepto de los programas almacenados, es decir, un
conjunto de instrucciones guardadas en una unidad de almacenamiento, que luego son
ejecutadas en forma secuencial. Basándose en este concepto, Ecker y Mauchly diseñan el
ENIVAC, que fue terminado en 1952.
GENERACIONES:
El avance de la tecnología empleada en la construcción de los Computadores y los métodos de
explotación de los mismos ha variado notablemente. Esto ha dado lugar a que podamos
distinguir hasta ahora cinco generaciones distintas. El paso de una generación a otra siempre
ha venido marcado por las siguientes características:
4. Miniaturización del tamaño.
Fiabilidad.
Capacidad para resolver problemas complicados.
Velocidad de cálculo.
PRIMERA GENERACION
Comprende desde 1951 hasta 1959. La compañía Sperry Rand Corporation construye la
UNIVAC I, el primer Computador comercialmente disponible. Los componentes electrónicos
usados fueron válvulas electrónicas, por este motivo su tamaño era muy grande y su
mantenimiento complicado. Se calentaban rápidamente y esto obligaba a utilizar costosos
sistemas de refrigeración. Eran de escasa fiabilidad, los tiempos de computación de los
circuitos fundamentales eran de varios microsegundos, con lo que la ejecución de los
programas largos implicaba espera, incluso de varios días. La forma de ejecutar los trabajos en
los Computadores de esta generación era estrictamente a modo de secuencia.
SEGUNDA GENERACIÓN
Comprende desde 1959 a 1964. Fueron diseñadas con orientación científico – administrativa.
Las compañías NCR y RCA introducen las primeras computadoras construidas completamente
a base de componentes denominados transistores que adoptan la forma de paralelepípedos de
silicio, la velocidad de cálculo aumentó considerablemente. Los Computadores más populares
de esta generación fueron el IBM1401, IBM1620, IBM7090, IBM7094.
TERCERA GENERACIÓN
Comprende desde 1965. La compañía IBM produce las series 360 y 370, construidas con
circuitos integrados de pequeña escala y de gran escala respectivamente, los cuales
sustituyen, cada uno de ellos, a varios transistores, ocupando menor espacio y a menor costo.
Estas series poseen memoria virtual que permite optimizar la memoria principal.
Las computadoras de esta generación se caracterizan por:
Uso de circuitos integrados: lo cual hizo posible la reducción del tamaño físico del Computador,
y aumentó la velocidad de procesamiento, confiabilidad y precisión.
5. Multiprogramación: que es la ejecución de varios programas simultáneamente.
CUARTA GENERACIÓN
Comprende desde 1970. Basados en circuitos integrados de alta y media escala de integración
con la que se van consiguiendo mejoras en el tamaño físico, llegando a tener Computadores de
bolsillo, aparecen los minicomputadores y los microcomputadores.
Desde 1982 Sun Microsystem ha resuelto los problemas que conllevan mantener un ambiente
de computación heterogéneo, a través del empleo de NFS (Network File System o Sistema de
Archivos para Red de Trabajo). Este producto permite la interconexión de computadores de los
principales proveedores de equipos, tales como: IBM, DEC, SUN, Unisys, Hewlett Packard,
AT&T y más de 200 otros fabricantes. NFS, puede emplear el medio de comunicación que
resulte más conveniente para el usuario: Ethernet, Token Ring, FDDI, y es totalmente
independiente del sistema operativo que esté instalado en un equipo determinado. A través de
NFS:
Se puede compartir archivos que residan en cualquier equipo conectado a la red, sin que el
usuario tenga que conocer su procedencia (acceso transparente de la información).
Ejecutar programas en distintas máquinas, dependiendo de las ventajas comparativas que tiene
un equipo sobre otro en una función específica.
Compartir recursos de almacenamiento y periféricos.
Administrar la red y en general, obtener la funcionalidad y seguridad de un sistema de
computación distribuida.
QUINTA GENERACIÓN
Para algunos especialistas ya se inició la quinta generación, en la cual se busca hacer más
poderoso el Computador en el sentido que sea capaz de hacer inferencias sobre un problema
específico. Se basa en la inteligencia artificial.
El Hardware de esta generación se debe caracterizar por circuitos de fibra óptica que le permita
mayor rapidez e independencia de procesos, arquitectura de microcanal para mayor fluidez a
los sistemas, esto provee mayor número de vías para ayudar a manejar rápido y efectivamente
6. el flujo de información. Además se están buscando soluciones para resolver los problemas de
la independencia de las soluciones y los procesos basándose para ello en Sistemas Expertos
(de inteligencia artificial) capaces de resolver múltiples problemas no estructurados y en
Computadores que puedan simular correctamente la forma de pensar del ser humano.
SEXTA GENERACIÓN
Como ya se sabe la sexta generación se viene dando a partir de 1990 hasta la fecha, en estos
ultimos años hemos venido viendo que las computadoras ahora son mas pequeñas, son mas
versatiles, ahora internet es una herramienta indispensable tanto en los centros de labores
como en el hogar, casi el 90% de la población hace uso en algun momento de internet, y por
consiguiente de una computadora.
Ahora vemos que el costo de una PC es relativamente bajo así como el de una Laptop, las
computadoras de ahora vienen trabajando con arquitecturas paralelas / vectoriales lo que hace
que sean muy rápidas, pueden almacenar una cantidad enorme de información hablamos de
terabytes, ahora las computadoras practicamente toman decisiones propias alcanzando casi la
misma del ser humano, tenemos computadoras táctiles que casi no ocupan espacio en el
hogar y el trabajo, también con diseño holográfico, lo cual ha revolucionado el mercado de la
informática.
Estamos entrando a una era donde las computadoras pueden desarrollar capacidades casi
similiares al ser humano, ya hemos visto robots que puden jugar un encuentro de futbol,
esperamos que el avance tecnologico en el mundo de la informatica y la computación nos
facilite más las cosas asi como hasta ahora lo viene haciendo.
En la actualidad la informática utiliza satélites, fibra óptica, inteligencia artificial lo cual hace que
el desarrollo en este campo sea enorme, estamos frente a un avance sin precedentes, y pensar
que todo esto comenzó con una simple tabla de Ábaco en la antigüedad.
QUÉ ES EL HARDWARE
Así como la computadora se subdivide en dos partes, el hardware que la compone también, de
este modo podemos encontrar el llamado hardware básico y hardware complementario.
El hardware básico agrupa a todos los componentes imprescindibles para el funcionamiento de
la PC como motherboard, monitor, teclado y mouse, siendo la motherboard, la memoria RAM y
la CPU los componentes más importantes del conjunto.
7. Por otro lado tenemos el hardware complementario, que es todo aquel componente no esencial
para el funcionamiento de una PC como impresoras, cámaras, pendrives y demás.
También podremos encontrar una diferenciación adicional entre los componentes de la PC, y se
encuentra dada por la función que estos cumplen dentro de la misma. En los siguientes
párrafos podremos conocer la forma en que se dividen.
Dispositivos de Entrada: Dispositivos que permiten el ingreso de información a la PC.
Chipset: Integrado en la motherboard, el chipset permite el tráfico de información entre el
microprocesador y el resto de los componentes que conforman la PC.
CPU:
Este dispositivo tiene la tarea de interpretar y ejecutar las instrucciones recibidas del sistema
operativo, además de administrar las peticiones realizadas por los usuarios a través de los
programas.
Memoria RAM:
La Memoria RAM o Memoria de Acceso Aleatorio es donde la computadora almacena los
programas, datos y resultados procesados por la CPU, lo que permite su rápida recuperación
por parte del sistema, brindado así una mejor performance.
Unidades de almacenamiento:
Son todos aquellos dispositivos destinados al almacenamiento de los datos del sistema o de
usuario, es decir, el lugar físico en donde se ubica el sistema operativo, los programas y los
documentos del usuario. Estos pueden ser discos rígidos, unidades de CD, DVD o Blu Ray,
pendrives o discos externos extraíbles.
DISPOSITIVOS DE SALIDA:
Son los dispositivos encargados de mostrarle al usuario resultados. Este grupo comprende
monitores, impresoras y todo aquello que sirva al propósito de ofrecerle al usuario la posibilidad
de ver el resultado de su trabajo.
DISPOSITIVOS MIXTOS:
8. Estos son componentes que entregan y reciben información, y en este grupo podemos
mencionar placas de red, módems y puertos de comunicaciones, entre otros.
QUÉ ES EL SOFTWARE
El software de una computadora es todo aquel que le permite al usuario ordenarle a la misma
que realice una tarea. También se deben subdividir en diversas categorías en base a las
funciones que realizan en el sistema.
Software es una secuencia de instrucciones que son interpretadas y/o ejecutadas para la
gestión, redireccionamiento o modificación de un dato/información o suceso.
Software también es un producto, el cual es desarrollado por la ingeniería de software, e incluye
no sólo el programa para la computadora, sino que también manuales y documentación técnica.
Un software de computadora está compuesto por una secuencia de instrucciones, que es
interpretada y ejecutada por un procesador o por una máquina virtual. En un software funcional,
esa secuencia sigue estándares específicos que resultan en un determinado comportamiento.
En nuestra computadora, todos los programas que usamos son software: El Windows, el
Outlook, el Firefox, el Internet Explorer, los antivirus e inclusive los virus son software.
Un software puede ser ejecutado por cualquier dispositivo capaz de interpretar y ejecutar las
instrucciones para lo cual es creado.
Cuando un software está representado como instrucciones que pueden ser ejecutadas
directamente por un procesador decimos que está escrito en lenguaje de máquina. La ejecución
de un software también puede ser realizada mediante un programa intérprete, responsable por
entender y ejecutar cada una de sus instrucciones. Una categoría especial y notable de
intérpretes son las máquinas virtuales, como la Máquina virtual Java (JVM).
El dispositivo más conocido que dispone de un procesador es la computadora.Existen otras
máquinas programables, como los teléfonos celulares, máquinas de automatización industrial,
etc.
Clasificación del software
Software de Sistema: Este grupo comprende el sistema operativo, controladores de
dispositivos, utilitarios de sistema y toda aquella herramienta que sirva para el control específico
de las características de la computadora.
9. Software de Aplicación: Se le llama software de aplicación a todos aquellos programas
utilizados por los usuarios para la concreción de una tarea, y en este grupo podemos encontrar
software del tipo ofimático, de diseño gráfico, de contabilidad y de electrónica, por solo citar una
pequeña fracción de todas las categorías de aplicaciones que podemos encontrar en el
mercado.
SISTEMA OPERATIVO
CONCEPTO DE SISTEMA OPERATIVO
Un sistema operativo puede ser definido como un conjunto de programas especialmente
hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la
computadora.Un sistema operativo, tiene también como función, administrar todos los
periféricos de una computadora.
El sistema operativo más conocido es el Windows, desarrollado por la empresa Microsoft.
Podemos decir que el SISTEMA OPERATIVO es el programa más importante de la
computadora.
Una de las atribuciones del sistema operativo es cargar en la memoria y facilitar la ejecución de
los programas que el usuario utiliza. Cuando un programa está en ejecución, el sistema
operativo continúa trabajando. Por ejemplo, muchos programas necesitan realizar acceso al
teclado, vídeo e impresora, así como accesos al disco para leer y grabar archivos. Todos esos
accesos son realizados por el sistema operativo, que se encuentra todo el tiempo activo,
prestando servicios a los programas que están siendo ejecutados.
El sistema operativo también hace una adminstración de los recursos de la computadora, para
evitar que los programas entren en conflicto. Por ejemplo, el sistema operativo evita que dos
programas accedan simultáneamente al mismo sector de la memoria, lo que podría causar
grandes problemas. El sistema operativo funciona como un "maestro", procurando que todos
los programas y todos los componentes de la computadora funcionen de forma armónica.
Conjunto de programas que se integran con el hardware para facilitar al usuario, el
aprovechamiento de los recursos disponibles. Algunos de sus objetivos principales son:
Provee de un ambiente conveniente de trabajo.
∙ Hace uso eficiente del Hardware.
10. ∙ Provee de una adecuada distribución de los recursos.
∙ Para un Sistema Operativo real deberá satisfacer las siguientes funciones:
∙ Gobierna el Sistema.
∙ Asigna los recursos.
∙ Administra y controlar la ejecución de los programas.
∙ Un sistema de computo en muchos casos cuenta con demasiados recursos para ser
utilizados por un solo usuario, es en estos casos cuando se puede dar servicio a varios
procesos.
Sistema Operativo
Llamadas al Sistema
El Sistema Operativo en conjunto con el Hardware aparecen al usuario como un solo dispositivo
con un conjunto de instrucciones más flexibles y variadas a las que se conoce como Llamadas
al Sistema (System Callings).
Intérprete de Comandos
También conocido por su nombre en inglés, Shell, es un programa que interpreta las órdenes
del usuario y las convierte en Llamadas al Sistema.
Núcleo (o Kernel)
Es la parte del Sistema Operativo que se encarga de sincronizar la activación de los procesos y
definir prioridades.
Programas del Sistema
Son programas de servicio que debe ser solicitados explícitamente por los usuarios. Como
ejemplos de estos tenemos:
1. Compiladores
Son programas que traducen Programas Fuente en programas Objeto.
2. Ensambladores
Traducen programas escritos con mnemónicos a lenguaje de máquina.
11. 3. Editores
Son programas que permiten escribir textos y guardarlos en memoria secundaria.
4. Utilerías de Archivos
Programas para dar mantenimiento a los archivos.
5. Bibliotecas
Programas que contienen rutinas para realizar funciones frecuentemente requeridas. Estas
funciones pueden ser ligadas a los programas escritos por el usuario.
Programas de Aplicación
Programas externos al sistema, utilizados para realizar tareas específicas como simulación,
creación y edición de gráficas e imágenes, etc..
Sistema Operativo
Es el programa o programas que tienen todas las computadoras modernas, el usuario de un
equipo de computo no tiene que preocuparse de como funciona, por ejemplo, una unidad lectora
de disco, sólo necesita pedirle al sistema operativo que lo lea o escriba en el disco mediante un
comando. El más comúnmente usado es el MSDOS.
Conjunto de programas que sirven como interfaz entre el usuario (Sirve como agente de
intercambio de información entre la computadora y el usuario.) y la computadora, además de
que administran los recursos de la misma (Entendiéndose como recursos: Memoria, Disco
Duro, Procesador, Monitor, Etc.).
TIPOS DE SISTEMAS OPERATIVOS
Existen dos tipos generales de sistemas operativos: Los basados en caracteres y los de
interfaz gráfica (ambientes amigables). El sistema basado en caracteres es ejemplificado
perfectamente con el sistema operativo utilizado por las computadoras IBM y compatibles. El
MSDOS está listo para recibir un comando desplegando el tipo de indicador (A> o C>) en la
pantalla; en donde el usuario escribe carácter por carácter el comando que se desea ejecutar.
Ante las justificadas quejas de los usuarios por la falta de programas amigables, los
desarrolladores de software respondieron añadiendo menús y mensajes en pantalla. Los menús
mejoran en mucho la cordialidad de los programas, reduciendo el número de comandos que se
necesitan conocer.
La Macintosh logró crear la primera interfaz gráfica, posteriormente Microsoft introdujo la interfaz
gráfica Windows para las computadoras IBM y compatibles.
12. Cada programa en Windows tiene reservada un área de la pantalla conocida con el nombre de
ventana.
Un sistema operativo que se opera mediante el uso de imágenes y símbolos en vez de palabras
se denomina interfaz gráfica para el usuario, o GUI (Graphic User Interface).
ESTRUCTURA BÁSICA DE UN SISTEMA OPERATIVO
A) CARGADOR
Cualquier programa que requiere ser ejecutado en la computadora, deberá ser transferido
desde su lugar de residencia a la memoria principal.
B) CARGADOR PARA EL SISTEMA OPERATIVO
Este programa se encarga de transferir desde algún medio de almacenamiento externo (disco,
cinta o tambor) a la memoria principal, los programas del sistema operativo que tienen como
finalidad establecer el ambiente de trabajo del equipo de cómputo. Existe un programa especial
almacenado en memoria ROM que se encarga de accesar a este programa cargador. Cuando
el sistema operativo esta cargado en memoria toma el control absoluto de las operaciones del
sistema.
C) CARGADOR INCLUIDO EN EL SISTEMA OPERATIVO
Su función es cargar a memoria todos los archivos necesarios para la ejecución de un proceso.
SUPERVISOR (EJECUTIVO O MONITOR)
Es el administrador del sistema que controla todo el proceso de la información por medio de un
gran número de rutinas que entran en acción cuando son requeridos. Funge como enlace entre
los programas del usuario y todas las rutinas que controlan los recursos requeridos por el
programa para posteriormente continuar con su ejecución.
El supervisor también realiza otras funciones como son:
Administra la memoria.
Administración de las rutinas que controlan el funcionamiento de los recursos de la
computadora.
13. Manejo de Archivos
Administración y control de la ejecución de los programas.
LENGUAJE DE COMUNICACIÓN
Es el medio a través del cual el usuario interactúa directamente con el sistema operativo y esta
formado por comandos que son introducidos a través de algún dispositivo. Generalmente un
comando consta de dos partes, la primera formada por una palabra que identifica el comando y
la acción a realizar y la segunda parte por un conjunto de valores o parámetros que permiten
seleccionar diversas operaciones de entre los que dispone el comando.
UTILERÍA DE SISTEMA
Son programas o rutinas del sistema operativo que realizan diversas funciones de uso común o
aplicación frecuente como son: clasificar, copiar e imprimir información.
FUNCIONES BÁSICAS DE UN SISTEMA OPERATIVO
PROGRAMAS DE CONTROL
ADMINISTRACIÓN DE TRABAJOS
Cuando existen varios programas en espera de ser procesados, el sistema operativo debe
decidir el orden de procesamiento de ellos, así como asignar los recursos necesarios para su
proceso.
ADMINISTRACIÓN DE RECURSOS
Mediante esta función el sistema operativo esta en capacidad de distribuir en forma adecuada y
en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los
diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite
conocer qué recursos están disponibles y cuales están siendo utilizados, por cuánto tiempo y
por quien, etc.
CONTROL DE OPERACIONES DE ENTRADA Y SALIDA
Mediante esta actividad el sistema operativo decide que proceso hará uso del recurso, durante
cuánto tiempo y en qué momento.
ADMINISTRACIÓN DE LA MEMORIA
14. Supervisa que áreas de memoria están en uso y cual están libre, determina cuanta memoria
asignará a un proceso y en qué momento, además libera la memoria cuando ya no es requerida
para el proceso.
RECUPERACIÓN DE ERRORES
El sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando
se suscita errores en la transferencia de información hacia y desde los dispositivos de entrada /
salida.
PROGRAMAS DE PROCESO
El sistema operativo contiene programas de servicios que sirven de apoyo al procesamiento de
los trabajos, se conocen también como utilerías y se pueden clasificar en tres tipos:
A) UTILERÍAS DEL SISTEMA
Se ejecutan bajo el control del sistema operativo y se utilizan para preparar algunos recursos
usados por el sistema. Son de uso interno.
B) UTILERIAS PARA ARCHIVOS
Manejan información de los archivos tales como imprimir, clasificar, copiar, etc.
C) UTILERIAS INDEPENDIENTES
Realizar funciones que se relacionan con la iniciación de dispositivos de Entrada/Salida, carga
del sistema operativo, etc.
TIPOS DE SISTEMA OPERATIVO
El sistema operativo como controlador y supervisor de todas las actividades que realiza la
computadora tiene características que le permiten soportar técnicas avanzadas de
procesamiento de datos como:
La utilización de Lenguaje de Alto Nivel.
Tiempo Compartido.
Multiprogramación.
Memoria Virtual.
15. DISPOSITIVOS MÓVILES
Un dispositivo móvil se puede definir como un aparato de un tamaño pequeño, con algunas
capacidades de procesamiento, con conexión permanente o intermitente a una red, con
memoria limitada, que ha sido diseñado específicamente para una función. Hoy en día podemos
encontrar una multitud de dispositivos móviles, donde los teléfonos móviles y los PDAs son los
tipos de dispositivos más utilizados y conocidos en la actualidad, los que ofrecen mayor
variedad de aplicaciones multimedia y los que más posibilidades de evolución presentan en este
sentido.
Dado el variado número de niveles de funcionalidad asociado con dispositivos móviles, en el
2005, T38 y DuPont Global Mobility Innovation Team Propusieron los siguientes estándares para
la definición de dispositivos móviles:
CARACTERÍSTICAS DE LOS DISPOSITIVOS MÓVILES:
Una característica importante es el concepto de movilidad, los dispositivos móviles son
pequeños para poder portarse y ser fácilmente empleados durante su transporte. En muchas
ocasiones pueden ser sincronizados con algún sistema de la computadora para actualizar
aplicaciones y datos.
Con algunas capacidades de procesamiento,
Con conexión permanente o intermitente a una red,
Con memoria limitada,
Diseñados específicamente para una función, pero que pueden llevar a cabo otras más
generales.
La mayoría de estos aparatos pueden ser transportados en el bolsillo del propietario y otros
están integrados dentro de otros mayores, controlando su funcionalidad (como puede ser el
ordenador integrado en una lavadora).
TIPOS DE DISPOSITIVOS MÓVILES:
Dispositivo móvil de datos limitado (Limited Data Mobile Device): dispositivos que tienen una
pantalla pequeña, principalmente basada en pantalla de tipo texto con servicios de datos
generalmente limitados a SMS y acceso WAP. Un típico ejemplo de este tipo de dispositivos
son los teléfonos móviles.
Dispositivo móvil de datos básico (Basic Data Mobile Device): dispositivos que tienen una
pantalla de mediano tamaño, (entre 120 x 120 y 240 x 240 píxeles), menú o navegación basada
en íconos por medio de una «rueda» o cursor, y que ofrecen correo electrónico, lista de
direcciones, SMS, y un navegador web básico. Un típico ejemplo de este tipo de dispositivos
son los Blackberry y los teléfonos inteligentes.
Dispositivo móvil de datos mejorado (Enhanced Data Mobile Device): dispositivos que tienen
pantallas de medianas a grandes (por encima de los 240 x 120 píxeles), navegación de tipo
16. stylus, y que ofrecen las mismas características que el dispositivo móvil de datos básicos más
aplicaciones nativas como aplicaciones de Microsoft office mobile(Word, Excel, PowerPoint) y
aplicaciones corporativas usuales, en versión móvil, como Sap, portales intranet, etc. Este tipo
de dispositivos incluyen los sistemas operativos como Windows Mobile 2003 o versión 5, como
en las Pocket PC.
RESPONSIVE DESIGN
El diseño web adaptable o Responsive Web Design que son una serie de practicas aplicadas al
diseño web que le permiten al usuario acceder a un sitio web desde diferentes medios como
dispositivos mobiles, tablets, pantallas wide y diferentes resoluciones en los computadores,
esto partiendo de la base que todo diseño web debe estar centrado en la experiencia del usuario
al momento de acceder a un sitio web, por este motivo es que actualmente muchos sitios web
estan usando el Responsive Web Design.
Por este motivo Adinteractive ha querido compartirles esta presentación que nos explica mejor
las mejores prácticas para aplicar el Responsive Web Design, y como aplicar un diseño fluido
que se adapte a cualquier pantalla.
El principal concepto en el que se apoya el Diseño Web Adaptable es en abandonar los anchos
fijos de nuestra web. Estos deberán ser fluidos. En lugar de diseñar nuestra web basándonos
en valores fijos (por ejemplo width: 960px), el diseño fluido está pensado en términos de
proporciones. De esta manera cuando veamos nuestra web a través de la pequeña pantalla de
un móvil todos los elementos de la web se harán más pequeños guardando la proporción entre
ellos. Por ejemplo, para saber ahora el ancho de un elemento tendremos que dividir el ancho
inicial del mismo entre el ancho del elemento “padre”, por llamarlo de alguna manera sencilla.
Pongamos que tenemos por ejemplo esta estructura:
En este ejemplo partíamos de unos valores fijos: un contenedor de 960 pixels y dentro del
mismo un elemento de 360 pixels de ancho. Si dividimos el segundo entre el primero y
multiplicamos el resultado por 100 obtendremos el valor de 37,5%, que será el ancho que
aplicaremos a dicho elemento. Es decir, el ancho del elemento interior será siempre el 37,5%
del ancho del primero. De esta forma cuando el ancho del elemento “padre” se adapta, todos
los anchos de los elementos interiores varían en función de su porcentaje. Ahora el elemento
interno, en la hoja de estilos, tendrá en lugar de un width=”360px” un width=”37,5%”.
Lo mismo haremos con los tamaños de las fuentes (por ejemplo, si el tamaño general es del
100%, que equivale a 16px, y tenemos un título de 22px, su nuevo tamaño será de 22/16 =
1.375em). ¿Pero, qué pasa con las imágenes u otros elementos que tienen un ancho fijo?
Podemos adaptar su ancho así:
img, video, object {maxwidth:100%;}
17. De esta manera su ancho nunca excederá del ancho del elemento que la contiene. Y si dicho
elemento cambia de ancho, también lo hará la imagen en todos los navegadores modernos.
¿He dicho modernos? Efectivamente, IE7 e IE6 no lo soportan. Para estos navegadores lo
mejor es incluir en su hoja de estilos específica:
img, video, object {width:100%;}
Esta regla es completamente distinta de la anterior: Ahora decimos que la imagen (por ejemplo)
siempre tendrá el mismo ancho de su contenedor. Es por ello por lo que hay que tener cuidado
sobre qué elemento se aplica.
Esto está muy bien hasta que nos encontramos con anchos de pantalla realmente pequeños
(por ejemplo un móvil). Si tenemos una web con tres columnas, montones de botones, menú
horizontal a la derecha del logo, etc.. al comprimir tanto el tamaño de la pantalla, por mucho que
los anchos sean fluidos, puede acabar todo en un caos. Es probable que tengamos que
prescindir de ciertos elementos de la web o situarlos en un lugar diferente. Para ello
utilizaremos los Media Queries.
MEDIA QUERYS
Como decíamos ningún diseño escala de manera adecuada cuando cambia el contexto para el
que fue pensado. Los Media Queries forman parte de CSS3 e inspeccionan las características
físicas del medio que va a mostrar nuestro diseño (no olvidemos que “query” equivale a
“pregunta”, es como preguntar: ¿qué medio se está usando?). Si las características del medio
utilizado por el usuario están dentro de un condicional establecido con los Media Queries, se
aplicarán una serie de instrucciones CSS contenidas dentro del mismo, de esta manera cuando
nuestro diseño fluido cambia de tamaño podremos aplicar una serie de instrucciones CSS
pensadas en exclusiva para ese nuevo tamaño. Vamos a ver un ejemplo.
El ancho de pantalla actual del iPhone es de 320px. Vamos a suponer que para ese ancho
nuestro diseño fluido presenta una serie de dificultades (puede ser desde cambiar el logo,
eliminar una columna, cambiar la organización de los elementos de la pantalla, etc…). Dentro
de nuestra hoja de estilos haríamos:
@media screen and (maxwidth: 320px) {/* Aquí van las reglas CSS necesarias */}
Como veis la instrucción se compone de dos partes: el tipo de medio utilizado (o Media Type, en
este caso “screen”, que agrupa a todos los medios que se ven via una pantalla) combinándolo
mediante un “and” con el Media Query (maxwidth: 320px). Estamos preguntando: ¿Es un
medio con pantalla y tiene un ancho de 320px o menor? Entonces le aplicamos los estilos
situados entre los corchetes correspondientes.
18. Podemos empezar desde este ancho e ir subiendo a otras posibles opciones. Algunos autores
recomiendan optimizar estos anchos de pantalla:
320 px
480 px
600 px
768 px
900 px
1200 px
La mayor parte de las veces estos son demasiados anchos de pantalla, no hay tiempo
suficiente para tanta optimización. Investiga bien cuales serán (o son si tienes ya datos
históricos gracias por ejemplo a tu herramienta de analítica web) los anchos usados por tus
usuarios y céntrate en ellos. Lo más habitual es, al menos, hacerlo para 480 píxeles.
También puedes, si quieres, dar una serie de reglas CSS para pantallas superiores a un ancho
determinado, usando minwidth. Por ejemplo, para anchos superiores a 1.200px:
@media screen and (minwidth: 1200px) {/* Aquí van las reglas CSS necesarias */}
Como veis podemos tener perfectamente separados los estilos de cada ancho de pantalla para
el que queramos optimizar nuestro diseño. Si queréis incluso separar las hojas de estilo podéis
también hacerlo. Por ejemplo, si queréis cargar una hoja de estilo independiente para anchos de
pantalla inferiores a 480 píxeles:
O también:
@import url("style.css") screen and (maxdevicewidth: 480px);
Podéis ir incluso más allá gracias al uso de “and” para poner un mínimo y un máximo en los
anchos de pantalla donde aplicar los estilos
@import url(style.css) screen and (minwidth:800px) and (maxwidth:1280px);
O detectar si es un iPhone 4 (por Thomas Maier):
NAVEGADORES QUE SOPORTAN MEDIA QUERYS
En general todos los navegadores modernos lo soportan. Eso quiere decir que Internet Explorer
6, 7 y 8 no lo soportan (Tan raro en IE!). Afortunadamente hay soluciones utilizando Javascript,
por ejemplo respond.js. Tal y como podéis ver “respond.js proporciona un script rápido y ligero
(3kb minified / 1kb gzip) que permite utilizar diseños web adaptables en navegadores que no
soportan CSS3 Media Queries – en concreto Internet Explorer 8 e inferiores