Sistemas - T4

Enviado por Programa Chuletas y clasificado en Otras materias

Escrito el en español con un tamaño de 16,26 KB

 
Definición Proceso = Unidad ejecutable elemental que es manejada por el S.O. en su función de asignar tiempo de CPU. Se representa por un conjunto de datos (BCP=bloque de control de proceso).BCP:
gracias al cual el S.O. puede localizar la información que necesita sobre el proceso para poder ejecutarlo
mantiene guardados los datos del proceso mientras se suspende temporalmente su ejecución (multiprogramación)
Diferencia entre Proceso y Programa: Proceso = programa en ejecución (activo) // Programa = algoritmo (inactivo)
ESTADOS DE LOS PROCESOS: A) En S.O. sin intercambio (menos estados posibles para un proceso) B) En S.O. con intercambio de procesos entre Mm Ppal y Mm Secundaria.A)Estados: En ejecución (al proceso se le ha asignado la CPU para poder ejecutarse) .Preparado o en espera (ejecutable) .Bloqueado (por alguna condición propia del proceso).B) Existe Intercambio:No caben en Mm Ppal todos los procesos. La Solución es tener en Mm Auxiliar algunos de los procesos (en estado de Espera o ejecutable).estados: Ejecutable No residente, es decir, Ejecutable en Mm Secundaria Y Bloqueado No residente , es decir, Bloqueado en Mm Secundaria
TRANSICIONES DE LOS ESTADOS :un proceso puede cambiar de estado varias veces. A estos cambios se le llama à Transición de Estados.El módulo del S.O. encargado de seleccionar el proceso que debe pasar a ejecución de todos los que se encuentran en estado Ejecutable à Planificador.
CLASIFICACIÓN DE LOS PROCESOS:1 )Según su estado: En ejecución-Ejecutables-Bloqueados-Ejecutable no residente-Bloqueado no residente 2). Según la capacidad de acceso al procesador y resto de recursos:-Apropiativos (uso exclusivo de los recursos)-No apropiativos (uso no exclusivo)3)Según el lugar donde son ejecutados:-Residentes (permanecen en Mm todo el tiempo que dure su ejecución) -Intercambiables (son llevados de Mm Ppal a disco mientras están bloqueados)
PLANIFICADOR DEL PROCESADOR: Es el encargado de controlar la cola de la cpu, asignando el procesador a los distintos procesos de entre todos los que están preparados.nº procesadores < nº procesos => habrá que mantener varios procesos listos para su ejecución y el planificador del S.O. va eligiendo cuál ha de ejecutarse primero.
ESTRATEGIAS DE PLANIFICACIÓN: Equidad: asignación del procesador según un reparto equitativo entre los procesos. Eficiencia: mantener ocupado los recursos (procesador y dispositivos) el 100% del tiempo .Tiempo de respuesta: mínima, especialmente para procesos interactivos. Tiempo de espera: minimizar el tiempo global de procesamiento. Rendimiento del procesador: maximizar el número de trabajos procesados por unidad de tiempo
ALGORITMOS DE PLANIFICACIÓN: Algoritmos que utiliza el planificador para establecer el orden en que han de ejecutarse los procesos en estado ejecutable. 1).Algoritmo FCFS (First Come, First Served) Primero en llegar, primero en ser servido.Consiste en atender a los procesos por orden de llegada a la cola de procesos preparados. Se ejecuta hasta que termina o queda bloqueado por op. E/S.2).Planificación circular = Round Robin = Planificación en rueda. Todos los procesos que entran en ejecución disponen de un periodo fijo = q (Quantum). Cuando finaliza ese quantum, vuelve al final de la cola.La cola puede formarse según varios criterios: Prioridades, FIFO.Dificultad: fijar q-q pequeño: muchos cambios de contexto => perdida de t cpu => disminuye eficacia cpu-q grande: el tiempo de espera aumenta => casi algoritmo FCFS 3).Algoritmo Multinivel o por Prioridades A cada proceso se le asigna una prioridad. Preferencia de uso de Cpu al que tenga mayor prioridad.Inconveniente: posibilidad de apropiación y : procesos con baja prioridad puede estar esperando turno indefinidamente.Solución/ prioridades van disminuyendo a medida que consume tiempo de cpu o por ciclo de reloj empleado en cpu Y aplicar envejecimiento de las prioridades: aumentar prioridades de los que más esperan.4).Algoritmo SJN (Shortest Job Next) = Trabajo más corto primero Precisa conocer de antemano el tiempo de ejecución de cada proceso. Toma el proceso que necesita menor tiempo de ejecución.Ventaja: Se minimiza el tiempo medio de espera. Inconveniente: Los procesos largos serán siempre los últimos en ejecutarse.5).Algoritmo SRT (Shoretst Remaining Time) = Menor tiempo restante Mezcla de SJN y Round Robin , evitando el inconveniente del SJN.Elije el proceso con menor tiempo de ejecución para terminar de procesarse (t estimado) Inconveniente: Cada vez que un proceso sale hay que volver a calcular los t que quedan para finalizar de ejecutar cada proceso.6). Planificación por reparto equitativo = Planificación determinada por el comportamiento Aplicada en Sistemas Multiusuarios. Se asignan prioridades iniciales y estas van disminuyendo a medida que el proceso consume recursos. Realiza un reparto de los recursos, de tal forma que: -Cada proceso tenga una proporción de t de cpu proporcional al número de usuarios.-El reparto sea lo más equitativo posible, de tal forma que: los usuarios que más han consumido => se les asigna menos t .los usuarios que menos han consumido => se les asigna más tiempo 7). Planificación CTSS = Colas Múltiples Se establecen distintas colas. Todos los procesos de una misma cola tienen la misma prioridad. Asignación de prioridades:-Procesos con mucho cálculo => mucha prioridad (nq)-Procesos con poco cálculo => menor prioridad (1q). Cada vez que un proceso consumo su tiempo (quantum = q), vuelve a cola con q=x-1. 8). Planificación en 2 niveles: los procesos preparados estaban en Mm Ppal.Ahora procesos se encuentran en disco que suponen un tiempo mayor para el cambio de contexto.Se cargan en Mm el subconjunto de procesos preparados, con los cuales se trabaja. Pero periódicamente: Se van eliminando de Mm Ppal los procesos que llevan más tiempo en Mm Ppal.Y Se cargan los procesos que llevan más tiempo en disco.
PROBLEMAS DE COMUNICACIÓN: Cuando varios procesos están en ejecución, alternándose, es posible que compartan un mismo espacio común de almacenamiento (en Mm Ppal o en disco) a) Existen situaciones en las que 2 o más procesos leen/escriben ciertos datos compartidos y el resultado final depende de quién ejecuta qué y en qué momento (=condiciones de Competencia) Sección Crítica = parte del programa en la cual se accede al recurso compartido, es decir, dos procesos intentan acceder al mismo tiempo al mismo recurso.b) Debemos evitar que un proceso que esté fuera de su sección crítica bloquee a otro proceso (=Interbloqueos) Por ejemplo: Cuando 2 procesos necesitan 2 dispositivos para entrar en su sección crítica pero la CPU asigna un dispositivo a cada proceso => los dos procesos quedan bloqueados indefinidamente.
c) Ningún proceso debe esperar eternamente para entrar en su sección crítica (=Inanición) Por ejemplo: Cuando a un proceso nunca se le asigna un dispositivo porque se encuentra en alternancia con 2 procesos con mayor prioridad.
Todas estas situaciones se conocen como problemas de comunicación y a su solución se la conoce como establecer una exclusión mutua.


