CAP 7: DEADLOCK (BLOQUEO MUTUO

November 22, 2017 | Autor: A. Iglesias Kotowicz | Categoria: N/A
Share Embed


Descrição do Produto

CAP 7: DEADLOCK (BLOQUEO MUTUO) 1) RECURSOS: necesidad de procesos (consumidores).es todo aquello que lleva a un estado de bloqueo de proceso. Son administrados por el SO. Recursos de tipo físico o lógico consumibles y reutilizables. TIPO: COMPARTIBLES Y uso EXCLUSIVO. PROTOCOLO DE USO: 3 PASOS SOLICITE -USE- LIBERE. 2) BLOQUEO MUTUO: recursos de tipo uso exclusivo. Un proceso que tiene un recurso excluye a todo proceso que quiera usarlo. ambos quedan bloqueados esperando eventos que no sucederán jamás. SE LLEVAN LOS RECURSOS A LA TUMBA! :p (QUE GRACIOSO 3) RECURSOS CONSUMIBLES: los procesos lo consumen y no se puede reutilizar. (datos de buffer). RECURSOS REUTILIZABLES: alguien espera que libere los recursos. 4) CONDICIONES PARA OCURRENCIAS DE DEADLOCK: 4Condiciones 1) Todos los recursos tipo exclusión mutua – 2) Retención y espera – 3) sin desalojo, liberación voluntaria no se puede quitar recursos. – 4) espera circular (proceso retiene recursos mientras esperan otros). METODOS PARA ENFRENTAR EL DEADLOCK: 6)PREVENCION: hacer que nunca el sistema caiga en deadlock. 7)EVITACION: predicción, simulación. 8)DETECCION Y RECUPERACION: si el sistema está perdiendo rendimiento se lanza un algoritmo y hace detección si hay o no deadlock. 9)IGNORAR: no tiene en cuenta la existencia del deadlock.

CAP 8 y 9: ADMINISTRACION DE MEMORIA 10) NOMBRES SIMBOLICOS: o direcciones, creatividad de programador. (variables) identificación con símbolos. 11) DIRECCIONES LOGICAS: tiene sentido para el proceso. Se puede generar a partir de la compilación. Arranca en cero. 12) DATOS ESTATICOS: aquellos datos al que acceden los procesos que fueron definidos en el momento de la compilación. Son globales definido y no definidos. Están en Área de datos. DATOS DINAMICO: pueden ser usados por el proceso en medio de la ejecución. Aparecen en el hep.

13) CONTENIDO DE PILAS: estructura de datos rápido.(direccionamiento rápido) Cuando voy de un procedimiento a otro deben guardarse en “área temporal que son las pilas”. en cada marco se guarda dirección de retorno, parámetros y variables locales del procedimiento anterior. En sistemas monolíticos tienen dos áreas USUARIO Y KERNEL, no hay cambio de proceso se ejecuta dentro del mismo. 14) HEAP: área en sentido creciente en direcciones se opone al crecimiento de las pilas, reservada para variables dinámicas. 15) MEMORIA COMPARTIDA DE PROCESOS E HILOS: aparecen siempre que ambos procesos hagan llamada al sistema para compartir páginas o segmentos. La de los HILOS comparten toda la memoria en procesos no llaman al sistema acceden normalmente. 16) DIRECCION FISICA: lee de memoria que puede ser virtual o reubicable y la mmu la convierte en dirección física. es la que aparece en el buff de direcciones para hacer operaciones lectura y escritura. 17) CODIGO ABSOLUTO: código que se supone que no va a cambiar. Es aquel ejecutable que genero el compilador y el enlazador y quedaron como archivo ejecutable un punto obj. 18) MOMENTO DE LA TRADUCCION DE DIRECCIONES LOGICAS A FISICAS: a) COMPILACION: traducción de programa fuente a ensamblador. b) ENLASADOR O MONTAJE: construye y une piezas antes de que se ejecute. Generando un único cero (código absoluto). c) CARGA: louder lee del disco y lo carga en la dirección que el so lo indique. Puede ser cargador inteligente (acomode direcciones) o cargador tonto (carga en cualquier dirección) d) EJECUCION: Recién se hace la conversión en dirección física porque el programa se puede mover. Calculo de instrucción por instrucción. 19) CODIGO REUBICABLE: genera el compilador y es el montador el que reubica esa pieza estáticamente. 20) MMU: es dispositivo que traduce las direcciones de lógicas a físicas por hardware. REGISTRO REUBICACION: cambiar registro puntero y reubico. 21) INTERCAMBIO (SWAPPING): métodos de multiprogramación saca el programa en ejecución y cargar otro. entre disco y memoria. Intercambio de programa completo. 22) MEMORIA VIRTUAL: Técnica de admin de memoria implica que un programa no debe cargarse totalmente en la RAM sino las partes que se necesitan. Cargar si hace falta. 23) DIRECCION VIRTUAL: dirección simbólica se convierten en virtual, deben señalizar en que parte se encuentra lo que estoy direccionando. Dupla - nro. página -desplazamiento. Se mantienen en archivo en ejecutable.

