miércoles, 24 de septiembre de 2014


PROCESOS Y FLUJOS




Un proceso es un concepto manejado por el sistema operativo y que referencia un programa en ejecución.




HEBRAS Y ESTADOS DE LOS PROCESOS

Una hebra es un punto de ejecución de un proceso.Un proceso tendrá siempre una hebra, en la que corre el propio programa,pero puede tener más hebras.

Las hebras representan un método software para mejorar el rendimiento y eficacia de los sistemas operativos.Las hebras de un mismo proceso compartirán recursos, como memoria,archivos,recursos hardware.




Sistemas Operativos I
Intercambio

¢Un programa o conjunto de programas que gestionan los recursos de Hardware, Software como interfaz entre el usuario y el ordenador.
¢Monousuarios y Monoproceso
Solo puede tener 1 usuario y realizar un solo proceso a la vez.
¢Multiusuario y multitarea
Un sistema operativo que le permite al usuario estar realizando varias labores y a varios usuarios al mismo tiempo.
¢Administrador de la Memoria
Se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.

La gestión de la memoria se convierte en la función más importante del S.O.
¢La gestión de memoria
Es importante cuando trabajamos en S.O. multiproceso, y aún más en S.O. multihilo, ya que se comparten espacios de memoria en los que se alojan las variables compartidas y a los que acceden varios procesos o hilos de un proceso.
¢El planificador
Tiene en cuenta los requerimientos de memoria de cada uno de los procesos y las particiones de memoria disponible. Estos requerimientos de uso de memoria se almacenan en BCP.
¢La Paginación
Los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su última página, lo que minimiza la fragmentación interna y evita la externa.

¢La segmentación
Es una técnica de gestión de memoria que pretende acercarse más al punto de vista del usuario. Los programas se desarrollan, generalmente, en torno a un núcleo central (principal) desde el que se dirige a otras partes (rutinas) o se accede a zonas de datos (tablas, pilas).

Divide a la memoria en segmentos, cada uno con nombre
 y longitud distinta.
¢Memoria virtual
La memoria virtual es una técnica de gestión de la memoria que permite que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que esté disponible físicamente.
Cuando se ha terminado con la ejecución  de los procesos temporales, la información se acomoda o regresa a la memoria real.


martes, 23 de septiembre de 2014

 
PAGINACIÓN, SEGMENTACIÓN Y SWAPPING
 
 
       Son técnicas de gestión de memoria que permiten ejecutar programas de un tamaño superior a la capacidad de memoria RAM utilizando el disco duro como una ampliación de la memoria principal del equipo.
 
La paginación es una técnica que consiste en dividir la memoria interna o RAM en zonas iguales llamadas frames o marcos de página y los programas se dividen en unidades lógicas denominadas páginas que tienen el mismo tamaño de los marcos.
 
Para ubicar un programa en memoria el sistema operativo buscará en memoria física los frames que tenga libres.
  
 
 







      
       La segmentación es una técnica similar a la paginación que permite definir los bloques de memoria de tamaño variable. Cada segmento puede variar desde 0 hasta un máximo permitido.
 
La paginación difiere de la segmentación en que las páginas son de tamaño fijo y los segmentos no; puesto que pueden tener longitudes distintas. El uso de la técnica de paginación o segmentación dependerá del sistema operativo utilizado y de la máquina en la que lo usemos; además puede variar según las necesidades del software.
 
Esta técnica permite reducir la fragmentación interna de la memoria provocada por la paginación ya que asigna a cada programa la cantidad de memoria que requiere.
 
 
 
 
 
       El swapping es una técnica similar a la de  memoria virtual. Cuando varios usuarios están ejecutando procesos en un mismo ordenador, éste se ve obligado a cargarlos en RAM. Según el estado en que se encuentre el proceso de cada usuario la memoria se irá liberando de su proceso y pasará a la zona de swap mediante la técnica llamada swap-out
 
Si el usuario vuelve a solicitar su proceso para seguir ejecutándolo, se produce el denominado swap-in, que consiste en pasar el programa de la zona de swap a la memoria interna.
 
En este caso es cuando es útil el espacio de intercambio, el sistema operativo puede buscar un proceso poco activo, y moverlo al área de intercambio (el disco duro) y de esa forma liberar la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído de memoria puede quedarse en el disco, ya que ahí no utiliza memoria física.
 
Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es un proceso lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión de que hay más memoria disponible.
 
 

 

BLOQUE DE CONTROL DE PROCESOS

Bloque de control de Procesos


Los sistemas operativos disponen de los servicios necesarios para la gestión de los procesos, tales como su creación, terminación , ejecución periódica, cambio de prioridad, etc.

Además, durante su existencia . Los procesos pasan por distintos estados cuyas transiciones estan controladas por el sistema operativo.
BLOQUE DE CONTROL DE PROCESOS

EL BCP DE CADA PROCESO ALMACENA INFORMACION COMO:
ESTADO ACTUAL DEL PROCESO. EJECUCION , PREPARADO  O BLOQUEADO.
IDENTIFICADOR DEL PROCESO. DEPENDIENDO DEL SISTEMA OPERATIVO A CADA PROCESO SE ASIGNA UN PID.
PRIORIDAD DEL PROCESO. LA ASIGNADA POR EL PLANIFICADOR.
UBICACIÓN EN MEMORIA.DIRECCION DE MEMORIA EN LA QUE SE CARGA EL PROCESO.
RECURSOS UTILIZADOS. RECURSOS HARWARE Y SOFTWARE PARA PODER EJECUTARSE.
 


ESTADOS DEL BCP

ALGORITMOS DE PLANIFICACIÓN

GRACIAS A LOS ALGORITMOS DE PLANIFICACIÓN , ESPECIALMENTE EN SISTEMAS OPERATIVOS MULTIPROCESO O EN SISTEMAS OPERATIVOS EN RED, SIEMPRE Y CUANDO SE EJECUTEN VARIOS PROCESOS EN EL MISMO EQUIPO, LA CPUSE ENCARGA DE ASIGNAR TIEMPOS DE EJECUCION A CADA PROCESO SEGÚN EL TIPO DE ALGORITMO Y LA PRIORIDAD DE CADA PROCESO.




TIPOS DE ALGORITMOS
ALGORITMO DE RUEDA
.-ASIGNA ROTATIVAMENTE TIEMPOS DE EJECUCION A LOS DIFERENTES PROCESOS. TAMBIEN SE LE LLAMA ROUND – ROBIN Y EN EL LA ASIGNACION DE TIEMPOS DE EJECUCION A LOS PROCESOS ES LA MISMA Y DE FORMA SECUENCIAL. A CADA UNO SE LE ASIGNA EL MISMO QUANTUM O INTERVALO DE TIEMPO DE EJECUCION.
ALGORITMO FIFO (FIRST IN FIRST OUT).

LOS CICLOS DE UCP ASIGNADOS A CADA PROCESO SE ASIGNAN EN FUNCION DE UNA COLA FIFO. AL PRIMER PROCESO QUE LLEGA SE LE ASIGNAN TIEMPOS O CICLOS UCP HASTA QUE TERMINA COMPLETAMENTE . A CONTINUACION , SE EJECUTA COMPLETO EL SIGUIENTE PROCESO QUE HAY EN LA COLA FIFO Y ASI SUCESIVAMENTE HASTA TERMINAR CON EL ULTIMO PROCESO.

LOS CICLOS DE UCP ASIGNADOS A CADA PROCESO SE ASIGNAN EN FUNCION DE UNA COLA FIFO. AL PRIMER PROCESO QUE LLEGA SE LE ASIGNAN TIEMPOS O CICLOS UCP HASTA QUE TERMINA COMPLETAMENTE . A CONTINUACION , SE EJECUTA COMPLETO EL SIGUIENTE PROCESO QUE HAY EN LA COLA FIFO Y ASI SUCESIVAMENTE HASTA TERMINAR CON EL ULTIMO PROCESO.

Reubicables

Son aquellos que al estar cargados en RAM para ejecutarse pueden variar de situación puede ser necesaria para ubicar otro proceso.

Estos programas cambian de posición cuando se esta realizando una operación sobre el ordenador.


Reentrantes

Son aquellos que si no están ejecutando dejan la memoria libre para otros procesos.



 

Reutilizables

Son aquellos que normalmente son utilizados por varios usuarios a la vez en memoria independiente del número de usuarios que lo vayan utilizando

 
 
Gestión de entrada/salida tipos de periférico
una de las funciones principales de un SO es el control de los periféricos de entrada/salida del ordenador. el sistema operativo se encarga de enviar ordenes, determinar el dispositivo que necesita la atención del procesador, eliminar posibles errores, ETC.
 
Es necesario hacer una clasificación de los periféricos. Esta clasificación no corresponde a si son periféricos de entrada o de salida, sino a si gestionan la información por bloques o por caracteres;
periférico tipo bloque: son aquellos en los que la información que se maneja es de tamaño fijo. la información entra o sale de memoria en forma de bloque.
ejemplo: son los registros de ficheros de datos almacenados en discos o disquetes, ya que cada registro contiene información referente a un bloque homogéneo.
periférico tipo carácter: son los que sirven para introducir datos dentro de la memoria del ordenador en forma de caracteres, sin ningún orden concreto.
ejemplo: los teclados. también analizaremos los periféricos que sirven para ver los resultados obtenidos de nuestra gestión en forma de cadena de caracteres: pueden ser el monitor, la impresora. ETC:
 
el sistema operativo se encarga de acceder a la información de la memoria principal, extraerla en forma de impulsos eléctricos y enviarla a los diferentes dispositivos periféricos. si la información se envía a un disco duro, los impulsos se transformaran en señales de tipo magnético , si se envía a una impresora se transformaran en caracteres. ETC.
 
 
Comunicación con el sistema interfaces de usuario
hay que destacar las interfaces como medio de comunicación entre hardware y software a través del sistema operativo. Las interfaces pueden clasificar en:

interfaz tipo texto. si el sistema operativo es de tipo texto, todas las órdenes que el usuario introduzca y las respuestas que el SO de se introdujeran o visualizaran mediante cadenas de caracteres.

interfaz tipo grafico: hoy en día, la mayoría de los sistemas operativos utilizan medios de comunicación entre maquina y ordenador de tipo grafico. en este tipo de interfaces, el uso del ratón es casi imprescindible.