SlideShare una empresa de Scribd logo
1 de 29
 
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
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.
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.
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.
En la tabla  6.1  tenemos un listado de los puertos, con sus direcciones asociadas más comunes.
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.
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.
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.
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.
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.
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
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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.
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.
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.
.  .
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).
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
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.
En la figura  podemos ver gráficamente cómo están definidas estas divisiones lógicas de disco.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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
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.
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.
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.
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.
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.

Más contenido relacionado

La actualidad más candente

Hardware y software
Hardware y softwareHardware y software
Hardware y softwarejuana0910
 
TIC I - Hardware y Software
TIC I - Hardware y SoftwareTIC I - Hardware y Software
TIC I - Hardware y Softwarejuana0910
 
Portadasime
PortadasimePortadasime
Portadasimerosaedi
 
Daniela paola imbachi cruz
Daniela paola imbachi cruzDaniela paola imbachi cruz
Daniela paola imbachi cruzDanielita Cruz
 
Introducción configuración de dispositivos periféricos
Introducción configuración de dispositivos periféricos Introducción configuración de dispositivos periféricos
Introducción configuración de dispositivos periféricos claudiacruz85
 
Presentacion Para Computacion
Presentacion Para ComputacionPresentacion Para Computacion
Presentacion Para ComputacionCristian Ulloa
 
Prtesentacion Para Computacion
Prtesentacion Para ComputacionPrtesentacion Para Computacion
Prtesentacion Para Computacionitachixsasuke
 
Prtesentacion Para Computacion(1)
Prtesentacion Para Computacion(1)Prtesentacion Para Computacion(1)
Prtesentacion Para Computacion(1)KRS_MIYAVI
 
