43
Sistemas Operativos I Procesos

Conceptos fundamentales 2ª Diapositiva

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Conceptos fundamentales 2ª Diapositiva

Sistemas Operativos I

Procesos

Page 2: Conceptos fundamentales 2ª Diapositiva

Proceso

Proceso: Programa en ejecución.

Las computadoras modernas pueden hacer varias cosas al mismo tiempo.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. El modelo esta organizado en una serie de procesos secuenciales.La constante conmutación de la CPU es lo que llamamos multiprogramación.

Page 3: Conceptos fundamentales 2ª Diapositiva

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.

Page 4: Conceptos fundamentales 2ª Diapositiva

ProcesoCreación de procesos:

La inicialización del sistema La ejecución por parte de un proceso (en ejecución) de una llamada al

sistema de creación de un nuevo proceso. La petición por parte del usuario de la creación de un nuevo proceso. El inicio de un trabajo en batch.

Terminación de procesos: El proceso completa su trabajo y termina (voluntariamente). El proceso detecta un error y termina (voluntariamente). El sistema detecta un error fatal del proceso y fuerza su terminación. Otro proceso fuerza la terminación del proceso (por ejemplo en UNIX

mediante la llamada al sistema kill).

Page 5: Conceptos fundamentales 2ª Diapositiva

Estados de los Procesos

• 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.

• Los estados de los procesos son internos del sistema operativo y transparentes al usuario.

• Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.

Page 6: Conceptos fundamentales 2ª Diapositiva

Estados activosSon aquellos que compiten con el procesador o están en Son aquellos que compiten con el procesador o están en

condiciones de hacerlo. Se dividen en:condiciones de hacerlo. Se dividen en:• En ejecución (utilizando realmente la CPU en ese instante).• Preparado (ejecutable; detenido temporalmente para permitir que otro proceso

se ejecute).• Bloqueado (incapaz de ejecutarse hasta que tenga lugar algún suceso externo).

Page 7: Conceptos fundamentales 2ª Diapositiva

Estados inactivos:Son aquellos que no pueden competir por el procesador, Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de ciertas pero que pueden volver a hacerlo por medio de ciertas operaciones. operaciones. En estos estados se mantiene la información del En estos estados se mantiene la información del proceso hasta que vuelva a ser activado. Se trata de proceso hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a en que se quedaron sin que tengan que volver a ejecutarse desde el principio. ejecutarse desde el principio. Son de dos tipos: Son de dos tipos: Suspendido bloqueado.Suspendido bloqueado. Es el proceso que fue Es el proceso que fue suspendido en espera de un evento, sin que hayan suspendido en espera de un evento, sin que hayan desaparecido las causas de su bloqueo. desaparecido las causas de su bloqueo. Suspendido programado.Suspendido programado. Es el proceso que han sido Es el proceso que han sido suspendido, pero no tiene causa para estar bloqueado.suspendido, pero no tiene causa para estar bloqueado.

Page 8: Conceptos fundamentales 2ª Diapositiva

Implementación de Procesos

Tabla de procesos (bloque de control de procesos).

Es una estructura de datos que contiene la información correspondiente al proceso.

Estado actual del proceso. Hora de inicio. Reparto de memoria. Situación de los archivos abiertos. Todos los datos necesarios al momento de conmutar del estado

ejecución a los otros a fin de poder reanudar su ejecución.

Page 9: Conceptos fundamentales 2ª Diapositiva

Interrupciones

• Recurso que utiliza un dispositivo cuando necesita detener el proceso que está realizando la CPU.

• 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).

• 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

• Todas estas operaciones son controladas por una parte del sistema operativo que se llama Núcleo o Kernel.

Page 10: Conceptos fundamentales 2ª Diapositiva

Núcleo o Kernel