SOLUCIÓN A LOS PROBLEMAS DE COMUNICACIÓN: Tenemos que evitar las Condiciones de competencia , los Interbloqueos y la Inanición. Esto se consigue estableciendo una Exclusión Mutua , es decir, el S.O. debe prohibir que más de un proceso lea/escriba simultáneamente datos compartidos. A) Prohibición de Interrupciones:Consiste en que el proceso en ejecución, al entrar en su región crítica, desactiva todas las interrupciones y las vuelve a activar una vez que sale de ella. Inconveniente: Al prohibir las interrupciones, el proceso se apropia del procesador mientras se encuentra en su sección crítica. Puede que se apropie de el indefinidamente.Solo recomendable para procesos del núcleo del sistema.
B) Variables bloqueo :Utilizar una variable cerradura, una variable de bloqueo que controle el turno de entrada en la región crítica. Esta variable toma 2 valores:1 (cuando un proceso entra en la sección crítica) 0 (cuando un proceso sale de la sección crítica) Inconveniente: No soluciona el problema porque si un proceso lee la variable a O y antes de que lo sobreescriba a 1 otro proceso lo cambia, los 2 procesos estarán en su región critica al mismo tiempo.C)Alternancia Estricta: Los procesos van ejecutándose a turnos la ejecución de su sección crítica (SC)Inconveniente: caso de un proceso largo (P1) y otro corto (P2) P1: sale de SC, termina y entra en SNC-P2: entra en SC, termina muy pronto y entra en SNC-P1: sigue en SNC-P2: termina pronto en SNC pero no puede entrar en SC porque no tiene el turno.Esta situación: Interbloqueo (ningún proceso fuera de SC puede bloquear a otros procesos)D)Algoritmo de Peterson (Combina la idea de turnos con la de variables bloqueo)Antes de acceder a SC cada proceso llama a una variable (Entrar SC) y le pasa como parámetro su nº de proceso. De esta forma, si el otro proceso está en SC tendrá que esperar pero si está en SNC, entrará inmediatamente, sin esperar turno. Al salir de SC cada proceso debe llamar a una variable (Salir SC)Ventaja: Evita la alternancia estricta.Inconveniente: El proceso bloqueado consume t del procesador (=espera activa)E) Instrucción probar y fijar el bloqueo (Test and Set Lock) Para computadoras con varios procesadores.Consiste en leer un registro de Mm, almacena esa dirección con valor O y cierra el bus de Mm para prohibir a las demás CPUs el acceso de Mm hasta que termine y le vuelva a dar valor 1.Las operaciones de L y E so atomicas, ninguno de los procesadores pueden acceder a la palabra hasta que termina la operación.F) Primitivas de comunicación entre procesos G) Semáforos H) Monitores
ADMINISTRACIÓN DE MEMORIA.Podemos hacerlo de distintas formas:1)Existe suficiente espacio en Memoria (p.e. Sistemas por lotes) Por tanto, no se mueven los procesos durante su ejecución porque pueden guardarse suficientes trabajos en Mm para poder mantener ocupada la CPU todo el tiempo.2)No existe suficiente Mm Ppal para contener todos los procesos que están activos (p.e. Sistemas de tiempo compartido)
Los procesos excedentes se mantienen en disco y habrá que traerlos a Mm en forma dinámica para que se puedan ejecutar .2 soluciones:
B.1) Intercambio o Swapping: Consiste en traer a Mm Ppal el proceso completo, ejecutarlo durante un tiempo y volverlo a guardar en disco. B.2) Memoria Virtual: permite que los programas se ejecuten aunque sólo una parte de ellos están en Mm Ppal.B.2.a) Paginación B.2.b) Segmentación
ADMINISTRACIÓN DE MEMORIA: SIN INTERCAMBIO. Monoprogramación: El sistema divide a la Mm Ppal en 2 partes: una para el S.O. y otra para el usuario que tiene un solo proceso en ejecución. Multiprogramación: El sistema divide la Mm Ppal en 2 partes: una para el S.O.(parte fija) y otra para el usuario y los distintos procesos (cada proceso ocupa una partición).En este caso existe un registro de las zonas de Mm ocupadas y libres sobre las que se puede asignar o liberar Mm.A la hora de hacer las particiones para los procesos, podemos usar: PARTICIONES ESTÁTICA: tenemos un número fijo de particiones, que pueden ser del mismo tamaño o de distinto tamaño.Ventaja: Provocan fragmentación.PARTICIONES DINÁMICAS : tenemos un número variable de particiones con distinto tamaño.Ventaja: Mejor aprovechamiento de la Mm, más flexible.Inconveniente: peor asignación, liberación y control de Mm, y de fragmentación.
ADMINISTRACIÓN DE MEMORIA: CON INTERCAMBIO:se utiliza tanto la Memoria Principal y Memoria Secundaria, estos dispositivos se encuentran intercambiando información continuamente.1 . SWAPPING (Técnica similar a la Memoria Virtual.)Cuando varios usuarios están ejecutando varios procesos, todos cargados en Mm Ppal, pero si se interrumpe por un momento la ejecución de su proceso, este pasará a la zona de swap para que la Mm Ppal quede liberada.
En cuanto el usuario vuelve a solicitar su proceso, se pasa el proceso de la zona de swap a Mm Ppal (Utilizada en S.O. com Unix y Linux )Se recomienda un tamaño de swap del 20% del HD o el doble de Mm Ppal
.2. MEMORIA VIRTUAL: Es un método de gestión de Mm utilizado cuando la Mm Ppal de la que disponemos resulta insuficiente.En este caso resulta insuficiente porque el programa es excesivamente grande para el tamaño físico de Mm. Consiste en cargar en Mm la parte del programa que se está ejecutando, mientras que el resto se encuentra en el disco. Es decir, utiliza espacio libre como si fuese Mm Ram.Los S.O. multiusuario y multitarea son especialistas en este tipo de gestión de Mm.Se necesita espacio en disco, entre 2-5% del tamaño de Ram.Inconveniente: cuando se cargan varios programas a la vez el sistema se relentiza, ya que tiene que estar pasando información continuamente.Las Técnicas de Uso de la Memoria Virtual son: Paginación y Segmentación. 2.1 Memoria Virtual - PAGINACIÓNTécnica de redireccionamiento dinámico que consiste en: Dividir los programas en pequeñas partes llamadas páginas//Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página. memoria desperdiciada por un proceso es el final de su última página, lo que minimiza la fragmentación interna y evita la externa.El S.O. mantiene una lista de estos últimos marcos, y una tabla por cada proceso, donde consta en qué marco se encuentra cada página del proceso. El usuario especifica una única dirección, que el hardware divide en número de página y desplazamiento.2.2 Memoria Virtual - SEGMENTACIÓN: similar a la paginación.Un programa y sus datos pueden ocupar varios bloques separados de almacenamiento real.Consiste en definir bloques de Mm de tamaño variable, de tal forma que cada segmento puede variar desde O hasta un máximo permitido.Los segmentos tienen longitudes distintas y pueden variar según las necesidades del programa Cada segmento tiene un nombre y una longitud .Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del segmento. Por lo tanto, el usuario especifica cada dirección mediante dos cantidades: número de segmento y un desplazamiento. DIEFERENCIAS ENTRE SWAPPING y MEMORIA VIRTUAL-Con Mm Virtual, puede llegar a ocurrir que el disco esté tan lleno que la gestión sea difícil o imposible, ya que el espacio destinado al intercambio suele ser espacio de HD en el que está instalado programas, S.O. y datos.-En el swapping no puede ocurrir esto, ya que esta zona está disponible solo para el intercambio de programas con Mm Ppal.

Entradas relacionadas: