3 – Funciones de un driver
FUNCIONES DE UN DRIVER
·Definir las carácterísticas del periférico al resto del SO.
·Inicializar los registros asociados al periférico, en el momento del arranque del SO. (Bootstrap).
·Habilitar y deshabilitar e dispositivo para un proceso.
·Procesar todas las operaciones de E/S solicitadas por el proceso.
·Cancelar toda operación de E/S en el momento que sea necesario por cualquier causa.
·Procesar todas las interrupciones HW generados por el propio periférico.
·Tratar los errores y estados del dispositivo haciendo la correspondiente comunicación al usuario.
RUTINAS DE UN DRIVER
·Inicialización. Es la llamada al núcleo del SO. En la inicialización del sistema.
·Atención a peticiones de E/S.
·Gestión de interrupciones.
·Cancelación de operaciones de E/S.
·Otras.
oTime – out.
oPower – fail.
4 – Misiones del subsistema de archivos.
En un sistema de cómputo es evidente que existe la necesidad por parte de los usuarios y aplicaciones de almacenar datos en algún medio, a veces por periodos largos y a veces por instantes. Cada aplicación y cada usuario debe tener ciertos derechos con sus datos, como son el poder crearlos y borrarlos, o cambialos de lugar; así como tener privacidad contra otros usuarios o aplicaciones. El subsistema de archivos del sistema operativo se debe encargar de estos detalles, además de establecer el formato físico en el cual almacenará los datos en discos duros, cintas o discos flexibles. Debe ser conocido por todos que tradicionalmente la información en los sistemas modernos se almacena en discos duros, flexibles y unidades de disco óptico, y en todos ellos se comparten algunos esquemas básicos para darles formato físico: las superficies de almacenamiento son divididas en círculos concéntricos llamados «pistas» y cada pista se divide en «sectores». A la uníón lógica de varias pistas a través de varias superficies «paralelas» de almacenamiento se les llama «cilindros», los cuales son inspeccionados al momento de lectura o escritura de datos por las respectivas unidades físicas llamadas «cabezas». Las superficies de almacenamiento reciben el nombre de «platos» y generalmente están en movimiento rotatorio para que las cabezas accesen a las pistas que los componen. Los datos se escriben a través de los sectores en las pistas y cilindros modificando las superficies por medio de las cabezas.
El tiempo que una cabeza se tarda en ir de una pista a otra se le llama «tiempo de búsqueda» y dependerá de la distancia entre la posición actual y la distancia a la pista buscada. El tiempo que tarda una cabeza en ir del sector actual al sector deseado se le llama tiempo de latencia y depende de la distancia entre sectores y la velocidad de rotación del disco. El impacto que tiene las lecturas y escrituras sobre el sistema está determinado por la tecnología usada en los platos y cabezas y por la forma de resolver las peticiones de lectura y escritura, es decir, los algoritmos de planificación.
5 – Algoritmos de planificación de acceso a disco nómbralos y explicalos
Una de las obligaciones del sistema operativo es usar el hardware de forma eficiente. En el caso de las unidades de disco, esto implica tener un tiempo de acceso breve y gran ancho de banda de disco. El tiempo de acceso tiene dos componentes principales.
El tiempo de búsqueda (seek time) es el tiempo que tarda el brazo del disco en mover las cabezas al cilindro que contiene el sector deseado. La latencia rotacional es el tiempo adicional que el disco tarda en girar hasta que el sector deseado queda bajo la cabeza del disco.
El ancho de banda del disco es el número total de bytes transferidos, dividido entre el tiempo total transcurrido entre la primera solicitud de servicio y la finalización de la última transferencia.
Cada vez que un proceso necesita E/S de o al disco, emite una llamada al sistema operativo. La solicitud especifica varios elementos de información:
·Si esta operación es de entrada o de salida
·La dirección en disco para la transferencia
·La dirección en memoria para la transferencia
·El número de bytes por transferir
Si la unidad de disco y controlador deseados están disponibles, la solicitud puede atenderse de inmediato, si no, todas las solicitudes de servicios nuevas tendrán que colocarse en la cola de solicitudes pendientes para esa unidad. En un sistema multiprogramación con muchos procesos, puede ser común que la cola de disco tenga varias solicitudes pendientes. Así, cuando se termina de atender una solicitud, el sistema operativo tiene oportunidad de escoger cuál solicitud pendiente atenderá a continuación.