SO 1 Introduccion
-
Upload
rodrigo-munoz -
Category
Documents
-
view
25 -
download
1
Transcript of SO 1 Introduccion
Sistema Operativo
Liceo Politécnico Andes
Fundación DuocUC
Profesor
Juan Ponce Contreras
SO: Historia
60's
Nace el proyecto “multics”, en
General Electric. Nuevas ideas:
multiusuario, multitarea y directorios.
1968 – 1969
Fracasa el proyecto.
SO Profesor: Juan Ponce Contreras
SO: Historia
1970
- Nace “UNIX”.
- Conserva características de “Multics”.
1972
- Sólo existen 10 sistemas instalados
en el mundo.
- AT&T tiene problemas de código (lo
libera).
SO Profesor: Juan Ponce Contreras
SO: Historia
1979
- AT&T prohibe código.
- Surgen microcomputadores (WS),
alternativa a minicomputadores.
- Masificación de UNIX en versiones
propietarias.
- Aparición de clones como minix.
SO Profesor: Juan Ponce Contreras
SO: Historia
1983
Richard Stallman funda GNU.
1980 – 1990
- Surge el PC alternativa de menor $
- Se masifica DOS y Windows
- Decae interés por Unix (Sólo
servers y WS)
SO Profesor: Juan Ponce Contreras
SO: Historia
1991 (agosto)
Linus Torvalds comienza la
construcción de un clon de Unix
(similar a minix) para i386 (PC)
1991 (octubre)
1a versión oficial de linux (0.02),
ejecuta bash (comandos) y gcc
(compilador de C) SO
Profesor: Juan Ponce Contreras
SO: Historia
1993 (diciembre)
- Limitaciones de DOS-Win frenan
avance.
- Aparece kernel 0.99pl14
1995
- MS lanza win95 y auncia winNT
- Internet repotencia unix (y a linux)
SO Profesor: Juan Ponce Contreras
SO: Historia
1995 – 2001 - MS lanza win 95/98/ME/NT/2000/XP
- Se masifica linux, potenciado por
herramientas de GNU y GPL.
2001 - Compaq/HP/IBM, etc. ayudan a
desarrollo de linux.
- IBM anuncia inversión en linux (S/WS)
SO Profesor: Juan Ponce Contreras
SO: Historia
2003
MS lanza win2003
2007
MS lanza winVista
2008
MS lanza win2008
2009
MS lanza win7
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
Concepción del sistema
- Monousuario V/S multiusuario
- Monoproceso V/S multiproceso
- Monotarea V/S multitarea
Sistemas compartidos
- Privacidad
- Autenticación
- Integridad SO
Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
¿Qué es un SO?
- Conjunto de programas.
- Permite comunicación usuario y
computador (interfaz).
- Permite al usuario realizar
actividades fácilmente.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
Características
- Comienza a funcionar cuando se
inicia el HW.
- Gestiona el HW (desde nivel más
básico)
- Un SO no es propio de los
computadores. (Celulares, DVD,
equipos de audio, refrigeradores,
etc.) SO
Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
Funciones:
1) Suministro de interfaz.
2) Administración de recursos.
3) Administración de archivos.
4) Administración de tareas.
5) Servicio de soporte y utilidad.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
1) Interfaz:
Como el SO permite al usuario
realizar tareas.
- Cargar programas
- Acceder a archivos
GUI: Comandos y Gráfica.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
2) Adm. de recursos:
El SO administra el HW
- Procesador
- Memoria (RAM)
- Entrada/Salida
- Almacenamiento
- Otros periféricos
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
3) Adm. de archivos
- Como se controla la creación,
borrado y acceso a los archivos
(datos o programas).
- Direccionamiento físico dentro de
los dispositivos.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
4) Adm. de tareas
Controlan tareas y procesos:
- Acceso y tiempo en el procesador.
- Interrupciones.
- Administrar prioridades.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
5) Servicio de soporte y utilidad
Depende de la implementación, pero
por ejemplo:
- Actualización de versiones
- Mejoras de seguridad
- Utilidades (entorno gráfico,
asistentes)
- Controladores o drivers
- Detección/corrección de errores. SO
Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
Variedad de SO's
1) Sistemas Mainframe:
Grandes sistemas, varios trabajos a la vez,
mucha E/S. Puede cumplir todos (OS/390).
- Por lotes: Procesa rutinas sin interacción.
- Procesamiento de transacciones: Realizan
muchas solicitudes pequeñas.
- Tiempo compartido: Múltiples usuarios
remotos ejecutan trabajos simultáneos.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
2) Sistemas de servidor
- Se ejecutan en servidores (PC muy grande),
estación de trabajo o mainframe.
- Múltiples usuarios por red.
- Comparten HW y SW.
Ejemplo: Unix, Windows 2000 y Linux.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
3) Sistemas multiprocesador
- Varias CPU's (computación paralela)
- Necesitan SO's especiales (variantes de SO
de servidor)
- SO's con funciones especiales
(optimizaciones y conectividad)
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
4) Sistemas de computación personal
- Misión: Buena interfaz a un sólo usuario.
- Uso procesamiento “casero” (texto, planillas e
Internet)
Ejemplos:
Win 9X, Win2000, Macintosh y Linux
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
5) Sistemas de tiempo real
- Parámetro clave: tiempo
- Objetivo: Capturar datos para controlar la
producción de maquinarias.
Riguroso: Acciones deben hacerse en un
tiempo. (Ej: Procesos industriales)
No riguroso: Es aceptable no cumplir plazos.
(Ej: Sistemas de audio digital)
Ejemplos: VxWorks y QNX
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
6) Integrados
Sistemas pequeños (bolsillo)
Palm
PDA
Libreta de direcciones, bloc de notas
Televisores, microondas y teléfonos
PalmOS, Windows CE
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
7) De tarjeta inteligente
Funcionan en dispositivos como tarjetas de
crédito (con Chip).
Muy limitados, son patentados.
Algunas ocupan JAVA.
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
Hardware de procesamiento
Procesador: CPU, ejecuta instrucciones de la memoria.
Existen diferentes arquitecturas (RISC y CISC) y varias
implementaciones
Memoria: Debe ser rápida para que no frene a la CPU.
- Registros de CPU
- Caché
- Memoria principal
- Memoria secundaria
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
Dispositivos de E/S
Son elementos importantes con los que se
interactua. Se componen de controladora y
dispositivo en sí.
Controladora: Chips que manejan físicamente,
aceptan comandos del SO.
Como cada uno es distinto, se requiere SW
para cada uno (driver por cada SO).
SO Profesor: Juan Ponce Contreras
SO: Conceptos generales de SO
¿Cómo funcionan los dispositivos?
1) Espera activa
2) Interrupción
3) DMA
¿Qué es una interrupción?
¿Cómo funciona una interrupción?
¿Qué es el vector de interrupciones?
SO Profesor: Juan Ponce Contreras
SO: Procesos
Proceso
Es un programa en ejecución.
Cada proceso tiene un espacio de direcciones.
Contiene programa ejecutable, datos y pila.
También conjunto de registros (en CPU),
contador de programa, apuntador de pila y
todo lo necesario.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Los SO tienen una tabla de procesos (arreglo)
Ejemplo: Un proceso llamado shell, lee
comandos desde teclado.
Los procesos pueden crear procesos hijos, lo
cual creará un “árbol de procesos”
Los procesos relacionados (objetivo común),
se pueden comunicar.
SO Profesor: Juan Ponce Contreras
SO: Procesos
SO Profesor: Juan Ponce Contreras
SO: Procesos
Cada proceso además tiene:
PID: Identificador de proceso
UID: Identificador del usuario dueño
GID: Identificador del grupo de usuarios
Cada proceso puede enviar “señales”
El kernel le puede enviar señales a los
procesos.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Llamadas al sistema
Permiten solicitar algún servicio.
Más memoria (o liberar memoria no usada),
esperar a que un proceso hijo termine, y para
sobrescribir el programa actual del proceso
con un programa diferente.
SO Profesor: Juan Ponce Contreras
SO: Procesos
El sistema asigna un UID a cada persona
autorizada para usar el sistema.
Cada proceso que se crea tiene el UID de la
persona que lo ejecutó.
Un proceso hijo tiene el mismo UID que su
padre.
Los usuarios pertenecer a un grupo, cada uno
tiene un GID.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Interbloqueo
Existen ocasiones en que dos o más procesos
se bloquean mutuamente, creando un
estancamiento.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Es un problema que afecta a procesos
concurrentes que usan recursos en un
sistema.
Los procesos solicitan recursos al sistema y
los liberan cuando ya no los necesitan.
Un recurso puede estar disponible o asignado
a algún proceso.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Ejemplares: Pueden haber varios ejemplares
de un mismo tipo de recurso (ej. varias
impresoras).
Si un proceso solicita un recurso, se le
concede cualquier ejemplar disponible.
Si un proceso solicita un recurso sin
ejemplares disponibles, queda bloqueado,
esperando que se le asigne un ejemplar.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Problema:
Varios procesos bloqueados, cada uno
esperando un recurso retenido por otro
proceso.
Ningún proceso del conjunto puede avanzar
Interbloqueo, bloqueo mutuo, abrazo mortal
(deadlock).
SO Profesor: Juan Ponce Contreras
SO: Procesos
El interbloqueo no es responsabilidad de las
aplicaciones, sino del sistema de gestión.
Ejemplo: Los procesos A y B se pueden
interbloquear, aunque están creados correctamente.
SO Profesor: Juan Ponce Contreras
SO: Procesos
El interbloqueo se da si:
1) Exclusión mutua: No se pueden compartir los
recursos.
2) Retención y espera: Un proceso que retiene
uno o varios recursos, está esperando por otros
recursos asignados a otros procesos.
3) No expropiación: Un recurso sólo puede ser
liberado por quien lo retiene (voluntariamente).
4) Espera circular: Varios procesos en espera
{P0,P1,...Px} en la que todo P(i) espera por un
recurso retenido por P(i+1); y P(x) espera por un
recurso retenido por P(0).
SO Profesor: Juan Ponce Contreras
SO: Procesos
Tratamiento del interbloqueo
1) Garantizar que en el sistema no ocurran
interbloqueos. Prevención y evitación: El
sistema está diseñado para prevenir las 4
condiciones y así tratar de no caer bloqueo.
2) Permitir la aparición de interbloqueos y
recuperarse cuando ocurran (sistema de
recuperación).
3) No tratar el problema.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Prevención del interbloqueo
Para tratar de evitar el interbloqueo, existe el
algoritmo del banquero.
Busca una secuencia de los procesos para ir
liberando recursos y así tratar de evitar el
interbloqueo.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Sistema de recuperación
después de un interbloqueo
Se puede:
1) Recuperación manual
2) Recuperación automática
SO Profesor: Juan Ponce Contreras
SO: Procesos
1) Forma manual:
Se le avisa al administrador (decisión)
2) Forma automática (Abortar procesos):
- Abortar todos los interbloqueados (Solución
común de los SO).
- Ir abortando uno a uno, detectar interbloqueo y
reintentar. Generalmente costo mínimo.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Complicaciones:
1) ¿Realmente se ha bloqueado?
2) Casi todos los SO no pueden suspender o
eliminar un proceso y reanudarlo después.
Se suele eliminar uno o más procesos para
liberar recursos.
El proceso se pierde, pero así se pueden terminar
los demás (sacrificio).
¿Cuál(es) se elimina(n)?
SO Profesor: Juan Ponce Contreras
SO: Procesos
Problemas en la realidad:
¿Qué ocurre cuando un proceso está
actualizando un archivo y se aborta?
Puede que el archivo se corrompa.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Factores de selección
1) Prioridad: El de menor prioridad.
2) Tiempo de CPU: El que ha usado menos
tiempo (no se desperdiciarán tantos cálculos).
3) Tipos de recursos: Necesarios y escasos
deben liberarse cuanto antes.
4) Cantidad de recursos: Eliminar el proceso que
necesita muchos recursos.
5) Facilidad de suspención/reanudación: Se
elimina el que sea más fácil de recuperar.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Estado de los procesos
SO Profesor: Juan Ponce Contreras
Listo para
ejecutar
(en cola)
Esperando
Ejecutando
Dead
Lock
Nuevo proceso Proceso finalizado
Despachar (*)
Time Out
Dormir (Evento ó
Interrupción E/S)
Interbloqueo
Despertar (*)
Time Out
Transiciones
Estados
(*) Tareas del despachador
SO: Procesos
Políticas de planificación
Define las prioridades de los procesos.
¿Quién se ejecuta primero?
Tipos:
1) Largo plazo: Determina que trabajos podrán
competir por los recursos
2) Corto plazo: Selecciona 1 proceso y lo asigna a
la CPU (despachador)
SO Profesor: Juan Ponce Contreras
SO: Procesos
La diferencia es la frecuencia de ejecución.
Largo plazo: Cada cierta cantidad de minutos.
Corto plazo: Muchas veces en poco tiempo, se
selecciona un proceso (milisegundos).
SO Profesor: Juan Ponce Contreras
SO: Procesos
Objetivos de las
políticas de clasificación
1) Tratar a los procesos igualmente.
2) Evitar el aplazamiento indefinido.
3) Atender la mayor cantidad de procesos por
unidad de tiempo (velocidad).
4) Mantener ocupados los recursos del sistema.
5) Lograr equilibrio entre respuesta y uso de
recursos.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Tipos de proceso según uso
1) Limitados por E/S: Ocupan poca CPU, pero
mucha E/S
2) Limitados por CPU: Ocupan mucha CPU
(simulaciones)
SO Profesor: Juan Ponce Contreras
SO: Procesos
Prioridades
Internas: Determinadas por el sistema (automático)
Externas: Definidas por el usuario.
Estática: Fija durante la vida del proceso.
Dinámica: Cambia de acuerdo a algunos factores,
envejecimiento ó tiempo que lleva esperando por
CPU.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Planificación FIFO (First In First Out)
FCFS (First Come First Served)
1) Se atienden por orden de llegada.
2) Usa los recursos hasta que termina su
ejecución.
3) Generalmente se mezcla con otros.
SO Profesor: Juan Ponce Contreras
SO: Procesos
Planificación Round-Robin (rueda)
Define un tiempo “quantum”
Ejemplo: Q=2mS
SO Profesor: Juan Ponce Contreras
Procs p3 p1 p5 p4 p2 p3 p1 p5 p4 p2 p3 p1 p5 p4 p2
Tiempo 5 3 2 3 1 3 1 0 1 0 1 0 0 0 0
SO: Procesos
Planificación STJ (Short Time Job)
Se ejecuta el proceso en espera que tiene el
menor tiempo estimado de ejecución (hasta
terminar)
SO Profesor: Juan Ponce Contreras
SO: Procesos
Múltiples procesadores
La planificación es más compleja mientras más
CPU's hay disponibles.
Generalmente cada CPU tiene su cola y su
propio algoritmo de planificación.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Administración de discos
Magnético: Discos duros y diskettes
Ópticos: CD / DVD / BD
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Ópticos (CDROM):
- Más densidad
- Se crean en moldes
- Policarbonato
- Fosos (pits) y llanuras (lands)
- Espiral contínua (interior al exterior)
- 5,6 KM de largo
- Velocidad baja al alejarse del centro.
- Velocidad interna 530 RPM (120 cm/s)
- Velocidad externa 200 RPM
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Ópticos:
CDR (Recordable) CDRW (ReWritable)
DVD (Digital Video Disc, Digital Versatile Disc)
Creado por: 10 empresas de electrónica y
Estudios de Hollywood
Velocidad: 1,4MB/s (1X)
1 lado, 1 capa = 4,7 GB
1 lado, doble capa = 8,5 GB
2 lados, 1 capa = 9,4 GB
2 lados, doble capa = 17 GB
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Diferencias CD/DVD:
- Fosos más pequeños (de 0,4 micras en lugar
de 0,8 micras en los Cds).
- Una espiral más apretada (0,74 micras entre
pistas frente a las 1,6 de los Cds).
- Un láser rojo (a 0,65 micras en lugar de 0,78
micras en los CDs).
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Magnético: Organizados en:
- Discos
- Caras
- Pistas (Circulos concentricos)
- Sectores
- Velocidad giro: 5400, 7200 ó 10000 RPM
- ATA (ATAttachment PATA) y SATA
Discos “IDE” (Integrated Driver Electronic)
Tarjeta con chip controlador - Más rápidos
Tarea: Cilindros y cabezas?
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Disco duro:
- Aluminio, aleación o vidrio (5,25” o 3,5”)
- Capa óxido metálico magnetizable.
- Se necesita formateo a bajo nivel.
- Cada sector queda:
Preámbulo: Patrón de bits (hecho x fabricante),
permite reconocer el inicio del sector, N° de cilindro,
N° de sector, etc).
ECC: Código de verificación (16 bits, usual)
Capacidad se reduce 20%
Sata3=600MB/s Sata2=300MB/s Sata=150MB/s Pata=133MB/s
SO Profesor: Juan Ponce Contreras
Preámbulo Datos ECC
Generalmente 512 bytes
SO: Administración de disco
Problemas:
- Algunos fabricantes anuncia capacidad no
formateada (aparentar más capacidad).
- Los fabricantes indican números exactos, por
ejemplo 1GB = 1,000,000,000 Bytes
- Los SO informan, por ejemplo, en el mismo
caso 1GB = 1,073,741,824 Bytes.
- En las comunicaciones 1Gbps 1,000,000,000
bits por segundo.
- El formato afecta el rendimiento.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Ejemplo:
- Disco de 10000 RPM.
- 300 sectores de 512 bytes por pista.
- Tarda 6 milisegundos en leer los 153,600
bytes de una pista.
- La velocidad es 25,600,000 B/s ó 24,4MB/s
- No se puede alcanzar una velocidad mayor.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Para leer de forma continuada a esas
velocidades, se requiere un búffer.
Suponga:
Un drive con 1 espacio en búffer y debe leer 2
sectores seguidos.
Mientras procesa el sector 1, leer, procesar
ECC y transferir a RAM, el sector 2 está
pasando por la cabeza.
Debe esperar la próxima vuelta.
Para evitar esto se necesita un gran búffer.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Para solucionar este problema, los sectores se
enumeran de forma intercalada.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Para evitar el intercalamiento el controlador
tendría que guardar en el búffer toda una pista.
Actualmente puede hacerse.
Terminado el formateo de bajo nivel, el disco
se divide en particiones.
Lógicamente, cada partición es como si fuera
un disco separado.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Generalmente, el sector 0 contiene el registro
de arranque maestro (master boot record,
MBR), contiene el programa de arranque junto
a la tabla de particiones al final del sector.
La tabla de particiones contiene para cada
partición su sector de comienzo y su tamaño.
La tabla de particiones tiene espacio sólo para
cuatro particiones (primarias).
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Para poder arrancar desde el disco, sólo una
partición debe marcarse como activa en la
tabla de particiones.
Para dejar listo el disco, se requiere un
formateo de alto nivel a cada partición
(separadamente).
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
- Se establece el bloque de arranque.
- Memoria libre (lista de bloques libres).
- Directorio raíz y sistema de archivos vacío.
- Se introduce un código en la tabla de
particiones (indica qué sistema de archivos usa
cada partición).
Cada SO utiliza normalmente un sistema de
archivos incompatible (por razones históricas).
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Como se inicia el SO
- Se enciende el equipo, se ejecuta el BIOS.
- El BIOS lee el MBR y le cede el control.
- Busca la partición activa.
- Se ejecuta el sector de arranque de esa
partición.
- Este sector contiene un pequeño programa
que busca en la raíz un programa (el SO o un
cargador más grande). Ese programa se carga
en la memoria y se ejecuta (este es el kernel).
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Algoritmos de planificación
del brazo del disco
El tiempo para leer o escribir depende de 3
factores:
T_Posicionamiento
T_Retraso_rotacional
+ T_Transferencia de datos real
==========================
T_Total_lectura_o_escritura
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
T_Posicionamiento: Tiempo que tarda en
mover el brazo hasta el cilindro correcto.
T_Retraso_rotacional: Tiempo que tarda el
sector correcto en girar hasta que pase por la
cabeza lectora/grabadora.
T_Transferencia de datos real: Tiempo que
graba o lee datos.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
En la mayoría de los discos, el tiempo más
importante es el de posicionamiento. Si se
reduce mejora notablemente el rendimiento.
Si el controlador (físico) sólo acepta peticiones
en orden de llegada (First-Come First-Served ó
FCFS), no se puede optimizar el tiempo de
posicionamiento.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Si el disco tiene mucha carga de peticiones,
podría utilizarse otra estrategia.
Es muy probable que mientras el brazo se
mueve (para atender una petición), otros
procesos generen nuevas peticiones.
Muchos controladores (físicos) mantienen una
tabla, con las peticiones pendientes.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Considere un disco con 40 cilindros. Suponga
que llega una petición para leer el cilindro 11.
Mientras el brazo se mueve, llegan nuevas
peticiones para los cilindros 1, 36, 16, 34, 9 y
12 (en ese orden).
Esas peticiones se agregan a la tabla de
peticiones pendientes.
Las peticiones se muestran en la siguiente
figura (Usando SSF):
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
SO Profesor: Juan Ponce Contreras
Si usa FCFS, irá al cilindro 1, luego al 36, y así a todas las demás.
Este algoritmo requerirá movimientos del brazo de 10, 35, 20, 18, 25 y 3
cilindros respectivamente, para un total de 111 cilindros.
Si se usa SSF (Shortest Seek First), se reduce el movimiento total del
brazo en casi la mitad comparado con FCFS.
Los movimientos son de 1, 3, 7, 15, 33 y 2, para un total de 61 cilindros.
SO: Administración de disco
El controlador (físico) podría atender siempre las
peticiones más cercana, con el fin de minimizar los
tiempos de posicionamiento (SSF).
SSF tiene un problema. Si siguen llegando más
peticiones mientras se procesan las anteriores, los
extremos siempre se atenderán al final
(injusticia).
Por ejemplo, si después del cilindro 16, se presenta
una nueva petición para el cilindro 8, esa solicitud
tendrá prioridad sobre la del cilindro 1.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Si luego llega una petición para el cilindro 13, el
brazo se dirigirá allí, no al 1.
Si el disco tiene mucha carga, el brazo tenderá a
permanecer en el medio del disco la mayor parte
del tiempo.
Las peticiones extremas deberán que esperar hasta
que no haya ninguna petición de cilindros en la zona
central (MUY IMPROBABLE).
Las peticiones alejadas del centro recibirán un
mal servicio con este algoritmo.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Se produce un conflicto entre rendimiento y justicia.
Evitar discriminar algunas peticiones.
Los edificios deben enfrentar este problema.
Planificar un ascensor es similar a planificar un
disco.
Continuamente llegan peticiones llamando al
ascensor para ir a los pisos (cilindros) al azar.
Fácilmente puede seguirse la secuencia en la se
oprimieron las llamadas, atendiéndolos usando FCFS
o SSF.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
La mayoría de los ascensores usan un algoritmo para
conciliar justicia y eficiencia.
El ascensor siempre continúa su avance en el
mismo sentido (arriba o abajo) hasta que no
queden peticiones pendientes en ese sentido, ahí
cambia de sentido.
Este es el algoritmo del ascensor, requiere
mantener un bit (para el sentido actual del
movimiento, ARRIBA o ABAJO).
Cuando termina una petición se comprueba el
sentido para cambiar el bit si es necesario.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Si es ARRIBA, el brazo se mueve hasta la siguiente
petición pendiente hacia arriba.
Si no hay peticiones pendientes en posiciones más
altas, se invierte el bit.
Cuando el bit se establece a ABAJO, el movimiento
es hasta la siguiente posición hacia abajo solicitada,
si la hay.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Suponiendo que el bit de sentido es inicialmente ARRIBA. El orden de
atención de las peticiones es 12, 16, 34, 36, 9 y 1, lo que significa que los
movimientos del brazo son 1, 4, 18, 2, 27 y 8, para un total de 60 cilindros.
En este caso el algoritmo del ascensor es ligeramente mejor que el SSF,
aunque normalmente es peor.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
Una modificación del algoritmo del ascensor es
explorar siempre en el mismo sentido.
Una vez que se ha servido el cilindro de número más
alto con una petición pendiente, el brazo se dirige al
cilindro de número más bajo que tenga una petición
pendiente, para luego continuar moviéndose hacia
arriba.
Es como si el cilindro de número más bajo estuviera
justo a continuación del cilindro de número más alto.
También puede ser inverso, atiende hacia abajo y
luego sube. SO
Profesor: Juan Ponce Contreras
SO: Administración de disco
Cabe destacar que:
1) La caché del controlador (físico) es completamente
independiente de la caché del S.O. (Chip / RAM).
2) Todos los algoritmos de planificación suponen que
la geometría física o real es idéntica a la geometría
lógica o virtual. Si no lo fuese, no tiene sentido
planificar, porque el S.O. no sabe si el cilindro 40
está más cerca del cilindro 39 que del cilindro
200.
SO Profesor: Juan Ponce Contreras
SO: Administración de disco
E
SO Profesor: Juan Ponce Contreras