Your SlideShare is downloading. ×
0
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Unidad 5 So
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Unidad 5 So

2,033

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,033
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
74
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1.  
  • 2. Toda computadora trae consigo una cantidad mínima necesaria de dispositivos de entrada salida. Como es obvio, los diseñadores de un sistema operativo no podrían dedicarse a incluir todos los controladores necesarios para cada uno de ellos. Por tanto, en realidad únicamente lo que hacen es proporcionar un conjunto de directivas que los programadores de los fabricantes de los dispositivos de entrada salida deben de respetar para que su controlador pueda ser reconocido por el sistema operativo. Estas directivas conforman el subsistema de entrada/salida del sistema operativo o más precisamente del kernel. Esto permite aislar la complejidad asociada con la administración de los dispositivos de entrada Principios de hardware de I/O
  • 3. En la actualidad se han visto dos tendencias fuertemente confrontadas. *Existe una creciente estandarización de las interfaces de software y hardware, lo que permite incorporar versiones mejoradas de dispositivos dentro de las computadoras y por ende, que sean reconocidas por los sistemas operativos actuales. *En contraposición, existen cada vez más dispositivos de entrada salida, algunos de éstos son tan distintos a los anteriores que constituye un gran reto el incorporarlos a nuestros sistemas de computadora incluyendo que los reconozcan nuestros sistemas operativos.
  • 4. Dispositivos de I/O Los sistemas de computadora interactúan con una gran variedad de tipos de dispositivos. La mayoría de esos dispositivos se pueden clasificar en las siguientes categorías generales: Dispositivos de almacenamiento. Dispositivos de transmisión. Dispositivos de interfaz humana. Los dispositivos de almacenamiento. Estos son discos duros, unidades de CDROM, cintas magnéticas, unidades de memoria flash o pendrive, entre otros. Los dispositivos de transmisión son aquellos que van a permitir a nuestra computadora comunicarse con otros dispositivos o computadoras. Entre ellos podemos citar a las tarjetas de red o NIC (network Interface Computer) o interfaz de red de computadora los dispositivos de rayos infrarrojos, o aquellos que usan el estándar bluetooth, entre otros. Entre los dispositivos de interfaz humana tenemos por ejemplo, el ratón, el teclado, la tarjeta de vídeo y monitor, las tarjetas de sonido y bocinas, por citar algunos. Otros dispositivos son más especializados y va a depender mucho el área de aplicación, como por ejemplo, en control industrial. No obstante la tremenda variedad de tipos de dispositivos, para entender cómo se conectan éstos mediante su software específico solamente se necesitan algunos conceptos básicos. En general los dispositivos se comunican con la computadora a través de señales que envía por un medio físico que puede ser un cable, ondas electromagnéticas, luz, rayos infrarrojos o rayos láser.
  • 5. Controladores de dispositivos Un controlador de dispositivos es una colección de componentes electrónicos que tienen la capacidad de controlar uno o más puertos, un bus o un dispositivo. Como ejemplo pusimos a la UART, y la tarjeta de vídeo. La mayoría de los componentes de una computadora son controladores, tenemos entonces el controlador de bus, el controlador de discos IDE, la tarjeta controladora del bus SCSI y los controladores de discos SCSI, por citar algunos. La tarjeta controladora SCSI se inserta en algún slot PCI y está compuesta por un procesador, micro código y cierta cantidad de memoria para procesar los mensajes del protocolo SCSI. Los discos duros tienen su tarjeta controladora integrada en uno de sus lados y es la que permite la conexión con los puertos IDE o SCSI. Tiene también un procesador y micro código para realizar algunas tareas como el mapeo de sectores erróneos, el almacenamiento en búfer y el almacenamiento en caché. La CPU se comunica con las tarjetas controladoras de varias formas. Es común que éstas dispongan de un conjunto de registros, por ejemplo, pueden tener: registros de entrada. registros de salida. registros de control. registros de estado. Al conjunto de registros enumerados arriba se les denomina puertos de entrada salida.
  • 6. En la tabla 6.1 tenemos un listado de los puertos, con sus direcciones asociadas más comunes.
  • 7. Principios de software de I/O La tarjeta controladora, aparte de contener el hardware y el micro código tiene también un conjunto de programa denominados manejadores de dispositivos que comúnmente son escritos por los fabricantes del controlador. Estos controladores deben de seguir las pautas establecidas por el sistema operativo para que puedan ser fácilmente acoplados al kernel y de esta manera ser utilizados por la CPU.
  • 8. Objetivos del software de I/O El diseño e implementación de tarjetas controladoras de dispositivos, permiten en primer lugar, solucionar algún tipo de problema a nivel hardware. por ejemplo, una tarjeta de red va a permitir resolver problemas de compartición de recursos entre los usuarios. No obstante, tener sólo el hardware del controlador, no implica que el sistema operativo pueda hacer uso de esta tarjeta, a menos que el sistema operativo tenga a su disposición una base de datos de manejadores de dispositivos de red. De otra forma, el fabricante es quien deberá proporcionar este manejador. Los principales objetivos que persigue el software de entrada salida son: Explotar completamente las capacidades proporcionadas por el hardware. Hacer una interface sencilla para que pueda usarla el sistema operativo. Proporcionar un conjunto completo de instrucciones de entrada/salida para el manejo del dispositivo. Independencia del Dispositivo. Los programas pueden acceder a cualquier dispositivo de E/S sin especificarlo a priori. Nomenclatura uniforme. independiente de la máquina. Manejo de errores. Manejo tan cercano al hardware como sea posible.
  • 9. Es lógico que todo usuario que compra una tarjeta controladora es para obtener de ella su máxima capacidad y de esta manera hacer más rápido su trabajo, permitirle al usuario explotar su hardware completamente a través del sistema operativo es uno de los primeros objetivos. El fabricante, debe proporcionar confiabilidad y desempeño para poder competir por la preferencia del usuario. A su vez debe proporcionar la interfaz adecuada con el sistema operativo de modo que éste pueda soportar completamente su dispositivo. Debe proporcionar a los programadores una amplia gama de instrucciones de modo que puedan extraer todas las capacidades del hardware. Incluso hay fabricantes de dispositivos, como por ejemplo, los que fabrican las grabadoras de CDROM o DVD que incluyen junto con su manejador de dispositivo, programas de usuario final completamente funcionales o en su defecto, están asociados con las compañías de producción de software de grabación e incluyen programas a prueba durante cierto tiempo o con algunas características deshabilitadas, en donde con algunas facilidades o descuentos pueden habilitarlos para su completa funcionalidad. Actualmente, incluso las compañías ensambladoras de PC desarrollan algunos programas de usuario final de modo que sea mucho más sencillo para éste hacer uso de todas las capacidades que incluyen en sus equipos sin que el usuario tenga que pagar costos adicionales por el software. Aunque comúnmente, estos programas son para periféricos específicos como grabadoras de CDROM, cámaras de vídeo impresoras y dispositivos digitalizadores y no cuentan con muchas de las capacidades del software propietario expresamente diseñado para usuarios avanzados. En cuanto a la independencia del dispositivo el sistema operativo debe proporcionar los mecanismos adecuados para poder estandarizar en la medida de los posible las llamadas a los dispositivos de entrada/salida. La independencia de máquina se refiere al hecho que las llamadas al sistema deben de ser fáciles de portar y además debe de haber un manejo adecuado y también estándar para los errores que puedan generarse durante una operación de entrada salida.
  • 10. Manejadores de interrupciones Existen dos maneras de interactuar con las tarjetas controladoras: Sondeo. Manejadores de interrupciones. Sondeo El protocolo completo de interacción entre la CPU y la tarjeta controladora puede parecer complejo, pero básicamente si se entiende el concepto de negociación puede resultar mucho más simple de entender. Vamos a explicar este concepto con un ejemplo. Supongamos que nuestra tarjeta controladora tiene tiene en su registro de estado dos bits para coordinar la relación productor consumidor entre la tarjeta controladora y la CPU. La controladora entonces va a indicar su estado mediante el bit de ocupado cuando todavía se encuentra trabajando con los datos proporcionados anteriormente o haciendo alguna rutina de supervisión. cuando termina esta actividad borrará este bit de modo que ahora indique que se encuentra desocupado de esta forma está avisando que se encuentra lista para recibir más datos u otras órdenes. La CPU le indica a la tarjeta controladora que quiere procesar información poniendo el bit preparado activo para indicarle que en el registro de control existe ya una orden disponible con los datos correspondientes en los registros de entrada o en el área de memoria mapeada. El proceso completo lo podemos ver como sigue: La CPU lee repetidamente el bit de ocupado hasta dicho bit esté en cero (desocupado) La CPU activa el bit de escritura en el registro de control y escribe un byte en el registro de salida. La CPU activa el bit de orden lista en el registro de control. Cuando la tarjeta controladora observa que está activado el bit de orden lista en el registro de control, activa el bit de ocupada La tarjeta controladora lee el registro de control y ve la orden. En seguida lee el registro de salida para obtener el dato y lleva a cabo la operación de entrada salida hacia el dispositivo. Cuando ha terminado la operación la tarjeta controladora borra el orden lista, borra el bit de error en el registro de estado para indicar que la operación de entrada salida ha tenido éxito y borra también el bit de ocupado para indicar que ha finalizado y está lista para recibir más órdenes.
  • 11. Interrupciones El mecanismo de interrupción funciona de la siguiente manera: El hardware de la CPU tiene un pin llamado línea de solicitud de interrupción que la CPU comprueba vía hardware después de ejecutar cada instrucción. Cuando la CPU detecta que una tarjeta controladora ha activado una señal a través de esta línea, la CPU guarda el estado actual y salta a la rutina de servicio de interrupción situada en una dirección fija de la memoria. La rutina de servicio de interrupción determina la causa de la interrupción. Lleva a cabo el procesamiento necesario. Realiza una restauración del estado. Regresa a la tarea que estaba ejecutando en el mismo instante en que fue interrumpida.
  • 12. Manejador de dispositivos Hasta ahora, hemos hablado del hardware y de los mecanismos que puede usar el sistema operativo para tratar directamente con un dispositivo, pero lo más común es que el fabricante del mismo proporcione un conjunto de rutinas que deben de agregarse al sistema operativo mediante módulos para que éste pueda manejar adecuadamente su dispositivo. A este conjunto de rutinas se les denomina manejador de dispositivo. En realidad es el manejador de dispositivo el que interactúa con el sistema operativo y la tarjeta controladora. controladora. Figura 6.2: Estructura de Entrada/Salida de un kernel
  • 13. <ul><li>En la figura 6.2 podemos ver cómo el sistema operativo provee solamente una interfaz que se denomina subsistema de entrada salida del kernel mediante la cual se acoplan todos los manejadores de dispositivo de manera que puedan interactuar ambos. </li></ul><ul><li>El tipo de interacción entre el manejador y el sistema operativo puede ser de dos tipos: </li></ul><ul><li>Entrada/Salida programada. </li></ul><ul><ul><li>También llamada PIO (programmed I/O). Bajo este esquema, el manejador solicita a la CPU byte por byte y lo va procesando tal como van llegando. Como puede verse, es computacionalmente hablando muy caro. La mayoría de los manejadores evita esta sobrecarga y los fabricantes comúnmente agregan un procesador dedicado para ejecutar esas tareas. </li></ul></ul><ul><li>Acceso directo a memoria. </li></ul><ul><ul><li>El manejador de dispositivo tiene asignado un bloque de memoria y la CPU le envía solamente la dirección en donde se requiere la información. El manejador hace la tarea, liberando a la CPU de ese trabajo. Para iniciar una transferencia de bloque tipo DMA, la CPU escribe la dirección del bloque en los registros de entrada mediante el manejador de dispositivo. Le indica también el destino o en su defecto la operación que se debe llevar a cabo sobre los datos y se dirige a realizar otras tareas. </li></ul></ul>
  • 14. Software de I/O independiente de los dispositivos El siguiente nivel dentro de la administración de dispositivos de entrada/salida tenemos al subsistema de E/S del kernel. Este es una interfaz común de la cual pueden hacer uso todos los manejadores de dispositivos. El kernel además proporciona servicios relacionados con la E/S tales como: Planificación. Almacenamiento en búfer. Almacenamiento en caché. Administración de colas. Reserva de dispositivos. Tratamiento de errores.
  • 15. Espacio del usuario para software de I/O Como es de esperarse, el sistema operativo debe de tener control absoluto sobre cualquier intento de entrada salida que desee llevar a cabo el usuario. Esto es así debido a que es la única forma de verificar si el usuario realmente tiene derecho a efectuar algún tipo de operación de entrada salida. Como podemos ver, entonces la mayoría del software de entrada salida se va a encontrar en el sistema operativo y éste proporcionará un conjunto de llamadas (llamadas al sistema) que permitirá al usuario interactuar con los dispositivos de entrada salida bajo la supervisión del kernel. La biblioteca estándar stdio.h es un buen ejemplo de ello. Si el usuario desea leer un bloque de datos de un archivo usará entonces la instrucción read(file-des,buffer, bytes-solicitados) esta función quedará enlazada en el programa del usuario, pero el sistema operativo se encarga primeramente de verificar que el usuario tenga los derechos pertinentes de lectura del archivo solicitado antes de leer los datos de disco. Entonces, aunque el usuario tiene una amplia gama de funciones que puede usar para llevar a cabo sus tareas, el sistema operativo verificará si es que tiene los permisos correspondientes sobre el recurso que está solicitando para que pueda llevarse a cabo la solicitud. Hay que aclarar que el sistema operativo puede delegar algunas tareas a procesos especializados en algún dispositivo de entrada salida, por ejemplo, tenemos al servidor de impresión. Un usuario envía su trabajo a una impresora que en realidad está representada por una cola de impresión. La cola de impresión mantendrá el trabajo hasta que sea su turno de enviarlo realmente a la impresora. En este caso, el servidor de impresión es el único proceso que tiene acceso directo a la impresora de modo que ningún usuario puede hacer uso directo de ésta a no ser que sea por medio de ese servidor. Otro ejemplo, es el servidor gráfico o el servidor X, este servidor es el que se encarga de manejar la tarjeta gráfica. Es imperativo hacer uso de éste si se desea mandar algún tipo de información gráfica. En este caso también el kernel delega las funciones necesarias de la tarjeta de vídeo al servidor X de modo que sea el único que puede tener acceso directo a la misma. Si alguien desea acceder a este recurso tiene que ser entonces por medio del servidor gráfico.
  • 16. Discos RAM Un disco RAM o ramDisk (Random Access Memory Disk) es un área de memoria que se configura como un disco físico Tiene las siguientes ventajas. Es muy rápido en comparación con un disco tradicional, puesto que se accede a memoria en lugar de un disco duro tradicional. Puede formatearse. Es transparente a las aplicaciones, puesto que no habrá diferencia en cuanto a las instrucciones que se usarán para acceder a éste. Se pueden tener tantos discos RAM como se deseen, restringiendo solamente a la cantidad de memoria física con la que cuente el sistema y la que necesita el sistema operativo para poder funcionar adecuadamente. La memoria RAM ha ido bajando continuamente de precio. Las desventajas de los discos RAM son: Muy baja capacidad de almacenamiento. Quita gran cantidad de memoria al sistema operativo, lo que puede ocasionar que baje el desempeño del sistema, teniendo que hacer más intercambio con el disco físico. La memoria RAM es volátil y en el momento que se quita la energía eléctrica los datos se pierden. De acuerdo con esas ventajas, podemos básicamente ejecutar cualquier servicio cuyos datos puedan caber en el disco RAM. Por ejemplo, un servidor DNS, cuyos archivos son muy pequeños o un sitio web que no exceda, por ejemplo, los 128Mbytes.
  • 17. . .
  • 18. Discos Los discos, hasta ahora, han sido el medio de almacenamiento secundario más usados. Un disco duro, es un dispositivo que puede grabar y recuperar grandes cantidades de información en tiempos relativamente rápidos en comparación con otros medios de almacenamiento secundario, como por ejemplo, las unidades de CDROM o las cintas magnéticas. Un disco duro está compuesto de varios elementos. Por ahora describiremos el funcionamiento general de éste. En primer lugar, la información se almacena en unos finos platos o discos, generalmente de aluminio, recubiertos por un material sensible a alteraciones magnéticas. Estos discos, cuyo número varía según la capacidad de la unidad, se encuentran agrupados uno sobre otro y atravesados por un eje, y giran a gran velocidad. Cada disco posee dos diminutos cabezales de lectura/escritura, uno en cada cara. Estos cabezales se encuentran flotando sobre la superficie del disco sin llegar a tocarlo, a una distancia de unas 3 o 4 micropulgadas, siendo una distancia mucho menor que el diámetro de un cabello humano. Por ello, es importante nunca abrir un disco duro (a menos que ya no funcione), por que simple y sencillamente, al momento de abrirlo, le caerá polvo y este hará que las cabezas, rayen la superficie de los datos, con el consecuente daño permanente del disco. Estos cabezales generan señales eléctricas que alteran los campos magnéticos del disco, dando forma a la información. (dependiendo de la dirección hacia donde estén orientadas las partículas, valdrán 0 o valdrán 1).
  • 19. La distancia entre el cabezal y el plato del disco determinan la densidad de almacenamiento de éste, ya que cuanto más cerca estén el uno del otro, más pequeño es el punto magnético y así podrá almacenar más información. Vista interna de un disco duro
  • 20. Hardware de discos Una unidad de disco está compuesto por el controlador de disco y además contiene un paquete de discos, también denominado volumen. El paquete de discos está formado por un conjunto de superficies cubiertas de una capa que puede magnetizarse o desmagnetizarse (discos) montados sobre un eje. Cuando opera, el eje y los discos rotan a una alta velocidad, dependiendo de la tecnología, actualmente encontramos velocidades que van desde las 5400 revoluciones por minuto (RPM) y 7200.2 RPM en discos IDE y SATA hasta las 10,000 y 15000 RPM en discos con tecnología SCSI . Los datos se graban sobre las pistas, que son circulares y que se encuentran sobre cada superficie. Las pistas que se encuentran unas sobre otras forman cilindros. Tenemos un conjunto de cabezas de lectura/escritura ubicadas al final de un brazo que se mueven como un grupo, de tal forma que éstas pueden ser posicionadas sobre todas las pistas de un mismo cluster. De este modo, toda la información de un cluster puede ser accedida sin tener que mover el brazo, que es la operación más lenta. Un cilindro por tanto, puede leerse completamente en un sólo giro de los platos del disco sin tener que mover las cabezas de lectura/escritura. Las pistas se dividen en porciones, que son las unidades más pequeñas de espacio que se pueden acceder, y pueden ser sectores o bloques.
  • 21. En la figura podemos ver gráficamente cómo están definidas estas divisiones lógicas de disco.
  • 22. <ul><li>Sectores. </li></ul><ul><ul><li>Son divisiones físicas y, por tanto, de tamaño fijo. Los sectores van numerados, de modo que sectores consecutivos tienen números consecutivos. Es común que un sector sea accedido de una sola vez por una cabeza lectora/escritora. </li></ul></ul><ul><li>Cilindros. </li></ul><ul><ul><li>Un cilindro está compuesto por todos los clusters que se encuentran en la misma pista y que pueden accederse sin mover las cabezas de lectura/escritura, pero los platos dando una vuelta completa. </li></ul></ul><ul><ul><ul><li>Clusters. Un cluster es una cantidad fija de sectores contiguos, Por lo común se denomina cluster a aquellos sectores que pueden ser accedidos por todas las cabezas lectoras/escritoras en una sola operación en la posición en que se encuentran y constituye la unidad de espacio más pequeña que se puede asignar a un archivo. Una vez se localiza un cluster, no hay que mover las cabezas para leer todos sus sectores. </li></ul></ul></ul><ul><ul><ul><li>Extent. Un extent es un trozo de archivo formado por varios clusters contiguos. Mediante ellos se pretende enfatizar más la contigüidad física de los sectores. Lo ideal (en acceso secuencial) es tener un solo extent. Cuantos más haya, más desperdigado estará el archivo y, por lo tanto, más tiempo se dedicará a mover las cabezas de lectura/escritura. </li></ul></ul></ul><ul><li>Bloques. </li></ul><ul><ul><li>Son divisiones lógicas y, por lo tanto, su tamaño es variable. Este tamaño puede ser distinto para cada aplicación, y se puede fijar como un múltiplo del tamaño de registro, por lo que no hay problemas de fragmentación interna. Los bloques contienen datos e información sobre los datos: tamaño en bytes y, en ocasiones, una clave indicando, por ejemplo, el valor de algún campo clave del último registro del bloque. Además, hay información invisible al programador al principio de cada bloque, más cantidad que con los sectores. </li></ul></ul>
  • 23. <ul><li>Software para discos </li></ul><ul><li>En este apartado nos concentraremos en el software que se debe de utilizar para poder tener funcionando un disco duro. </li></ul><ul><li>Lo primero que se debe hacer al comprar un disco duro, es instalarlo dentro de nuestro sistema de computadora. De acuerdo al tipo de disco duro, podemos tener tres, Discos IDE, SATA y SCSI. Cada uno de ellos trae sus propios conectores y es inconfundible la forma de conectarlos. </li></ul><ul><li>Después de haber instalado el disco duro, el siguiente paso es decidir el número de particiones que vamos a necesitar. Por lo común hay que pensar primero si se van a tener dos sistemas operativos. Como dijimos, cada uno debe de tener al menos una partición para el sistema operativo y otra para los datos. En caso de instalar alguna versión de windows con dos particiones será suficiente. Si vamos a tener dos sistemas operativos, entonces hay que crear al menos cuatro particiones. Los sistemas basados en UNIX, como Solaris o Linux necesitarán al menos las siguientes: </li></ul><ul><li>/ </li></ul><ul><ul><li>La partición Raíz. Aquí es donde se guardará el núcleo y los archivos de dispositivos, las órdenes del sistema y los de usuario correspondientes al sistema operativo (/sbin y /bin) y los archivos de configuración del sistema. </li></ul></ul><ul><li>swap </li></ul><ul><ul><li>Esta es la partición de intercambio para la memoria virtual. </li></ul></ul><ul><li>/var </li></ul><ul><ul><li>En esta partición se guardan los datos variables o que van cambiando continuamente, como los archivos de logs o avisos del sistema y de otros servicios. </li></ul></ul><ul><li>/usr </li></ul><ul><ul><li>Aquí se guardan las aplicaciones del usuario. </li></ul></ul><ul><li>/home </li></ul><ul><ul><li>Aquí se guarda la información de los usuarios del sistema. </li></ul></ul><ul><li>/tmp </li></ul><ul><ul><li>En esta partición se guardan datos temporales, como por ejemplo, visualizar un archivo, pero sin descargarlo al espacio de usuario. En esta área,los archivos aquí guardados permanecerán poco tiempo que va desde un día hasta una semana. Por tanto no es correcto usarla para guardar archivos importantes. </li></ul></ul>
  • 24. Relojes Los relojes son el medio por el cual funciona la CPU. Básicamente todo sistema de computadora cuenta con un cristal de cuarzo que vibra a determinada frecuencia. Incluso, cuando se compra un procesador, lo primero que se hace es saber a qué velocidad de reloj trabajará éste. Actualmente se cuentan con procesadores capaces de trabajar a velocidades que varían desde los 800 MegaHertz hasta los 4 GigaHertz o más. Un Hertz está definido como el tiempo que transcurre durante un ciclo completo, donde un ciclo se define como un pico y un valle. En la figura podemos ver la onda cuadra generada por el reloj, después de haber sido amplificada por un circuito electrónico para ese fin. : Onda típica de un ciclo de reloj
  • 25. Hardware de relojes En los sistemas de computadora actuales tenemos un reloj. Como dijimos, éste está basado en ticks de reloj o pulsos de reloj. Un pulso se define como un Hertz y se generan mediante cristales de cuarzo, el cual al ser cortado y sometido a cierta presión empezará a vibrar a una frecuencia determinada que es proporcional a la presión a la que es sometido, sin romperlo. En general un reloj de cuarzo tendrá los siguientes componentes: *El oscilador de cristal de cuarzo. *Un amplificador de señal. *Un Contador. El oscilador de cristal tiene una amplitud muy pequeña, pero su frecuencia de vibración es muy exacta, la señal del cristal de cuarzo es enviada a un amplificador, el cual devolverá una señal ya útil para el sistema de computadora, comúnmente entre cero y cinco voltios. Los contadores permiten disminuir la frecuencia de la señal, de tal forma que pueda ser utilizada para diversos fines. Uno de ellos, por ejemplo, es llevar la cuenta del tiempo transcurrido Por ejemplo, si tenemos un contador de decenas, éste generará un pulso cada vez que cuente diez ciclos de reloj, por lo tanto, hemos dividido la frecuencia de reloj por un factor de diez, así para contabilizar los segundos es necesario calcular a cuantos ticks equivale y activar un contador que mida esa proporción. En la realidad se tienen contadores que proporcionan tiempos de microsegundos y milisegundos para cumplir con estas tareas.
  • 26. Software reloj Como hemos visto el reloj hardware lo que hace es proporcionar ticks de reloj muy precisos. Estos ticks pueden usarse para generar interrupciones dirigidas a la CPU, de modo que éste pueda llevar a cabo tareas cada cierto tiempo. Estas tareas son llevadas a cabo por el manejador de reloj. Las tareas que debe de llevar a cabo el manejador de reloj son comúnmente las siguientes: Actualizar la hora del día. Ayudar al planificador de procesos proporcionando una interrupción cada cierto intervalo de tiempo asignado a un proceso, de modo que el sistema operativo pueda obtener el control de la CPU. El procesador necesita los ciclos de reloj para poder ejecutar sus instrucciones. Hacen uso de él utilerías tales como cron y crontab para tareas repetitivas del administrador tales como respaldos y de los usuarios. Obtención de estadísticas a altas horas de la noche cuando el uso del sistema es menor y obtención de tiempos de ejecución de algunos procesos para ver su eficiencia.
  • 27. MANEJADOR DE RELOJ Las principales funciones del software manejador del reloj son:  Mantener la hora del día o tiempo real  Evitar que los procesos se ejecuten durante mas tiempo del permitido  Mantener un registro del uso de la CPU  Controlar llamadas al sistema tipo “alarm” por parte de los procesos del usuario  Proporcionar cronómetros guardianes de partes del propio sistema  Realizar resúmenes, monitoreo y recolección de estadísticas El software manejador del reloj puede tener que simular varios relojes virtuales con un único reloj físico.
  • 28. Terminales Todo sistema de computadora cuenta al menos con dos dispositivos de entrada salida: un teclado y una pantalla o monitor, siendo los medios más comúnmente usados por el usuario para comunicarse con ésta. Aunque, físicamente, podemos decir que se encuentran separados, en la mayoría de las ocasiones es necesario que el usuario observe en la pantalla lo que está escribiendo, (incluso cuando teclea su contraseña, aparecen asteriscos en la pantalla), de modo que aunque físicamente separados, ambos trabajan en estrecha relación. En las grandes computadoras, pueden existir decenas o incluso miles de usuarios conectados a la misma, mediante un teclado y una pantalla a ambos se les ha llamado históricamente terminales, aunque en la actualidad es también posible que una computadora personal esté siendo usada para conectarse al servidor universitario, por ejemplo. Existen diferentes tipos de terminales. Las más comunes son: Terminal autónoma con interfase RS-232 en serie para usarse con mainframes. Computadoras personales con una interfaz gráfica de usuario. Terminales de red, como las usadas por los servidores netra de Sun.
  • 29. Hardware de terminales La mayoría de las terminales históricamente hablando, caen dentro de la norma RS-232. A continuación se hace una descripción detallada de éstas. Manejadores De acuerdo a lo visto anteriormente tendremos básicamente dos manejadores de dispositivos: Los manejadores de teclado Los manejadores de vídeo.

×