Sistemas Operativos Oscar Bedoya [email protected] http://eisc.univalle.edu.co/~oscarbed/SO/ * PARTE2 - ADMINISTRACIÓN DE MEMORIA - MEMORIA VIRTUAL - ALMACENAMIENTO MASIVO * Estructura de un disco duro * Algoritmos de planificación de disco duro Almacenamiento masivo Almacenamiento masivo Almacenamiento en memorias Flash • Para escribir datos se modifica el campo eléctrico que genera la celda • Dependiendo de si la celda está en 1 ó 0, el campo eléctrico de la celda existe o no Almacenamiento masivo Almacenamiento en memorias Flash • Todos los tipos de memoria flash sólo permiten un número limitado de escrituras y borrados, generalmente entre 10.000 y un millón, dependiendo de la precisión del proceso de fabricación y del voltaje necesario para su borrado Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo pista eje actuador sector cabeza de lectura-escritura cilindro plato brazo rotación Almacenamiento masivo Almacenamiento masivo Pista: circunferencia marcada sobre un plato Almacenamiento masivo pista eje actuador sector cabeza de lectura-escritura cilindro plato brazo rotación Almacenamiento masivo pista eje actuador sector cabeza de lectura-escritura cilindro plato brazo rotación Sector: tramo mínimo en el que se subdivide una pista Almacenamiento masivo pista eje actuador sector cabeza de lectura-escritura cilindro plato brazo rotación Almacenamiento masivo cilindro 0 Almacenamiento masivo cilindro 10600 Almacenamiento masivo • La superficie del plato está dividida lógicamente en pistas circulares, las cuales se subdividen en sectores • El conjunto de pistas que se encuentran en una posición del brazo forman un cilindro Almacenamiento masivo sector cilindro Almacenamiento masivo Parámetro IBM 360KB floppy disk Western Digital 18300 Hard disk 1 6 40 10601 Pistas por cilindro ? ? Sectores por pista 9 281 Sectores por disco 720 35746572 Bytes por sector 512 512 360KB 18.3GB Número de platos Número de cilindros Capacidad del disco Almacenamiento masivo Parámetro IBM 360KB floppy disk Western Digital 18300 Hard disk 1 6 Número de cilindros 40 10601 Pistas por cilindro 2 12 Sectores por pista 9 281 Sectores por disco 720 35746572 Bytes por sector 512 512 360KB 18.3GB Número de platos Capacidad del disco Almacenamiento masivo cilindro 0 Almacenamiento masivo cilindro 10600 Almacenamiento masivo • Tiempo de posicionamiento: - Latencia rotacional: tiempo que hay que esperar para que el disco gire el sector deseado hasta donde se encuentra la cabeza - Tiempo de búsqueda: tiempo para mover el brazo hasta el cilindro deseado Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo Almacenamiento masivo • Si está disponible la unidad de disco se da servicio inmediatamente a la solicitud, de no ser así, se acumulan las solicitudes en una cola de solicitudes pendientes Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 Almacenamiento masivo cilindro 0 Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 Almacenamiento masivo cilindro 98 Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 Almacenamiento masivo cilindro 183 Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 Almacenamiento masivo cilindro 37 Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 Almacenamiento masivo • Se especifica además, el cilindro sobre el cual está la cabeza del disco - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 53 0 199 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 53 98 0 199 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 53 98 0 Desplazamiento: 45 199 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 98 0 Desplazamiento: 45 199 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 98 0 Desplazamiento: 45+85 183 199 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 183 0 Desplazamiento: 45+85 199 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 37 0 Desplazamiento: 45+85+146 199 Almacenamiento masivo - Cabeza: cilindro 53 - Cilindros solicitados: 98, 183, 37, 122, 14, 124, 65, 67 122 0 Desplazamiento: 45+85+146+85 199 Almacenamiento masivo • Para atender las solicitudes se escoge de la cola uno de los cilindros utilizando alguno de los algoritmos de planificación de disco: - FCFS - SSTF - SCAN - C-SCAN - LOOK - C-LOOK Almacenamiento masivo Planificación FCFS (First Come - First Served) • Se atienden las solicitudes de cilindros en el orden de llegada Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 La cabeza se encuentra en el cilindro 53 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 45 85 146 87 108 110 59 2 Movimiento total de la cabeza: 642 cilindros Almacenamiento masivo • Considerando que la cabeza el disco se encuentra en el cilindro 20, muestre el diagrama de planificación FCFS para las solicitudes de los cilindros: 16, 98, 15, 149, 12, 150, 2, 10 • Indique el movimiento total de la cabeza del disco Almacenamiento masivo Solicitudes: 16, 98, 15, 149, 12, 150, 2, 10 2 10 12 15 16 20 98 149 150 4 82 83 134 137 138 148 8 Movimiento total: 734 Almacenamiento masivo Planificación SSTF (Shortest Seek Time First) • Selecciona la solicitud más cercana a la posición actual de la cabeza • Puede provocar inanición Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 La cabeza se encuentra inicialmente sobre el cilindro 53 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 14, 37, 65, 67, 98, 122, 124, 183 La cabeza se encuentra inicialmente sobre el cilindro 53 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 14, 37, 65, 67, 98, 122, 124, 183 La cabeza se encuentra inicialmente sobre el cilindro 53 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 14, 37, 65, 67, 98, 122, 124, 183 La cabeza se encuentra inicialmente sobre el cilindro 53 53 – 37 = 16 65 – 53 = 12 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 14, 37, 65, 67, 98, 122, 124, 183 La cabeza se encuentra inicialmente sobre el cilindro 53 53 está a 16 cilindros de 37 53 está a 12 cilindros de 65 53 65 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 14, 37, 65, 67, 98, 122, 124, 183 La cabeza se encuentra ahora sobre 67 Se verifica entre 37 y 98 quién está más cerca 53 65 67 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 14, 37, 65, 67, 98, 122, 124, 183 La cabeza se encuentra ahora sobre 67 67 está 30 cilindros de 37 67 está 31 cilindros de 38 53 65 37 67 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 La cabeza se encuentra en el cilindro 53 Almacenamiento masivo Solicitudes: 14, 37, 65, 67, 98, 122, 124, 183 Almacenamiento masivo Solicitudes: 14, 37, 65, 67, 98, 122, 124, 183 Almacenamiento masivo Solicitudes: 14, 37, 65, 67, 98, 122, 124, 183 Almacenamiento masivo Solicitudes: 14, 37, 65, 67, 98, 122, 124, 183 12 30 2 23 84 24 2 59 Movimiento total de la cabeza: 236 cilindros Almacenamiento masivo • Considerando que la cabeza el disco se encuentra en el cilindro 20, muestre el diagrama de planificación SSTF para las solicitudes de los cilindros: 16, 98, 15, 149, 12, 150, 2, 10 • Indique el movimiento total de la cabeza del disco Almacenamiento masivo Solicitudes: 16, 98, 15, 149, 12, 150, 2, 10 2, 10, 12, 15, 16, 98, 149, 150 2 10 12 15 16 20 98 149 150 4 1 3 2 8 96 51 1 Movimiento total: 166 Almacenamiento masivo Planificación SCAN • El brazo del disco comienza en un extremo del disco y se mueve hacia el otro, atendiendo solicitudes a medida que llega a cada cilindro • Cuando llega al otro extremo, la cabeza invierte su dirección y sigue atendiendo • También se conoce como el algoritmo del elevador Almacenamiento masivo 8 1 Almacenamiento masivo 8 1 Llega hasta el último piso y se devuelve hasta el primero Almacenamiento masivo 8 El algoritmo se detiene cuando no hay solicitudes pendientes en la cola 1 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 (la cabeza se mueve hacia 0) 14, 37, 65, 67, 98, 122, 124, 183 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 (la cabeza se mueve hacia 0) 16 23 14 65 2 31 24 2 59 Movimiento total de la cabeza: 236 cilindros Almacenamiento masivo • Considerando que la cabeza el disco se encuentra en el cilindro 20, muestre el diagrama de planificación SCAN para las solicitudes de los cilindros: 16, 98, 15, 149, 12, 150, 2, 10 (la cabeza se mueve hacia 0) • Indique el movimiento total de la cabeza del disco Almacenamiento masivo Solicitudes: 16, 98, 15, 149, 12, 150, 2, 10 2, 10, 12, 15, 16, 98, 149, 150 2 10 12 15 16 20 98 149 150 4 1 3 2 8 2 98 51 1 Movimiento total: 170 Almacenamiento masivo Planificación C-SCAN (Circular SCAN) • El brazo del disco comienza en un extremo del disco y se mueve hacia el otro, atendiendo solicitudes a medida que llega a cada cilindro • Cuando llega al otro extremo, regresa inmediatamente al inicio del disco sin atender solicitudes • Intenta proporcionar un tiempo de espera más uniforme Almacenamiento masivo 8 1 Almacenamiento masivo 8 A 1 Almacenamiento masivo 8 B A 1 Almacenamiento masivo 8 B A 1 Con la planificación SCAN se atenderá primero a B que a A Almacenamiento masivo 8 B A 1 Con C-SCAN se devuelve hasta el primer piso sin atender Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 (la cabeza se mueve hacia 199) 14, 37, 65, 67, 98, 122, 124, 183 Almacenamiento masivo Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 (la cabeza se mueve hacia 199) 14, 37, 65, 67, 98, 122, 124, 183 12 2 31 24 2 59 199 14 23 Movimiento total de la cabeza: 382 cilindros 16 Almacenamiento masivo • Considerando que la cabeza el disco se encuentra en el cilindro 20, muestre el diagrama de planificación C-SCAN para las solicitudes de los cilindros: 16, 98, 15, 149, 12, 150, 2, 10 (la cabeza se mueve hacia 199) • Indique el movimiento total de la cabeza del disco Almacenamiento masivo Solicitudes: 16, 98, 15, 149, 12, 150, 2, 10 2, 10, 12, 15, 16, 98, 149, 150 2 10 12 15 16 20 98 78 149 150 199 51 1 199 2 8 2 3 1 Movimiento total: 394 49 Almacenamiento masivo Planificación LOOK • Similar a SCAN pero en lugar de llegar hasta los extremos del disco, se llega hasta la solicitud más lejana Almacenamiento masivo 8 SCAN llegaría hasta el piso 8 LOOK llega hasta el piso 6 1 Almacenamiento masivo 8 Hacia abajo SCAN llegaría hasta el primer piso y se devuelve Hacia abajo LOOK llega hasta el piso 3 y se devuelve 1 Almacenamiento masivo • Considerando que la cabeza el disco se encuentra en el cilindro 20, muestre el diagrama de planificación LOOK para las solicitudes de los cilindros: 16, 98, 15, 149, 12, 150, 2, 10 (la cabeza se mueve hacia 0) • Indique el movimiento total de la cabeza del disco Almacenamiento masivo Solicitudes: 16, 98, 15, 149, 12, 150, 2, 10 2, 10, 12, 15, 16, 98, 149, 150 0 2 10 12 15 16 20 98 149 150 4 1 3 2 8 96 51 1 Almacenamiento masivo • Considerando que la cabeza el disco se encuentra en el cilindro 20, muestre el diagrama de planificación LOOK para las solicitudes de los cilindros: 16, 98, 15, 149, 12, 150, 2, 10 (la cabeza se mueve hacia 199) • Indique el movimiento total de la cabeza del disco Almacenamiento masivo Solicitudes: 16, 98, 15, 149, 12, 150, 2, 10 2, 10, 12, 15, 16, 98, 149, 150 2 10 12 15 16 20 98 78 149 150 51 1 134 1 3 2 8 Movimiento total: 278 199 Almacenamiento masivo Planificación C-LOOK • Similar a C-SCAN en el que se devuelve sin atender, pero no llega hasta los extremos del disco sino hasta la solicitud más lejana Almacenamiento masivo Planificación C-LOOK Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 (la cabeza se mueve hacia 199) Almacenamiento masivo Planificación C-LOOK Solicitudes: 98, 183, 37, 122, 14, 124, 65, 67 (la cabeza se mueve hacia 199) 12 2 31 24 2 59 169 23 Movimiento total de la cabeza: 322 cilindros Almacenamiento masivo • Considerando que la cabeza el disco se encuentra en el cilindro 20, muestre el diagrama de planificación C-LOOK para las solicitudes de los cilindros: 16, 98, 15, 149, 12, 150, 2, 10 (la cabeza se mueve hacia 199) • Indique el movimiento total de la cabeza del disco Almacenamiento masivo Solicitudes: 16, 98, 15, 149, 12, 150, 2, 10 2, 10, 12, 15, 16, 98, 149, 150 2 10 12 15 16 20 98 78 149 150 51 1 148 8 2 3 1 Movimiento total: 292 199 Almacenamiento masivo Selección de un planificador de disco • Se utiliza SCAN en los sistemas operativos Almacenamiento masivo SSD (solid-state drive) • Las unidades de estado sólido son dispositivos electrónicos, construidos únicamente con chips de memoria flash • No son discos • Son muy fiables y físicamente casi indestructibles • Su costo por GB es aún muy elevado (1TB magnético ~ 40 GB SSD )