79
CONCEPTO Y FUNCIONES DEL S.O ... UNA COMPUTADORA SOLAMENTE ES CAPAZ DE REPETIR A ALTA VELOCIDAD LA SECUENCIA DE: LECTURA DE INSTRUCCIÓN DE MAQUINA INCREMENTO DEL PC (CONTADOR DE PROGRAMAS) EJECUCIÓN DE LA INSTRUCCIÓN LEIDA UN SISTEMA OPERATIVO (SO) ES UN PROGRAMA QUE TIENE ENCOMENDADAS UNA SERIE DE FUNCIONES DIFERENTES CUYO OBJETIVO ES SIMPLIFICAR EL MANEJO Y LA UTILIZACIÓN DE LA COMPUTADORA HACIENDOLO SEGURO Y EFEICIENTE. FUNCIONES CLÁSICAS DEL SISTEMA OPERATIVO GESTION DE LOS RECURSOS DE LA COMPUTADORA EJECUCIÓN DE SERVICIOS PARA LOS PROGRAMAS EJECUCIÓN DE LOS MANDATOS DE LOS USUARIOS

APUNTES DE SISTEMAS OPERATIVOS

Embed Size (px)

Citation preview

CONCEPTO Y FUNCIONES DEL S.O ... UNA COMPUTADORA SOLAMENTE ES CAPAZ DE REPETIR A ALTA VELOCIDAD LA SECUENCIA DE: LECTURA DE INSTRUCCIÓN DE MAQUINA INCREMENTO DEL PC (CONTADOR DE PROGRAMAS) EJECUCIÓN DE LA INSTRUCCIÓN LEIDA

UN SISTEMA OPERATIVO (SO) ES UN PROGRAMA QUE TIENE ENCOMENDADAS UNA SERIE DE FUNCIONES DIFERENTES CUYO OBJETIVO ES SIMPLIFICAR EL MANEJO Y LA UTILIZACIÓN DE LA COMPUTADORA HACIENDOLO SEGURO Y EFEICIENTE.

FUNCIONES CLÁSICAS DEL SISTEMA OPERATIVO GESTION DE LOS RECURSOS DE LA COMPUTADORA EJECUCIÓN DE SERVICIOS PARA LOS PROGRAMAS EJECUCIÓN DE LOS MANDATOS DE LOS USUARIOS

EL SISTEMA OPERATIVO COMO GESTOR DE RECURSOS EN LA COMPUTADORA SUELEN COEXISTIR VARIOS PROGRAMAS, DEL MISMO O DE VARIOS USUARIOS, EJECUTÁNDOSE SIMULTÁNEAMENTE. ESTOS PROGRAMAS COMPITEN POR LOS RECURSOS DE LA COMPUTADORA, SIENDO EL S.O EL ENCARGADO DE ARBITRAR SU ASIGNACIÓN Y USO. ASIGNACIÓN DE RECURSOS PROTECCIÓN CONTABILIDAD

SERVICIOS PARA LOS PROGRAMAS EL SISTEMA OPERATIVO OFRECE A LOS PROGRAMAS UN CONJUNTO DE SERVICIOS, O LLAMADAS AL SISTEMA, QUE PUEDEN SOLICITAR CUANDO LO NECESITEN. LOS SERVICIOS SE PUEDEN AGRUPAR EN LAS 4 CLASES SIGUIENTES:

1. EJECUCIÓN DE PROGRAMAS 2. ORDENES DE E / S 3. OPERACIONES SOBRE ARCHIVOS 4. DETECCIÓN Y TRATAMIENTO DE ERRORES

EL SISTEMA OPERATIVO COMO INTERFAZ DE USUARIO

EL MODULO DEL SISTEMA OPERATIVO QUE PERMITE QUE LOS USUARIOS DIALOGUEN DE FORMA INTERACTIVA CON EL SISTEMA, ES EL INTERPRETE DE MANDATOS O SHELL. ESPERA UNA ORDEN DEL USUARIO ANALIZA LA ORDEN CONCLUIDA LA ORDEN VUELVE A LA ESPERA

NOTA: CASO ESPECIAL SON LOS ARCHIVOS DE MANDATO.

HARDWARE Y SOFTWARE (ARRANQUE DE LA COMPUTADORA)

- ARRANQUE HARDWARE 2 FASES

- ARRANQUE SISTEMA OPERATIVO

* TEST DEL HARDWARE BAJO EL CONTROL DEL INDICADOR ROM * CARGA EN MEMORIA DEL CARGADOR DEL S.O

BAJO EL CONTROL DEL CARGADOR (BOOT) DEL S.O INICIALIZACION BAJO EL CONTROL DE LA PARTE RESIDENTE DEL S.O NOTA: EN ALGUNOS SISTEMAS SE CONSIDERAN TAMBIEN LA CREACIÓN DE PROCESOS LOGIN.

COMPONENTES DEL S.O SE SUELE CONSIDERAR QUE UN S.O ESTA FORMADO POR 3 CAPAS: EL NÚCLEO, LOS SERVICIOS Y EL INTERPRETE DE MANDATOS O SHELL. NÚCLEO: ES LA PARTE DEL S.O QUE INTERACCIONA DIRECTAMENTE CON EL HARDWARE DE LA MAQUINA. LAS FUNCIONES DEL NÚCLEO SE CENTRAN EN: LA GESTION DE RECURSOS, TRATAMIENTO DE INTERRUPCIONES Y FUNCIONES BASICAS DE MANIPULACIÓN DE MEMORIA.

CARGA EN MEMORIA COMPONENTES DEL S.O

TEST DEL SISTEMA DE ARCHIVOS

CREACIÓN DE ESTRUCTURAS DE DATOS INTERNAS

COMPLETA LA CARGA DEL S.O RESIDENTE

SERVICIOS: SE SUELEN AGRUPAR SEGÚN SU FUNCIONALIDAD EN VARIOS COMPONENTES. GESTION DE PROCESOS GESTION DE MEMORIA GESTION DE LA E / S GESTION DE ARCHIVOS Y DIRECTORIOS COMUNICACIÓN Y SINCRONIZACION ENTRE PROCESOS SEGURIDAD Y PROTECCIÓN

INTERPRETE: ES QUIEN SE ENCARGA DE OFRECER LOS DIFERENTES SERVICIOS AL USUARIO. NOTA: UN SISTEMA OPERATIVO PUEDE INCLUIR MAS DE UNA INTERFAZ DE SERVICIOS.

USUARIOS INTERPRETE SERVICIOS EL NÚCLEO HARDWARE

F I R M W A R E EN LOS AÑOS SESENTA, LOS FABRICANTES DE COMPUTADORES COMENZARON A USAR LA MICROPROGRAMACIÓN PARA IMPLANTAR CONJUNTOS DE INSTRUCCIONES EN LENGUAJES DE MAQUINA. LA MICROPROGRAMACIÓN INTRODUCE UNA CAPA DE PROGRAMACIÓN DEBAJO DEL LENGUAJE DE MAQUINA DEL COMPUTADOR. COMO TAL, HACE POSIBLE LA DEFINICIÓN DE INSTRUCCIONES EN LENGUAJE DE MAQUINA. EL MICROCODIGO REPRESENTA UNA OPORTUNIDAD REAL PARA MEJORAR EL RENDIMIENTO DE LA EJECUCIÓN DE UN SISTEMA. MEDIANTE LA CODIFICACIÓN DE INSTRUCCIONES DE EJECUCIÓN FRECUENTE EN FIRMWARE, EN LUGAR DE SOFTWARE, LOS DISEÑADORES HAN LOGRADO GRANDES MEJORAS EN EL RENDIMIENTO. MANEJO DE INTERRUPCIONES.

PRIMITIVAS DE SINCRONIZACION QUE CONTROLAN EL

ACCESO A DATOS COMPARTIDOS Y A OTROS RECURSOS.

SECUENCIAS DE LLAMADA A PROCEDIMIENTOS Y RETORNO.

ADMINISTRACIÓN DE PROCESOS EL TERMINO ‘PROCESO’ FUE UTILIZADO POR PRIMERA VEZ POR LOS DISEÑADORES DEL SISTEMA MULTICS EN LOS AÑOS SESENTA. EL PROCESO SE PUEDE DEFINIR COMO UN PROGRAMA EN EJECUCIÓN Y, DE UNA FORMA UN POCO MAS PRECISA, COMO LA UNIDAD DE PROCESAMIENTO GESTIONADA POR EL S.O.

DEFINICIONES DE PROCESO UN PROGRAMA EN EJECUCIÓN

UNA ACTIVIDAD ASINCRONA EL ‘CENTRO DE CONTROL’ DE UN PROCEDIMIENTO EN

EJECUCIÓN

PLANEACION DE TRABAJOS EN SISTEMAS MULTIPROGRAMADOS Y NO MULTIPROGRAMADOS

DEPENDIENDO DEL NUMERO DE PROCESOS Y DE USUARIOS QUE PUEDAN EJECUTAR SIMULTÁNEAMENTE UN SISTEMA OPERATIVO PUEDE SER: MONOTAREA O MONOPROCESO MULTITAREA O MULTIPROCESO MONOUSUARIO MULTIUSUARIO (TIEMPO COMPARTIDO)

UN S.O MONOTAREA, SOLAMENTE PERMITE QUE EXISTA UN PROCESO EN CADA INSTANTE. SI SE QUIEREN EJECUTAR VARIOS PROCESOS, O TAREAS, HAY QUE LANZAR LA EJECUCIÓN DE LA PRIMERA Y ESPERAR A QUE TERMINE ANTES DE PODER LANZAR LA SIGUIENTE. UN S.O MULTITAREA PERMITE QUE COEXISTAN VARIOS PROCESOS ACTIVOS A LA VEZ. EL SISTEMA OPERATIVO SE ENCARGA DE IR REPARTIENDO EL TIEMPO DEL PROCESADOR ENTRE ESTOS PROCESOS.

BASE DE LA MULTITAREA LA MULTITAREA SE BASA EN LAS 3 CARACTERISTICAS SIGUIENTES: PARALELISMO REAL ENTRE E / S Y PROCESADOR.

ALTERNANCIA EN LOS PROCESOS DE FASES DE E / S Y DE

PROCESAMIENTO.

MEMORIA PRINCIPAL CAPAZ DE ALMACENAR VARIOS

PROCESOS.

NOTA: EN UN SISTEMA MONOTAREA EL PROCESADOR NO TIENE NADA QUE HACER DURANTE LAS FASES DE E / S, POR LO QUE DESPERDICIA SU POTENCIA DE PROCESAMIENTO.

NOTA: EN UN SISTEMA MULTITAREA SE APROVECHAN LAS FASES DE E / S DE UNOS PROCESOS PARA REALIZAR LAS FASES DE PROCESAMIENTO DE OTROS.

VENTAJAS DE LA MULTITAREA FACILITA LA PROGRAMACIÓN PERMITE DIVIDIR LAS APLICACIONES EN VARIOS PROCESOS, LO QUE BENEFICIA A SU MODULARIDAD. PERMITE PRESTAR UN BUEN SERVICIO, PUESTO QUE SE PUEDE ATENDER A VARIOS USUARIOS DE FORMA EFICIENTE, INTERACTIVA Y SIMULTANEA. APROVECHA LOS TIEMPOS MUERTOS QUE LOS PROCESOS PASAN ESPERANDO A QUE SE COMPLETEN SUS OPERACIONES DE E / S. AUMENTA EL USO DE LA CPU, AL APROVECHAR LOS ESPACIOS DE TIEMPO QUE LOS PROCESOS ESTAN BLOQUEADOS.

ESTADOS DE UN PROCESO NO TODOS LOS PROCESOS ACTIVOS DE UN SISTEMA MULTITAREA ESTAN EN LA MISMA SITUACIÓN. SE DIFERENCIAN 3 ESTADOS BÁSICOS EN LOS QUE PUEDE ESTAR UN PROCESO:

