fundamentos de los sistemas operativos - del computador... · fundamentos de los sistemas...

Download Fundamentos de los Sistemas Operativos - del computador... · Fundamentos de los Sistemas Operativos

Post on 21-Aug-2018

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Fundamentos de losSistemas Operativos

    Tema 1. Conceptos generalesEstructura del computador y el SO

    2015 ULPGC - Jos Miguel Santos Espino, Alexis Quesada, Francisco J. Santana

  • 2

    Contenidos

    Estructura de la E/S

    Sistema de interrupciones

    Jerarqua de memorias

    Proteccin del hardware

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 3

    Estructura de la E/S

    Controlador de Memoria

    CPU

    Memoria

    Controladorde discos

    Controladorde impresora

    Controladorpuerto PS/2

    bus del sistema

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 4

    Estructura de la E/S

    Los dispositivos se conectan al bus a travs de controladores de E/S.

    La CPU se comunica con los controladores a travs de instrucciones especiales o de direcciones de memoria concretas.

    Cada controlador tiene un bfer local. La CPU enva y recoge datos del bfer.

    El controlador notifica a la CPU la finalizacin de una operacin o la llegada de nuevos datos mediante una interrupcin.

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 5

    Interrupciones

    Cuando llega una seal de interrupcin a la CPU, sta suspende lo que est haciendo y ejecuta una rutina de servicio de interrupcin (RSI).

    Antes de ejecutar la RSI, hay que guardar el estado de la CPU, para que pueda reanudar lo que estaba haciendo despus de completar la RSI.

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 6

    Interrupciones

    Cmo sabe la CPU qu dispositivo ha interrumpido?

    Mtodo primitivo: preguntando a todos los dispositivos polling

    Mtodo avanzado: el dispositivo enva un nmero por el bus interrupciones vectorizadas

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 7

    Interrupciones vectorizadas

    Vector de interrupciones. Una zona de la memoria principal contiene las direcciones de todas las RSI.

    El dispositivo que interrumpe enva un nmero por el bus de datos. El nmero sirve de ndice en el vector de interrupciones. La CPU

    ejecuta la RSI correspondiente.

    ...

    RSI0

    RSI1

    RSIN

    . . .

    teclado

    ratn

    Cdigo de dispositivo:0 = teclado1 = ratn

    vector de interrupciones

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 8

    El SO es un software reactivo

    El SO no se activa por s solo. Se activa cuando ocurre un evento que tiene que atender comportamiento reactivo

    Tipos de eventos:

    Interrupciones del hardware

    Llamadas al sistema

    Excepciones

    Cada tipo de evento activa una RSI diferente, indexada a travs del vector de interrupciones

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 9

    Sincronizacin entre E/S y SO

    Cuando el SO solicita a un perifrico una operacin de E/S, cmo espera a que la operacin finalice?

    De forma sncrona: el SO deja la CPU en espera hasta que llega la interrupcin de la E/S

    De forma asncrona: el SO cede la CPU a otros procesos mientras la E/S va trabajando.

    Si trabajamos de forma asncrona, podemos sacar ms rendimiento al sistema.

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 10

    proceso A proceso B S.O. dispositivo E/S

    tiempo

    llamada al sistema

    cambio de contexto

    PA PB

    cambio de contexto

    PB PA

    interrupcin E/S

    dilogo con E/S

    cpu

    se atiende lallamada al sistema

    R.S.I.

    el dispositivoejecuta la operacin

    el procesose interrumpe

    Ejemplo de funcionamiento asncrono

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 11

    Explicacin del diagrama anterior

    El proceso A invoca una operacin de E/S a travs de una llamada al sistema.

    El SO atiende la llamada y dialoga con la E/S.

    Como el proceso A queda en espera por la E/S, el SO decide traer a CPU al proceso B.

    Cuando la E/S finaliza, genera una interrupcin.

    El SO atiende la interrupcin y decide reanudar la ejecucin del proceso A.

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 12

    Colas de espera por E/S

    Cuando se solicita E/S, el dispositivo puede estar ya ocupado

    Hay que mantener en una cola de espera las peticiones pendientes

    A medida que vayan finalizando las operaciones, el SO va alimentando la E/S con peticiones encoladas

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 13

    Interrupciones software

    Las llamadas al sistema y las excepciones funcionan como interrupciones del software: se gestionan igual que las interrs. del hardware, pero las provoca la propia CPU.

    Para provocar una interrupcin software, existe una instruccin de mquina especfica:

    INT (Intel)

    TRAP (Motorola)

    SYSCALL (MIPS)

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 14

    Jerarqua de memorias

    En un sistema informtico, los medios de almacenamiento se pueden organizar en una jerarqua, segn su coste y su velocidad.

    Almacenamiento en red

    Disco duro

    Memoria principal

    Registros

    Cach del procesador

    Co

    ste

    Ve

    locid

    ad

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • Tecnologas de almacenamientoy su rendimiento

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

    15

    (Silberschatz, Galvin, Gagne, 2013)

  • Repaso: unidades de medida de la informacin Bit = capaz de almacenar dos valores (ej. 0/1) Byte = 8 bits

    (ojo, en el pasado se usaron bytes de distintos tamaos)

    Palabra = 8..64 bits, dependiendo de la CPU

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

    16

    Kilo Mega Giga Tera Peta

    Sistema binario(ISO 80000-13)

    1KiB = 210 1MiB = 220 1GiB = 230 1TiB = 240 1PiB = 250

    Sistema decimal 1KB = 103 = 1000

    1MB = 106

    1.000.0001GB = 109= 1 millardo

    1TB = 1012 =1 billn

    1PB = 1015= 1000 billones

  • 17

    Cmo gestionar la jerarqua de memorias? memoria cach

    Aplicar el principio de cach: guardar en la memoria ms rpida la informacin que se usa con ms frecuencia. Ejemplo: cach de disco

    Ejemplo: cach de pginas web

    La cach se acaba llenando. En ese caso, hay que descartar bloques de informacin que ya no se necesitan poltica de cach / poltica de reemplazo Descartar el ms antiguo (FIFO)

    Descartar el que hace ms tiempo que se us (LRU)

    Descartar el menos frecuentemente usado (LFU)

    Al azar

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 18

    Proteccin del hardware

    Modo dual de operacin: operaciones privilegiadas

    Proteccin de la memoria

    Proteccin de la E/S

    Proteccin contra uso abusivo de la CPU

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 19

    Proteccin del hardware

    Para que el S.O. funcione adecuadamente, hay que impedir que los programas de usuario puedan realizar libremente ciertas operaciones: acceso a la memoria del S.O. y de otros programas

    acceso directo a los dispositivos de E/S

    utilizar la CPU todo el tiempo que quieran

    Solucin: modo dual de operacin

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 20

    Modo dual de operacin

    La CPU define un repertorio de instrucciones privilegiadas.

    Dos modo de operacin del hardware:

    modo privilegiado/supervisor/sistema. se pueden ejecutar todas las instrucciones.

    modo no privilegiado/usuario: si se intenta ejecutar una instruccin privilegiada, la CPU interrumpe la ejecucin y genera una excepcin.

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 21

    Cundo y cmo se cambia de modo?

    La CPU arranca en modo privilegiado.

    Cuando el S.O. cede el control al usuario, conmuta previamente a modo no privilegiado.

    Slo se vuelve a modo privilegiado cuando el S.O. recupera el control, es decir, cuando ocurre una interrupcin, una llamada al sistema o una excepcin.

    modoncleo

    modousuario

    interrupcin

    SO cambia de modo

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 22

    Llamadas al sistema y modo dual

    La instruccin especial para llamada al sistema (syscall, trap, etc.) conmuta automticamente a modo privilegiado.

    Por tanto, sirve para que el usuario cambie voluntariamente a modo privilegiado, pero ejecutando cdigo del S.O. que no est bajo su control.

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 23

    Ejemplo de llamada al sistema

    Interrupcin software

    leer

    ..

    ...

    ..

    ...

    RSI n

    llamada al sistema n

    realizar E/S

    regresar al usuario

    Sistemaoperativo

    Programa deusuario

    1998-2015 ULPGC - Jos Miguel Santos, Alexis Quesada, Francisco Santana

  • 24

    Proteccin de memoria

    Idea: pareja de registros base y lmite, que delimitan la zona de memoria en la que el usuario est autorizado a trabajar.

    SO

    proceso 1

    proceso 2

    proceso 3

    0

    18940

    42384

    54132

    68790

    18940

    registro base

    42384

    registro lmite

    1998-2015 ULPGC - Jos Miguel Santos, Alex

Recommended

View more >