SO 1 Introduccion

90
Sistema Operativo Liceo Politécnico Andes Fundación DuocUC Profesor Juan Ponce Contreras

Transcript of SO 1 Introduccion

Page 1: SO 1 Introduccion

Sistema Operativo

Liceo Politécnico Andes

Fundación DuocUC

Profesor

Juan Ponce Contreras

Page 2: SO 1 Introduccion

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

Page 3: SO 1 Introduccion

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

Page 4: SO 1 Introduccion

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

Page 5: SO 1 Introduccion

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

Page 6: SO 1 Introduccion

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

Page 7: SO 1 Introduccion

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

Page 8: SO 1 Introduccion

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

Page 9: SO 1 Introduccion

SO: Historia

2003

MS lanza win2003

2007

MS lanza winVista

2008

MS lanza win2008

2009

MS lanza win7

SO Profesor: Juan Ponce Contreras

Page 10: SO 1 Introduccion

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

Page 11: SO 1 Introduccion

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

Page 12: SO 1 Introduccion

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

Page 13: SO 1 Introduccion

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

Page 14: SO 1 Introduccion

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

Page 15: SO 1 Introduccion

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

Page 16: SO 1 Introduccion

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

Page 17: SO 1 Introduccion

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

Page 18: SO 1 Introduccion

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

Page 19: SO 1 Introduccion

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

Page 20: SO 1 Introduccion

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

Page 21: SO 1 Introduccion

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

Page 22: SO 1 Introduccion

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

Page 23: SO 1 Introduccion

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

Page 24: SO 1 Introduccion

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

Page 25: SO 1 Introduccion

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

Page 26: SO 1 Introduccion

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

Page 27: SO 1 Introduccion

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

Page 28: SO 1 Introduccion

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

Page 29: SO 1 Introduccion

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

Page 30: SO 1 Introduccion

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

Page 31: SO 1 Introduccion

SO: Procesos

SO Profesor: Juan Ponce Contreras

Page 32: SO 1 Introduccion

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

Page 33: SO 1 Introduccion

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

Page 34: SO 1 Introduccion

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

Page 35: SO 1 Introduccion

SO: Procesos

Interbloqueo

Existen ocasiones en que dos o más procesos

se bloquean mutuamente, creando un

estancamiento.

SO Profesor: Juan Ponce Contreras

Page 36: SO 1 Introduccion

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

Page 37: SO 1 Introduccion

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

Page 38: SO 1 Introduccion

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

Page 39: SO 1 Introduccion

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

Page 40: SO 1 Introduccion

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

Page 41: SO 1 Introduccion

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

Page 42: SO 1 Introduccion

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

Page 43: SO 1 Introduccion

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

Page 44: SO 1 Introduccion

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

Page 45: SO 1 Introduccion

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

Page 46: SO 1 Introduccion

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

Page 47: SO 1 Introduccion

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

Page 48: SO 1 Introduccion

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

Page 49: SO 1 Introduccion

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

Page 50: SO 1 Introduccion

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

Page 51: SO 1 Introduccion

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

Page 52: SO 1 Introduccion

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

Page 53: SO 1 Introduccion

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

Page 54: SO 1 Introduccion

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

Page 55: SO 1 Introduccion

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

Page 56: SO 1 Introduccion

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

Page 57: SO 1 Introduccion

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

Page 58: SO 1 Introduccion

SO: Administración de disco

Administración de discos

Magnético: Discos duros y diskettes

Ópticos: CD / DVD / BD

SO Profesor: Juan Ponce Contreras

Page 59: SO 1 Introduccion

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

Page 60: SO 1 Introduccion

SO: Administración de disco

SO Profesor: Juan Ponce Contreras

Page 61: SO 1 Introduccion

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

Page 62: SO 1 Introduccion

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

Page 63: SO 1 Introduccion

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

Page 64: SO 1 Introduccion

SO: Administración de disco

SO Profesor: Juan Ponce Contreras

Page 65: SO 1 Introduccion

SO: Administración de disco

SO Profesor: Juan Ponce Contreras

Page 66: SO 1 Introduccion

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

Page 67: SO 1 Introduccion

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

Page 68: SO 1 Introduccion

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

Page 69: SO 1 Introduccion

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

Page 70: SO 1 Introduccion

SO: Administración de disco

Para solucionar este problema, los sectores se

enumeran de forma intercalada.

SO Profesor: Juan Ponce Contreras

Page 71: SO 1 Introduccion

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

Page 72: SO 1 Introduccion

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

Page 73: SO 1 Introduccion

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

Page 74: SO 1 Introduccion

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

Page 75: SO 1 Introduccion

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

Page 76: SO 1 Introduccion

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

Page 77: SO 1 Introduccion

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

Page 78: SO 1 Introduccion

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

Page 79: SO 1 Introduccion

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

Page 80: SO 1 Introduccion

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

Page 81: SO 1 Introduccion

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.

Page 82: SO 1 Introduccion

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

Page 83: SO 1 Introduccion

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

Page 84: SO 1 Introduccion

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

Page 85: SO 1 Introduccion

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

Page 86: SO 1 Introduccion

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

Page 87: SO 1 Introduccion

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

Page 88: SO 1 Introduccion

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

Page 89: SO 1 Introduccion

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

Page 90: SO 1 Introduccion

SO: Administración de disco

E

SO Profesor: Juan Ponce Contreras