EJECUCIÓN EN ESTE ESTADO ESTA EL PROCESO QUE ESTA SIENDO EJECUTADO POR EL PROCESADOR, ES DECIR, QUE ESTA EN FASE DE PROCESAMIENTO. EN ESTA FASE EL ESTADO DEL PROCESO RESIDE EN LOS REGISTROS DEL PROCESADOR. BLOQUEADO UN PROCESO BLOQUEADO ESTA ESPERANDO A QUE OCURRA UN EVENTO Y NO PUEDE SEGUIR EJECUTANDO HASTA QUE SUCEDA EL EVENTO. EN ESTA FASE, EL ESTADO DEL PROCESO RESIDE EN EL BCP. LISTO UN PROCESO ESTA LISTO PARA EJECUTAR CUANDO PUEDE ENTRAR EN FASE DE PROCESAMIENTO. DADO QUE PUEDE HABER VARIOS PROCESOS EN ESTE ESTADO, EL S.O SELECCIONA AQUEL QUE PASE A EJECUCIÓN. EN ESTE ESTADO DEL PROCESO RESIDE EN EL BCP.

ESTADOS DE UN PROCESO (TRANSICIONES)

EJECUCION

BLOQUEADO LISTO

1

4

2

3

1. EL PROCESO SE BLOQUEA EN ESPERA DE DATOS. 2. EL PLANIFICADOR ELIGE OTRO PROCESO. 3. EL PLANIFICADOR ELIGE ESTE PROCESO. 4. LOS DATOS ESTAN DISPONIBLES.

EL BLOQUE DE CONTROL DE UN PROCESO (BCP) EL BCP CONTIENE LA INFORMACIÓN BASICA DEL PROCESO, ENTRE LA QUE CABE DESTACAR LA SIGUIENTE: INFORMACIÓN DE IDENTIFICACIÓN IDENTIFICADOR DEL PROCESO IDENTIFICACIÓN DEL PROCESO PADRE, EN CASO DE EXISTIR

RELACIONES PADRE – HIJO COMO UNÍX. INFORMACIÓN SOBRE EL USUARIO (identificador de usuario,

identificador de grupo). ESTADO DEL PROCESADOR CONTIENE LOS VALORES INICIALES DEL ESTADO DEL PROCESADOR O SU VALOR EN EL INSTANTE EN QUE FUE INTERRUMPIDO EL PROCESO. INFORMACIÓN DE CONTROL DEL PROCESO INFORMACIÓN DE PLANIFICACIÓN Y ESTADO

o ESTADO DEL PROCESO o EVENTO POR EL QUE ESPERA EL PROCESO o PRIORIDAD DEL PROCESO o INFORMACIÓN DE PLANIFICACIÓN

DESCRIPCIÓN DE LOS SEGMENTOS DE MEMORIA ASIGNADOS

AL PROCESO. RECURSOS ASIGNADOS, TALES COMO:

o ARCHIVOS ABIERTOS (tabla de descriptores o manejadores de archivos)

o PUERTOS DE COMUNICACIÓN ASIGNADOS PUNTEROS PARA ESTRUCTURAR LOS PROCESOS EN COLAS O

ANILLOS. COMUNICACIÓN ENTRE PROCESOS. EL BCP PUEDE

CONTENER ESPACIO PARA ALMACENAR LAS SEÑALES Y PARA ALGUN MENSAJE ENVIADO AL PROCESO.

SECCIONES CRITICAS CUANDO DOS O MAS PROCESOS LEEN O ESCRIBEN EN CIERTOS DATOS COMPARTIDOS Y EL RESULTADO FINAL DEPENDE DE QUIEN EJECUTA QUE Y EN QUE MOMENTO, RECIBEN EL NOMBRE DE CONDICIONES DE COMPETENCIA. LA SOLUCION QUE SE NECESITA A ESTE PROBLEMA SE LLAMA EXCLUSIÓN MUTUA (UNA FORMA DE GARANTIZAR QUE SI UN PROCESO UTILIZA UNA VARIABLE O ARCHIVO COMPARTIDOS, LOS DEMAS PROCESOS NO PUEDAN UTILIZARLOS).

EN ALGUNAS OCASIONES UN PROCESO PUEDE TENER ACCESO A LA MEMORIA COMPARTIDA DE ARCHIVOS. ESA PARTE DEL PROGRAMA, EN LA CUAL SE TIENE ACCESO A LA MEMORIA COMPARTIDA SE LLAMA LA SECCION CRITICA. NECESITAMOS 4 CONDICIONES PARA PODER OBTENER UNA BUENA SOLUCION:

1. DOS PROCESOS NO DEBEN ENCONTRARSE AL MISMO TIEMPO DENTRO DE SUS SECCIONES CRITICAS.

2. NO SE DEBEN HACER HIPÓTESIS SOBRE LA VELOCIDAD O EL

NUMERO DE CPU. 3. NINGUNO DE LOS PROCESOS QUE ESTEN EN EJECUCIÓN

FUERA DE SU SECCION CRITICA PUEDE BLOQUEAR A OTROS PROCESOS.

4. NINGUN PROCESO DEBE ESPERAR ETERNAMENTE PARA

ENTRAR A SU SECCION CRITICA.

S E M Á F O R O S UN SEMÁFORO ES UN MECANISMO DE SINCRONIZACION QUE SE UTILIZA GENERALMENTE EN SISTEMAS CON MEMORIA COMPARTIDA, BIEN SEA UN MONOPROCESADOR O UN MULTIPROCESADOR. UN SEMÁFORO ES UN OBJETO CON UN VALOR ENTERO, AL QUE SE LE PUEDE ASIGNAR UN VALOR INICIAL NO NEGATIVO Y AL QUE SOLO SE PUEDE ACCEDER UTILIZANDO DOS OPERACIONES ATOMICAS WAIT Y SIGNAL. WAIT (S) { S=S-1; IF (S<0) BLOQUEAR AL PROCESO } SIGNAL (S) { S=S+1; IF (S<=0) DESBLOQUEAR A UN PROCESO BLOQUEADO EN LA OPERACIÓN WAIT } CUANDO EL VALOR DEL SEMÁFORO ES MENOR O IGUAL QUE CERO, CUALQUIER OPERACIÓN WAIT QUE SE REALICE SOBRE EL SEMÁFORO BLOQUEARA EL PROCESO.

CUANDO EL VALOR DEL SEMÁFORO ES POSITIVO, CUALQUIER PROCESO QUE EJECUTE UNA OPERACIÓN WAIT NO SE BLOQUEARA. WAIT (S) SECCION CRITICA SIGNAL (S) NOTA: EL VALOR INICIAL DEL SEMÁFORO DEBE SER 1.

PROCESAMIENTO DE INTERRUPCIONES A CADA CLASE DE DISPOSITIVO DE E / S, SE LE ASOCIA UNA LOCALIDAD EN EL VECTOR DE INTERRUPCIONES.

1. EL HW ALMACENA EN UNA PILA EL CP.

2. EL HW CARGA EL NUEVO CP DEL VECTOR DE INT.

3. EL PROCEDIMIENTO EN LENGUAJE ENSAMBLADOR

RESGUARDA LOS REGISTROS.

4. EL PROCEDIMIENTO EN LENGUAJE ENSAMBLADOR

CONFIGURA LA NUEVA PILA.

5. EL PROCEDIMIENTO EN C SEÑALA EL PROCESO DE SERVICIO

COMO LISTO.

6. EL PLANIFICADOR DECIDE CUAL ES EL PROCESO QUE SE

EJECUTARA A CONTINUACIÓN.

7. EL PROCEDIMIENTO EN C REGRESA AL CODIGO EN

ENSAMBLADOR.

8. EL PROCEDIMIENTO EN ENSAMBLADOR INICIA EL PROCESO

ACTIVO.

B L O Q U E O S UN CONJUNTO DE PROCESOS SE BLOQUEA SI CADA PROCESO DEL CONJUNTO ESPERA UN EVENTO QUE SOLO PUEDE SER PROVOCADO POR OTRO PROCESO DEL CONJUNTO. CONDICIONES PARA UN BLOQUEO CONDICION DE EXCLUSIÓN MUTUA

CONDICION DE POSESION Y ESPERA

CONDICION DE NO APROPIACIÓN

CONDICION DE ESPERA CIRCULAR

EN GENERAL, SE UTILIZAN CUATRO ESTRATEGIAS PARA ENFRENTAR LOS BLOQUEOS:

1. SIMPLEMENTE IGNORAR TODO EL PROBLEMA

2. DETECCIÓN Y RECUPERACIÓN

3. EVITARLOS EN FORMA DINAMICA MEDIANTE UNA CUIDADOSA

ASIGNACIÓN DE RECURSOS.

4. PREVENCIÓN MEDIANTE LA NEGACIÓN ESTRUCTURAL DE UNA

DE LAS 4 CONDICIONES NECESARIAS.

EL ALGORITMO DEL AVESTRUZ “¿CUÁL PROBLEMA?”

DETECCIÓN Y RECUPERACIÓN DE BLOQUEOS SI SE USA ESTA TÉCNICA, EL SISTEMA NO INTENTA EVITAR LOS BLOQUEOS, SINO QUE DEJA QUE APAREZCAN, INTENTA DETECTAR CUANDO ESTO OCURRE Y DESPUÉS LLEVA A CABO UNA ACCION PARA RECUPERARSE DESPUÉS DEL HECHO.

RECUPERACIÓN DE UN BLOQUEO RECUPERACIÓN MEDIANTE LA APROPIACIÓN RECUPERACIÓN MEDIANTE ROLLBACK RECUPERACIÓN MEDIANTE LA ELIMINACIÓN DE PROCESOS

EVASIÓN DE BLOQUEOS EL SISTEMA DEBE PODER DECIDIR SI EL OTORGAMIENTO DE UN RECURSO ES SEGURO O NO Y ASIGNARLO SOLO EN CASO DE QUE SEA SEGURO.

PREVENCIÓN DE BLOQUEOS UNA VEZ QUE SABEMOS QUE ES IMPOSIBLE EVITAR LOS BLOQUEOS, PUES SE REQUIERE INFORMACIÓN ACERCA DE LAS FUTURAS SOLICITUDES (lo cual es desconocido), ¿CÓMO EVITAN LOS SISTEMAS REALES EL BLOQUEO?

ADMINISTRACIÓN DE MEMORIA EN UN SISTEMA DE MULTIPROGRAM,ACION, EL S.O DEBE ENCARGARSE DE REALIZAR UN REPARTO TRANSPARENTE, EFICIENTE Y SEGURO DE LOS RECURSOS. EN EL CASO DE LA MEMORIA, EL S.O CON EL APOYO DEL HARDWARE DE GESTION DE MEMORIA DEL PROCESADOR, DEBE REPARTIR UN ESPACIO DE MEMORIA INDEPENDIENTE PARA CADA PROCESO, EVITANDO UNA POSIBLE INTERFERENCIA VOLUNTARIA O INVOLUNTARIA. SEA CUAL SEA LA POLÍTICA DE GESTION DE MEMORIA UTILIZADA, LAS SIGUIENTES CARACTERÍSTICAS SON DESEABLES: OFRECER A CADA PROCESO UN ESPACIO LÓGICO PROPIO.

PROPORCIONAR PROTECCIÓN ENTRE LOS PROCESOS.

PERMITIR QUE LOS PROCESOS COMPARTAN MEMORIA.

DAR SOPORTE A LAS DISTINTAS REGIONES DEL PROCESO.

MAXIMIZAR EL RENDIMIENTO DEL SISTEMA.

PROPORCIONAR A LOS PROCESOS MAPAS DE MEMORIA MUY