Funciones:•Creación y finalización de procesos.•Cambios de estados de los mismos.•Sincronización de procesos.•Comunicación de procesos.•Manejo de interrupciones.•Soporte de actividades de Entrada /Salida.•Soporte del sistema de archivos.•Soporte de funciones contables del Sistema operativo.

Page 11: Conceptos fundamentales 2ª Diapositiva

Sistema de Archivos

Page 12: Conceptos fundamentales 2ª Diapositiva

Sistema de Archivos

Requisitos esenciales para el almacenamiento de información a largo plazo.

– Posibilidad de almacenar grandes cantidades de información.

– La información debe sobrevivir al proceso que la usa.– Debe poder ser accedidas por múltiples procesos.

Solución: almacenar en discos en unidades llamadas archivos.

Page 13: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosNombres de archivos.•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.•Las reglas para nombrar archivos varían de un sistema a otro.•Todos los sistemas permiten cadenas de 1 a 8 caracteres.•Los mas actuales permiten cadenas de 256 caracteres.•Algunos distinguen entre mayúsculas y minúsculas (UNIX) y otros no (MS-DOS).•Muchos sistemas reconocen nombres en dos partes. (archivo.txt, archivo.zip, archivo.c)

Page 14: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosEstructura de archivos.Los archivos pueden estructurarse de varias maneras.

– Secuencia de Bytes (máxima flexibilidad).– Secuencia de registros de longitud fija (en desuso).– Árbol de registros (registros de longitud variable, se acceden por una

clave, el árbol esta ordenado por esta).

Page 15: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosTipos de archivos.Existen varios tipos de archivos.

