Sistemas Operativos I Procesos
Proceso <ul><li>Proceso: Programa en ejecución. </li></ul><ul><li>Las computadoras modernas pueden hacer varias cosas al m...
Proceso (a) Multiprogramación de cuatro programas. (b) Modelo conceptual de cuatro procesos secuenciales independientes.  ...
Proceso <ul><li>Creación de procesos: </li></ul><ul><ul><li>La inicialización del sistema </li></ul></ul><ul><ul><li>La ej...
Estados de los Procesos <ul><li>Los bloques de control de los procesos se almacenan en colas, cada una de las cuales repre...
Estados activos <ul><li>Son aquellos que compiten con el procesador o están en condiciones de hacerlo. Se dividen en: </li...
Estados inactivos: <ul><li>Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por med...
Implementación de Procesos <ul><li>Tabla de procesos (bloque de control de procesos). </li></ul><ul><li>Es una estructura ...
Interrupciones <ul><li>Recurso que utiliza un dispositivo cuando necesita detener el proceso que está realizando la CPU. <...
Núcleo o Kernel <ul><li>Funciones: </li></ul><ul><li>Creación  y finalización de procesos. </li></ul><ul><li>Cambios de es...
Sistema de Archivos
Sistema de Archivos <ul><li>Requisitos esenciales para el almacenamiento de información a largo plazo. </li></ul><ul><ul><...
Sistema de Archivos <ul><li>Nombres de archivos. </li></ul><ul><li>Cuando un proceso crea un archivo le asigna un nombre, ...
Sistema de Archivos <ul><li>Estructura de archivos. </li></ul><ul><li>Los archivos pueden estructurarse de varias maneras....
Sistema de Archivos <ul><li>Tipos de archivos. </li></ul><ul><li>Existen varios tipos de archivos. </li></ul><ul><ul><li>N...
Sistema de Archivos <ul><li>Acceso a archivos. </li></ul><ul><li>Secuencial: se comienza en el primer byte del archivo y s...
Sistema de Archivos <ul><li>Operaciones con Archivos: </li></ul><ul><li>Llamadas al sistema mas comunes. </li></ul><ul><ul...
Sistema de Archivos <ul><li>Directorios: </li></ul><ul><li>En muchos sistemas son también archivos. </li></ul><ul><li>Sist...
Sistema de Archivos <ul><li>Nombres de ruta: </li></ul><ul><li>Existen dos métodos para especificar las rutas de archivos....
Sistema de Archivos <ul><li>Operaciones con Directorios: </li></ul><ul><li>Llamadas al sistema para  administrar directori...
Entrada/Salida <ul><li>El S.O. debe controlar todos los dispositivos de Entrada/Salida. </li></ul><ul><ul><li>Enviar coman...
E/S - Principios del Hardware <ul><li>Pueden verse desde la programación o del diseño y construc-ción, nos interesa el pun...
E/S – Controladores de dispositivos <ul><li>Las unidades de entrada salida consisten en un componente mecánico y otro elec...
E/S – Acceso directo a memoria (DMA) <ul><li>Muchos controladores (en especial dispositivos por bloques) manejan el acceso...
E/S - Principios del Software <ul><li>El software se organiza como una serie de capas, las inferiores ocultan las peculiar...
E/S - Principios del Software <ul><li>Transferencias síncronas (bloqueo) o asíncronas (interrupciones): </li></ul><ul><ul>...
E/S - Principios del Software <ul><li>Estos objetivos pueden lograrse estructurando el software en cuatro capas. </li></ul...
E/S - Principios del Software <ul><li>2. Controladores de dispositivos: </li></ul><ul><li>Cada controlador maneja un tipo ...
E/S - Principios del Software <ul><li>3. Software de E/S independiente del dispositivo. </li></ul><ul><li>Su función básic...
E/S - Principios del Software <ul><li>4. Software de E/S de espacio de usuario. </li></ul><ul><li>Procedimientos de biblio...
E/S - Principios del Software <ul><li>Las cuatro capas de software del sistema de E/S. </li></ul>
E/S – Bloqueo mutuo <ul><li>Los sistemas de cómputo tienen muchos recursos que sólo pueden ser utilizados por un proceso a...
E/S – Bloqueo mutuo <ul><li>Secuencia de sucesos necesaria para utilizar un recurso. </li></ul><ul><li>Solicitar Recurso. ...
Memoria <ul><li>En general una computadora  tienen: </li></ul><ul><ul><li>Memoria cache (volátil, pequeña, rápida y costos...
Administración de Memoria <ul><li>Los sistemas de administración de memoria se pueden dividir en dos clases: </li></ul><ul...
Administración de Memoria <ul><li>Mono programación sin intercambio ni paginación: </li></ul><ul><li>Esquema sencillo, se ...
Administración de Memoria <ul><li>Multiprogramación con particiones fijas: </li></ul><ul><li>Se divide la memoria en parti...
Administración de Memoria <ul><li>Multiprogramación con particiones fijas: </li></ul>
Administración de Memoria <ul><li>Intercambio: </li></ul><ul><li>Consiste en traer a la memoria cada proceso en su totalid...
Administración de Memoria <ul><li>Administración de la memoria con mapa de bits </li></ul><ul><ul><li>Se divide la memoria...
Administración de Memoria <ul><li>Memoria virtual </li></ul><ul><ul><li>Se basa en la idea de que el tamaño combinado del ...
Administración de Memoria <ul><li>Paginación: </li></ul><ul><li>El espacio de direcciones virtual se divide en unidades ll...
Administración de Memoria <ul><li>Paginación: </li></ul>
Próxima SlideShare
Cargando en…5
×

Conceptos fundamentales 2ª Diapositiva

925 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
925
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
16
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Conceptos fundamentales 2ª Diapositiva

  1. 1. Sistemas Operativos I Procesos
  2. 2. Proceso <ul><li>Proceso: Programa en ejecución. </li></ul><ul><li>Las computadoras modernas pueden hacer varias cosas al mismo tiempo. </li></ul><ul><li>La CPU ejecuta un solo programa a la vez, en el curso de un segundo puede ejecutar varios programas, creando la ilusión de paralelismo. </li></ul><ul><li>El modelo esta organizado en una serie de procesos secuenciales. </li></ul><ul><li>La constante conmutación de la CPU es lo que llamamos multiprogramación. </li></ul>
  3. 3. Proceso (a) Multiprogramación de cuatro programas. (b) Modelo conceptual de cuatro procesos secuenciales independientes. (c) Sólo un programa está activo en cada momento.
  4. 4. Proceso <ul><li>Creación de procesos: </li></ul><ul><ul><li>La inicialización del sistema </li></ul></ul><ul><ul><li>La ejecución por parte de un proceso (en ejecución) de una llamada al sistema de creación de un nuevo proceso. </li></ul></ul><ul><ul><li>La petición por parte del usuario de la creación de un nuevo proceso. </li></ul></ul><ul><ul><li>El inicio de un trabajo en batch. </li></ul></ul><ul><li>Terminación de procesos: </li></ul><ul><ul><li>El proceso completa su trabajo y termina (voluntariamente). </li></ul></ul><ul><ul><li>El proceso detecta un error y termina (voluntariamente). </li></ul></ul><ul><ul><li>El sistema detecta un error fatal del proceso y fuerza su terminación. </li></ul></ul><ul><ul><li>Otro proceso fuerza la terminación del proceso (por ejemplo en UNIX mediante la llamada al sistema kill). </li></ul></ul>
  5. 5. Estados de los Procesos <ul><li>Los bloques de control de los procesos se almacenan en colas, cada una de las cuales representa un estado particular de los procesos, existiendo en cada bloque, entre otras informaciones. </li></ul><ul><li>Los estados de los procesos son internos del sistema operativo y transparentes al usuario. </li></ul><ul><li>Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos. </li></ul>
  6. 6. Estados activos <ul><li>Son aquellos que compiten con el procesador o están en condiciones de hacerlo. Se dividen en: </li></ul><ul><li>En ejecución (utilizando realmente la CPU en ese instante). </li></ul><ul><li>Preparado (ejecutable; detenido temporalmente para permitir que otro proceso se ejecute). </li></ul><ul><li>Bloqueado (incapaz de ejecutarse hasta que tenga lugar algún suceso externo). </li></ul>
  7. 7. Estados inactivos: <ul><li>Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de ciertas operaciones. </li></ul><ul><li>En estos estados se mantiene la información del proceso hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio. Son de dos tipos: </li></ul><ul><li>Suspendido bloqueado. Es el proceso que fue suspendido en espera de un evento, sin que hayan desaparecido las causas de su bloqueo. </li></ul><ul><li>Suspendido programado. Es el proceso que han sido suspendido, pero no tiene causa para estar bloqueado. </li></ul>
  8. 8. Implementación de Procesos <ul><li>Tabla de procesos (bloque de control de procesos). </li></ul><ul><li>Es una estructura de datos que contiene la información correspondiente al proceso. </li></ul><ul><ul><li>Estado actual del proceso. </li></ul></ul><ul><ul><li>Hora de inicio. </li></ul></ul><ul><ul><li>Reparto de memoria. </li></ul></ul><ul><ul><li>Situación de los archivos abiertos. </li></ul></ul><ul><ul><li>Todos los datos necesarios al momento de conmutar del estado ejecución a los otros a fin de poder reanudar su ejecución. </li></ul></ul>
  9. 9. Interrupciones <ul><li>Recurso que utiliza un dispositivo cuando necesita detener el proceso que está realizando la CPU. </li></ul><ul><li>Pueden ser producidas por el hardware( al mover el ratón, ingresar una tecla) o por el software( cuando un programa necesita leer del disco duro). </li></ul><ul><li>Cuando ocurre una interrupción el control es transferido al Sistema Operativo, este guarda los datos correspondientes al proceso en ejecución y pasa a ejecutar el proceso correspondiente </li></ul><ul><li>Todas estas operaciones son controladas por una parte del sistema operativo que se llama Núcleo o Kernel. </li></ul>
  10. 10. Núcleo o Kernel <ul><li>Funciones: </li></ul><ul><li>Creación y finalización de procesos. </li></ul><ul><li>Cambios de estados de los mismos. </li></ul><ul><li>Sincronización de procesos. </li></ul><ul><li>Comunicación de procesos. </li></ul><ul><li>Manejo de interrupciones. </li></ul><ul><li>Soporte de actividades de Entrada /Salida. </li></ul><ul><li>Soporte del sistema de archivos. </li></ul><ul><li>Soporte de funciones contables del Sistema operativo. </li></ul>
  11. 11. Sistema de Archivos
  12. 12. Sistema de Archivos <ul><li>Requisitos esenciales para el almacenamiento de información a largo plazo. </li></ul><ul><ul><li>Posibilidad de almacenar grandes cantidades de información. </li></ul></ul><ul><ul><li>La información debe sobrevivir al proceso que la usa. </li></ul></ul><ul><ul><li>Debe poder ser accedidas por múltiples procesos. </li></ul></ul><ul><li>Solución: almacenar en discos en unidades llamadas archivos. </li></ul>
  13. 13. Sistema de Archivos <ul><li>Nombres de archivos. </li></ul><ul><li>Cuando un proceso crea un archivo le asigna un nombre, este sobrevive al proceso y puede ser accedido por el mismo u otro proceso utilizando este nombre. </li></ul><ul><li>Las reglas para nombrar archivos varían de un sistema a otro. </li></ul><ul><li>Todos los sistemas permiten cadenas de 1 a 8 caracteres. </li></ul><ul><li>Los mas actuales permiten cadenas de 256 caracteres. </li></ul><ul><li>Algunos distinguen entre mayúsculas y minúsculas (UNIX) y otros no (MS-DOS). </li></ul><ul><li>Muchos sistemas reconocen nombres en dos partes. (archivo.txt, archivo.zip, archivo.c) </li></ul>
  14. 14. Sistema de Archivos <ul><li>Estructura de archivos. </li></ul><ul><li>Los archivos pueden estructurarse de varias maneras. </li></ul><ul><ul><li>Secuencia de Bytes (máxima flexibilidad). </li></ul></ul><ul><ul><li>Secuencia de registros de longitud fija (en desuso). </li></ul></ul><ul><ul><li>Árbol de registros (registros de longitud variable, se acceden por una clave, el árbol esta ordenado por esta). </li></ul></ul>
  15. 15. Sistema de Archivos <ul><li>Tipos de archivos. </li></ul><ul><li>Existen varios tipos de archivos. </li></ul><ul><ul><li>Normales (información del usuario). </li></ul></ul><ul><ul><li>Directorios (sirven al S.O. para mantener la estructura del sistema de archivos. </li></ul></ul><ul><ul><li>Por caracteres y por bloques (UNIX), para modelar dispositivos E/S como terminales, impresoras y redes. </li></ul></ul><ul><li>Los archivos normales son generalmente ASCII o binarios </li></ul>
  16. 16. Sistema de Archivos <ul><li>Acceso a archivos. </li></ul><ul><li>Secuencial: se comienza en el primer byte del archivo y se leen byte a byte hasta el fin (cinta). </li></ul><ul><li>Aleatorio: Se pueden leer en desorden o acceder a los registros por clave (discos). (S.O. actuales) </li></ul><ul><li>Atributos de Archivos: </li></ul><ul><li>Información adicional que guarda el S.O. sobre el archivo (fecha, hora de creación, tamaño). </li></ul><ul><li>Varían considerablemente de un Sistema a otro. </li></ul><ul><li>Solo lectura, ocultos, del sistema, contraseña, etc. </li></ul>
  17. 17. Sistema de Archivos <ul><li>Operaciones con Archivos: </li></ul><ul><li>Llamadas al sistema mas comunes. </li></ul><ul><ul><li>CREATE: crea archivo sin datos, establece algunos atributos. </li></ul></ul><ul><ul><li>DELETE: elimina el archivo. </li></ul></ul><ul><ul><li>OPEN: abre el archivo, el sistema obtiene los atributos y lo coloca en memoria para agilizar acceso. </li></ul></ul><ul><ul><li>CLOSE: cierra el archivo, libera espacio en tablas internas y memoria. </li></ul></ul><ul><ul><li>READ: se leen datos del archivo. </li></ul></ul><ul><ul><li>WRITE: se escriben datos en el archivo. </li></ul></ul><ul><ul><li>SEEK: carga en el apuntador la posición actual en el archivo. </li></ul></ul><ul><ul><li>GET ATTRIBUTES: lee los atributos del archivo. </li></ul></ul><ul><ul><li>SET ATTRIBUTES: establece atributos del archivo. </li></ul></ul><ul><ul><li>RENAME: Cambia el nombre a un archivo existente. </li></ul></ul>
  18. 18. Sistema de Archivos <ul><li>Directorios: </li></ul><ul><li>En muchos sistemas son también archivos. </li></ul><ul><li>Sistemas de directorios jerárquicos: </li></ul><ul><ul><li>Un directorio para todos los archivos del sistema. </li></ul></ul><ul><ul><li>Un directorio para cada usuario del sistema. </li></ul></ul><ul><ul><li>Estructura de árbol: </li></ul></ul><ul><ul><li>cada usuario puede tener </li></ul></ul><ul><ul><li>tantos directorios como </li></ul></ul><ul><ul><li>necesite. </li></ul></ul>
  19. 19. Sistema de Archivos <ul><li>Nombres de ruta: </li></ul><ul><li>Existen dos métodos para especificar las rutas de archivos. </li></ul><ul><ul><li>Nombre de ruta absoluto : consiste en la ruta desde el directorio raíz hasta el archivo </li></ul></ul><ul><ul><li>Nombre de ruta relativo : se utiliza en combinación con el concepto de directorio de trabajo ( directorio actual). </li></ul></ul>
  20. 20. Sistema de Archivos <ul><li>Operaciones con Directorios: </li></ul><ul><li>Llamadas al sistema para administrar directorios varían mas de un sistema a otro que las de archivos. Los ejemplos corresponden a UNIX </li></ul><ul><ul><li>CREATE: crea un directorio. </li></ul></ul><ul><ul><li>DELETE: elimina un directorio. </li></ul></ul><ul><ul><li>OPENDIR: abre el directorio (para leerse y listar los archivos contenidos). </li></ul></ul><ul><ul><li>CLOSEDIR: cierra el directorio. </li></ul></ul><ul><ul><li>RENAME: Cambia el nombre de un directorio. </li></ul></ul>
  21. 21. Entrada/Salida <ul><li>El S.O. debe controlar todos los dispositivos de Entrada/Salida. </li></ul><ul><ul><li>Enviar comandos. </li></ul></ul><ul><ul><li>Detectar interrupciones. </li></ul></ul><ul><ul><li>Manejar errores. </li></ul></ul><ul><ul><li>Interfaz entre los dispositivos y el resto del sistema. </li></ul></ul>
  22. 22. E/S - Principios del Hardware <ul><li>Pueden verse desde la programación o del diseño y construc-ción, nos interesa el punto de vista desde la programación. </li></ul><ul><li>Dispositivos de E/S: Se dividen en dos categorías: </li></ul><ul><li>Dispositivos por bloques. </li></ul><ul><ul><li>Almacenan información en bloques de tamaño fijo, deben manejarse con independencia de los demas(disco). </li></ul></ul><ul><li>Dispositivos por caracteres. </li></ul><ul><ul><li>Suministra o acepta una corriente de caracteres (impresoras, interfaces de red, ratones). </li></ul></ul><ul><li>Esta clasificación no es perfecta, los relojes no son direccionables por bloques ni generan ni aceptan cadenas de caracteres, generan interrupciones. </li></ul>
  23. 23. E/S – Controladores de dispositivos <ul><li>Las unidades de entrada salida consisten en un componente mecánico y otro electrónico , este último se llama controlador de dispositivo o adaptador. </li></ul><ul><li>En general la interfaz entre el dispositivo y el controlador es una norma ( protocolo) estándar (ANSI, IEEE, IDE SCSI). </li></ul><ul><li>El S.O. trata generalmente con el controlador y no con el dispositivo por medio de un sistema ya sea de bus único o múltiple. </li></ul><ul><li>La función del controlador es convertir un flujo de bits a un bloque de bytes y realizar la corrección de errores necesaria. </li></ul><ul><li>Cada controlador tiene registros para comunicarse con el S.O., este realiza la E/S escribiendo comandos en dichos registros. </li></ul>
  24. 24. E/S – Acceso directo a memoria (DMA) <ul><li>Muchos controladores (en especial dispositivos por bloques) manejan el acceso directo a memoria. </li></ul><ul><li>Proceso de lectura normal: el controlador lee un bloque BIT a BIT, lo carga en el buffer interno, realiza la verificación de errores de lectura y luego causa una interrupción, cuando el sistema operativo se ejecuta puede leer la información desde el buffer del controlador. </li></ul><ul><li>Proceso utilizando DMA (libera a la CPU de trabajo de bajo nivel): La CPU proporciona al controlador la dirección de memoria donde debe colocarse el bloque y el numero de Bytes que deben transferirse. </li></ul><ul><li>No todas las computadoras usan DMA, en algunos casos la CPU es mas rápida que el controlador DMA. </li></ul>
  25. 25. E/S - Principios del Software <ul><li>El software se organiza como una serie de capas, las inferiores ocultan las peculiaridades del hardware y las superiores presentan una interfaz amigable para los usuarios. </li></ul><ul><li>Objetivos del software E/S: </li></ul><ul><li>Independencia del dispositivo. </li></ul><ul><ul><li>Escribir programas que puedan leer un archivo desde un disquete , disco o memoria flash, sin necesidad de modificar el mimo para cada tipo de dispositivo. </li></ul></ul><ul><li>Manejo de errores. </li></ul><ul><ul><li>Deben manejarse tan cerca del hardware como sea posible. </li></ul></ul><ul><ul><li>Si el controlador descubre un error de lectura debería solucionarlo el mismo. </li></ul></ul>
  26. 26. E/S - Principios del Software <ul><li>Transferencias síncronas (bloqueo) o asíncronas (interrupciones): </li></ul><ul><ul><li>es mas fácil programar si las operaciones de E/S producen bloqueos, es tarea del S.O. hacer que las operaciones controladas por interrupciones parezcan por bloqueos. </li></ul></ul><ul><li>Dispositivos de uso exclusivo y no exclusivo: </li></ul><ul><ul><li>Exclusivos: pueden ser utilizados por un usuario a la vez (unidad de cinta). </li></ul></ul><ul><ul><li>No exclusivo: pueden ser utilizados por varios usuarios al mismo tiempo (discos). </li></ul></ul>
  27. 27. E/S - Principios del Software <ul><li>Estos objetivos pueden lograrse estructurando el software en cuatro capas. </li></ul><ul><ul><li>Manejadores de interrupciones (capa inferior). </li></ul></ul><ul><ul><li>Controladores de dispositivos en software. </li></ul></ul><ul><ul><li>Software del S.O. independiente del dispositivo. </li></ul></ul><ul><ul><li>Software de usuario (capa superior). </li></ul></ul><ul><li>1. Manejadores de interrupciones: </li></ul><ul><li>Se ocultan iniciando un bloqueo en el proceso hasta que la E/S se halla llevado a cabo y ocurra la interrupción, en este momento el proceso de interrupción desbloquea el proceso que la origino, quedando en condiciones de ejecutarse. </li></ul>
  28. 28. E/S - Principios del Software <ul><li>2. Controladores de dispositivos: </li></ul><ul><li>Cada controlador maneja un tipo de dispositivo o a lo sumo una clase de dispositivos similares. </li></ul><ul><li>Son los que emiten y verifican la ejecución de los comandos que reciben los registros de los controladores de hardware. </li></ul><ul><li>Se bloquean o no al emitir un comando de acuerdo al tiempo que deba esperar al controlador de hardware para que este realice cierto trabajo. </li></ul><ul><li>En caso de bloquearse será despertado por una interrupción. </li></ul><ul><li>El controlador debe determinar si no ocurrieron errores, puede tener que devolver datos al software independiente del dispositivo. </li></ul><ul><li>Si no tiene otras peticiones en cola se bloquea y queda a la espera la próxima petición. </li></ul>
  29. 29. E/S - Principios del Software <ul><li>3. Software de E/S independiente del dispositivo. </li></ul><ul><li>Su función básica es realizar las funciones de E/S comunes a todos los dispositivos. </li></ul><ul><li>La frontera entre éste y los controladores de dispositivos depende del S.O. </li></ul><ul><li>Establece la correspondencia entre los nombres simbólicos de dispositivos y el controlador apropiado. </li></ul><ul><li>Se ocupa de la protección de dispositivos. </li></ul><ul><li>Almacenamiento intermedio (buffers). </li></ul><ul><li>Es informado por el controlador cuando éste no puede solucionar un error, de aquí en mas el tratamiento de el error es independiente del dispositivo. </li></ul>
  30. 30. E/S - Principios del Software <ul><li>4. Software de E/S de espacio de usuario. </li></ul><ul><li>Procedimientos de bibliotecas que se enlazan a los programas. (en C: write, printf, scanf). </li></ul><ul><li>Sistema de spool, maneja los dispositivos de E/S de uso exclusivo en un sistema multiprogramado (impresora, red, se crea un proceso llamado demonio y se crea un directorio de spooling). </li></ul>
  31. 31. E/S - Principios del Software <ul><li>Las cuatro capas de software del sistema de E/S. </li></ul>
  32. 32. E/S – Bloqueo mutuo <ul><li>Los sistemas de cómputo tienen muchos recursos que sólo pueden ser utilizados por un proceso a la vez. </li></ul><ul><li>El bloqueo mutuo se produce cuando dos procesos requieren recursos comunes, obtienen uno y proceden al bloqueo y quedan a la espera del otro. </li></ul><ul><li>Estos recursos pueden ser tanto dispositivos de hardware como elementos de información (un registro de una base de datos) </li></ul><ul><li>Recursos: cualquier cosa que solo puede ser usada por un proceso en un instante dado. </li></ul><ul><li>Expropiables: puede arrebatarse al proceso sin efectos adversos. </li></ul><ul><li>No expropiables: si se quita el computo falla. </li></ul>
  33. 33. E/S – Bloqueo mutuo <ul><li>Secuencia de sucesos necesaria para utilizar un recurso. </li></ul><ul><li>Solicitar Recurso. </li></ul><ul><li>Utilizar Recurso. </li></ul><ul><li>Liberar Recurso. </li></ul><ul><li>Bloqueo mutuo: Conjunto de procesos en el que cada elemento del conjunto está esperando un evento que sólo otro proceso del conjunto puede causar. </li></ul>
  34. 34. Memoria <ul><li>En general una computadora tienen: </li></ul><ul><ul><li>Memoria cache (volátil, pequeña, rápida y costosa). </li></ul></ul><ul><ul><li>Memoria RAM (volátil, mediana en velocidad y precio). </li></ul></ul><ul><ul><li>Disco (no volátil, lento y económico). </li></ul></ul><ul><li>La parte del S.O. que la jerarquía de memoria se denomina Administrador de memoria. </li></ul><ul><ul><li>Controla que parte de memoria esta en uso y que no. </li></ul></ul><ul><ul><li>Asigna memoria a los procesos cuando la necesitan y luego la recupera. </li></ul></ul><ul><ul><li>Controla el intercambio entre memoria principal y disco. </li></ul></ul>
  35. 35. Administración de Memoria <ul><li>Los sistemas de administración de memoria se pueden dividir en dos clases: </li></ul><ul><ul><li>Los que trasladan información entre la memoria y el disco (intercambio y paginación). </li></ul></ul><ul><ul><li>Los que no lo hacen. </li></ul></ul>
  36. 36. Administración de Memoria <ul><li>Mono programación sin intercambio ni paginación: </li></ul><ul><li>Esquema sencillo, se ejecuta un solo programa y se comparte la memoria entre este y el S.O., se ejecuta un solo proceso a la vez. </li></ul>
  37. 37. Administración de Memoria <ul><li>Multiprogramación con particiones fijas: </li></ul><ul><li>Se divide la memoria en particiones fijas, posiblemente desiguales. </li></ul><ul><li>Cuando se genera un proceso nuevo se lo coloca en la cola de la partición de memoria mas pequeña que pueda contenerlo. </li></ul><ul><li>La parte de la partición memoria que el programa no utilice se desperdicia. </li></ul><ul><li>Las colas independientes para cada partición tienen notorias desventajas. </li></ul>
  38. 38. Administración de Memoria <ul><li>Multiprogramación con particiones fijas: </li></ul>
  39. 39. Administración de Memoria <ul><li>Intercambio: </li></ul><ul><li>Consiste en traer a la memoria cada proceso en su totalidad, ejecutarlo durante un tiempo y después colocarlo otra vez en el disco. </li></ul><ul><li>El número, la ubicación y el tamaño de las participaciones cambian de manera dinámica de acuerdo a los procesos. </li></ul><ul><li>Esta asignación dinámica de la memoria es administrada por el S.O., existen dos métodos: Administración de la memoria con mapa de bits y Administración de la memoria con listas enlazadas. </li></ul>
  40. 40. Administración de Memoria <ul><li>Administración de la memoria con mapa de bits </li></ul><ul><ul><li>Se divide la memoria en unidades de asignación (de una palabra a varios kilobytes). </li></ul></ul><ul><ul><li>A cada unidad le corresponde un BIT en el mapa de bits que tomara valor 0 si la unidad esta libre y 1 si esta en uso. </li></ul></ul><ul><li>Administración de la memoria con listas enlazadas. </li></ul><ul><ul><li>Es una lista de los segmentos de memoria libres o enlazados. </li></ul></ul><ul><ul><li>Cada entrada a la lista especifica o un agujero o un proceso, la dirección en que comienza, la longitud y el apuntador a la siguiente entrada. </li></ul></ul>
  41. 41. Administración de Memoria <ul><li>Memoria virtual </li></ul><ul><ul><li>Se basa en la idea de que el tamaño combinado del programa, los datos y la pila puede exceder la memoria física disponible para él. </li></ul></ul><ul><ul><li>El S.O. mantiene en memoria las partes del programa que se están utilizando y el resto en el disco. </li></ul></ul><ul><ul><li>La memoria virtual funciona en un sistema de multiprogramación manteniendo segmentos de muchos programas en memoria a la vez. </li></ul></ul><ul><ul><li>La mayor parte de los sistemas de memoria virtual utilizan una técnica llamada paginación. </li></ul></ul>
  42. 42. Administración de Memoria <ul><li>Paginación: </li></ul><ul><li>El espacio de direcciones virtual se divide en unidades llamadas páginas. </li></ul><ul><li>Las unidades correspondientes en la memoria física se llaman marcos de páginas. </li></ul><ul><li>Las páginas y los marcos de páginas tienen exactamente el mismo tamaño. </li></ul><ul><li>Con 64K de espacio de direcciones virtuales y 32K de memoria física tenemos 16 páginas virtuales y 8 marcos de páginas. </li></ul><ul><li>La transferencia entre memoria y disco siempre se efectúa en unidades de una página. </li></ul>
  43. 43. Administración de Memoria <ul><li>Paginación: </li></ul>

×