GRANDES.

ORGANIZACIÓN DEL ALMACENAMIENTO POR ORGANIZACIÓN DEL ALMACENAMIENTO SE ENTIENDE LA FORMA DE CONSIDERAR EL ALMACENAMIENTO PRINCIPAL.

¿ EN EL ALMACENAMIENTO PRINCIPAL SE DEBE COLOCAR

SOLO UN USUARIO O VARIOS AL MISMO TIEMPO?

¿ SE LE ASIGNA A CADA USUARIO LA MISMA CANTIDAD DE

ESPACIO?

¿ SE PARTE EL ALMACENAMIENTO PRINCIPAL DE UNA FORMA

RIGIDA O DINAMICA?

¿ ES NECESARIO QUE CADA TRABAJO SE COLOQUE EN UN

BLOQUE CONTIGUO O QUE PUEDA DISTRIBUIRSE?

ADMINISTRACIÓN DE ALMACENAMIENTO LAS ESTRATEGIAS DE ADMINISTRACIÓN DE ALMACENAMIENTO DETERMINAN EL COMPORTAMIENTO DE UNA ORGANIZACIÓN DE ALMACENAMIENTO DETERMINADA CUANDO SE SIGUEN DIFERENTES POLÍTICAS: ¿CUÁNDO SE TOMA UN NUEVO PROGRAMA PARA COLOCARLO

EN MEMORIA?

¿SE TOMA EL PROGRAMA CUANDO EL SISTEMA LO SOLICITA O

SE INTENTA ANTICIPAR A LAS PETICIONES DEL SISTEMA?

¿EN QUE LUGAR DEL ALMACENAMIENTO PRINCIPAL SE

COLOCA EL SIGUIENTE PROGRAMA POR EJECUTAR?

¿LOS PROGRAMAS SE COLOCAN LO MAS CERCANO POSIBLE?

O ¿LO MAS RAPIDO POSIBLE?

JERARQUIA DE ALMACENAMIENTO LOS PROGRAMAS Y DATOS NECESITAN ESTAR EN EL ALMACENAMIENTO PRINCIPAL PARA SER EJECUTADOS O PARA PODER HACER REFERENCIA A ELLOS. ESTE DATO ¿ ES NECESARIO ? SI => MEMORIA PRINCIPAL ESTA DATO ¿ ES NECESARIO ? NO => MEMORIA SECUNDARIA EN LOS SISTEMAS CON VARIOS NIVELES DE ALMACENAMIENTO HAY MUCHAS TRANSFERENCIAS CONSTANTES DE PROGRAMAS Y DATOS ENTRE LOS DIFERENTES NIVELES. ESTAS TRANSFERENCIAS CONSUMEN RECURSOS DEL SISTEMA, COMO TIEMPO DE LA UCP, QUE DE OTRO MODO PODRIA UTILIZARSE CON PROVECHO. ¿UNA SOLUCION? MEMORIA CACHE

JERARQUIA DE MEMORIA

VALORES TIPICOS DE LA JERARQUIA DE MEMORIA

NIVEL DE MEMORIA CAPACIDAD TIEMPO /ACCESO TIPO /

ACCESO

REGISTROS 64 A 256 BYTES 1 A 5 ns PALABRA

MEMORIA CACHE

8 KB A 2 MB 5 A 20 ns PALABRA

MEMORIA PRINCIPAL

128 MB A 64 GB 60 A 200 ns PALABRA

DISCO 50 MB A 40 GB 10 A 30 ms SECTOR

NIVEL 0 NIVEL 1 NIVEL 2 NIVEL 3

GESTION HW GESTION S.O GESTION S.O

REG

MEM. CACHE

MEM. PRINCIPAL

D I S C O S

MEMORIA CACHE UN CACHE ALMACENA UNA COPIA DE LOS DATOS RECIENTEMENTE REFERENCIADOS EN UN DISPOSITIVO MAS RAPIDO QUE AQUEL EN EL QUE RESIDEN Y QUE NORMALMENTE ES UN DISCO.

VENTAJAS DE UN CACHE PERMITE EXPLOTAR EL PRINCIPIO DE PROXIMIDAD DE

REFERENCIAS. o PROXIMIDAD TEMPORAL o PROXIMIDAD ESPACIAL

POSIBILITA LA REALIZACIÓN DE LECTURAS ADELANTADAS

(PREFETCHING) DE BLOQUES ANTES DE QUE ESTOS SEAN SOLICITADOS POR LAS APLICACIONES.

PERMITE MEJORAR EL RENDIMIENTO DE LAS OPERACIONES

DE ESCRITURA UTILIZANDO POLÍTICAS DE ESCRITURA DIFERIDA O RETARDADA, LAS CUALES RETRASAN LA ESCRITURA DE LOS DATOS MODIFICADOS A LOS DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO.

LOCALIZACIÓN DE LA CACHE GRANULARIDAD DE LA CACHE

ESTRATEGIAS DE ADMINISTRACIÓN DEL ALMACENAMIENTO

LAS ESTRATEGIAS DE LA ADMINISTRACIÓN DEL ALMACENAMIENTO SE AJUSTAN PARA OBTENER EL MEJOR APROVECHAMIENTO POSIBLE DEL RECURSO DE ALMACENAMIENTO PRINCIPAL. ESTRATEGIAS DE OBTENCIÓN

ESTRATEGIAS DE OBTENCIÓN POR DEMANDA

ESTRATEGIAS DE OBTENCIÓN ANTICIPADA

ESTRATEGIAS DE COLOCACIÓN

ESTRATEGIAS DE REEMPLAZO

ESTRATEGIAS DE OBTENCIÓN DETERMINAN CUANDO DEBE OBTENERSE LA SIGUIENTE PARTE DEL PROGRAMA O LOS DATOS QUE SE VAN A TRASFERIR DEL ALMACENAMIENTO SECUNDARIO AL PRINCIPAL. ¿OBTENCIÓN POR DEMANDA? ¿OBTENCIÓN ANTICIPADA? LA MAS USUAL, LA OBTENCIÓN POR DEMANDA.

ESTRATEGIAS DE COLOCACIÓN TIENEN QUE VER CON LA DETERMINACIÓN DE LA PARTE DEL ALMACENAMIENTO PRINCIPAL DONDE SE COLOCARA UN PROGRAMA ENTRANTE. ESTRATEGIA DEL MEJOR AJUSTE: UN TRABAJO QUE ENTRE

EN EL SISTEMA SE COLOCARA EN EL HUECO DEL ALMACENAMIENTO PRINCIPAL EN EL QUE MEJOR AJUSTE Y QUE DEJE LA MENOR CANTIDAD POSIBLE DE ESPACIO SIN UTILIZAR.

ESTRATEGIA DEL PRIMER AJUSTE: UN TRABAJO QUE ENTRE,

SE COLOCARA EN EL PRIMER HUECO DISPONIBLE LO BASTANTE GRANDE PARA CONTENERLO. SU GRAN VENTAJA: PERMITE DECIDIR CON RAPIDEZ.

ESTRATEGIA DEL PEOR AJUSTE: CONSISTE EN COLOCAR UN

PROGRAMA EN EL HUECO DONDE PEOR SE AJUSTA, ES DECIR, EN EL HUECO MAS GRANDE POSIBLE. SU VENTAJA: QUEDA MAS ESPACIO PARA OTRO.

ESTRATEGIAS DE REEMPLAZO ESTAN RELACIONADAS CON LA DETERMINACIÓN DE QUE PARTE DEL PROGRAMA O DE LOS DATOS SE DEBE DESALOJAR PARA DEJAR ESPACIO A LOS PROGRAMAS ENTRANTES.

SISTEMA OPERATIVO

HUECO DE 16K

EN USO HUECO DE 14K

EN USO HUECO DE 5K

EN USO

HUECO DE 30K

SISTEMA OPERATIVO

HUECO DE 16K

EN USO HUECO DE 14K

EN USO HUECO DE 5K

EN USO

HUECO DE 30K

ESTRATEGIA DEL PEOR AJUSTE

SOLICITUD 13 g 30K

0 a b c d e f

Colocar el trabajo en el hueco mas grande en el que quepa.

Lista de almacenamiento libre

Dirección Inicial Longitud

(se mantiene en orden descendiente por tamaño de hueco).

ESTRATEGIA DEL PRIMER AJUSTE

SOLICITUD DE 13K a 16K

c 14K e 5K g 30K

0 a b c d e f g h

Colocar el trabajo en el primer hueco de la lista De almacenamiento libre en el que quepa.

Lista de almacenamiento libre

Dirección Inicial Longitud

(se mantiene ordenada por dirección, o a veces en orden aleatorio).

ESTRATEGIA DEL MEJOR AJUSTE

SOLICITUD DE 13K e 5K

c 14K a 16K g 30K

0 a b c d e f g h

Colocar el trabajo en el menor bloque en el que quepa.

Lista de almacenamiento libre

Dirección Inicial Longitud

(se mantiene en orden ascendente por tamaño de hueco).

ASIGNACIÓN DE ALMACENAMIENTO CONTIGUO Y NO CONTIGUO

EN LA ASIGNACIÓN DE ALMACENAMIENTO NO CONTIGUO UN PROGRAMA SE DIVIDE EN VARIOS BLOQUES O SEGMENTOS QUE SE PUEDEN COLOCAR EN LA MEMORIA, EN FRAGMENTOS QUE NO NECESITAN SER ADYACENTES. PARA UN S.O. ES MAS DIFÍCIL CONTROLAR ESTA SITUACIÓN, SIN EMBARGO, SI LA MEMORIA TIENE PEQUEÑOS HUECOS DISPONIBLES ES MAS FACIL CARGAR Y EJECUTAR PROGRAMAS QUE EN OTRO CASO DEBERÍAN DE ESPERAR.

SISTEMA OPERATIVO

HUECO DE 16K

EN USO HUECO DE 14K

EN USO HUECO DE 5K

EN USO

HUECO DE 30K

MULTIPROGRAMACION DE PARTICIÓN FIJA LOS PRIMEROS SISTEMAS DE MULTIPROGRAMACION UTILIZABAN LA MULTIPROGRAMACION CON PARTICION FIJA, EN LA CUAL EL ALMACENAMIENTO PRINCIPAL SE DIVIDIA EN PARTICIONES DE TAMAÑO FIJO. EN CADA PARTICIÓN PODIA HABER UN SOLO TRABAJO. SI UN TRABAJO ESTABA LISTO PARA SER EJECUTADO Y SU PARTICIÓN ESTABA OCUPADA, TENIA QUE ESPERAR, AUNQUE ESTUVIERAN LIBRES OTRAS PARTICIONES.

S.O

PART 1

PART 2

PART3

COLAS DE

TRABAJO

S.O

PART 1 (VACIA)

PART 2 (VACIA)

PART3

COLAS DE

TRABAJO TF TE TD TC TB TA

VACIA

VACIA

MULTIPROGRAMACION CON PARTICIONES VARIABLES AL OBSERVAR LOS PROBLEMAS DE LA MULTIPROGRAMACION CON PARTICIONES FIJAS, SE DECIDIO IMPLEMENTAR EN ESQUEMA DE MULTIPROGRAMACION CON PARTICIONES VARIABLES.

OCUPACIÓN DE LA MEMORIA

S.O

PART 1

PART 2

PART3

COLA DE

TRABAJOS

I H G F E D C B A

S.O

UA

LIBRE

S.O

UA

UB

LIBRE

S.O

UA

UB

UC

LIBRE

S.O

UA

UB

UC

UD

LIBRE

COLA DE

PROCESOS