24) PAGINACION , en memoria virtual: se refiere a que el proceso es dividido en porciones. a proceso se le asigna una tabla de pagina y a tabla de marco de pagina una por so. Ocupa toda la RAM. Y pierde tiempo. El procesador fija el tamaño de pagina. Paginas del mismo tamaño. 25) SEGMENTACION , VENTAJAS , TABLAS Y ESTRUCTURA DE DATOS NECESARIAS : Es una tecnica de memoria virtual nacio para evitar los prob de la paginacion, ahora se carga todo un segmento,es de tamaño variable por lo cual genera huecos (fragmentación externa en listas de espacios vacios). Tamaño variable- Necesita de una MMU mas compleja, necesita de tabla de segmentos y lista de espacio vacios 26) FRAGMENTACIÓN EXTERNA: Existe un espacio total de memoria que satisface una solicitud, pero no es contigüa: espacios no asignados a nadie no pueden ser aprovechados, Esta en la tabla de segmentos para reducir se usa la compactación (comprimiendo los segmentos). FRAGMENTACION INTERNA: Espacio asignado a un proceso, ni el ni nadie lo usa 26) TLB: Parte de la MMU, Buffer de traduccion anticipada, lleva control de las ultimas 64, 32 traducciones de direcciones logicas a fisicas o viceversa. Levanto el rendimiento de la ejecuccion 27) Fallo de pagina: Es una llamada al sistema operativo, llamada implicita cuando el hardware se da cuenta xq el la MMU le pasa la pagina que quiere traducir y se da cuenta que no esta cargada. Pasar al estado de bloqueo el proceso, pasar por peticion de disco. Razones por las cuales los SO de tiempo real no usan Memoria Virtual. 28) Asignacion local (estatica) o global (dinamica) de la memoria: Se refiere a que la asignacion local es a los procesos les doy 32 marcos y arreglense con eso, si falta espacio hacer reemplazo. En la global todo es de todos, si un proceso necesita mas espacio que otro se le da mas, Mas eficiente ya que no tiene tantos reemplazos de pagina. 29) Algoritmos de reemplazo: FIFO: Primero en entrar primero en salir, pagina a ser reemplazada es la mas vieja. No es lo mejor LRU: La menos recientemente usada va a ser sacada OPTIMO: Mira al futuro, la que va a ser demandada despues Aproximaciones: Se hace un algoritmo de segunda oportunidad, como un FIFO, aquellas paginas que sean demandadas de nuevo se las marca xq puede ser usada de nuevo. 30) Politica del conjunto de trabajo. Implementacion: Un conjunto de paginas que un programa necesita, se lo fija en base a la demanda que vaya a hacer un proceso se fija una ventana de tiempo, se fija en la 1000 demandas de pagina que tubo un proceso si fueron solo 5 su WS (working set) es de 5. WINDOWS NT USA ESTA PORONGA!!!!

Cap 10,11 y 12: Archivos 31) Archivo, Definicion: Es una abstraccion, concepto o idealizacion y lo ofrecieron como ventaja para guardar sus datos en este contenedor logico. Es un flujo de bits y el sentido (semantica) la da el programador. El archivo tiene sentido en el soporte. Tiene un Nombre y una extencion. 32) Directorios, Concepto y definicion: Directorios son archivos particulares, los nombres de directorios deben ser unicos. Mantienen informacion de otros archivos, tienen permisos que son definidos por el duenio. 33) Dispositivos orientados a bloques y a caracteres: Dipositivos conectados al computador que transmiten porciones de bytes que son identificables con un numero (bloques), el sistema debe reconocer donde empieza un bloque y donde termina. Bloque conjunto de sectores potencias de 2 va a guardarse en soportes como DVD, disco, o cintas. Caracteres: Mouse, Teclado Modem, se recibe un flujo de caracteres que van o vienen del dispositivo. Los disp orientados a bloques se los ve como archivos y esos se cargan en los dispositivos. El driver de disco recibe los pedidos y el se encarga de escribir o leer. Los disp de caracteres: Son disp crudos, son archivos crudos, se los ve directamente 34) Manejador de dispositivos (drivers): Son programas que me entrega el fabricante para comandar un dispositivo, cuando el SO vea que esta direccionado a ese Disp, llama al driver y el se comunica con la placa controladora. 35) Rutinas de interrupcion (manejador): Es el codigo de SO que debo ejecutar para atender un evento en el dispositivo, Son lo mas importante del SO. El reloj es importante xq se mide con la rapidez de atencion, se van anidando interrupciones de acuerdo a la importancia 36) Archivos: vision logica y fisica: Se debe hacer una conversion de una direccion logica de registro a numero de bloques donde se asignan estos registros. No explica un carajo que va se 37) Gestor de archivos: Es un administrador de archivos que maneja e interpreta los archivos que estan guardados en un sistema de archivos (estructuras arbol) Me da las operaciones que puedo hacer con el archivo, Es el que me permite hacer los permisos. 38) Open: Llamada al sistema obligatoria para trabajar con archivos, abrira el archivo con tal operación, se crea una ligadura entre un proceso y el archivo me devuelve el numero file descriptor, para las futuras operaciones Close: Corto la ligadura proceso archivo, un mismo archivo puede ser abierto por mas de 1 proceso. 39) Read: Especificar la cantidad de bytes que quiero leer. Write: Trata de modificar el contenido de un archivo con los datos de memoria principal, es mas limitante que el read. El escritor debe estar solo accediendo al buffer. Establecer la cantidad de bytes que quiero que se transfieran desde el archivo hacia la memoria. EXCLUSION MUTUA ESTO PREGUNTA SI O SI, ACORDATE KAREEEEEEN! READ y WRITE llegan al buffer Open y Close NOOOOOOO!

