jueves, 19 de mayo de 2016

ALGORITMO OPTIMO DE REUBICACIÓN Y REEMPLAZO




Diapositivas realizadas por: JHONATTAN ANDREY RODRIGUEZ

POLÍTICAS Y ALGORITMOS

POLÍTICAS Y ALGORITMOS:


  • Política de LECTURA: Algoritmos por demanda y Paginación previa.
  • Política de UBICACIÓN: Algoritmos de mejor ajuste, primer ajuste, siguiente ajuste, peor ajuste.
  • Política de REUBICACIÓN: Algoritmo optimo, usado hace mas tiempo, FIFO, reloj.
  • Política de VACIADO: Algoritmo por demanda, vaciado previo.

miércoles, 18 de mayo de 2016

FUNCION DE INTERCAMBIO

Sabiendo que tenemos memoria principal y memoria virtual definimos:
  • FALLO DE PAGINA: El cual se da cuando un proceso requiere llamar a un segmento que no se encuentra en memoria principal y debe ser extraído de memoria virtual.
En la función de intercambio debe haber una pagina candidata la cual es elegida por alguna de las políticas ya sea de LECTURA, UBICACIÓN, REUBICACIÓN, Y VACIADO.






Gráfica realizada por: OSCAR W. MENDOZA.  DOCENTE SISTEMAS OPERATIVOS ECCI

SEGMENTACIÓN PAGINADA (MEMORIA VIRTUAL)

Las direcciones virtuales están compuestas por un numero de segmento, número de pagina, y desplazamiento; Con el número de segmento y la tabla de segmentos podemos hallar la ubicación de los segmentos buscados.

La tabla de segmentos tiene el numero de segmento y el registro base del segmento que sera el que de la posición inicial del segmento dado. Una vez dada la posición inicial del segmento dado, seguimos a la tabla de paginas la cual contiene el número de pagina y el número de marco; con el numero de pagina obtenemos el numero del marco que sera donde inicia el segmento dentro de la memoria virtual y sumando esto al desplazamiento; hallaremos la dirección física o real del segmento.



Gráfica realizada por: OSCAR W. MENDOZA.  DOCENTE SISTEMAS OPERATIVOS ECCI


Para la gestión de memoria se requieren 3 elementos:

  1. memoria virtual
  2. entrada a la tabla de segmentos que es como un proceso hace para incluir un segmento en la memoria.
  3. Entrada a la tabla de paginas: todo proceso tiene un conjunto residente de paginas ya que algunas son indispensables para que el proceso este en ejecución, las otras que no son importantes, pueden ser ubicadas en memoria virtual.
Bit de control P"presencia": si el Bit=0 entonces decimos que el segmento esta en memoria principal. Si el Bit =1 el segmento se encuentra en memoria virtual.

Bit de control M "modificación": si el Bit esta en 1 entonces la pagina ha sido modificada y requiere de ejecutar un proceso adicional para actualizar la imagen de la pagina en memoria secundaria, después el Bit vuelve a 0.


ESTÁNDAR DE DIRECCIÓN DE MEMORIA

Para un registro de de 2 BYTES deben haber:


  • 8 Bits los cuales indican el número de pagina.
  • 8 Bits los cuales indican el desplazamiento.
Ejemplos:
 


Imagenes realizada por: JHONATTAN ANDREY RODRIGUEZ

PAGINACIÓN SIMPLE

La memoria se divide en pequeños trozos de memoria de igual tamaño llamados MARCO DE PAGINA y un programa o proceso se divide en paginas de igual tamaño; El tamaño de la pagina del proceso y los marcos de pagina del proceso son equivalentes.

HIPERPAGINACIÓN: Se presenta cuando el Sistema Operativo intenta hacer el tamaño de la pagina de procesos mas pequeño que e tiempo de latencia.

PARTICIONES DE DIFERENTE TAMAÑO

Dado que en las particiones fijas de igual tamaño hay fragmentación interna lo cual indica que sin importar el tamaño del programa, por más pequeño que sea siempre ocupara una partición completa, se logro obtener una forma de reducir la perdida de espacio a través de particiones de diferente tamaño; lo cual consiste en asignar cada proceso a la partición de memoria mas pequeña en la que quepa y a su vez consiste en seleccionar la partición más pequeña disponible que pueda albergar dicho proceso.
Para poder implementar este tipo de partición, es necesario crear o asignar una cola de planificación la cual admitirá a los procesos cuya memoria sea igual o menor al tamaño de la partición. La fragmentación de diferente tamaño posee el problema de que al admitir procesos mas pequeños que el tamaño de la partición ocasiona que la memoria se vaya dividiendo en partes de memoria mas pequeños, ocasionando que la memoria en un punto no pueda admitir mas procesos. a esto se le denomina FRAGMENTACIÓN EXTERNA.