CONDENSACIÓN DE HUECOS CUANDO TERMINA UN PROGRAMA EN UN SISTEMA DE MULTIPROGRAMACION CON PARTICIONES VARIABLES, EL ESPACIO LIBERADO SE REGISTRA NUEVAMENTE COMO UN HUECO ADICIONAL O COMO UN HUECO UNICO. EL PROCESO ES FUSIONAR HUECOS ADYACENTES PARA FORMAR UN SOLO HUECO MAS GRANDE SE DENOMINA CONDENSACIÓN.

COMPACTACION DEL ALMACENAMIENTO LA TÉCNICA DE COMPACTACION DEL ALMACENAMIENTO, IMPLICA TRASLADAR TODAS LAS AREAS OCUPADAS DEL ALMACENAMIENTO A ALGUN EXTREMO DE LA MEMORIA PRINCIPAL.

PROCESO DE COMPACTACION

S.O

EN USO

LIBRE

EN USO

LIBRE

EN USO

LIBRE

S.O

EN USO

EN USO

EN USO

LIBRE

EL S.O COLOCA TODOS LOS BLOQUES JUNTOS, CREANDO UN ESPACIO LIBRE GRANDE.

SISTEMA OPERATIVO

OTROS USUARIOS

HUECO DE 7K

OTROS USUARIOS

“HUECOS” DEL ALMACENAMIENTO EN LA MULTIPROGRAMACION CON PARTICIONES VARIABLES. CONDENSACIÓN DE LOS “HUECOS” DE ALMACENAMIENTO EN LA MULTIPROGRAMACION CON PARTICIONES VARIABLES.

El sistema operativo combina los huecos adyacentes para formar un hueco unico mas grande

el usuario a termina y libera su almacenamiento

El usuario D termina y libera su almacenamiento.

El usuario B termina y libera su almacenamiento.

SISTEMA OPERATIVO

USUARIO A

USUARIO B

USUARIO C

USUARIO D

USUARIO E

HUECO

SISTEMA OPERATIVO

USUARIO A

HUECO

USUARIO C

USUARIO D

USUARIO E

HUECO

SISTEMA OPERATIVO

USUARIO A

HUECO

USUARIO C

HUECO

USUARIO E

HUECO

SISTEMA OPERATIVO

OTROS USUARIOS

HUECO DE 2K

5K USUARIO A

OTROS USUARIOS

SISTEMA OPERATIVO

OTROS USUARIOS

HUECO DE 2K

HUECO DE 5K

OTROS USUARIOS

MULTIPROGRAMACION CON INTERCAMBIO DE ALMACENAMIENTO

EN CADA UNO DE LOS ESQUEMAS DE MULTIPROGRAMACION ANALIZADOS HASTA AHORA, LOS PROGRAMAS DE USUARIO PERMANECEN EN LA MEMORIA PRINCIPAL HASTA QUE SE COMPLETAN. OTRO ESQUEMA, DENOMINADO INTERCAMBIO (SWAPPING), CARECE DE DICHO REQUISITO.

ORGANIZACIÓN DE MEMORIA VIRTUAL EL TERMINO ALMACENAMIENTO VIRTUAL SUELE ASOCIARSE CON LA CAPACIDAD PARA OBTENER ACCESO A DIRECCIONES EN UN ESPACIO DE ALMACENAMIENTO MUCHO MAYOR QUE EL DISPONIBLE EN EL ALMACENAMIENTO PRIMARIO. LOS DOS METODOS MAS COMUNES PARA PONER EN PRACTICA EL ALMACENAMIENTO VIRTUAL SON: LA PAGINACIÓN Y LA SEGMENTACIÓN.

BENEFICIOS DE LA MEMORIA VIRTUAL SE PRODUCE UN AUMENTO DEL GRADO DE

MULTIPROGRAMACION AL NO SER NECESARIO QUE TODO EL MAPA DE MEMORIA DE UN PROCESO ESTE EN MEMORIA PRINCIPAL.

SE PUEDEN EJECUTAR PROGRAMAS MAS GRANDES QUE LA MEMORIA PRINCIPAL DISPONIBLE.

EVOLUCION DE LA ORGANIZACIÓN DEL ALMACENAMIENTO

PAGINACIÓN COMO SU NOMBRE INDICA, LA UNIDAD BASICA DE ESTE TIPO DE ESQUEMA ES LA PAGINA. LA PAGINA CORRESPONDE CON UNA ZONA DE MEMORIA CONTIGUA DE UN DETERMINADO TAMAÑO. POR

SISTEMAS DEDICADOS DE UN SOLO USUARIO

ALMACENAMIENTO REAL EN SISTEMAS DE MULTI-PROGRAMACION

MULTIPROGRAMA-CION CON PARTICIONES FIJAS

MULTIPROGRAMA-CION CON PARTICIONES VARIABLES

REAL REAL

VIRTUAL ALMACENAMIENTO VIRTUAL EN SISTEMAS DE MULTIPROGRAMACION

PAGINACIÓN PURA

SEGMENTAÓN

PURA

PAGINACIÓN/

SEGMENTAÓN COMBINADAS

MOTIVOS DE EFICIENCIA, ESTE TAMAÑO DEBE SER POTENCIA DE 2 (UN TAMAÑO DE PAGINA DE 4KB ES UN VALOR BASTANTE TIPICO). EL MAPA DE MEMORIA DE CADA PROCESO SE CONSIDERA DIVIDIDO EN PAGINAS. A SU VEZ, LA MEMORIA PRINCIPAL DEL SISTEMA SE CONSIDERA DIVIDIDA EN ZONAS DEL MISMO TAMAÑO QUE SE DENOMINAN MARCOS DE PAGINA.

ESQUEMA DE TRADUCCIÓN DE LA PAGINACIÓN CADA ENTRADA DE LA TABLA DE PAGINAS, ADEMÁS DEL NUMERO DE MARCO QUE CORRESPONDE CON ESA PAGINA, CONTIENE LA SIGUIENTE INFORMACIÓN: INFORMACIÓN DE PROTECCIÓN INDICACIÓN DE PAGINA VALIDA INDICACIÓN DE PAGINA ACCEDIDA INDICACIÓN DE PAGINA MODIFICADA DESACTIVACION DE CACHE

PAGINA BYTE

MARCO DE

PAGINA

TABLA DE PAGINAS (REGISTRO BASE)

DIRECCIÓN LOGICA

UNA DIRECCIÓN VIRTUAL EN UN SISTEMA DE PAGINACIÓN ES UN PAR ORDENADO (p,d) EN EL CUAL: p: ES EL NUMERO DE LA PAGINA DE ALMACENAMIENTO EN LA QUE RESIDE EL ELEMENTO AL QUE SE HACE REFERENCIA. d: ES EL DESPLAZAMIENTO DENTRO DE LA PAGINA P DONDE SE LOCALIZA DICHO ELEMENTO. UN PROCESO PUEDE EJECUTARSE SI SU PAGINA ACTIVA SE ENCUENTRA EN EL ALMACENAMIENTO PRIMARIO.

FORMAS DE TRADUCCIÓN TRADUCCIÓN DE DIRECCIONES EN LA PAGINACIÓN POR

CORRESPONDENCIA DIRECTA.

TRADUCCIÓN DE DIRECCIONES EN LA PAGINACIÓN POR

CORRESPONDENCIA ASOCIATIVA.

TRADUCCIÓN DE DIRECCIONES EN LA PAGINACIÓN CON

CORRESPONDENCIA COMBINADA ASOCIATIVA / DIRECTA.

SEGMENTACIÓN HASTA EL MOMENTO HA EXISTIDO LA LIMITACIÓN DE EJECUTAR LOS PROGRAMAS EN UN BLOQUE DE LOCALIDADES CONTIGUAS DE ALMACENAMIENTO REAL. EN LOS SISTEMAS DE ALMACENAMIENTO REAL CON SEGMENTACIÓN SE ELIMINA DICHA RESTRICCION Y UN PROGRAMA (Y SUS DATOS) PUEDEN OCUPAR MUCHOS BLOQUES SEPARADOS DE ALMACENAMIENTO REAL.

SISTEMA OPERATIVO

10K

10K

16K

7K

9K

14K

NECESIDADES DE ESPACIO DE LOS

TRABAJOS ENTRANTES

30K

ALMACENAMIENTO PRIMARIO

EN LOS SISTEMAS DE ALMACENAMIENTO VIRTUAL CON SEGMENTACIÓN, UNA DIRECCIÓN ES UN PAR ORDENADO V=(s,d). S: ES EL NUMERO DE SEGMENTO EN ALMACENAMIENTO VIRTUAL EN EL QUE SE ENCUENTRA EL ELEMENTO AL QUE SE HACE REFERENCIA. d: ES EL EMPLAZAMIENTO DENTRO DEL SEGMENTO S EN DONDE SE LOCALIZA DICHO ELEMENTO. UN SEGMENTO ENTRANTE PUEDE COLOCARSE EN CUALQUIER AREA DISPONIBLE DEL ALMACENAMIENTO PRIMARIO CUYO TAMAÑO SEA SUFICIENTE PARA CONTENERLO. LAS ESTRATEGIAS DE COLOCACIÓN PARA LA SEGMENTACIÓN SON IDÉNTICAS A LAS EMPLEADAS EN LA MULTIPROGRAMACION CON PARTICIONES VARIABLES, Y LAS TÉCNICAS MAS COMUNES SON LAS DEL PRIMER AJUSTE Y DEL MEJOR AJUSTE.

SISTEMAS DE PAGINACIÓN – SEGMENTACIÓN LOS SEGMENTOS TIENEN POR LO GENERAL UN TAMAÑO MÚLTIPLO DE PAGINAS; NO ES NECESARIO QUE TODAS LAS PAGINAS DE UN SEGMENTO ESTEN EN ALMACENAMIENTO PRIMARIO A LA VEZ, Y LAS PAGINAS QUE SON CONTIGUAS EN EL AMACENAMIENTO VIRTUAL NO SON POR FUERZA CONTIGUAS EN EL ALMACENAMIENTO REAL. V= (s, p, d) s: ES EL NUMERO DE SEGMENTO p: NUMERO DE PAGINA DENTRO DEL SEGMENTO d: EL DESPLAZAMIENTO DENTRO DE LA PAGINA

SEGMENTO

TABLA DE PROCESOS (PARA TODO EL

SISTEMA)

PROCESO

TABLAS DE CORRESPONDENCIA DE SEGMENTOS (UNO POR

CADA PROCESO)

TABLAS DE CORRESPONDENCIA DE PAGINAS (UNA POR SEGMENTO)

DIRECCIÓN DE LA TABLA DE SEGMENTOS

ALMACENAMIENTO REAL

DIRECCIONES DE MARCOS DE PAGINA

DIRECCIÓN DE LA TABLA DE

CORRESPONDENCIA DE PAGINAS

ESTRUCTURA DE TABLAS PARA UN SISTEMA CON PAGINACIÓN Y SEGMENTACIÓN. DOS PROCESOS COMPARTEN UN SEGMENTO EN UN SISTEMA CON PAGINACIÓN Y SEGMENTACION.

TABLA DE CORRESPONDENCIA DE

PAGINAS PARA UN SEGMENTO DEL

PROCESO A

TABLA DE CORRESPONDENCIA

DE SEGMENTOS PARA EL PROCESO A ALMACENAMIENTO

REAL

TABLA DE CORRESPONDENCIA

DE SEGMENTOS PARA EL PROCESO B

TABLA DE CORRESPONDENCIA DE

PAGINAS COMPARTIDAS

TABLA DE CORRESPONDENCIA DE

PAGINAS PARTA UN SEGMENTO DEL

PROCESO B

UNA PAGINA PERTENECIENTE

SOLO AL PROCESO A

UNA PAGINA COMPARTIDA POR

LOS PROCESOS A Y B

UNA PAGINA PERTENECIENTE

SOLO AL PROCESO A

A PAGE SHARED BY PROCESS A

AND B

