domingo, 18 de noviembre de 2012

Gestion De Recursos De Un Sistema Operativo



UNIDAD DEL TEMA3
1Procesos Y Flujos
Un PROCESO es un concepto manejado por el sistema operativo y que referencia un programa en ejecución.
Cuando se ejecuta más de un proceso de forma concurrente en un sistema, todos necesitan que el propio sistema les suministre una serie de recursos. Para ello el sistema operativo gracias a la  UCP (Unidad Central de Proceso), se encarga de asignar estos recursos en un orden adecuado y atendiendo a unas prioridades.
Cuando un programa se convierte en proceso las instrucciones que lo componen se les asocian una estructura de datos. Además es único para cada proceso... el bloque de control del proceso o BCP, y contendra para cada proceso la siguiente información:
Esto actual del proceso, Identificador Del Proceso, Prioridad del proceso, Ubicación en memoria y recursos utilizados.
                    
2 Hebras Y Estados De Los Procesos

Una hebra es un punto de ejecución de un proceso representan un método software para mejorar el rendimiento y eficacio de los sistemas operativos. Las hebras de un mismo proceso compartirán recursos, como memoria, archivos recursos, como  memoria,  archivos, recursos hardware, etc. un proceso clásico será aquel que solo posea  una hebra...pongamos un ejemplo. Si ejecutamos el procesador de textos Word, con un solo documento abierto, el programa Word convertido en  proceso estará ejecutándose en un único espacio de memoria tendrá acceso a determinados archivos (galerías  de imagines, corrector  ortográfico, el tendrá acceso al hardware (impresora, disquera)))
Básicamente los estados posibles de u  proceso, que podemos ver son las siguientes:
a)  En ejecución .el procesador está ejecutando instrucción
Del programa que lo componen y tiene concedido el tiempo de uso de la UCP en un instante concreto.
b)  Preparado En  Espera O Activo. El proceso esperando turno
Para poder utilizar su intervalo de tiempo y poner en funcionamiento sus instrucciones accediendo a los recursos del sistema
c)  Bloqueado Cuando Un Proceso está bloqueado es porque dos procesos utilicen el mismo fichero de datos. Y otra puede ser que utiliza la misma unidad de CDROM para cargar determinados datos etc.
Cada  proceso  tiene un numero de asignado al sistema operativo que sirve precisamente  para identificar el proceso lanzarlo a ejecución, detenerlo, cancelarlo, reanudarlo. Este identificador de proceso se nombra con la abreviatura PID.
Cuando  el proceso se lanza a ejecución depende en la mayoría de los caso  de otro proceso den ominado PROCESO PADRE. Así al nuevo proceso lanzador se le denomina proceso hijo.
3 Transiciones De Los Procesos

Cuando  Un programa se ha lanzado y se ha convertido en proceso, puede  atravesar varias fases o estados hasta que finaliza o termina. Cuando un proceso se lanza nunca se ejecuta directamente, sino que se  coloca en la cola de procesos en un estado denominado  preparado.  Le asigna su tiempo el proceso pasa de preparado a ejecución. Cambios de estado en los que se puede encontrar un proceso se denomina transiciones.
Transición A es cuando el programa que está en ejecución necesita algún elemento, señal, dato, etc., para continuar ejecutándose. Transición b cuando el programa o proceso ha utilizado el tiempo asignado por la UCP 8 procesador) para su ejecución y tiene que dejar paso al siguiente proceso
Transición c cuando el proceso que está preparado pasa al  proceso de ejecución, es decir, cuando al proceso le llega una nueva disposición de tiempo de la UCP para poder ejecutarse.
Transición d cuando el proceso  pasa de  esta bloqueado a estar  pasa preparado.                                          

En proceso o hilo pasa de un estado otro estado (en un sistema multiproceso o multihebra) se produce un cambio de contexto.

Las prioridades son aquellas que el administrador del sistema o el propio sistema asignan a cada proceso.
La planificación es la técnica que consigue en indicar al ordenador los procesos que deben ejecutarse y los estados que estos deben de ejecutarse en cada momento y por qué.    


4 Bloque De Control De Procesos