PARTICIONES FIJAS

¿ Porque se divide la memoria?
 R: Porque ningún proceso puede estar solo en la memoria (se da paso a la multiprogramación).

TAMAÑO DE PAGINA: dependiendo de que tan grande o pequeño sea el tamaño de pagina depende de la eficiencia del programa. (normalmente 1 k). Ejemplo:
  • si un proceso tiene 3.72 k, tenemos que tener 4 paginas de 1 k, tantas como el programa lo requiera.
FRAGMENTACIÓN INTERNA: Se define como memoria asignada perdida, parte de la memoria principal asignada a un proceso que no ha sido utilizada ya que cada proceso, se divide en tantas paginas como el proceso lo requiera.

REQUISITOS PARA LA GESTIÓN DE MEMORIA


  • REUBICACIÓN: Cuando programa o proceso pasa a memoria virtual; para seguir ejecutándose debe hacer una traducción de direcciones para reubicar el proceso en una de las partes libres de la memoria principal. Cuando el proceso o programa se compila, almacena unas direcciones virtuales y una vez el programa es pasado a estado de ejecución; las direcciones virtuales cambian a direcciones absolutas o reales a través del CDMA el cual es delegado por el procesador para que el DMA "acceso directo a memoria" para que así los programas ya no tengan que esperar su espacio inicial en memoria sino que los mismos sean ubicados en una parte de la memoria principal que este disponible. 
  • PROTECCIÓN: Cada proceso debe protegerse contra interferencias no deseadas de otros procesos ya sean accidentales o intencionadas; Es decir, que el código de un proceso no puede referenciar a posiciones de memoria de otros procesos para utilizarlos o modificarlos (con fines de lectura y escritura) sin permiso.
  • COMPARTICIÓN: Para cualquier mecanismo de protección que se implemente debe ser flexible  y permitir el acceso de varios procesos a la misma zona de memoria principal; Es decir, si tenemos uno o varios procesos que están ejecutando un mismo programa, resulta mejor que cada proceso pueda acceder a la misma copia del programa en lugar de tener cada uno su propia copia aparte.
  • ORGANIZACIÓN LÓGICA: Los módulos de los programas puedan escribirse y compilarse independientemente, mientras el sistema resuelve durante la ejecución todas las referencias de un modulo a otro.
  • ORGANIZACIÓN FÍSICA: La memoria se organiza en al menos dos niveles los cuales son memoria principal y memoria secundaria. la memoria principal ofrece un acceso rápido con un costo relativamente alto, es volátil (no proporciona almacenamiento de forma permanente). la memoria secundaria es de un costo mas económico, proporciona almacenamiento de forma permanente pero esta es mas lenta.

información traída del libro: Stallings_William_-_Sistemas_Operativos 

GESTION DE MEMORIA

  • Es toda interacción entre los registros, la memoria cache, memoria principal y el disco duro.
  • Funciona con la planificación de mediano plazo o función de intercambio "zwapping".
  • El sistema operativo es el único que controla la memoria virtual.

lunes, 11 de abril de 2016

CRITERIOS DE PLANIFICACIÓN

MODOS DE DECISIÓN:

PREFERENTE        ----------------------> NO APROPIATIVO

NO PREFERENTE ----------------------> APROPIATIVO


CONCEPTOS DE PLANIFICACIÓN:

1- TIEMPOS
  - TL: tiempo de llegada: proceso ya ha sido admitido por S.O. pero que no a sido ejecutado.
  - TS: tiempo de servicio: tiempo que tiene el proceso en  uso del procesador.
  - TR: tiempo de retorno: la suma de los tiempos de servicio + los tiempos de espera.
  - TE: tiempo de espera: proceso ya admitido pero que no esta en ejecución.
  - TLT: tiempo de latencia.

2- POLÍTICAS DE PLANIFICACIÓN DE PROCESOS O P.P.P.:

2.1- F.C.F.S. PRIMERO EN LLEGAR, PRIMERO EN SERVIRSE:

Política apropiativa / No preferente.
El primer proceso que ingresa y es admitido en el sistema, es el primero en entrar en uso del procesador. 


2.2- R.R. ROUND-ROBIN O FRACCIÓN DE TIEMPO