ESTRATEGIAS DE ADMINISTRACIÓN DE LA MEMORIA VIRTUAL

EN EL TEMA SOBRE ALMACENAMIENTO REAL SE VIERON LAS ESTRATEGIAS DE ADMINISTRACIÓN DE MEMORIA PARA OBTENCIÓN, COLOCACIÓN Y REEMPLAZO. TALES ESTRATEGIAS SE VUELVEN A CONSIDERAR EN ALMACENAMIENTO VIRTUAL. ESTRATEGIAS DE OBTENCIÓN DETERMINAN CUANDO SE DEBE TRANSFERIR UNA PAGINA O UN SEGMENTO DEL ALMACENAMIENTO SECUNDARIO AL PRIMARIO. ESTRATEGIAS DE COLOCACIÓN DETERMINAN EN QUE LUGAR DEL ALMACENAMIENTO PRIMARIO SE DEBE COLOCAR UNA PAGINA O SEGMENTO ENTRANTE. ESTRATEGIAS DE REEMPLAZO SIRVEN PARA DECIDIR CUAL PAGINA O SEGMENTO SE DEBE DESPLAZAR PARA DEJAR ESPACIO A UNA PAGINA O SEGMENTO ENTRANTE.

ESTRATEGIAS DE REEMPLAZO DE PAGINAS EL PRINCIPIO DE OPTIMALIDAD EL PRINCIPIO DE OPTIMALIDAD ESTABLECE QUE, PARA OBTENER UN RENDIMIENTO OPTIMO, LA PAGINA QUE DEBE REEMPLAZARSE ES AQUELLA QUE TARDARA MAS TIEMPO EN VOLVER A SER UTILIZADA.

REEMPLAZO DE PAGINAS ALEATORIO SI SE BUSCA UNA ESTRATEGIA DE REEMPLAZO DE PAGINAS CON UN GASTO REDUCIDO Y QUE NO DISCRIMINE A CIERTOS USUARIOS, ESTA TÉCNICA PUEDE USARSE. ASI, TODAS LAS PAGINAS QUE SE ENCUENTRAN EN EL ALMACENAMIENTO PRINCIPAL TIENEN LA MISMA PROBABILIDAD DE SER ELEGIDAS PARA EL REEMPLAZO. REEMPLAZO DE PAGINAS DE PRIMERAS ENTRADAS – PRIMERAS SALIDAS (PEPS) EN EL REEMPLAZO (PEPS), PARA CADA PAGINA SE REGISTRA EL INSTANTE EN QUE ENTRO EN EL ALMACENAMIENTO PRIMARIO. CUANDO SE NECESITA REEMPLAZAR UNA PAGINA, SE ESCOGE LA QUE HA PERMANECIDO EN EL ALMACENAMIENTO DURANTE MAYOR TIEMPO. REEMPLAZO DE PAGINAS DE LA MENOS RECIENTEMENTE UTILIZADA (LRU) ESTA ESTRATEGIA SELECCIONA, PARA SU REEMPLAZO, A AQUELLA PAGINA QUE NO HA SIDO UTILIZADA DURANTE EL MAYOR TIEMPO. UN PROBLEMA UNA LLAMADA A PROCEDIMIENTOS PROFUNDAMENTE ANIDADOS.

REEMPLAZO DE PAGINAS DE LA MENOS FRECUENTEMENTE UTILIZADA (LFU) UNA APROXIMACIÓN A LRU ES LA ESTRATEGIA DE “LA MENOS FRECUENTEMENTE UTILIZADA” (LFU), EN LA CUAL LO IMPORTANTE ES LA INTENSIDAD CON LA QUE SE HA UTILIZADO CADA PAGINA; LA PAGINA POR REEMPLAZAR ES AQUELLA QUE SE HA USADO MENOS FRECUENTEMENTE O A LA QUE SE HA HECHO REFERENCIA CON MENOS FRECUENCIA. REEMPLAZO DE PAGINAS DE LA NO UTILIZADA RECIENTEMENTE (NUR) NO ES PROBABLE QUE SEAN UTILIZADAS PRONTO LAS PAGINAS QUE NO HAN SIDO UTILIZADAS FRECUENTEMENTE, POR LO QUE PUEDEN REEMPLAZARSE CON PAGINAS ENTRANTES. HERRAMIENTA DE APOYO, 2 BITS DE HW POR PAGINA:

1. BIT DE REFERENCIA 0 SI NO SE HA HECHO REFERENCIA 1 SI SE HA HECHO REFERENCIA

2. BIT DE MODIFICACIÓN 0 SI LA PAG. NO HA SIDO MODIFICADA

1 SI LA PAGINA HA SIDO MODIFICADA

GRUPO 1 SIN REFERENCIA NO MODIFICADO GRUPO 2 SIN REFERENCIA MODIFICADO GRUPO 3 CON REFERENCIA NO MODIFICADO GRUPO 4 CON REFERENCIA MODIFICADO

PAGINACIÓN POR DEMANDA EL SENTIDO INDICA QUE LAS PAGINAS DE UN PROCESO DEBEN CARGARSE POR DEMANDA. NO SE DEBE TRANSFERIR NINGUNA PAGINA DEL ALMACENAMIENTO SECUNDARIO AL PRIMARIO HASTA QUE UN PROCESO HAGA REFERENCIA A ELLA. LOS RESULTADOS DE LA TEORIA DE LA COMPUTABILIDAD,

ESPECÍFICAMENTE EL PROBLEMA DE LA DETENCIÓN, INDICAN QUE NO SE PUEDE PREDECIR CON PRECISION LA TRAYECTORIA DE EJECUCIÓN QUE SEGUIRA UN PROGRAMA.

LA PAGINACIÓN POR DEMANDA GARANTIZA QUE LAS UNICAS

PAGINAS QUE SE TRANSFIEREN AL ALMACENAMIENTO PRINCIPAL SON AQUELLAS QUE REQUIEREN LOS PROCESOS.

EL TRABAJO EXTRA REQUERIDO PARA DECIDIR CUALES

PAGINAS SE DEBEN TRANSFERIR AL ALMACENAMIENTO PRINCIPAL ES MINIMO.

PROBLEMAS DE LA PAGINACIÓN POR DEMANDA UN PROCESO DEBE ACUMULAR SUS PAGINAS UNA POR UNA; A MEDIDA QUE SE HACE REFERENCIA A CADA PAGINA NUEVA, EL PROCESO DEBE ESPERAR HASTA QUE ESA PAGINA SE TRANSFIERA AL ALMACENAMIENTO PRIMARIO. DEPENDIENDO DE CUANTAS PAGINAS DE ESTE PROCESO ESTEN YA EN EL ALMACENAMIENTO PRIMARIO, LAS ESPERAS SE HARAN MAS COSTOSAS A MEDIDA QUE MAYORES CANTIDADES DE ALMACENAMIENTO QUEDEN OCUPADAS POR PROCESOS EN ESPERA.

PAGINACIÓN ANTICIPADA EN LA PAGINACIÓN ANTICIPADA, EL S.O INTENTA PREDECIR CUALES PAGINAS NECESITARA UN PROCESO Y ENTONCES CARGA DICHAS PAGINAS CUANDO HAY ESPACIO DISPONIBLE. SI SE PUEDEN TOMAR LAS DECISIONES CORRECTAS EN CASI

TODOS LOS CASOS, SE REDUCIRA BASTANTE EL TIEMPO DE EJECUCIÓN DE UN PROCESO.

COMO EL HW DEL COMPUTADOR SE VUELVE CADA VEZ MAS

ECONOMICO, LAS CONSECUENCIAS DE UNA MALA DECISIÓN SON MENOS SERIAS. “SIEMPRE SE PUEDE COMPRAR MAS MEMORIA ¿NO? ”.

LIBERACIÓN DE PAGINAS LA LIBERACIÓN VOLUNTARIA DE PAGINAS PODRIA ELIMINAR EL DESPERDICIO Y ACELERAR LA EJECUCIÓN DE UN PROGRAMA, PERO LA MAYORIA DE LOS USUARIOS DE LOS SISTEMAS DE COMPUTO NI SIQUIERA SABEN QUE ES UNA PAGINA Y NO SE LES PUEDE PEDIR QUE TOMEN DECISIONES A NIVEL DEL SISTEMA.

TAMAÑO DE PAGINAS EN LOS SISTEMAS CON PAGINACIÓN, EL ALMACENAMIENTO REAL SE DIVIDE NORMALMENTE EN MARCOS DE PAGINA DE TAMAÑO FIJO. ¿QUÉ FACTORES DETERMINAN SI UNA PAGINA DEBE SER GRANDE O PEQUEÑA? CUANTO MENOR SEA EL TAMAÑO DE LA PAGINA, MAS

PAGINAS Y MARCOS DE PAGINA HABRA Y MAYORES TENDRAN QUE SER LOS TIEMPOS DE ESPERA.

CON LOS TAMAÑOS DE PAGINAS GRANDES, SE PAGINAN EN

EL ALMACENAMIENTO PRIMARIO GRANDES CANTIDADES DE INFORMACIÓN A LAS QUE QUIZA NUNCA SE HAGA REFERENCIA.

DADO QUE LA TRANSFERENCIA DE E / S DESDE EL DISCO SON

RELATIVAMENTE LENTAS, SE DESEA REDUCIR AL MINIMO EL NUMERO DE TRANSFERENCIA A QUE SE SOMETA UN PROGRAMA, A MENUDO QUE SE EJECUTA.

ADMINISTRACIÓN DEL PROCESADOR LA ASIGNACIÓN DE PROCESADORES FISICOS A LOS PROCESOS HACE POSIBLE QUE ESTOS REALICEN SU TRABAJO, Y TAL ASIGNACIÓN ES UN PROBLEMA COMPLEJO MANEJADO POR EL S.O.

NIVELES DE PLANIFICACION PLANIFICACIÓN DE ALTO NIVEL TAMBIEN CONOCIDA COMO PLANIFICACIÓN DE TRABAJO, DETERMINA CUALES TRABAJOS PODRAN COMPETIR ACTIVAMENTE POR LOS RECURSOS DEL SISTEMA O CUALES TRABAJOS PODRAN ADMITIRSE EN EL SISTEMA. PLANIFICACIÓN DE NIVEL INTERMEDIO DETERMINA QUE PROCESOS PUEDEN COMPETIR POR LA CPU. PLANIFICACIÓN DE BAJO NIVEL DETERMINA A CUAL PROCESO LISTO SE LE ASIGNARA LA CPU. LA PLANIFICACIÓN DE BAJO NIVEL SE REALIZA MEDIANTE EL DESPACHADOR (DISPATCHER).

PLANIFICACIÓN APROPIATIVA Y NO APROPIATIVA UNA DISCIPLINA DE PLANIFICACIÓN ES NO APROPIATIVA SI UNA VEZ QUE LA CPU HA SIDO ASIGNADA AL PROCESO, YA NO SE LE PUEDE ARREBATAR. UNA DISCIPLINA DE PLANIFICACIÓN ES APROPIATIVA SI AL PROCESO SE LE PUEDE ARREBATAR LA CPU.

PLANIFICACIÓN DE PRIMERAS ENTRADAS – PRIMERAS SALIDAS (PEPS)

TAL VEZ LA DISCIPLINA MAS SIMPLE DE PLANIFICACIÓN SEA LA DE PEPS. LOS PROCESOS SE DESPACHAN DE ACUERDO CON SU TIEMPO DE LLEGADA A LA COLA DE PROCESOS LISTOS. CUANDO UN PROCESO TIENE LA UCP, SE EJECUTA HASTA TERMINAR. LA DISCIPLINA PEPS ES NO APROPIATIVA.