Periféricos de procesamiento de datos (parte interna
Periféricos de procesamiento de datos (parte internaPeriféricos de procesamiento de datos (parte interna
Periféricos de procesamiento de datos (parte internaJuan Acosta
 
Tarea sistemas 1
Tarea sistemas 1Tarea sistemas 1
Tarea sistemas 1crissel17
 

La actualidad más candente (19)

Tipos de controladores (1)
Tipos de controladores (1)Tipos de controladores (1)
Tipos de controladores (1)
 
Hardware y software
Hardware y softwareHardware y software
Hardware y software
 
TIC I - Hardware y Software
TIC I - Hardware y SoftwareTIC I - Hardware y Software
TIC I - Hardware y Software
 
Portadasime
PortadasimePortadasime
Portadasime
 
Daniela paola imbachi cruz
Daniela paola imbachi cruzDaniela paola imbachi cruz
Daniela paola imbachi cruz
 
Unidad 4 per. no estandarizados
Unidad 4 per. no estandarizadosUnidad 4 per. no estandarizados
Unidad 4 per. no estandarizados
 
Tema 1 Hardware Y Software
Tema 1 Hardware Y SoftwareTema 1 Hardware Y Software
Tema 1 Hardware Y Software
 
pensamiento logico hernadez camilo
pensamiento logico hernadez camilo  pensamiento logico hernadez camilo
pensamiento logico hernadez camilo
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Practicas con arduino UPVM
Practicas con arduino UPVMPracticas con arduino UPVM
Practicas con arduino UPVM
 
Introducción configuración de dispositivos periféricos
Introducción configuración de dispositivos periféricos Introducción configuración de dispositivos periféricos
Introducción configuración de dispositivos periféricos
 
Presentacion Para Computacion
Presentacion Para ComputacionPresentacion Para Computacion
Presentacion Para Computacion
 
Prtesentacion Para Computacion
Prtesentacion Para ComputacionPrtesentacion Para Computacion
Prtesentacion Para Computacion
 
Prtesentacion Para Computacion(1)
Prtesentacion Para Computacion(1)Prtesentacion Para Computacion(1)
Prtesentacion Para Computacion(1)
 
Linda ospino
Linda ospinoLinda ospino
Linda ospino
 
Solucion actividad 1
Solucion actividad 1Solucion actividad 1
Solucion actividad 1
 
Periféricos de procesamiento de datos (parte interna
Periféricos de procesamiento de datos (parte internaPeriféricos de procesamiento de datos (parte interna
Periféricos de procesamiento de datos (parte interna
 
Partes del computador
Partes del computadorPartes del computador
Partes del computador
 
Tarea sistemas 1
Tarea sistemas 1Tarea sistemas 1
Tarea sistemas 1
 

Similar a Unidad 5 So

Herramientas informáticas
Herramientas informáticasHerramientas informáticas
Herramientas informáticasmahote77
 
Elementos del computador
Elementos del computadorElementos del computador
Elementos del computadorRobnelvicZabala
 
Qué es-una-computadora
Qué es-una-computadoraQué es-una-computadora
Qué es-una-computadoraZavala168
 
Computacion aplicada fernando ramos 4t0. b
Computacion aplicada fernando ramos 4t0. bComputacion aplicada fernando ramos 4t0. b
Computacion aplicada fernando ramos 4t0. bfernando ramos
 
Perifericos de procesamiento de datos
Perifericos de procesamiento de datosPerifericos de procesamiento de datos
Perifericos de procesamiento de datosIngrid Perez
 
Arquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finalArquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finallilijessica
 
Hardware, software y tipos de software
Hardware, software y tipos de softwareHardware, software y tipos de software
Hardware, software y tipos de softwareLucio Suki
 
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOSDISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOSGonzalo Murga Sotelo
 
Estructura de la pc by lesli
Estructura de la pc by lesliEstructura de la pc by lesli
Estructura de la pc by leslicomercial22
 
Estructura de la pc by lesli
Estructura de la pc by lesliEstructura de la pc by lesli
Estructura de la pc by leslicomercial22
 
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...angelafernandezleal
 
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...angelafernandezleal
 
Ensable tecnico en sistemas
Ensable tecnico en sistemasEnsable tecnico en sistemas
Ensable tecnico en sistemasEsteban Serrano
 
Ensable tecnico en sistemas
Ensable tecnico en sistemasEnsable tecnico en sistemas
Ensable tecnico en sistemasesteban0495
 
1er corte fundamentos básicos
1er corte fundamentos básicos1er corte fundamentos básicos
1er corte fundamentos básicosjerbito
 

Similar a Unidad 5 So (20)

Herramientas informáticas
Herramientas informáticasHerramientas informáticas
Herramientas informáticas
 
Elementos del computador
Elementos del computadorElementos del computador
Elementos del computador
 
Qué es-una-computadora
Qué es-una-computadoraQué es-una-computadora
Qué es-una-computadora
 
Arquitectura Computacional
Arquitectura ComputacionalArquitectura Computacional
Arquitectura Computacional
 
Dispositivo de entrada
Dispositivo de entradaDispositivo de entrada
Dispositivo de entrada
 
Computacion aplicada fernando ramos 4t0. b
Computacion aplicada fernando ramos 4t0. bComputacion aplicada fernando ramos 4t0. b
Computacion aplicada fernando ramos 4t0. b
 
Perifericos de procesamiento de datos
Perifericos de procesamiento de datosPerifericos de procesamiento de datos
Perifericos de procesamiento de datos
 
Arquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finalArquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo final
 
Hardware, software y tipos de software
Hardware, software y tipos de softwareHardware, software y tipos de software
Hardware, software y tipos de software
 
Indice
IndiceIndice
Indice
 
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOSDISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
 
Estructura de la pc by lesli
Estructura de la pc by lesliEstructura de la pc by lesli
Estructura de la pc by lesli
 
Estructura de la pc by lesli
Estructura de la pc by lesliEstructura de la pc by lesli
Estructura de la pc by lesli
 
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
 
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
Mantenimiento preventivo y predictivo que garantice el funcionamiento del har...
 
Ensable tecnico en sistemas
Ensable tecnico en sistemasEnsable tecnico en sistemas
Ensable tecnico en sistemas
 
Ensable tecnico en sistemas
Ensable tecnico en sistemasEnsable tecnico en sistemas
Ensable tecnico en sistemas
 
Trabajo Acc
Trabajo AccTrabajo Acc
Trabajo Acc
 
1er corte fundamentos básicos
1er corte fundamentos básicos1er corte fundamentos básicos
1er corte fundamentos básicos
 
Estructura del hardware y software
Estructura del hardware y softwareEstructura del hardware y software
Estructura del hardware y software
 

Más de Chulinneitor

Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2Chulinneitor
 
Unidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosUnidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosChulinneitor
 
Practica configuracion grupo trabajo
Practica configuracion grupo trabajoPractica configuracion grupo trabajo
Practica configuracion grupo trabajoChulinneitor
 
Grupo de trabajo Practica
Grupo de trabajo PracticaGrupo de trabajo Practica
Grupo de trabajo PracticaChulinneitor
 
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O S
C U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O SC U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O S
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O SChulinneitor
 
Cuestionarios Sistemas Operativos
Cuestionarios Sistemas OperativosCuestionarios Sistemas Operativos
Cuestionarios Sistemas OperativosChulinneitor
 
S.O. Net comandos (windows)
S.O. Net comandos (windows)S.O. Net comandos (windows)
S.O. Net comandos (windows)Chulinneitor
 
Instalando Linux 9.04
Instalando Linux 9.04Instalando Linux 9.04
Instalando Linux 9.04Chulinneitor
 
Sistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, UnixSistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, UnixChulinneitor
 
Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)Chulinneitor
 
Sistemas Operativos I[1]
Sistemas Operativos I[1]Sistemas Operativos I[1]
Sistemas Operativos I[1]Chulinneitor
 
Sistemas Operativos cuestionario
Sistemas Operativos cuestionarioSistemas Operativos cuestionario
Sistemas Operativos cuestionarioChulinneitor
 
Linea D E L T I E M P O S I S T E M A
Linea  D E L  T I E M P O  S I S T E M ALinea  D E L  T I E M P O  S I S T E M A
Linea D E L T I E M P O S I S T E M AChulinneitor
 
Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834Chulinneitor
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosChulinneitor
 

Más de Chulinneitor (20)

Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2
 
Unidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosUnidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas Operativos
 
Practica configuracion grupo trabajo
Practica configuracion grupo trabajoPractica configuracion grupo trabajo
Practica configuracion grupo trabajo
 
Grupo de trabajo Practica
Grupo de trabajo PracticaGrupo de trabajo Practica
Grupo de trabajo Practica
 
Practica 1
Practica 1Practica 1
Practica 1
 
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O S
C U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O SC U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O S
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O S
 
Cuestionarios Sistemas Operativos
Cuestionarios Sistemas OperativosCuestionarios Sistemas Operativos
Cuestionarios Sistemas Operativos
 
Practica 1
Practica 1Practica 1
Practica 1
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Practica
PracticaPractica
Practica
 
S.O. Net comandos (windows)
S.O. Net comandos (windows)S.O. Net comandos (windows)
S.O. Net comandos (windows)
 
Instalando Linux 9.04
Instalando Linux 9.04Instalando Linux 9.04
Instalando Linux 9.04
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Sistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, UnixSistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, Unix
 
Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)
 
Sistemas Operativos I[1]
Sistemas Operativos I[1]Sistemas Operativos I[1]
Sistemas Operativos I[1]
 
Sistemas Operativos cuestionario
Sistemas Operativos cuestionarioSistemas Operativos cuestionario
Sistemas Operativos cuestionario
 
Linea D E L T I E M P O S I S T E M A
Linea  D E L  T I E M P O  S I S T E M ALinea  D E L  T I E M P O  S I S T E M A
Linea D E L T I E M P O S I S T E M A
 
Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (15)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Unidad 5 So

  • 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.
  • 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.
  • 23.
  • 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.