40) Como se corresponden los registros logicos sobre los bloques fisicos: Traduccion de numero de bloque a numero fisico, Modelo de UNIX, tabla de descriptores de archivos dan info de donde esta cargado el archivo. 41) Descriptor de Archivo o i-nodo en UNIX: En cada particion de disco en UNIX hay una tabla de descripcion de archivos (DIRECTORIO, DISPOSITIVO, PIPE, ENLACE SIMBOLICO) 42) Necesidad de Enlaces: Se puede trazar un enlance (link) para que otro usuario pueda verlo por su PATH con sus permisos. Enlaces Duros: se establecen en un mismo sistema de archivo cuando comparten memoria Enlaces Logicos: se realizan cuando el sistema de archivos es diferente. 43) Asignaciones fisicas de los bloques: Contigua: Se eligen los bloques vecinos, mismo cilindro Enlazada: Pongo un puntero que me manda al siguiente indexada: Necesito guardar en un bloque las direcciones de datos de donde esta cargado el archivo, tiene mas ventajas 44) FAT: File Allocation Table (Tabla de asignacion de archivos) MS-DOS, estaba previsto para sistema de archivos pequenos, max 3 niveles de directorios, 256 archivos por cada sub-directorio. El 32 en FAT significa cuantos bits tiene la direccion de bloque. Ingreso a la tabla FAT con un numero de bloque. Se arma una lista enlazada, utliza dos tablas, por si se rompe una 45) Asignacion fisica en UNIX System V: De cada i-nodo surgen 10 punteros hacia los datos del archivo,si el archivo queria seguir creciendo surgia un 11avo puntero hacia un bloque indice con 128 punteros hacia bloques de datos, luego se expandio a 13 punteros para llegar a 1GB 46) Administracion de espacio libre en disco: Cuando los archivos piden bloque libre para poder crecer el sist de archivos tiene que permitir darle un bloque libre para que crezca, el bit vector, si el bit esta en 0 el bloque esta desocupado 47) Planificacion de disco: Hay que organizar las peticiones para que el movimiento del brazo sea eficiente FCFS: First Come First Served (Primero que llega primero en atenderse) De acuerdo a como llegan, de la 1 a la 100, etc. Trabaja mucho el brazo pobre chango. SSTF: Ni el sabe como se llama (Acceso mas cercano primero) trabaja menos el brazo SCAN: Ascensor desde abajo hasta arriba y viceversa levanta los pedidos que encuentra LOOK: Se mueve hasta el ultimo pedido y vuelve, sale del SCAN

48) Tablas en el File System de UNIX: en disco y en MP: Hay una tabla por cada particion de disco en UNIX. Una tabla en memoria principal por archivos abiertos. El SO abre 3 archivos por defecto el Standard Input, Standard Ouput, Standard Error. -Tabla FILE lleva control de los punteros para las aperturas. -Tabla de archivos abiertos en memoria Hay 4 tipos. 49) Campos de un descriptor de archivo en disco y en mp: La info de un archivo en disco consiste en el tamanio, los permisos, los accesos y en memoria principal se agrega: cuantos procesos abren el archivo para cuidar la exclusion mutua, el numero de indice donde se encuentra el archivo. 50) RAID de discos: Arreglo redundante de discos independientes, Conjunto de disco fisicos para formar un disco logico, para que si le pasa algo a uno recupero los datos de otros discos. Permite sacar datos en paralelo. 51) Archivos mapeados en memoria: Cuando un programa pide apertura de un archivo se le da al proceso un puntero con los permisos necesarios para que direccione a la posicion del kernel y no haya que copiarle buffer de datos. EJEMPLO: El archivo monitor (pantalla) el usuario escribe en bufferes del proceso y eso esta conectado por VGA, el SO escribira en las direcciones del monitor los datos que quiero mostrar. Las memorias de tipo monitor tienen 2 patas para que el usuario escriba y otra para el SO.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.