PLANIFICACIÓN POR TURNO (RR) EN LA PLANIFICACIÓN POR TURNO (RR, ROUND ROBIN), LOS PROCESOS SE DESPACHAN EN FORMA PEPS, PERO SE LES ASIGNA UNA CANTIDAD LIMITADA DE TIEMPO DE UCP CONOCIDO COMO DIVISIÓN DE TIEMPO O QUANTUM. SI UN PROCESO NO TERMINA ANTES DE QUE EXPIRE SU TIEMPO DE UCP, SE LE QUITA LA UCP Y ESTA SE ASIGNA AL SIGUIENTE PROCESO EN ESPERA. EL PROCESO DESPOSEÍDO SE COLOCA AL FINAL DE LA LISTA DE PROCESOS LISTOS.

LISTA DE PROCESOS LISTOS

C B A UCP

TERMINACION

LISTA DE PROCESOS LISTOS

C B A UCP

APROPIACION

A

NOTA: TAMAÑO DEL QUANTUM

PLANIFICACIÓN POR PRIORIDAD DEL TRABAJO MAS CORTO (SJF)

SJF(SHORTEST- JOB- FIRST). ES UNA DISCIPLINA NO APROPIATIVA SEGÚN LA CUAL SE EJECUTA PRIMERO EL TRABAJO (O PROCESO) EN ESPERA QUE TIENE EL MENOR TIEMPO ESTIMADO DE EJECUCIÓN HASTA TERMINAR. SJF REDUCE EL TIEMPO DE ESPERA PROMEDIO DE PEPS, PERO, LOS TIEMPOS DE ESPERA TIENEN UNA VARIACIÓN MAS GRANDE (ES DECIR, SON MAS IMPREDECIBLES) QUE LOS PEPS, SOBRE TODO EN EL CASO DE TRABAJOS GRANDES.

PLANIFICACIÓN POR EL TIEMPO RESTANTE MAS CORTO (SRT)

SRT (SHORTEST – REMAINING – TIME SHEDULING). ES LA CONTRAPARTE APROPIATIVA DE SJF. EN SRT EL PROCESO CON EL MENOR TIEMPO ESTIMADO DE EJECUCIÓN PARA TERMINAR ES EL PRIMERO EN EJECUTARSE, INCLUYENDO LOS PROCESOS NUEVOS. EN SJF, UNA VEZ QUE UN TRABAJO COMIENZA SU EJECUCIÓN CONTINÚA HASTA TERMINAR. EN SRT, UN PROCESO ENEJECUCION PUEDE SER DESPOSEÍDO POR UNO NUEVO CON MENOR TIEMPO DE EJECUCIÓN ESTIMADO.

PLANIFICACIÓN POR PRIORIDAD DE LA TASA DE RESPUESTA MAS ALTA (HRN)

ESTA PLANIFICACIÓN CORRIGE ALGUNAS DEFICIENCIAS DE SJF, PARTICULARMENTE EL RETRASO EXCESIVO DE TRABAJOS LARGOS Y FAVORITISMO EXCESIVO PARA LOS TRABAJOS CORTOS. HRN ES UNA DISCIPLINA DE PLANIFICACIÓN NO APROPIATIVA EN LA CUAL LA PRIORIDAD DE CADA TRABAJO NO SOLO ES FUNCION DEL TIEMPO SE SERVICIO, SINO TAMBIEN DEL TIEMPO QUE HA ESPERADO EL TRABAJO PARA SER ATENDIDO. PRIORIDAD = TIEMPO DE ESPERA + TIEMPO DE SERVICIO TIEMPO DE SERVICIO NOTA: COLAS DE RETROALIMENTACIÓN EN MULTIPLES NIVELES PLANIFICACIÓN DE PORCION JUSTA

PARALELISMO SISD FLUJO UNICO DE INSTRUCCIONES FLUJO UNICO DE DATOS SIMD FLUJO UNICO DE INSTRUCCIONES FLUJO MÚLTIPLE DE DATOS MISD FLUJO MÚLTIPLE DE INSTRUCCIONES FLUJO UNICO DE DATOS MIMD FLUJO MÚLTIPLE DE INSTRUCCIONES FLUJO MÚLTIPLE DE DATOS

ESQUEMA DE CLASIFICACION

DE LAS ARQUITECTURAS

DE COMPUTADORAS

LA MAQUINA CON FLUJO MÚLTIPLE DE INSTRUCCIONES Y FLUJO MÚLTIPLE DE DATOS (MIMD) ES UN VERDADERO PROCESADOR PARALELO; LAS MAQUINAS DE ESTA CLASE SE CONOCEN COMO MULTIPROCESADORES. UNO DE LOS ATRACTIVOS DE LOS SISTEMAS DE MULTIPROCESAMIENTO CONSISTE EN QUE SI FALLA UN PROCESADOR, CASI SIEMPRE PUEDEN CONTINUAR TRABAJANDO LOS PROCESADORES RESTANTES. EL S.O DEBE DARSE CUENTA DE QUE UN PROCESADOR ESPECIFICO HA FALLADO Y YA NO ESTA DISPONIBLE PARA SER ASIGNADO, ADEMÁS DE SOPORTAR ESA FALLA, DICHA CAPACIDAD SE DENOMINA TOLERANCIA A FALLAS.

TÉCNICAS PARA LA TOLERANCIA A FALLAS SE DEBEN MANTENER VARIAS COPIAS DE LOS DATOS

CRITICOS PARA EL SISTEMA Y PARA LOS DIFERENTES PROCESOS.

EL SISTEMA OPERATIVO DEBE ESTAR DISEÑADO DE FORMA

TAL QUE PUEDA TRABAJAR DE MANERA EFICIENTE CON LA CONFIGURACIÓN MÁXIMA DEL HARDWARE Y CON SUBCONJUNTOS.

LAS FUNCIONES DE DETECCIÓN Y CORRECCION DE ERRORES

EN EL HARDWARE DEBEN ESTAR IMPLANTADAS DE TAL FORMA QUE SE EFECTÚEN COMPROBACIONES SIN INTERRUMPIR EL FUNCIONAMIENTO DEL SISTEMA.

SE DEBE APROVECHAR LA CAPACIDAD DE LOS

PROCESADORES OCIOSOS PARA TRATAR DE DETECTAR FALLAS POTENCIALES ANTES DE QUE OCURRAN.

LA DISPONIBILIDAD DE PROCESADAORES PARALELOS NO AFECTA EN NADA LA DISPONIBILIDAD DE RESOLVER O NO UN PROBLEMA; DESDE EL PUNTO DE VISTA TEORICO, SIMPLEMENTE PERMITE CALCULAR EL RESULTADO DE UN PROBLEMA RESOLUBLE EN MENOS TIEMPO. LOS PROGRAMADORES INDICAN PARALELISMO EXPLICITO UTILIZANDO UNA CONSTRUCCIÓN DE CONCURRENCIA COMO COBEGIN / COEND. COBEGIN PROPOSICIÓN –1; PROPOSICIÓN –2; PROPOSICIÓN –n; COEND EN UN SISTEMA DE MULTIPROCESAMIENTO DISEÑADO PARA APROVECHAR ESTA CONCURRENCIA SE PUEDEN UTILIZAR DIFERENTES PROCESADORES PARA EJECUTAR CADA UNA DE LAS PROPOSICIONES.

DISTRIBUCIÓN DE CICLOS ES POSIBLE QUE LAS INSTRUCCIONES DENTRO DEL CUERPO DE UN CICLO SE PUEDAN EJECUTAR EN PARALELO. FOR i = 1 TO 4 DO a(i) = b(i) + c(i) COBEGIN a (1) = b(1) + c (1); a (2) = b(2) + c (2); a (3) = b(3) + c (3); a (4) = b(4) + c (4); COEND

ESQUEMAS DE INTERCONEXION DE PROCESADORES UNO DE LOS PROBLEMAS FUNDAMENTALES EN EL DISEÑO DE LOS SISTEMAS DE MULTIPROCESAMIENTO ES DETERMINAR LA FORMA DE CONECTAR LOS MULTIPLES PROCESADORES Y LOS PROCESADORES DE E / S CON LAS UNIDADES DE ALMACENAMIENTO. DUCTO COMPARTIDO LA ORGANIZACIÓN DUCTO COMPARTIDO UTILIZA UNA SOLA TRAYECTORIA DE COMUNICACIÓN ENTRE TODOS LOS PROCESADORES DE COMUNICACIÓN Y LOS PROCESADORES DE E/S. VENTAJAS FACILITA LA ADICION DE NUEVAS UNIDADES, PARA QUE SE REALICE LA COMUNICACIÓN, CADA UNIDAD DEBE SABER CUALES OTRAS UNIDADES ESTAN CONECTADAS AL DUCTO. DESVENTAJAS LA TRAYECTORIA UNICA DE COMUNICACIÓN. EL DUCTO SOLO PUEDE MANEJAR UNA TRANSMISIÓN A LA VEZ. EL SISTEMA ENTERO FALLA SI EL DUCTO FALLA. MATRIZ DE CONMUTADORES CRUZADOS SI SE AUMENTA EL NUMERO DE DUCTOS EN UN SISTEMA DE DUCTO COMPARTIDO HASTA IGUALAR EL NUMERO DE UNIDADES DE ALMACENAMIENTO, SE CREA UNA ORGANIZACIÓN DE MULTIPROCESADORES DENOMINADA MATRIZ DE CONMUTADORES CRUZADOS. EN LA CUAL HAY UNA TRAYECTORIA DISTINTA HACIA CADA UNIDAD DE ALMACENAMIENTO.

VENTAJAS PUEDE MANEJAR TRANSMISORES SIMULTANEAS A TODAS LAS UNIDADES DE ALMACENAMIENTO, POR LO CUAL EL CONMUTADOR CRUZADO ES EL ESQUEMA DE INTERCONEXIÓN CON EL MEJOR RENDIMIENTO. DESVENTAJAS EL HARDWARE REQUERIDO PARA CONSTRUIR UN CONMUTADOR CRUZADO PUEDE SER MUY COMPLEJO. EL HIPERCUBO PERMITE CONECTAR UN GRAN NUMERO DE PROCESADORES EN FORMA RELATIVAMENTE ECONOMICA. HIPERCUBO DE 2 DIMENSIONES ES UN CUADRADO. HIPERCUBO DE 3 DIMENSIONES CONECTA LOS ELEMENTOS DE 2 HIPERCUBOS DE 2 DIMENSIONES. HIPERCUBO DE 4 DIMENSIONES CONECTA LOS ELEMENTOS DE 2 HIPERCUBOS DE 3 DIMENSIONES, ETC.

PRO

CES

AD

OR

PRO

CES

AD

OR

M

EMO

RIA

M

EMO

RIA

PR

OC

ESA

DO

R E

/ S

PR

OC

ESA

DO

R E

/ S

M

EMO

RIA

M

EMO

RIA

PR

OC

ESA

DO

R E

/ S

PR

OC

ESA

DO

R E

/ S

PRO

CES

AD

OR

PRO

CES

AD

OR

DU

CTO

OR

GA

NIZ

AC

IÓN

DE

MU

LTIP

RO

CES

AD

OR

ES C

ON

DU

CTO

CO

MPA

RTI

DO

MEMORIA

0

MEMORIA

1

MEMORIA

/

PROCESADOR

0

PROCESADOR

E/S 0

PROCESADOR

1

PROCESADOR

n

PROCESADOR

E/S 1

PROCESADOR

E/S K

ORGANIZACIÓN DE MULTIPROCESADORES CON MATRIZ DE CONMUTADORES CRUZADOS.

REDES DE INTERCONEXIÓN DE HIPERCUBO

A) HIPERCUBO DE DOS DIMENSIONES

B) CONEXIÓN DE DOS HIPERCUBOS DE DOS DIMENSIONES PARA FORMAR UN HIPERCUBO DE TRES DIMENSIONES.

C) CONEXIÓN DE DOS HIPERCUBOS DE DOS DIMENSIONES PARA FORMAR UN HIPERCUBO DE TRES DIMENSIONES.

PRINCIPIOS DE HARDWARE DE E / S A TRAVES DEL ESQUEMA GENERAL DE CONEXIÓN DE PERIFÉRICOS A UNA COMPUTADORA, SE PUEDEN DISTINGUIR 2 ELEMENTOS PRINCIPALES: PERFIFERICOS O DISPOSITIVOS DE E / S ELEMENTOS QUE SE CONECTAN A LA UNIDAD CENTRAL DE PROCESO A TRAVES DE LAS UNIDADES DE E / S. SON EL COMPONENTE MECANICO QUE SE CONECTA A LA COMPUTADORA. CONTROLADORES DE DISPOSITIVOS O UNIDADES DE E / S SE ENCARGAN DE HACER LA TRANSFERENCIA DE INFORMACIÓN ENTRE LA MEMORIA PRINCIPAL Y LOS PERIFÉRICOS. SON EL COMPONENTE ELECTRÓNICO A TRAVES DEL CUAL SE CONECTA EL DISPOSITIVO DE E/S. TIENEN UNA CONEXIÓN AL BUS DE LA COMPUTADORA Y OTRA PARA EL DISPOSITIVO (GENERALMENTE MEDIANTE CABLES INTERNOS O EXTERNOS). LAS CARACTERÍSTICAS DEL CONTROLADOR SON MUY IMPORTANTES, YA QUE DEFINEN EL ASPECTO DEL PERIFÉRICO PARA EL SISTEMA OPERATIVO ATENDIENDO A LAS CARACTERÍSTICAS DEL HARDWARE DE LOS DISPOSITIVOS, SE PUEDEN OBSERVAR LOS SIGUIENTES ASPECTOS DISTINTIVOS: DIRECCIÓN DE E / S EN GENERAL HAY 2 MODELOS DE DIRECCIONAMIENTO DE E/S, LOS QUE USAN PUERTOS Y LOS QUE PROYECTAN LOS REGISTROS EN MEMORIA.

UNIDAD DE TRANSFERENCIA LOS DISPOSITIVOS SUELEN USAR UNIDADES DE TRANSFERENCIA DE TAMAÑO FIJO. HAY DOS MODELOS CLÁSICOS DE DISPOSITIVOS: DE CARACTERES Y DE BLOQUES. INTERACCION COMPUTADORA – CONTROLADOR LA COMPUTADORA TIENE QUE INTERACCIONAR CON EL CONTROLADOR PARA REALIZAR LAS OPERACIONES DE E/S Y SABER CUANDO TERMINAN.

DISPOSITIVOS CONECTADOS POR PUERTOS

ARQ. INTEL ASIGNACIÓN DE PUERTO E/S,

INTERRUPCION Y VECTOR DE INTERRUPCIONES.

OPERACIONES PORT-IN Y PORT-OUT

DISPOSITIVOS PROYECTADOS EN MEMORIA

ARQ. MOTOROLA. RANGO DE DIRECCIONES DE MEMORIA INSTRUCCIONES DE MAQUINA PARA MANEJO

DE MEMORIA. ZONA DE MEMORIA RESERVADA PARA

ASIGNAR LAS DIRECCIONES DE E/S.

DISPOSITIVOS DE BLOQUE

ALMACENAMIENTO SECUNDARIO LOS BLOQUES SE DIRECCIONAN

INDEPENDIENTE UN DISCO 312 BYTES O 1 KB.

DISPOSITIVOS DE

CARACTERES

IMPRESORAS, MODEMS FLUJO DE CARACTERES DE FORMA LINEAL NO TIENEN ESTRUCTURA DE BLOQUES

INDEPENDIENTES.

PRINCIPIOS DE SOFTWARE DE E / S E / S PROGRAMADA LA TRANSFERENCIA DE INFORMACIÓN ENTRE UN PERIFÉRICO Y EL PROCESADAOR SE REALIZA MEDIANTE LA EJECUCIÓN DE UNA INSTRUCCIÓN DE E/S. TODO PROCESO ESPERA A QUE TERMINE LA OPERACIÓN. E / S DIRIGIDA POR INTERRUPCIONES SE EMITE UNA ORDEN DE E / S. EL PROCESADOR CONTINUA CON LA EJECUCIÓN DE LAS

INSTRUCCIONES. LLEGA UNA INTERRUPCION DEL DISPOSITIVO QUE INDICA QUE

SE HA REALIZADO LA OPERACIÓN SOLICITADA. ACCESO DIRECTO A LA MEMORIA (DMA) CUANDO SE UTILIZA DMA, ES EL CONTROLADOR EL QUE SE ENCARGA DIRECTAMENTE DE TRANSFERIR LOS DATOS ENTRE EL PERIFÉRICO Y LA MEMORIA PRINCIPAL, SIN REQUERIR INTERVENCIÓN ALGUNA POR PARTE DEL PROCESADOR. CUANDO EL PROCESADOR DESEA LEER O ESCRIBIR UN BLOQUE DE DATOS, ENVIA UNA ORDEN AL CONTROLADOR INDICÁNDOLE LA SIGUIENTE INFORMACIÓN:

E / S PROGRAMADA E / S DIRIGIDA POR INTERRUPCIONES

LA UCP SE ENCARGA DE LA TRANSFERENCIA DE DATOS UNA VEZ QUE HAY DATOS.

TIPO DE OPERACIÓN: LECTURA O ESCRITURA. PERIFÉRICO INVOLUCRADO EN LA OPERACIÓN. LA DIRECCIÓN DE MEMORIA DESDE LA QUE SE VA A LEER O A

LA QUE VA A ESCRIBIR DIRECTAMENTE EL CONTROLADOR DEL DISPOSITIVO.

EL NUMERO DE BYTES A TRANSFERIR (CONTADOR) LOS PASOS A SEGUIR EN UNA OPERACIÓN DE E / S CON DMA SON LOS SIGUIENTES:

1. PROGRAMACIÓN DE LA OPERACIÓN DE E/S. 2. EL CONTROLADOR CONTESTA ACEPTANDO LA PETICIÓN DE

E/S.

3. EL CONTROLADOR LE ORDENA AL DISPOSITIVO QUE LEA (PARA OPERACIÓN DE LECTURA) UNA CIERTA CANTIDAD DE DATOS DESDE UNA POSICIÓN DETERMINADA DEL DISPOSITIVO A SU MEMORIA INTERNA.

4. CUANDO LOS DATOS ESTAN LISTOS, EL CONTROLADOR LOS

COPIA A LA POSICIÓN DE MEMORIA QUE TIENE EN SUS REGISTROS, INCREMENTA DICHA POSICIÓN DE MEMORIA Y DECREMENTA EL CONTROLADOR DE DATOS PENDIENTES DE TRANSFERIR.

5. LOS PASOS 3 Y 4 SE REPITEN HASTA QUE NO QUEDAN MAS

DATOS POR LEER.

6. CUANDO EL REGISTRO DE CONTADOR ESTA A CERO, EL CONTROLADOR INTERRUMPE A LA UCP PARA INDICAR QUE LA OPERACIÓN DE DMA HA TERMINADO.

CU

ENTA

DE

DA

TOS

REG

ISTR

OS

DE

DA

TOS

REG

ISTR

OS

DE

DIR

ECC

ION

LO

GIC

A

DE

CO

NTR

OL

LIN

EAS

DE

DA

TOS

LIN

EAS

DE

DIR

ECC

ION

ES

SOLI

CIT

UD

DE

DM

A

REC

ON

OC

IMIE

NTO

DE

DM

A

INTE

RR

UPC

ION

LE

CTU

RA

ES

CR

ITU

RA

DIA

GR

AM

A D

E B

LOQ

UES

DE

UN

DM

A T

IPIC

O

UN MODELO DE ORGANIZACIÓN DE E /S

PRO

CES

OS

DE

USU

AR

IO

GES

TIO

N D

E D

IREC

TOR

IOS

SIST

EMA

DE

AR

CH

IVO

OR

GA

NIZ

AC

IÓN

FI

SIC

A

E/S

CO

N

DIS

POSI

TIV

OS

PLA

NIF

ICA

CIÓ

N

Y C

ON

TRO

L

H

AR

DW

AR

E

PRO

CES

OS

DE

USU

AR

IO

AR

QU

ITEC

TUR

A D

E C

OM

UN

ICA

CIO

NES

E/S

CO

N

DIS

POSI

TIV

OS

PLA

NIF

ICA

CIÓ

N

Y C

ON

TRO

L

H

AR

DW

AR

E

PRO

CES

OS

DE

USU

AR

IO

E / S

LO

GIC

A

E/S

CO

N

DIS

POSI

TIV

OS

PLA

NIF

ICA

CIÓ

N

Y C

ON

TRO

L

H

AR

DW

AR

E

A) D

ISPO

SITI

VO

PER

IFÉR

ICO

LO

CA

L B

) PU

ERTO

DE

CO

MU

NIC

AC

ION

ES

C) S

ISTE

MA

DE

ARC

HIV

OS

ETH

ERN

ET D

E G

IGA

BIT

PAN

TALL

A G

RA

FIC

A

DIS

CO

DU

RO

ESC

AN

ER

ETH

ERN

ET

DIS

CO

OPT

ICO

IMPR

ESO

RA

LA

SER

DIS

CO

FLE

XIB

LE

MO

DEM

RA

TON

TEC

LAD

O

101

102

103

104

105

106

107

108

109

VEL

OC

IDA

D D

E D

ATO

S (B

PS)

VEL

OC

IDA

DES

DE

DA

TOS

DE

DIS

POSI

TIV

OS

DE

E / S

TIP

ICO

S

ESPE

RA

PO

R

DIS

POSI

TIV

O

ESPE

RA

PO

R

CA

NA

L

BUSQ

UED

A

RET

AR

DO

D

E G

IRO

TR

AN

SFER

ENC

IA

DE

DA

TOS

DIS

POSI

TIV

O O

CU

PAD

O

ME

DIA

DE

UN

A T

RA

NSF

ER

EN

CIA

DE

E /

S A

DIS

CO

ADMINISTRACIÓN DE DISCOS SIENDO EL ALMACENAMIENTO SECUNDARIO LA PRINCIPAL FUENTE PROVEEDORA PARA LA MEMORIA PRINCIPAL, ES NECESARIO CONOCER SU ADMINISTRACIÓN Y MANEJO. TERMINOS A CONOCER EL TIEMPO QUE LE TOMA A LOS DATOS GIRAR DESDE LA POSICIÓN EN QUE SE ENCUENTRAN HASTA UNA POSICIÓN ADYACENTE A LA CABEZA DE ESCRITURA-LECTURA SE LLAMA TIEMPO DE LATENCIA. EL PROCESO DE DESPLAZAR EL BRAZO MOVIL HACIA UN NUEVO CILINDRO SE CONOCE COMO TIEMPO DE BÚSQUEDA. EL TIEMPO DE GIRO DE LA CABEZA, PARA LA LECTURA DE UN REGISTRO SE CONOCE COMO TIEMPO DE TRANSMISIÓN. CARACTERÍSTICAS DESEABLES DE LAS POLÍTICAS DE PLANIFICACIÓN DE DISCO LA PRODUCTIVIDAD EL TIEMPO PROMEDIO DE RESPUESTA LA VARIANZA DE LOS TIEMPOS DE RESPUESTA

(PREDECIBILIDAD)

ESTRATEGIAS DE BÚSQUEDA EN DISCO FCFS (PRIMERO EN LLEGAR, PRIMERO EN SER ATENDIDO) NO

HAY REORDENAMIENTO DE LA COLA. SSTF (PRIMERO EL MENOR TIEMPO DE BÚSQUEDA) EL BRAZO

DEL DISCO SE TRASLADA ENSEGUIDA (EN CUALQUIER DIRECCIÓN) A LA PETICIÓN QUE REQUIERE UN MOVIMIENTO MINIMO.

SCAN EL BRAZO DEL DISCO SE MUEVE HACIA ADENTRO Y HACIA FUERA, ATENDIENDO TODAS LAS PETICIONES QUE SE ENCUENTRAN A SU PASO. CAMBIA SU DIRECCIÓN SOLO CUANDO NO HAY MAS PETICIONES QUE ATENDER EN LA DIRECCIÓN ACTUAL.

C-SCAN (SCAN CIRCULAR) EL BRAZO DEL DISCO SE MUEVE EN

UNA SOLA DIRECCIÓN SOBRE LA SUPERFICIE HACIA LA PISTA MAS INTERIOR. CUANDO NO HAY MAS PETICIONES EN ESA DIRECCIÓN REGRESA PARA ATENDER LA PETICIÓN MAS CERCANA A LA PISTA EXTERIOR Y DE NUEVO SE MUEVE HACIA ADENTRO.

SCAN DE N PASOS EL BRAZO DEL DISCO SE MUEVE IGUAL

QUE EN SCAN, PERO LAS PETICIONES QUE LLEGAN DURANTE EL BARRIDO EN UNA DIRECCIÓN SE ALMACENAN Y REORDENAN PARA DARLES UN SERVICIO OPTIMO DURANTE EL BARRIDO DE RETORNO.

ESQUEMA DE ESCHENBACH EL MOVIMIENTO DEL BRAZO DEL

DISCO ES CIRCULAR COMO EN C-SCAN PERO CON VARIAS DIFERENCIAS IMPORTANTES. FUE DISEÑADO PARA UN SISTEMA DE RESERVACIONES DE UNA LINEA AEREA.

2 4 3 1

PATRON DE BÚSQUEDA ALEATORIO FCFS. LOS NUMEROS INDICAN EL ORDEN DE LLEGADA DE LAS PETICIONES.

PATRON DE BÚSQUEDA LOCALIZADA SSTF

PLANIFICACIÓN SCAN CON DIRECCIONES PREFERIDAS

BARRIDO HACIA AFUERA

BARRIDO HACIA ADENTRO

PLANIFICACIÓN C-SCAN

PETICIONES QUE LLEGARON DESPUÉS DE QUE COMENZO EL

BARRIDO HACIA ADENTRO

BARRIDO HACIA ADENTRO SALTO HACIA LA PETICIÓN MAS EXTERIOR SIGUIENTE BARRIDO HACIA ADENTRO

PLANIFICACIÓN SCAN DE N PASOS

PETICIONES QUE LLEGARON DESPUÉS DE QUE COMENZO EL

BARRIDO HACIA ADENTRO

BARRIDO HACIA ADENTRO

BARRIDO HACIA AFUERA

SISTEMAS DE ARCHIVOS TODAS LAS APLICACIONES DE COMPUTADORA NECESITAN ALMACENAR Y RECUPERAR INFORMACIÓN. TRES REQUISITOS ESENCIALES PARA EL ALMACENAMIENTO DE INFORMACIÓN A LARGO PLAZO:

1. DEBE SER POSIBLE ALMACENAR UNA GRAN CANTIDAD DE INFORMACIÓN.

2. LA INFORMACIÓN DEBE SOBREVIVIR A LA TERMINACIÓN DEL

PROCESO QUE LA USA.

3. MULTIPLES PROCESOS DEBEN PODER ACCEDER A LA INFORMACIÓN DE FORMA CONCURRENTE.

LA SOLUCION USUAL A TODAS ESTAS EXIGENCIAS ES ALMACENAR LA INFORMACIÓN EN DISCOS Y OTROS MEDIOS EXTERNOS EN UNIDADES LLAMADAS ARCHIVOS. “ UN ARCHIVO ES UNA UNIDAD DE ALMACENAMIENTO LÓGICO NO VOLÁTIL QUE AGRUPA UN CONJUNTO DE INFORMACIÓN RELACIONADA ENTRE SI BAJO UN MISMO NOMBRE ”. DESDE EL PUNTO DE VISTA DEL USUARIO, EL ARCHIVO ES LA UNICA FORMA DE GESTIONAR EL ALMACENAMIENTO SECUNDARIO.

GLOBALMENTE, LA PARTE DEL SISTEMA OPERATIVO QUE SE OCUPA DE LOS ARCHIVOS SE DENOMINA SISTEMA DE ARCHIVOS. PARA EL USUARIO, LOS ARCHIVOS SON CONTENEDORES DE INFORMACIÓN DE UN TIPO DEFINIDO POR SU CREADOR: ARCHIVO ASCII ARCHIVOS BINARIOS

NOTA: EL SISTEMA OPERATIVO UNÍX TIENE UN TIPO PECULIAR DE ARCHIVOS DENOMINADOS ARCHIVOS ESPECIALES. DESDE EL PUNTO DE VISTA DEL SISTEMA OPERATIVO, UN ARCHIVO TIENE: NOMBRE

IDENTIFICADOR UNICO

TIPO DE ARCHIVO

MAPA DEL ARCHIVO

PROTECCIÓN

TAMAÑO DEL ARCHIVO

INFORMACIÓN TEMPORAL

INFORMACIÓN DE CONTROL DEL ARCHIVO

ESTRUCTURA DE ARCHIVOS

LOS ARCHIVOS PUEDEN ESTRUCTURARSE DE VARIAS MANERAS:

NOTA: YO COMO USUARIO ¿CÓMO PERCIBO LA DIFERENCIA?

ACCESO A ARCHIVOS

LOS PRIMEROS SISTEMAS OPERATIVOS OFRECÍAN UN TIPO DE ACCESO A LOS ARCHIVOS ACCESO SECUENCIAL. EN ESTOS SISTEMAS, TODO SE LEIA EN ORDEN SOBRE LA MISMA SECUENCIA, SIN TENER FLEXIBILIDAD (DESORDEN).

SECUENCIA BYTES

SECUENCIA REGISTROS ARBOL

EL SISTEMA OPERATIVO DEBE PROPORCIONAR, AL MENOS: UNA ESTRUCTURA DE ARCHIVO GENERICO PARA DAR

SOPORTE A TODOS LOS TIPOS DE ARCHIVO.

UN MECANISMO DE NOMBRADO.

FACILIDADES DE PROTECCIÓN PARA LOS ARCHIVOS.

CONJUNTO DE SERVICIOS QUE EXPLOTEN EL

ALMACENAMIENTO SECUNDARIO Y EL SISTEMA DE E / S.

TRES FORMAS DE ESCRIBIR ARCHIVOS PARA UNIX PARA MS-DOS PARA WINDOWS NT - TIPO DE ARCHIVO Y - NOMBRE - CABECERA PROTECCIÓN - ATRIBUTOS - ATRIBUTOS - NUMERO - SIZE KB - TAMAÑO - PROPIETARIO - NOMBRE - GRUPO PROPIETARIO - AGRUPACIÓN - SEGURIDAD - TAMAÑO FAT - DATOS - INSTANTE DE CREACIÓN - VCLUSTERS - INSTANTE DEL ULTIMO ACCESO - INSTANTE DE LA ULTIMA MODIFICACION - PUNTERO A BLOQUE DE DATOS - PUNTERO INDIRECTO

CUANDO SE EVOLUCIONA SE HIZO POSIBLE LEER LOS BYTES O REGISTROS DE UN ARCHIVO EN DESORDEN, O ACCEDER A LOS REGISTROS POR LLAVE, NO POR POSICIÓN. LOS ARCHIVOS CUYOS BYTES O REGISTROS SE PUEDEN LEER EN CUALQUIER ORDEN SE DENOMINA ARCHIVOS DE ACCESO ALEATORIO.

SEGURIDAD LA SEGURIDAD TIENE MUCHAS FACETAS. DOS DE LAS MAS IMPORTANTES SON LA PERDIDA DE DATOS Y LOS INTRUSOS. ALGUNAS DE LAS CAUSAS COMUNES DE LA PERDIDA DE DATOS SON:

1. ACTOS DIVINOS: INCENDIOS, INUNDACIONES, TERREMOTOS, GUERRAS, MOTINES O RATAS QUE MORDISQUEAN CINTAS, DISCOS O CD.

2. ERRORES DE HARDWARE O SOFTWARE: FALLAS DE CPU,

DISCOS O CINTAS ILEGIBLES, ERRORES DE TELECOMUNICACIÓN, ERRORES EN PROGRAMAS.

3. ERRORES HUMANOS: CAPTURA INCORRECTA DE DATOS,

EJECUTAR UN PROGRAMA INDEBIDO, PERDER UN DISCO O ALGUNA OTRA EQUIVOCACIÓN.

AL DISEÑAR UN SISTEMA DE MODO QUE SEA SEGURO FRENTE A LOS INTRUSOS, ES IMPORTANTE TENER PRESENTE LA CLASE DE INTRUSO CONTRA LA QUE SE ESTA TRATANDO EL SISTEMA.

1. CURISEO CASUAL POR PARTE DE USUARIOS NO TÉCNICOS. 2. INTROMISIÓN POR PARTE DE GENTE DE ADENTRO.

3. INTENTO DECIDIDO POR HACER DINERO.

4. ESPIONAJE COMERCIAL O MILITAR.

ELEMENTOS DE ATAQUE CABALLO DE TROYA. ES AQUEL EN QUE UN PROGRAMA AL PARECER INOCENTE QUE SE DISTRIBUYE AMPLIAMENTE TAMBIEN REALIZA ALGUNA FUNCION INESPERADA E INDESEABLE, COMO ROBAR DATOS Y ENVIARLOS POR CORREO ELECTRÓNICO. BOMBA LOGICA. ESTE DISPOSITIVO ES UN FRAGMENTO DE CODIGO ESCRITO, EN EL CUAL MIENTRAS UN PROGRAMADOR LE SUMINISTRA SU CONTRASEÑA DIARIA, LA BOMBA NO HACE NADA.

TÉCNICAS DE DISEÑO DE SISTEMAS SEGUROS SEPARACIÓN DE RECURSOS USO DE ENTORNOS VIRTUALES

DISEÑO POR CAPAS

SEPARACIÓN DE RECURSOS UNA DE LAS FORMAS MAS SEGURAS Y EFICACES DE EVITAR PROBLEMAS DE SEGURIDAD ES SEPARAR LOS RECURSOS DE LOS DISTINTOS USUARIOS O DOMINIOS, DE FORMA QUE NO PUEDAN COMPARTIRLOS O QUE LA FORMA DE COMPARTIRLOS ESTE COMPLETAMENTE CONTROLADA A TRAVES DE UN MEDIO DE COMUNICACIÓN FIABLE. FÍSICA TEMPORAL CRIPTOGRAFICA LOGICA

USO DE ENTORNOS VIRTUALES ESTE MECANISMO ES MUY IMPORTANTE PARA DISEÑAR SISTEMAS OPERATIVOS SEGUROS, PORQUE PERMITEN PROPORCIONAR SEPARACIÓN LOGICA DE FORMA NATURAL. OBVIAMENTE, LOS ENTORNOS VIRTUALES DEBEN APOYARSE EN RECURSOS REALES. LOS ESPACIOS MULTIPLES DE MEMORIA VIRTUAL. LAS MAQUINAS VIRTUALES.

RECOMENDACIONES FINALES EJECUTAR SOFTWARE FIABLE

SOSPECHAR DE LOS PROCESOS

EJECUTAR LOS PROCESOS CON CONFINAMIENTO

REGISTRAR LOS ACCESOS

BUSCAR PERIÓDICAMENTE AGUJEROS DE SEGURIDAD