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.

JERARQUIA DE LA MEMORIA

REGISTROS: almacenamientos de datos.

MEMORIA CACHE: adaptador de velocidad del procesador que es muy rápido a la memoria principal "RAM" que es lenta.

MEMORIA PRINCIPAL "RAM": tiene todos los programas de usuario, exceptuando el primer mega el cual almacena el SISTEMA OPERATIVO; espacio no modificable y restringido.

MULTIPROGRAMACIÓN

Termino que surge a raíz de los sistemas operativos el cual se define cuando múltiples programas que no están relacionados entre si pueden residir en la memoria de una computadora y tomar turnos usando la unidad central de procesamiento.

La sección que permite la multiprogramación en un sistema operativo se denomina KERNEL "núcleo del sistema".

CONCLUSIÓN: La multiprogramación fue fundamental para el desarrollo de los sistemas operativos al dar vida a la compartición de procesos a través de un espacio en memoria.

EJECUCIÓN DE INTERRUPCIÓN

Cuando el procesador requiere algún otro comando para poder seguir ejecutando, tiene la habilidad no solo de parar el proceso o la secuencia.

INTERRUPCIONES DE TIPO USUARIO

Maneja cuatro tipos de interrupción:

Interrupción del programa: Requiere ejecutar una instrucción adicional de la cual carece el programa para poderse ejecutar.

Interrupción de reloj.

Interrupción de entrada/salida: Como ejemplo tenemos interacción entre programa e impresora, protector de pantalla, etc.

Interrupciones de fallo de hardware.

EJECUCIÓN DE INSTRUCCIONES

Todo programa tiene un punto de inicio y un fin el cual tiene una estructura interactiva de:
 -secuencia.
 -decisión.
 -ciclo.

la cual es leer una instrucción o varias y ejecutar las instrucciones.







ALU "UNIDAD ARITMÉTICO LÓGICA"

Es un circuito digital que permite realizar operaciones aritméticas y lógicas entre dos números. Este circuito comprende o esta compuesto de dos operaciones aritméticas: SUMA Y RESTA.
Y adicional tiene cuatro operaciones lógicas: AND, OR, EXOR, NOT. 

tomado de:
http://www.profesormolina.com.ar/electronica/componentes/int/comp_log.htm


UC "unidad de control"

Compila todos los BITS de control.




RELACIÓN SISTEMA OPERATIVO / HARDWARE

COMPONENTES BÁSICOS DE HARDWARE:

Esta compuesto por la CPU "unidad central de procesamiento" y tres componentes que se interrelacionan con la misma:

Memoria RAM "random access memory o memoria de acceso aleatorio": es la memoria principal de un dispositivo donde se almacenan programas y datos informativos. también conocida como memoria volátil lo cual quiere decir que los datos no se guardan de manera permanente, es por esto que cuando deja de haber una fuente de energía la información se pierde, asimismo la memoria RAM puede ser reescrita y leída constantemente.



Memoria ROM "read only memory o memoria de solo lectura": es una memoria que facilita la conservación de información que puede ser leída pero sobre la cual no se puede destruir. A diferencia de una memoria RAM, los datos contenidos en una memoria ROM no son destruidos ni perdidos en caso de que se interrumpa la corriente de información y por eso se le denomina también como "MEMORIA NO VOLÁTIL".
Por ser una memoria que protege los dato contenidos en ella, evitando la sobre escritura de estos; las ROM se emplearon para almacenar información del sistema tales como programas de arranque o inicio, soporte físico y otros programas que no precisan de actualización constante.



Unidades de entrada y salida: pueden ser cualquier tipo de unidad funcional o subsistema que forma parte del conjunto integral del sistema del ordenador, en todos los casos pueden enviar señales o procesar información para establecer distintos tipos de comunicación interna y externa.




martes, 23 de febrero de 2016

TIPOS DE SOFTWARE

SOFTWARE APLICATIVO:

es todo programa informático diseñado para facilitar al usuario la realización de un determinado tipo de trabajo.



SOFTWARE DE DESARROLLO:

Son los programas que permiten el desarrollo de aplicaciones, entre los cuales podemos encontrar:
JAVA, C++, VISUAL BASIC, entre otros.



SOFTWARE OPERATIVO:

Se define como un conjunto de programas especialmente diseñados para la ejecución de varias tareas; manejar el HARDWARE de una computadora u otros dispositivos electrónicos suministrando instrucciones de rutinas básicas a los mismos para controlarlos y así permitir administrarlos e interactuar de forma simple ágil y eficiente.  


SISTEMA OPERATIVO

en conclusión es aquel (software) que controla un hardware.





lunes, 15 de febrero de 2016

PERSONAJES QUE HACÍAN PARTE DE LA INTERACCIÓN CON LOS SISTEMAS OPERATIVOS DE LA GENERACIÓN 0

Todo empezaba con el ADMINISTRADOR DE TIEMPOS el cual programaba la hora y llevaba el tiempo que el programador demoraba en una sesión de programación (normalmente eran sesiones de 2 horas). 

Seguido estaba el ADMINISTRADOR DE CONSOLAS que controlaba la maquina en que se programaba. Las maquinas trabajaban en lenguaje de maquina y el programador debía llevar el código en una hoja con el código totalmente listo en este lenguaje; cabe resaltar que en este tiempo era muy difícil programar por lo cual el programador hacia el código en LENGUAJE ENSAMBLADOR, lo cual ayudaba a que la tarea del programador se simplificara en cuanto al tiempo de desarrollo y escritura del código. Una vez terminado el código en su totalidad el programador debía traspasarlo a lenguaje de maquina para poderlo insertar en la misma.

Al ingresar el código la maquina arrojaba una tarjeta perforada donde quedaba registrado todo el programa; si el programa necesitaba recursos adicionales para poder funcionar se pedía al ADMINISTRADOR DE RECURSOS el programa necesario para que el programa que se estaba insertando funcionara. Una vez que la maquina terminaba de grabar todos los programas incluidos los programas adicionales que requerían los mismos, se guardaban o se grababan en una cinta.

Cuando la cinta se llenaba en su totalidad, se pasaba a otra maquina para que esta la pasara a otra cinta en donde no solo se encontrarían los datos de los programas ingresados sin que también tendría el resultado de los mismos a partir de los cálculos que esta maquina realizaba con los datos de la primera cinta. Por ultimo el ADMINISTRADOR DE IMPRESIÓN cogía la cinta de salida de datos o cinta nueva y la ubicaba en la impresora, verificaba el numero de hojas que tenia cada programa por medio de un organizador y después de impreso se entregaba al programador.  

jueves, 11 de febrero de 2016

GENERACIÓN 0 DE LOS S.O.

generación en la cual se trabajaba con lenguaje de maquina y la funcionalidad de los equipos dependían directamente de los roles o administradores que en ese entonces eran personas dedicadas a una función especifica y donde el programador debía ser el operador de la maquina.



DEFINICIÓN DE SISTEMAS OPERATIVOS

es el software que controla un hardware por medio de una interfaz la cual permite una interacción amigable ágil y precisa.