domingo, 25 de octubre de 2015

Procesos



Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:


  • Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
  • Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
  • Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
  • Otra información que permite al sistema operativo su planificación.


Estado de los procesos





Programa= Es una secuencia de sentencias o instrucciones que están compuestos por muchas tareas, esto depende del procesador.

Se tiene un programa con 100 tareas.




Para realizar todas las tareas el programa ingresa 4 veces al procesador, esto depende de la velocidad del procesador, si cada vez que ingresa una vez al procesador este queda en espera mientas se atienden otros programas, cuando entra la cuarta vez queda en estado de terminado.




  • Bloqueo

Se produce en un 90% por un evento humano, si no se realiza una acción la tarea entra a un estado de bloqueo, hasta que tenga una acción "Evento entrada-salida"



  • Mono-procesos

Estos ya no existen, era cuando solo se realizaba una tarea en el procesador.




- En windows solo hay mono-usuarios y multi-tareas, los único windows con multi-usuarios es el Windows Server.

- En Linux se maneja el multi-usuario y la multi-tarea.


El problema de manejar multi-procesos o mono-procesos es del software

        JAVA multi-procesos                                 C++ mono-procesos


Se puede tener mono-procesos y trabajar con multi-usuario y multi-tareas
esto depende la la arquitectura del procesador RISC o CISC.

Un bloqueo termina directo cun¿ando el usuario cancela o cierra el programa o la tarea que había enviado, aparece un nuevo estado el de Aceptado.




Este nuevo estado lo manejan servidores que tienen muchos procesos, se requiere mucha memoria y mucho procesador.


Algoritmos de planificación 

 1. No apropiativos: 

       1.1  FiFo: primero en entrar primero en salir.






      1.2 S.J.F: Proceso mas corto es el primero que entra.






    2. Apropitivos:

         2.1 S.R.T:  El tiempo restante mas corto.







        2.2 Round Robin: Se necesita de otro algoritmo para que funcione, por lo general es FiFo, de maneja un evento Q (quantum), que es cuanto se va a demorar cada proceso o ejecución. 






La diferencia que existe entre los algoritmos apropiativos y los no apropiativos es que unos necesitan de tiempo y los otros no.


El siguiente vídeo da una explicación sobre RISC y CISC, realizado por Jorge Peña Estudiante de ingeniería de sistemas de la universidad INCCA de Colombia.







El siguiente vídeo da una explicación sobre Concurrencia, realizado por Walter Bernal Estudiante de ingeniería de sistemas de la universidad INCCA de Colombia.






El siguiente vídeo da una explicación sobre Kernel, realizado por Fernando Piracon Estudiante de ingeniería de sistemas de la universidad INCCA de Colombia.



El siguiente vídeo da una explicación sobre el algoritmo del banquero, realizado por Yudi Lozano Estudiante de ingeniería de sistemas de la universidad INCCA de Colombia.


Semáforos: Aquí encontrara una presentación con lo referido a este tema.  https://prezi.com/iz7z4kx4ltgv/semaforos/


Configuración de multi-procesos: Aquí encontrara una presentación con lo referido a este tema. https://prezi.com/lanodbd1qm31/configuracion-de-multiprocesos/


Procesamiento en paralelo: Aquí encontrara una presentación con lo referido a este tema. https://prezi.com/x951lvldnmbw/procesamiento-en-paralelo/


Procesos colaborativos: Aquí encontrara una presentación con lo referido a este tema. https://prezi.com/debs1xrreeqm/copy-of-coordinacion-y-sincronizacion-de-procesos/

viernes, 18 de septiembre de 2015

Memoria.



Memoria RAM: Memoria de acceso aleatorio, Se utiliza como memoria de trabajo de computadora para el sistema operativo, los programas y la mayor parte de software, es sensible a la energía sin una fuente de poder no tienen funcionamiento.


Memoria ROM: Memoria solamente para leer, es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de información y no su escritura, independientemente de la presencia o no de una fuente de energía.


Memoria cache: Es la memoria de acceso rápido de una computadora, que guarda temporalmente los datos recientemente procesados, es un búfer especial de memoria que poseen las computadoras que funciona de forma similar a la memora principal.



Al iniciar el computador la memoria RAM siempre va estar vacía, al momento de iniciar el computador ingresan procesos llamados tareas. Siempre abran tareas por realizar en la memoria RAM del computador.



Conceptos utilizados.

Des-asignación: Es la salida de tareas de la memoria cuando termina la ejecución esto depende del tiempo o del sistema operativo y puede salir en cualquier momento.


Fragmentación: Es la memoria ocupada pero no utilizada, de da cuando la partición de memoria es más grande que la tarea en ejecución.


Memorias Antiguas.


Memorias para un solo usuario: En este tipo de memoria se asignan n cantidad de tareas de un tamaño diferente a unas particiones de memoria de tamaño fijo.




Las tareas 2, 3, 5 quedan en cola hasta que alguna de las tareas termine la ejecución o sea des-asignada.



- Particiones fijas: Este tipo de memoria tienen unas particiones ya creadas por defecto, no tienen    que ser necesariamente del mismo tamaño. Cuando una tarea ingresa busca la primera partición de memoria donde  quepa y en ese lugar hace la ejecución sin importar la fragmentación. Estas dieron paso a la    multiprogramación y a la multitarea.





-          Particiones dinámicas: Este tipo de memoria crea cada una de sus particiones dependiendo del tamaño de la tarea a realizar, pero las memorias dinámicas con el tiempo se compartan como fijas, cuando se produce una des asignación  y no la de la última partición queda un espacio fijo de memoria y cuando ingrese la siguiente tarea puede quedar fragmentación.





Si ingresamos dos tareas más y des asignamos la tarea 2 visualizaremos como las memorias dinámicas se comportan como fijas al pasar el tiempo.




Cuando la tarea 2 termino se ejecución dejo una partición de memoria libre, la tarea 6 siguió el orden e ingreso después de la tarea 5 que fue la última en ingresar, cuando la tarea 7 intento entrar al final la memoria estaba completamente llega entonces se dirigió a la partición de memoria libre que dejo la tarea 2, como era más grande que la tarea 7 se produjo fragmentación y se comportó como una memoria fija.




Si intentamos ingresar una nueva tarea al estar la memoria llena como en las memorias fijas también hay tareas en cola.




- Técnicas de asignación:


       1. Peor ajuste: Este tipo de ajuste gasta mucho tiempo y mucho gasto de memoria no le importa  como quede distribuida solo le importa la precisión, se utiliza en las memorias fijas.

   
        2. Primer ajuste: Este tipo de ajuste pone la tarea en la primera partición de memoria vacía que encuentra, tiene menos tiempo de ejecución pero tiene mucha fragmentación.






        3. Mejor ajuste: Este tipo de ajuste ingresa las tareas en la primera partición de memoria vacía donde queden mejor ubicadas, optimiza mas la memoria pero tiene mas tiempo de ejercicio.





         4. Siguiente ajuste: Este tipo de ajuste parte desde el ultimo elemento que ingreso y lo ingresa en la primera partición de memoria que este vacía, si este recorre la memoria y llega al ultimo elemento de nuevo este  queda en cola. 


   
   Des asignación. 
   
 Particiones fijas.



            
 Particiones dinámicas.


    
   Todas las tareas salen por tiempo de ejecución.
   
   
1.Caso: Entre particiones ocupadas.

 -  Se va TD en las particiones fijas, sale directa la tarea


 
              
-  Se va T4 en las particiones dinámicas, pregunta al anterior y al siguiente si esta libre si no están libres sale la tarea.




2. Caso: entre una libre y una ocupada

- Se va TB en las particiones fijas, sale directa la tarea.


                  

 - Se va T2 en las particiones dinámicas, pregunta si están libre, si hay una libre y una ocupada sale la tarea y las dos particiones de memoria libres las une.


     
     
  3. Caso: entre dos libre

- Se va TA en las particiones fijas, sale directa la tarea.




- Se va T1 en las particiones dinámicas, pregunta si la anterior y la siguiente están libre, si las  dos l o están sale la tarea y une las tres particiones de memoria libres.


  

Re-localizada.


Las re-localizadas solo se pueden efectuar en las memorias dinámicas.



  
Sucede en tres eventos o instancias.

1. Por tiempo
2. Cantidad de tareas en cola
3. Por porcentaje de ocupación de memoria.




Las tareas X y M intentan ingresar pero las particiones de memoria en blanco no tienen el espacio disponible se produce la re-localizada.

Cuando las tareas re re-localizan no debe haber ninguna ejecución ni entrar y salir tareas, cuando se las la re-localizada quedan las tareas congeladas por que si no pasa esto al mover se puede perder información. luego si pueden entrar las tareas en cola.



Registro de re-localizada: cuanto se mueve cada tarea cundo se re-ubica.


  

Se suma el espacio que se movió, si la tarea anterior tenia fragmentación se cuenta el espacio que se va mover mas la fragmentación del anterior.



Memorias Nuevas.



Paginación: Esta forma de manejo de memoria provienen de las particiones fijas, no se pueden re-localizar. la memoria se encuentra dividida en paginas iguales hasta la partición para el sistema operativo se encentra paginada, a cada una de estas particiones se les denomina marcos.




En la paginación la tabla de tareas tiene un nuevo espacio para las paginas que ocupa la tarea.




Toda tarea que llega se pagina y luego si se ingresa a memoria, en la paginación pueden entrar en cualquier partición de memoria vacía sin importar el orden solo que se encuentre vacía, se hace una división para saber el numero de paginas.

                         25 / 10 = 2     residuo 5


                          32 / 10 = 3     residuo 8



La ultima pagina de cada tarea tiene fragmentación, no tendrán fragmentación cuando al buscar el numero de paginas el residuo sea 0.



                       47 / 10 = 4     residuo 3




Al la T3 necesitar 5 marcos para ingresar, el solo haber 4 marcos disponibles la T3 queda en cola.


La paginación tiene una tabla para el control de las tareas separadas por paginas.




Para buscar errores se va a la tarea con el error y la linea donde este esta, se hace una division pata ver en que parte de la pagina esta el error.

ejemplo:   T2 - error linea  24.
 
                      24 /   10 =  2       residuo 4

el error se encuentra en la pagina 2 en la linea 4.









viernes, 28 de agosto de 2015

Definición de sistema operativo.




El sistema operativo es el programa o software mas importante de un computador, para que los aplicativos funcionen, todos los computares de uso general deben tener un sistema operativo instalado. El sistema operativo provee una interfaz con el resto de programas, dispositivos hardware y los usuarios. 

El sistema operativo se encarga de realizar tareas básicas, como reconocimiento de conexiones por puertos, enviar información a pantalla, no perder de vista archivos y directoria de disco. Controla dispositivos externos como impresoras y escáner.


Los sistemas operativos proporcionan una plataforma de software que permite que las aplicaciones puedan funcionar. Las aplicaciones se programan en base a los sistemas operativos en particular, por eso es importante escoger un sistema operativo ideal.