– Normales (información del usuario).– Directorios (sirven al S.O. para mantener la estructura del

sistema de archivos.– Por caracteres y por bloques (UNIX), para modelar

dispositivos E/S como terminales, impresoras y redes.

Los archivos normales son generalmente ASCII o binarios

Page 16: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosAcceso a archivos.•Secuencial: se comienza en el primer byte del archivo y se leen byte a byte hasta el fin (cinta).•Aleatorio: Se pueden leer en desorden o acceder a los registros por clave (discos). (S.O. actuales)

Atributos de Archivos:•Información adicional que guarda el S.O. sobre el archivo (fecha, hora de creación, tamaño).•Varían considerablemente de un Sistema a otro.•Solo lectura, ocultos, del sistema, contraseña, etc.

Page 17: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosOperaciones con Archivos:Llamadas al sistema mas comunes.

– CREATE: crea archivo sin datos, establece algunos atributos. – DELETE: elimina el archivo.– OPEN: abre el archivo, el sistema obtiene los atributos y lo coloca en

memoria para agilizar acceso.– CLOSE: cierra el archivo, libera espacio en tablas internas y memoria.– READ: se leen datos del archivo.– WRITE: se escriben datos en el archivo.– SEEK: carga en el apuntador la posición actual en el archivo.– GET ATTRIBUTES: lee los atributos del archivo.– SET ATTRIBUTES: establece atributos del archivo.– RENAME: Cambia el nombre a un archivo existente.

Page 18: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosDirectorios:En muchos sistemas son también archivos.

Sistemas de directorios jerárquicos:– Un directorio para todos los archivos del sistema.– Un directorio para cada usuario del sistema.– Estructura de árbol: cada usuario puede tener tantos directorios como necesite.

Page 19: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosNombres de ruta:Existen dos métodos para especificar las rutas de archivos.

– Nombre de ruta absoluto : consiste en la ruta desde el directorio raíz hasta el archivo

– Nombre de ruta relativo: se utiliza en combinación con el concepto de directorio de trabajo ( directorio actual).

Page 20: Conceptos fundamentales 2ª Diapositiva

Sistema de ArchivosOperaciones con Directorios:Llamadas al sistema para administrar directorios varían mas de un sistema a otro que las de archivos. Los ejemplos corresponden a UNIX

– CREATE: crea un directorio. – DELETE: elimina un directorio.– OPENDIR: abre el directorio (para leerse y listar los archivos

contenidos).– CLOSEDIR: cierra el directorio.– RENAME: Cambia el nombre de un directorio.

Page 21: Conceptos fundamentales 2ª Diapositiva

Entrada/SalidaEl S.O. debe controlar todos los dispositivos de Entrada/Salida.

– Enviar comandos.– Detectar interrupciones.– Manejar errores.– Interfaz entre los dispositivos y el resto del

sistema.

Page 22: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del HardwarePueden verse desde la programación o del diseño y construc-ción, nos interesa el punto de vista desde la programación.

Dispositivos de E/S: Se dividen en dos categorías:•Dispositivos por bloques.

– Almacenan información en bloques de tamaño fijo, deben manejarse con independencia de los demas(disco).

•Dispositivos por caracteres.– Suministra o acepta una corriente de caracteres (impresoras,

interfaces de red, ratones).

Esta clasificación no es perfecta, los relojes no son direccionables por bloques ni generan ni aceptan cadenas de caracteres, generan interrupciones.

Page 23: Conceptos fundamentales 2ª Diapositiva

E/S – Controladores de dispositivos• Las unidades de entrada salida consisten en un componente

mecánico y otro electrónico , este último se llama controlador de dispositivo o adaptador.

• En general la interfaz entre el dispositivo y el controlador es una norma ( protocolo) estándar (ANSI, IEEE, IDE SCSI).

• 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.

• La función del controlador es convertir un flujo de bits a un bloque de bytes y realizar la corrección de errores necesaria.

• Cada controlador tiene registros para comunicarse con el S.O., este realiza la E/S escribiendo comandos en dichos registros.

Page 24: Conceptos fundamentales 2ª Diapositiva

E/S – Acceso directo a memoria (DMA)Muchos controladores (en especial dispositivos por bloques) manejan el acceso directo a memoria.•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.•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.No todas las computadoras usan DMA, en algunos casos la CPU es mas rápida que el controlador DMA.

Page 25: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del SoftwareEl 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.

Objetivos del software E/S: •Independencia del dispositivo.

– 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.

•Manejo de errores.– Deben manejarse tan cerca del hardware como sea posible.– Si el controlador descubre un error de lectura debería

solucionarlo el mismo.

Page 26: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del Software• Transferencias síncronas (bloqueo) o asíncronas

(interrupciones):– 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.

• Dispositivos de uso exclusivo y no exclusivo:– Exclusivos: pueden ser utilizados por un usuario a la vez

(unidad de cinta).– No exclusivo: pueden ser utilizados por varios usuarios al

mismo tiempo (discos).

Page 27: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del SoftwareEstos objetivos pueden lograrse estructurando el software en cuatro capas.

1. Manejadores de interrupciones (capa inferior).2. Controladores de dispositivos en software.3. Software del S.O. independiente del dispositivo.4. Software de usuario (capa superior).

1. Manejadores de interrupciones:•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.

Page 28: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del Software2. Controladores de dispositivos:•Cada controlador maneja un tipo de dispositivo o a lo sumo una clase de dispositivos similares.•Son los que emiten y verifican la ejecución de los comandos que reciben los registros de los controladores de hardware.•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.•En caso de bloquearse será despertado por una interrupción.•El controlador debe determinar si no ocurrieron errores, puede tener que devolver datos al software independiente del dispositivo.•Si no tiene otras peticiones en cola se bloquea y queda a la espera la próxima petición.

Page 29: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del Software3. Software de E/S independiente del dispositivo.•Su función básica es realizar las funciones de E/S comunes a todos los dispositivos.•La frontera entre éste y los controladores de dispositivos depende del S.O.•Establece la correspondencia entre los nombres simbólicos de dispositivos y el controlador apropiado.•Se ocupa de la protección de dispositivos.•Almacenamiento intermedio (buffers).•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.

Page 30: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del Software4. Software de E/S de espacio de usuario.•Procedimientos de bibliotecas que se enlazan a los programas. (en C: write, printf, scanf).•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).

