jueves, 19 de enero de 2017

Gestión de Entrada y Salida

FUNDAMENTOS DEL HARDWARE




Como trabajan las computadoras:


En síntesis las computadoras realizan cuatro funciones básicas:


  • Recibir una entrada: aceptan información del mundo exterior
  • Procesar información: realizan operaciones aritméticas o lógicas sobre la información
  • Producir una salida: comunican información al mundo exterior
  • Almacenar información: desplazan información  la memoria 
Además la computadora contiene componentes hardware especializados en cada una de éstas cuatro funciones:
  • Dispositivos de entrada: aceptan una entrada del mundo exterior

Dispositivos de salida: envían información al mundo exterior.

·         Procesador o Unidad Central de Procesamiento: es el cerebro de la computadora


·         Memoria y dispositivos de almacenaje: se encargan de almacenar información.





Fundamentos de los bits

En el mundo de las computadoras, la información es digital: significa que está hecha de unidades contables, separadas (dígitos) de modo que se puede subdividir.
La única unidad de información que la computadora  entiende son los bits.

Un bit, o dígito binario, es la unidad más pequeña de información que puede procesar una computadora. Un bit puede tener uno de dos valores, 0 ó 1.

Bits como números:


Como las computadoras están hechas de dispositivos de conmutación que reducen toda la información a ceros y unos, representan números utilizando el sistema numérico binario, que denota todos los números en combinaciones de dos dígitos. Al igual que el sistema decimal, el binario también tiene reglas claras, coherentes, para cada operación aritmética.



Bits como códigos:


El código más utilizado, ASCII (Código normalizado americano para el intercambio de información), representa cada carácter como un código único de 8 bits. Pero los caracteres únicos del ASCII no bastan, por lo que la industria ha elegido Unicode (Estándar internacional de doble byte), un esquema de codificación que soporta 65000 caracteres únicos, suficientes para las lenguas mas importantes del mundo.


Además se debe tener un conocimiento básico de los siguientes términos para cuantificar los datos: 
  • Byte: grupo lógico de 8 bits
  • KB (kilobyte o K): 1024 bytes
  • MB (megabyte): 1024 KB
  • GB (gigabyte): 1024 MB
  • TB (terabyte): 1024 GB. 
  • PB (petabyte): 1024 TB. 
Las abreviaturas K, MB, GB, y TB describen la capacidad de los componentes de almacenamiento, memoria, asi como también cuantifican los tamaños de los archivos.


El corazón de la computadora: CPU y memoria
La CPU: la computadora real

La CPU realiza las transformaciones de entrada en salida.
En una computadora de escritorio, la CPU está junto con otros chips y componentes electrónicos en un panel de circuitos llamado placa base placa madre. 
Cuando se elige una computadora, el tipo de CPU es una parte importante de la desición. Aunque hay muchas variaciones de diseño, sólo dos factores son importantes para un usuario ocasional: la compatibilidad y el rendimiento.
Compatibilidad:


No todo el software es compatible con todas las CPU; es decir, el software escrito para un procesador generalmente no funcionará con otro.  Hay también un tema relacionado que implica a los sistemas de software que se ejecutan en éstas plataformas hardware, pero éste problema de incompatibilidad se puede superar con el software de las máquinas virtuales que traducen las instrucciones escritas para una CPU o un sistema de software a instrucciones que otros puedan ejecutar.

Rendimiento:

El rendimiento global de una computadora está determinado en parte por la velocidad del reloj interno de su microprocesador (el dispositivo de temporización que produce impulsos eléctricos para sincronizar las operaciones). La velocidad del reloj de una computadora se mide en unidades llamadas gigahertzios (GHz).
El rendimiento del PC también puede estar limitado por laarquitectura del procesador; el diseño que determina cómo se reúnen en el chip los componentes individuales de la CPU. El número de bits que una CPU puede procesar cada vez (generalmente 32 ó 64) se llama a veces tamaño de palabra de la CPU.
Debido a la importancia del rendimiento, los ingenieros y los científicos informáticos están constantemente desarrollando técnicas para acelerar la capacidad de una computadora de manipular y mover bits. Una técnica común para mejorar el rendimiento es ponerle más de un procesador.



La memoria de la computadora:

La principal tarea de la CPU es seguir las instrucciones codificadas en los programas, pero sólo puede manipular una instrucción y unos pocos datos a la vez. La computadora necesita un lugar donde almacenar el resto del programa y los datos hasta que el procesador esté listo. Para eso está la RAM.


La RAM (radom access memory, memoria de acceso aleatorio):
es el tipo más común de almacenamiento primario, o de memoria. La computadora divide cada chip de la RAM en muchas ubicaciones de memoria del mismo tamaño. Además puede almacenar un fragmento de información en cualquier ubicación RAM (puede elegir una al azar) y la computadora puede recuperarla rápidamente. De aquí el nombre de memoria de acceso aleatorio.
La información almacenada en la RAM no es más que un patrón de corriente eléctrica fluyendo a través de circuitos microscópicos en chips de silicio, es decir que cuando la energía sale de la computadora se borra todo lo almacenado en la RAM.
La RAM se llama a veces memoria volátil, porque la información almacenada allí no se mantiene permanentemente.
Afortunadamente tenemos otro tipo de memoria donde almacenar la información que no se quiere perder. Estamemoria no volátil se llama ROM (read only memory, memoria de sólo lectura).

Hay otros tipos de memoria disponibles; la mayoría se utilizan raramente fuera de los laboratorios de ingeniería. Hay dos excepciones notables:

  • La CMOS (complementary metal oxide semiconductor, semiconductor complementario de óxido de metal) es una clase especial de RAM de baja energía que puede almacenar pequeñas cantidades de datos duarante largos periodos de tiempo con la energía de la batería. La CMOS RAM almacena la fecha, la hora y el calendario de un PC.






  • Los chips de memoria Flash, como los chips de la RAM, pueden escribirse y borrarse rápidamente y repetidamente. Pero a diferencia de la RAM, la memoria flash no es voláti; puede mantener sus contenidos sin flujo de lectricidad.
El tiempo de acceso de la mayoría de las memorias se mide ennanosegundos (ns). La velocidad de la memoria (el tiempo de acceso) es otro factor que afecta a la velocidad global de la computadora.



Buses, puertos y periféricos:


En una computadora, los chips de memoria y otros componentes clave están integrados en la placa madre. La información viaja entre los componentes de la placa madre a trevés de grupos de cables llamados buses. Los buses tienen generalmente 32 ó 64 cables, por ejemplo un bus de 32 cables se llama bus de 32 bits, porque puede transmitir 32 bits de información a la vez. Por tanto los buses más amplios transmiten la información más deprisa.
Las ranuras y los puertos facilitan la adición de dispositivos externos, llamados periféricos, al sistema de la computadora. Algunos periféricos, como teclados e impresoras, sirven como vínculos de comunicación entre las personas y las computadoras. Otros periféricos en cambio vinculan la computadora con otras máquinas. 





Una máquina rápida pero estúpida 

Las computadoras parecen inteligentes porque pueden efectuar estas operaciones aritméticas y las comparaciones rápidamente y con precisó. Una computadora doméstica típica puede realizar miles de operaciones en el tiempo que usted tarda en coger su bolígrafo y meterlo en el bolsillo. Un programa bien diseñado es el encargado de indicarle a la computadora que ejecute una secuencia de operaciones sencillas que, tomadas en conjunto, imprimen un informe, organizan las notas de los alumnos de una escuela o simulan un vuelo espacial.

El desafío de los desarrolladores de software es inventar instrucciones que agrupen todas estas órdenes sencillas de modo que sean útiles.

El trabajo de un programador es convertir el algoritmo (conjunto de procedimientos para llevar a cabo una tarea) en un programa añadiéndole detalles, puliendo los fallos, verificando los procedimientos y depurando los errores. Es fundamental eliminar toda la ambigüedad que se pueda. 
El lenguaje de las computadoras 
 
Cada computadora procesa instrucciones en un lenguaje máquina, El cual emplea códigos numéricos para representar las operaciones más básicas de una computadora. Los programadores de antaño estaban obligados a escribir cada programa en lenguaje máquina, lo que se suponía una tediosa tarea de trasladar cada instrucción a código binario.

Hoy en día la mayoría de los programadores utilizan lenguajes de programación como Java o Visual Basic.NET que se encuentran a medio camino entre lo que entienden un humano y lo que se debe suministrar a la máquina.

Para poder comunicarnos en alto nivel, es necesario un traductor. Mientras más sofisticado sea el traductor, más sencillo resulta el trabajo del programador.

El programa traductor más común es el compilador, cuya misión es convertir un programa completo escrito en un lenguaje de alto nivel como (como C#) antes de que se ejecute por primera vez.

Aplicaciones. Herramientas para los usuarios 

Las aplicaciones de software permiten a los usuarios controlar sus computadoras sin pensar del mismo modo que los programadores.

Aplicaciones para el usuario 

Las tiendas de computadoras y software, las de los productos eléctricos y las de venta por correo venden cientos de programas: software de auto detención, de contabilidad, de gráficos, gestores de información personal, etc.

El proceso de compra de cualquier software es similar al de cualquier CD de música. Pero existen algunas sutiles diferencias que veremos a continuación.

Documentación 

Cualquier paquete de software debe incluir documentación impresa con las instrucciones a seguir para su instalación en el disco duro de la computadora. Algunos también disponen de tutoriales y manuales de referencia que explican cómo usarlo.

Actualización 

La mayoría de las empresas de software trabajan en la mejora de sus productos, eliminando fallos y añadiendo nuevas características. Como resultado de ello, es frecuente que aparezcan nuevas versiones de los programa más populares cada uno o dos años.

Compatibilidad 

Los paquetes de software contienen etiquetas con mensajes como «Precisa Windows 9x, Me o XP con 128 MB de RAM», estas especificaciones no deben tomarse a la ligera, sin el hardware y software compatible, muchas programas son inservibles.

Renuncias 

Según la letra pequeña de las garantías incluidas en muchos paquetes de software, algunas aplicaciones podrían ser técnicamente inservibles aun disponiendo de hardware y software compatible. EULA (Contrato de licencia de usuario final, End User License Agreement):

Este programa se distribuye tal como es, sin garantía de ningún tipo….” 

Licencia 

Cuando se adquiere cualquier paquete de software, usted realmente no está comprobando ese software sino una licencia para usar el programa, generalmente en una sola máquina.

Virtualmente, todo software tiene un copyright, lo que significa que no puede duplicarse legalmente para su distribución a terceras personas. Algunos programas grabados en CD o DVD (lo más recientes) están físicamente protegidas contra copia de modo que no pueden duplicarse de ninguna manera.

¿Por qué usamos aplicaciones? 

Podría sonar raro que alguien pagase una cantidad de dinero por un producto que no tiene garantía y que contiene docenas de restricciones legales relacionadas con su uso. ¿Por qué tanta gente compra este tipo de programas?: 

  • Están construidas alrededor de metáforas visuales de herramientas del mundo real.
  • Expanden de alguna forma, las capacidades humanas.

Aplicaciones integradas y suites. 
Paquetes de software 

Aunque la mayoría de los paquetes de software especializados es una aplicación particular, como un procesador de textos, los paquetes de software integrado de bajo precio incluyen varias aplicaciones diseñadas para trabajar juntas. Los mas populares, como Apple Works y Microsoft Works, suelen incluir un sencillo procesador de textos, base de datos, una hoja de cálculo. Muchas compañías ofrecen suites de aplicación (paquetes que contienen varios programas de aplicación completos que también se venden por separado).

¿Qué hace un sistema operativo? 


Cada computadora actual, ya sea una supercomputadora de tiempo compartido o un portátil, depende de un SO (sistema operativo) que mantenga el hardware funcionando de forma eficiente y facilite el proceso de comunicación con él. Algunas computadoras (incluyendo las de bolsillo, los juegos y las de propósito específico) tienen sus sistemas operativos almacenados permanentemente en ROM (Memoria de sólo-lectura), de modo que están operativas desde el mismo modo en que se encienden; la computadora, proporcionando una capa de aislamiento entre usted y los bits y bytes que componen el mundo del software.

Comunicación con los periféricos 

El sistema operativo incluye programas que se comunican de forma transparente con los periféricos (monitores, impresoras, unidades de disco).

Administración de la memoria 

Cuando varios trabajos se están procesando de manera concurrente, el sistema operativo de be controlar el modo en el que se está usando la memoria de la computadora y asegurarse de que ningún trabajo invade el espacio de otro.

Programas y administración de datos 

Además de actuar como guardia de tráfico, guardia de seguridad y contable, el sistema operativo también es un libreto que se encarga de localizar y acceder a los ficheros y programas solicitados por el usuario o por cualquier otro programa.

Coordinación de las comunicaciones de red 


Hasta hace poco, las comunicaciones d red no estaban administradas por los sistemas operativos de escritorio empleados por cualquier usuario. Pero los más modernos ya están diseñados para servir como puentes a las redes, desde la oficina a Internet.

Programas de utilidad y controladores de dispositivo 

 
Los programas de utilidad sirven como herramientas de mantenimiento del sistema y reparan todo aquello que el propio sistema operativo no es capaz de hacer por sí mismo.

La interfaz de usuario: la conexión de hombre máquina 

Los primeros usuarios de las primeras computadoras tenían que gastar tiempo escribiendo en lenguaje máquina. En la actualidad, los usuarios emplean la mayoría de su tiempo en el trabajo con aplicaciones ya programadas, como los procesadores de texto, que simulan y aumentan las posibilidades de herramientas reales.

Sistemas operativos de sobremesa 

 
El primer sistema operativo para el PC, creado por Apple II, el IBM PC original y otras máquinas, no se parecía en nada a los que puede encontrar en la actualidad.

MS-DOS (Sistema operativo en disco de Microsoft), se convirtió en el sistema operativo estándar para las computadoras IBM compatibles (aquellas que funcionaban exactamente igual que IBM PC y que eran capaces de ejecutar software compatible con IBM). A diferencia de Windows, MS-DOS usaba una interfaz de línea de comando en la que el usuario escribía los comandos y la computadora respondía.

El Apple Macintosh, presento en 1984, fue la primera computadora de bajo coste cuyo sistema operativo fue diseñado teniendo en mente un monitor gráfico. El Mac OS lució una GUI (Interfaz gráfica de usuario).

Windows y el Mac OS han evolucionado a lo largo de los últimos años, incorporando nuevas características a sus GUI para hacerlas más fáciles de usar por parte del usuario.

Administración de ficheros: ¿dónde están mis cosas? 

Un sistema operativo actúa como una capa de intercambio entre el usuario y los datos contenidos en la computadora. Windows y el Mac OS emplean una interfaz de usuario que representa los datos de la computadora como ficheros almacenados en carpetas que se encuentran en un escritorio virtual. Tanto Windows como Mac OS soportan el concepto de carpetas de sistema con nombres autoexplicativos.

Sistemas operativos multiusuario: UNIX Y Linux 

UNIX, desarrollado en los laboratorios de Bell hace casi una década. UNIX ha sido por años el sistema operativo preferido por las workstations y los mainframes de los centros académicos y de investigación..

En su núcleo, y en todas sus versiones, UNIX es un sistema operativo de línea de comando basado en texto. Su interfaz es similar a la de MSDOS, aunque los comandos no son los mismos.

Plataformas de hardware y software

Entre los sistemas operativos más conocidos se puede citar: 

  • Microsoft Windows XP. Éste es el producto estrella de Microsoft y fue presentado en 2001.
  • Windows Server 2003. En secuencia, es el equivalente para servidores de Windows XP y el sucesor de la familia de productos Windows 2000. 
  • Microsoft Windows CE.NET. Esta versión reducida, diseñada principalmente para dispositivos conectados e incrustados y para computadoras de bolsillo y teléfonos móviles. 
  • Palm OS. Este sistema operativo, desarrollado originalmente para la Palm Pilot, se incluye en la actualidad en muchos dispositivos de bolsillo fabricados por una gran variedad de fabricantes como Palm, Handspring y Sony. Su interfaz de usuario basada en un lápiz es fácil de usar. 
  • Mac OS x (10). Presentado en 2001, OS X es la última versión del sistema operativo para la Mac. 
  • Mac OS 9. Éste es el último de una larga lista de sistemas operativos Macintosh que se inicio con el sistema Mac Original en 1984. OS 9 y sus predecesores solo funcionan en Mac. 
  • Linux, Sun Solaris y otras versiones UNIX. Siempre es posible encontrar una versión de UNIX o Linux en PC, Mac estaciones de trabajo, supercomputadoras, mainframes y otros muchos dispositivos. Linux es especialmente popular debido a que no tiene coste y está soportado gratuitamente por sus partidarios.

En sí mismos, los sistemas operativos no resultan muy útiles a la gente. Necesitan de software para que puedan resultar interesantes.




Hardware de Discos


Los discos son de diversos tipos. Los más comunes son los discos magnéticos (discos duros y disquetes). Estos se caracterizan por el hecho de que las lecturas y escrituras son igual de rápidas, lo que los hace ideales como memoria secundaria (paginación, sistemas de archivos, etc).
A veces se usan grupos de estos discos para contar con almacenamiento muy confiable. Para la distribución de programas, datos y películas son importantes de diversos tipos de discos ópticos (CD-ROM, CD grabable y DVD).
Discos magnéticos
Los discos magnéticos se organizan en cilindros, cada uno de los cuales contiene tantas pistas como haya cabezas apiladas en forma vertical. Las pistas se dividen en sectores, y el número de estos por pista es de 8 a 32 en el caso de los discos flexibles y hasta varios cientos en los discos duros. El número de cabezas varía entre 1 y 16
Algunos discos magnéticos tienen pocos componentes electrónicos y tan solo suministran un flujo de bits en serie. Estos discos, la controladora realiza la mayor parte del trabajo. En otros discos, Sobre todo los IDE (Integrated Drive Electronics; Electrónica integrada en la unidad), La unidad de disco misma contiene una micro controladora que se encarga de una parte del trabajo y permite a la verdadera controladora emitir un conjunto de comandos de nivel más alto
En la figura 5-17 se comparan los parámetros del medio de almacenamiento estándar de la PC original de IBM con los de un disco duro moderno, con el fin de mostrar lo mucho que han cambiado los discos en las dos últimas décadas. Es interesante observar que no todos los parámetros han mejorado en el mismo grado. El tiempo de desplazamiento de cabeza promedio es siete veces mejor, la tasa de transferencia es 1300 veces mejor, pero la capacidad ha mejorado en un factor de 50000. Este patrón tiene que ver con mejoras relativamente graduales en las partes móviles, mientras que ha aumentado enormemente la densidad de bits en las superficies de grabación.



Algo que debe tener presente al estudiar las especificaciones de los discos duros modernos es que la geometría que se especifica, que es la empleada por el software controlador, podría ser diferente del formato físico. En los discos más antiguos el número de sectores por pista era el mismo para todos los cilindros. Los discos modernos están divididos en zonas, y en las zonas exteriores tienen más sectores que las interiores. La figura 5-18a ilustra un disco diminuto con 2 zonas. La zona exterior tiene 32 sectores por pista; la interior 16. Un disco real, como el WD 18300, suele tener 16 zonas y el número de sectores aumenta aproximadamente 4% de una zona a la siguiente, a medida que se avanza del centro del disco hacia la orilla.
A fin de ocultar pormenores como el numero de sectores que hay en cada pista, la mayoría de los discos modernos tienen una geometría virtual que se presenta al sistema operativo. Se ordena al software actual como si hubiera x cilindros, y cabezas, y z sectores por pista. Luego, la controladora establece una correspondencia entre (x,y,z) y los números reales de cilindro, cabeza y sector. En la figura 5-18b se muestra una posible geometría virtual para el disco físico de la figura 5-18a. En ambos casos el disco tiene 192 sectores, solo que la disposición publicada es diferente de la real.


CD-ROMS
En los años recientes han aparecido discos ópticos (en contraposición con los magnéticos). Estos tienen densidades de grabación mucho más altas que los discos magnéticos convencionales. Los discos ópticos se desarrollaron para grabar programas de televisión, pero se les puede dar un uso más estético como dispositivos de almacenamiento para computadora. Debido a su capacidad, que puede ser enorme, los discos ópticos han sido tema de numerosas investigaciones y han experimentado una evolución increíblemente rápida.
Un CD se prepara utilizando un laser infrarrojo de alta potencia para quemar agujeros de 0.8 micras de diámetro en un disco de maestro de vidrio recubierto. A partir de este disco maestro, se prepara un molde, con protuberancias donde estaban los agujeros del laser. En este molde se inyecta resina de policarbonato fundida, para formar un CD con el mismo patrón de agujeros que el disco maestro de vidrio. Luego, sobre el policarbonato se deposita una capa muy delgada de aluminio reflejante y se le cubre con una laca protectora, y por ultimo una etiqueta. Las depresiones en el sustrato de policarbonato se llaman foso (pits); las areas no quemadas entre los fosos se llaman llanos (lands)
Al reproducirse, un diodo laser de baja potencia dirige un haz de luz infrarroja con una longitud de onda de 0.78 micras sobre los foso y llanos a medida que el disco gira bajo el laser. El laser incide por el lado del policarbonato, de modo que los fosos sobresalen hacia el laser como protuberancias en la superficie por lo demás plana. Puesto que los fosos tienen una altura igual a una cuarta parte de la longitud de onda del laser, la luz que se refleja en un foso está desfasada media longitud de onda respecto a la que se refleja en la superficie circundante. El resultado es que las dos partes se interfieren en forma destructiva y devuelven menos luz al foto detector del reproductor que la luz que se refleja de un llano. Es así como el reproductor distingue un foso de un llano. Aunque podría parecer más sencillo utilizar un foso para registrar un 0 y un llano para registrar un 1, resulta más confiable utilizar una transición foso/llano o llano/foso para un 1 y su ausencia para un 0, así que este es el esquema que se usa.
Los fosos y llanos se graban en una sola espiral continua que inicie cerca del agujero y avanza una distancia de 32 mm hacia el borde. La espiral describe 22188 revoluciones alrededor del disco (aproximadamente 600 por mm); Si se desenrollara, tendría 5.6 km de longitud. La espiral se ilustra en la figura 5-20














No hay comentarios.:

Publicar un comentario