La información de un proceso que el sistema operativo necesita para controlarlo se mantiene en una estructura de datos vista anteriormente: El Bloque De Control De Procesos o BCP.
El BCP  de cada proceso almacena información como:
Estado actual del proceso. Ejecución preparado o bloqueado.
Identificador  del proceso dependiendo del sistema operativo, da cada proceso  se le asigna un PID
 Prioridad del proceso la asignada por  el planificador
Ubicación en memoria dirección de memoria en la que se carga el proceso
Recursos utilizados recursos hardware y software para poder ejecutarse
En  programas multihilo o multihebra  el bcp puede contener además el PPID ( Process Parent IDentification.)
5 Algoritmos De Planificación

Los algoritmos de planificación, actualmente utilizados en sistemas en sistemas Windows y Linux
a)  Algoritmo De Rueda también se algoritmo de ROUND-ROBIN y en él la asignación de tiempos de ejecución a los procesos es la misma y de la forma secuencial. A cada uno se le asigna el mismo quantum o intervalo de tiempo de ejecución. la selección entre los procesos se realiza mediante una cola FIFO (First In First Out, el primer en entrar es el primero en salir)
b)  Algoritmo  FIFO (First In First Out, o FCFS First Come First Serve .al primer proceso que llega se le asignan tiempos o ciclos de UCP hasta que termina completamente.
6 Memoria RAM Y Memoria Virtual
  Al principio para  ubicar los procesos en memoria y solucionar este problema se adoptaron técnicas tales  como dividir el programa  en partes denominadas capas.  Cada una de las capas se iba ejecutando (cargando en memoria) según fuera  necesario; es decir primero se pasaría parte del programa del disco  duro.Fotheringgam diseño un método conocido como de maquina virtual. Este diseñador pensó en la posibilidad de que al ubicar un programa en memoria, este fuera demasiado grande para el tamaño físico de aquella y creó una técnica para hacer que en memoria permaneciera solo la parte del programa que se  estuviera ejecutando y que el resto quedara en el disco.Hoy en día en la mayoría de los sistemas operaciones considera el espacio libre de disco como si se tratase de memoria  RAM (memoria virtual). Así, para el usuario el programa estará cargado en RAM pero en realidad solo se cargara en RAM la parte del programa que se está ejecutando en ese instante.Para la ubicación de programas en memoria se puede utilizar la técnica de memoria virtual para que siempre haya RAM libre para todos los programas que queramos  ejecutar es decir para los procesos.Los sistema operativos Multiusuario Y Multitarea son especialistas en esta gestión. Casi todas las versiones de Windows realizan una gestión muy eficaz de la memoria virtual.En sistemas operativos Windows respecto de otros como Linux, existe un gran problema  a la hora de gestiona la memoria virtual  y es la fragmentación de los archivos que se almacenan en la zona de intercambio.
Intercambio
  La parte del sistema   operativo administra la memoria es el administrador de memoria. Su labor  es clara: llevar un registro de las partes de memoria que se están utilizando y de las que no. El administrador se encarga de gestionar el intercambio  de datos esta memoria y disco siempre y cuando los procesos sean tan grandes que no quepan de una sola  en la memoria.El sistema operativo dispone de una cola de los procesos que solicitan entrar en  memoria. El planificador tiene en cuenta los requerimientos de memoria de cada uno de los procesos y las particiones de memoria disponibles. Estos requerimientos  de uso  memoria se almacena en el BCP.Una solución es permitir que los procesos puedan utilizar memoria no contigua, lo que se consigue mediante técnicas de paginación. La situación que hay un mecanismo de traducción de las direcciones lógicas a las físicas mediante una tabla de paginas  
8 Paginación Segmentación Y  Swapping Paginación segmentación swapping son técnicas de gestión de memoria , que en general permiten ejecutar programas de un tamaño superior a la capacidad de la memoria RAM utilizando  el disco duro como una ampliación de la memoria principal del equipo. La ventaja es que se puede ejecutar cualquier  programa; el inconveniente es la perdida de rendimiento.
8.1 Paginación
  la paginación es una técnica que consiste en dividir la memoria interna o RAM en zonas iguales llamados frames, y los programasen partes del mismo tamaño denominadas páginas. Mediante la tabla de paginas la UCP asigna las direcciones físicas de los frames a las paginas en las que se ha divido el programa las asignación de las frames  no tiene que ser necesariamente consecutiva.  Un programa de 1 mb ocupara lo que pueda de memoria convencional y el resto se almacenara temporalmente en memoria extendida. Este programa paginara a través del llamado marco de página. Se intercambian la paginas desde memoria convencional a extendida a viceversa dependiendo de la para de proceso que se vaya a ejecutar. Esta gestión de memoria se conoce como memoria expandida.
8 2 Segmentación
  Es una técnica similar a la paginación que permite definir los   bloques de memoria variables.
  elordenador a través de sistemas operativos puede organizar la memoria en bloque concreto y tener parte de ellas destinadas a almacenar las estructuras de datos que pueden crecer o menguar según la necesidad del usuario o del programa. Para ellos se utilizaran las pillas de memoria o stacks en las que se gestionan la estructura de datos necesarios.
8.3 Swapping
   esuna técnica similar a la de memoria virtual.  cuando varios
  usuarios se están ejecutando proceso en un mismo ordenador este se ve obligado a cargarlos en RAM. Según el estado en el que encuentre el proceso de cada usuario la memoria se irá librando de su proceso y pasara a la zona de swap mediante la técnica llamada swap-out.

9  Programas Reubicables  Reentrantes, Residentes, Y Reutilizable
a)   Reubicables Son Aquellos Una Cargado En La RAM Para Ejecutarse Pueden Varia De Situación Ya Que La Parte Del RAM Que Ocupan Puedan Ser Necesaria Para Ubicar Otro Proceso.
b)  Reentrantes Son Aquellos Programas Que Si No Se Están Dejan La Memoria Libre Para Otro Proceso.
c)   Residente
Son Aquellos Que Unos Cargados En Memoria, Permanecerán En Ellas Hasta Que Se Apaguen El Ordenador.
d)   Reutilizable Son Programas Que Normalmente Son Utilizados Por Varios Usuario A La Vez A La Memoria Independientemente Del Número De Usuario Que Le Vayan A Utilizar Con Ellos Se Consigue Un Aprovechamiento De  La Memoria.
10 Gestión De Entrada/Salida Tipos De Periféricos
Uno de las funciones principales de un sistema operativo es el
control de entrada/salida del ordenador.Periféricos tipo bloque
son aquellos en los que la información que se manejan es de
tamaño fijo.
Periféricos tipo carácter son los que sirven para introducir
datos dentro de la memoria del ordenador en forma de carácter sin
ningún orden concreto por ejemplo los teclados
11 Comunicación Del Con El Sistema Interface Del Usuario
Interface tipo texto si el sistema es de tipo texto todas las
ordenes que el usuario introduzca y las respuesta que el sistema
operativo de se introducirán o visualizaran mediante cadena de
carácter un ejemplo de sistema operativo tipo texto texto son
UNIX (en versiones  inferiores a la system V realease 4) las
primeras versiones de Linux etc.
Interface tipo grafico hoy en día la mayoría de los sistemas
operativos utilizan medios de comunicación entre maquina
ordenador  de tipo grafico.
12 Clasificaciones De Los Periféricos
Entrada  son los que sirve para introducir información datos o
programas en el ordenador. (El teclado, el escáner, la unidad
lectora del CD ROM, el ratón etc.)
Salida son los que se utilizan para extraer la información
(Impresora, la pantalla ,el plotter) etc.
Entrada salida son los se utilizan para introducir o extraer
datos desde o hacia el ordenador por ejemplo(los discos duros,
monitores táctiles, el modem el router la tarjeta de red el
pendrive , impresora, multifunción)
13 Gestión De Información
Cada sistema operativo utiliza su propio sistema de archivo.
Archivo regulares o estándares  son los que contiene información
del usuario, programa, documento texto, grafico. Directorio son
archivos que contiene referencia u otro archivo regulares o a
otro directorio.
Archivo especiales los que no son de ningún de los dos tipos
anteriores.