Política preferente / No apropiativa.
Política de tipo preferente por QUANTUM; cada vez que se cumple 1 QUANTUM, el proceso en ejecución pasa a estado listo dando espacio a otro proceso.



2.3- S.P.N. SHORTEST PROSSES NEXT / PRIMERO EL MAS CORTO

Política No preferente / Apropiativa.
En el estado LISTO se ordenan los procesos de menor a mayor expidiendo al proceso menor o al mas corto.
Si existe un tren largo de procesos cortos un proceso largo puede sufrir de innanición.



2.4- S.R.T. SHORTEST REMAINING TIME /PRIMERO EL DE MENOR TIEMPO RESTANTE

Política Preferente / No apropiativa.
Cada QUANTUM el proceso en ejecución es expulsado del procesador retornado al estado LISTO y se elige de esta lista, al proceso que tenga menor cantidad de tiempos de servicio en ese momento.
Esta política puede tener dificultad de innanición.



2.5- H.R.R.N. HAIGEST RESPONSE RATIN NEXT / MAYOR TASA DE RESPUESTA

Política No preferente / Apropiativa
Selecciona una vez terminado un proceso, al siguiente proceso con mayor tasa de respuesta o W.

tasa de respuesta= (tiempo de servicio + tiempo de espera) / tiempo de servicio.

W=(TS + TE)/TS

tasa de respuesta= tiempo de retorno/ tiempo de servicio.

W=TR/TS



2.6- M.L.F. MULTI LEVEL FEEDBACK / REALIMENTACIÓN MULTI NIVEL

Política preferente / No apropiativa
Con esta política asumimos que el tiempo de respuesta es inmediato.



OBJETIVOS DE LA PLANIFICACIÓN

IGUALDAD: Si todos los procesos tienen igualdad, todos los procesos deben hacer uso de los recursos (procesador).


MAXIMIZAR LA CAPACIDAD DE EJECUCIÓN (EFICIENCIA): Un proceso que se ejecuta en el menor tiempo posible y usando todos los recursos necesarios.


MINIMIZAR LA SOBRECARGA: Para que un proceso tenga mucho mayor tiempo para ser ejecutado, que el tiempo utilizado para ir de estado en estado y de transición en transición.


USO DE RECURSOS: Varios procesos que tienen la misma finalidad puedan utilizarse. Ejemplo: chrome, explorer.


MAXIMIZAR EL NUMERO DE USUARIOS.

SEGURIDAD

PREDECIBLE

NIVELES DE LA PLANIFICACIÓN DE PROCESOS

NIVELES

PLANIFICACIÓN A LARGO PLAZO:

- nuevo
- terminado

Tiene la decisión de admitir (función login), un nuevo proceso. Da respuesta a la pregunta ¿cuando puedo admitir un proceso en memoria.
Pasa de estado NUEVO a TERMINADO solo una vez.

PLANIFICACIÓN A MEDIANO PLAZO:

- listo/suspendido
- suspendido/bloqueado

Actúa en los estados LISTO/SUSPENDIDO y SUSPENDIDO/BLOQUEADO.
Se encarga de la función de intercambio (función Zwapping); debe permitir que los procesos que están en memoria principal pasen a memoria virtual y así los procesos que estaban en memoria virtual pasen a memoria principal.
decisión de completar paginas de un proceso en memoria principal.

PLANIFICACIÓN A CORTO PLAZO:

- ejecución
- listo
- bloqueado

Actúa en los estados LISTO, EJECUCIÓN Y BLOQUEADO; y se encarga de la función DISTRIBUIR. decisión de establecer cual de los procesos que están en estado LISTO debe ser EXPEDIDO.

PLANIFICACIÓN DE EXTRA LARGO PLAZO O DE ENTRADA Y SALIDA:

- dispositivos externos

Posee importancia relativa del usuario el cual tiene que ver con la jerarquía. Desde un usuario final hasta un usuario super administrador. 


MODELOS DE ESTADOS Y TRANSICIONES


MODELO DE 3 ESTADOS


MODELO DE 5 ESTADOS

ESTADOS Y TRANSICIONES

Los estados representan la ubicación de los procesos en el espacio de direcciones; todos los procesos a un estado de NO EJECUCIÓN, excepto 1 el cual esta en estado de EJECUCIÓN.

Un proceso llega a un estado de no ejecución por una transición ENTRAR y todo proceso en estado de ejecución, llega a una transición denominada SALIR. Cuando un proceso que esta en estado de NO EJECUCIÓN, es por que no cumple todos los requerimientos para estar en EJECUCIÓN; cuando el proceso cumple con todos los requerimientos pasa del estado de NO EJECUCIÓN a EXPEDIRSE a un estado  de EJECUCIÓN, y cuando un proceso que no a salido del estado de EJECUCIÓN a la transición SALIR y no cumple con los criterios o deja de cumplir con los criterios para estar en este estado, pasa por una transición denominada PAUSAR a un estado de NO EJECUCIÓN.

EJEMPLO:
Cuando el proceso cumple un limite de tiempo en ejecución del proceso.

lunes, 29 de febrero de 2016

CRONICA

UN HECHO RELEVANTE PARA LOS SISTEMAS OPERATIVOS.

El 24 de agosto de 1995 Microsoft lanzo Windows 95 la cual obtuvo una cifra récord en ventas; 7 millones de copias en las primeras cinco semanas, el lanzamiento de este sistema operativo fue el más ostentoso y publicitado que la empresa Microsoft haya realizado en donde encontrábamos desde comerciales de televisión con los rolling stones cantando “star me up” sobre la imágenes del nuevo botón de inicio y el lema comercial que decía “ESTA AQUÍ”.

Este sistema operativo marco el inicio de una gran era; el nacimiento del nuevo mundo en línea, la era del fax y los módems, el correo electrónico y los imponentes juegos multimedia. Windows cuenta con un soporte técnico de Internet integrado, acceso telefónico a redes, y nuevas capacidades de plug and play “enchufar y usar: tecnología o avance e cualquier tipo que permite a un dispositivo informático ser conectado a una computadora sin tener que ser configurados por medio de un software específico u controlador” las cuales hicieron que fueran más fácil instalar hardware y software.
El sistema operativo de 32 bits también ofreció mejores capacidades multimedia y características más potentes; Windows 95 fue la actualización para los sistemas operativos Windows predecesores y MS-DOS. Este sistema operativo requería de equipos con un procesador de 386 DX o superior (con recomendación de utilizar un procesador de 486) y al menos 4 MB de RAM (con recomendación e que preferiblemente fuera una RAM de 8 MB para aprovechar su potencial). Las versiones de actualización se podían encontrar en disquete y CD- ROM, con disponibilidad de 12 idiomas.

Con Windows 95 se produjo la aparición del menú inicio, la barra de tareas, los botones minimizar, maximizar, y cerrar en cada ventana.



tomado de:
http://windows.microsoft.com/es-CO/windows/history#T1=era4

domingo, 28 de febrero de 2016

NIVELES DEL SISTEMA INFORMÁTICO

HARDWARE: permite la interacción maquina usuario.

FIRMWARE: controlador, software que esta programado físicamente en un dispositivo.

SOFTWARE: 

Aplicaciones_______Usuario Final

Utilidades_________Usuario Programador

Operativo_________Usuario Diseñador
 

FUNCIONES DE LOS SISTEMAS OPERATIVOS

COMODIDAD: genera comodidad debido a que en los inicios de los sistemas operativos todo era manual, con el tiempo todo se hizo para que fuese de forma mas autónoma.

EFICIENCIA: por tiempo de respuesta y velocidad de procesamiento.

CAPACIDAD DE EVOLUCIÓN: evolucionar a sistemas operativos mas eficientes sin perder su compatibilidad, mantener el ritmo del avance tecnológico sin desaprovechar los recursos físicos instalados (HARDWARE Y SOFTWARE).

Las funciones de los sistemas operativos evolucionaron de tal forma que lograron reducir la tasa de error de un 95% a un 17% de error; a tal punto de que el sistema operativo se anticipe a los errores que se puedan cometer. 

La unión de las tres funciones mencionadas anteriormente hicieron o interpusieron el apodo de maquina virtual a la maquina de la actualidad.

BLOQUE DE CONTROL DE PROCESOS

Almacena la información tal y como quedo en su ultimo instante de edición para que después se pueda continuar sin haber perdido lo hecho anteriormente.

EJEMPLO DE BLOQUE DE CONTROL DE PROCESOS:

Partimos de un ARCHIVO para poder crear los bloques de control de procesos. Seguido de una TAREA, la cual abre el bloque de control de procesos y posteriormente tenemos el PROCESO el cual crea un espacio en memoria. 

PROCESO

Se define como una secuencia lógica de acciones en las cuales puede llegar a hacer uso del procesador y puede ocupar un lugar en la memoria.

La diferencia de un proceso en monoprogramación de un proceso en multiprogramación es que el proceso en multiprogramación puede ser interrumpido y después continuarlo desde donde lo dejo, sin que un segundo proceso o programa afecte al primero.