Page 31: Conceptos fundamentales 2ª Diapositiva

E/S - Principios del SoftwareLas cuatro capas de software del sistema de E/S.

Page 32: Conceptos fundamentales 2ª Diapositiva

E/S – Bloqueo mutuo• Los sistemas de cómputo tienen muchos recursos que sólo

pueden ser utilizados por un proceso a la vez.• El bloqueo mutuo se produce cuando dos procesos requieren

recursos comunes, obtienen uno y proceden al bloqueo y quedan a la espera del otro.

• Estos recursos pueden ser tanto dispositivos de hardware como elementos de información (un registro de una base de datos)

Recursos: cualquier cosa que solo puede ser usada por un proceso en un instante dado.

Expropiables: puede arrebatarse al proceso sin efectos adversos.No expropiables: si se quita el computo falla.

Page 33: Conceptos fundamentales 2ª Diapositiva

E/S – Bloqueo mutuoSecuencia de sucesos necesaria para utilizar un recurso.

1.Solicitar Recurso.2.Utilizar Recurso.3.Liberar Recurso.

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.

Page 34: Conceptos fundamentales 2ª Diapositiva

MemoriaEn general una computadora tienen:

– Memoria cache (volátil, pequeña, rápida y costosa).– Memoria RAM (volátil, mediana en velocidad y precio).– Disco (no volátil, lento y económico).

La parte del S.O. que la jerarquía de memoria se denomina Administrador de memoria.

– Controla que parte de memoria esta en uso y que no.– Asigna memoria a los procesos cuando la necesitan y

luego la recupera.– Controla el intercambio entre memoria principal y disco.

Page 35: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaLos sistemas de administración de memoria se pueden dividir en dos clases:

– Los que trasladan información entre la memoria y el disco (intercambio y paginación).

– Los que no lo hacen.

Page 36: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaMono programación sin intercambio ni paginación: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.

Page 37: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaMultiprogramación con particiones fijas:Se divide la memoria en particiones fijas, posiblemente desiguales.Cuando se genera un proceso nuevo se lo coloca en la cola de la partición de memoria mas pequeña que pueda contenerlo.La parte de la partición memoria que el programa no utilice se desperdicia.Las colas independientes para cada partición tienen notorias desventajas.

Page 38: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaMultiprogramación con particiones fijas:

Page 39: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaIntercambio:•Consiste en traer a la memoria cada proceso en su totalidad, ejecutarlo durante un tiempo y después colocarlo otra vez en el disco.•El número, la ubicación y el tamaño de las participaciones cambian de manera dinámica de acuerdo a los procesos.•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.

Page 40: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaAdministración de la memoria con mapa de bits

– Se divide la memoria en unidades de asignación (de una palabra a varios kilobytes).

– 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.

Administración de la memoria con listas enlazadas.– Es una lista de los segmentos de memoria libres o

enlazados.– 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.

Page 41: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaMemoria virtual

– 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.

– El S.O. mantiene en memoria las partes del programa que se están utilizando y el resto en el disco.

– La memoria virtual funciona en un sistema de multiprogramación manteniendo segmentos de muchos programas en memoria a la vez.

– La mayor parte de los sistemas de memoria virtual utilizan una técnica llamada paginación.

Page 42: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaPaginación:•El espacio de direcciones virtual se divide en unidades llamadas páginas.•Las unidades correspondientes en la memoria física se llaman marcos de páginas.•Las páginas y los marcos de páginas tienen exactamente el mismo tamaño.•Con 64K de espacio de direcciones virtuales y 32K de memoria física tenemos 16 páginas virtuales y 8 marcos de páginas.•La transferencia entre memoria y disco siempre se efectúa en unidades de una página.

Page 43: Conceptos fundamentales 2ª Diapositiva

Administración de MemoriaPaginación: