Datos personales

PROCESO

  Un proceso es un programa en ejecución, el cual tiene un hilo de ejecución.
  Los procesos pueden ser cooperantes o independientes, en el primer caso se entiende que los procesos interactúan entre sí y pertenecen a una misma aplicación. En el caso de procesos independientes en general se debe a que no interactúan y un proceso no requiere información de otros o bien porque son procesos que pertenecen a distintos usuarios.

Los procesos son gestionados por el Sistema Operativo y están formados 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 unidad central de procesamiento para dicho programa.
  • Su memoria de trabajo (memoria crítica), es decir, la memoria que ha reservado y sus contenidos.
  • Otra información que permite al sistema operativo su planificación.


  Los procesos pueden ser cooperativos o independientes. Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar.

    • Se usa una variable de tipo semáforo para sincronizar los procesos.
    • Si un proceso está esperando una señal, se suspende hasta que la señal se envíe.
    • Se mantiene una cola de procesos en espera en el semáforo.
    • La forma de elegir los procesos de la cola en espera es mediante una política.

          Creación de un Proceso.

          Existen cuatro maneras de crear un proceso:

            1. Arranque del sistema.
            2. En la ejecución, desde un proceso, de una llamada al sistema para la creación del proceso.
            3. Una petición deliberada del usuario para crear un proceso.
            4. El inicio de un trabajo por lotes.
                  CPU

                  Estados de un Proceso

                    Obedecen a su participación y disponibilidad dentro del sistema operativo y surgen de la necesidad de controlar la ejecución de cada proceso. Los procesadores sólo pueden ejecutar un solo proceso a la vez, turnándolos para el uso de éste. Existen procesos no apropiativos o cooperativos que básicamente ocupan todo el tiempo del procesador hasta que ellos deciden dejarlo. Los procesos apropiativos son aquellos que ocupan por un período de tiempo el procesador hasta que una interrupción o señal llega al procesador para hacer el cambio de proceso, a esto se le conoce como cambio de contexto.

                  Los posibles estados que puede tener un proceso son ejecución, bloqueado y listo:


                  • Ejecución: Es un proceso que está haciendo uso del procesador.
                  • Bloqueado: No puede ejecutarse hasta que un evento externo sea llevado a cabo.
                  • Listo: Ha dejado disponible al procesador para que otro proceso pueda ocuparlo.


                  Transiciones 

                  Las posibles transiciones son 4. 

                   La primera se realiza cuando el sistema operativo determina que el proceso no puede continuar justo en ese momento, en algunos sistemas se puede hacer una llamada al sistema "pause" para pasar al estado bloqueado.
                   Las transiciones 2 y 3 son llevadas a cabo por el planificador de procesos, siendo que el proceso no tiene conocimiento de éste. La transición 2 se da cuando el planificador de procesos decide que el proceso ya estuvo el tiempo suficiente en ejecución y debe dar paso a la ejecución de otros procesos (adquieran tiempo del procesador). La transición 3 se realiza cuando todos los procesos han ocupado tiempo del procesador y debe retomarse el primer proceso.
                   La transición 4 ocurre cuando se produce un evento externo por el que un proceso estaba en espera, por ejemplos, introducir datos desde la terminal. Si no hay otro proceso en ejecución en ese instante, la transición 3 se activa y el proceso comienza a ejecutarse; también podría pasar al estado de "listo" y esperar un momento para iniciar la ejecución.

                  MULTIPROGRAMACION

                    Se le denomina multiprogramación a una técnica por la que dos o más procesos pueden alojarse en la memoria principal y ser ejecutados concurrentemente por el procesador o CPU.
                    Con la multiprogramación, la ejecución de los procesos (o hilos) se va solapando en el tiempo a tal velocidad, que causa la impresión de realizarse en paralelo (simultáneamente). Se trata de un paralelismo simulado, dado que la CPU sólo puede trabajar con un proceso cada vez (el proceso activo). De ahí que, en rigor, se diga que la CPU ejecuta «concurrentemente» (no simultáneamente) varios procesos; en un lapso de tiempo determinado, se ejecutarán alternativamente partes de múltiples procesos cargados en la memoria principal.
                    En los antiguos sistemas monoprogramados, cuando un proceso en ejecución requería hacer uso de un dispositivo de E/S, el procesador quedaba ocioso mientras el proceso permaneciese en espera y no retomara su ejecución. En cambio, en un sistema multiprogramado, cuando un proceso concluye o se bloquea , el núcleo del sistema operativo toma el control de la CPU para efectuar lo que se denomina un cambio de contexto, a fin de dar turno a otro proceso para que se ejecute.





                  VENTAJAS


                  • Varios procesos en ejecución.
                  • Permite el servicio interactivo simultáneo a varios usuarios de manera eficiente.
                  • Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S y por ende aumenta la eficiencia en el uso del CPU.
                  • Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dónde estará el proceso dado que el sistema operativo es el que se encarga de convertir la dirección lógica en física.

                  PROCESADOR

                     Es parte del hardware de muchos dispositivos, no solo de tu computadora. El procesador es el cerebro del sistema, justamente procesa todo lo que ocurre en la PC y ejecuta todas las acciones que existen. Cuanto más rápido sea el procesador que tiene una computadora, más rápidamente se ejecutarán las órdenes que se le den a la máquina.
                     El procesador es una pastilla de silicio que va colocada en el socket sobre la placa madre dentro del gabinete de la computadora de escritorio, la diferencia en una portátil es que está directamente soldado. El procesador está cubierto de algo que llamamos encapsulado, y de lo cual existen 3 tipos: PGA, LGA y BGA.
                     El procesador es uno de los compuestos de la computadora que más ha evolucionado, dado a que se les exige a los ingenieros que cada vez ofrezcan mejores procesadores para que las computadoras funcionen más rápido y de forma más eficaz. Su evolución no ha sido solo interna, sino que también su forma externa fue modificada. Los fabricantes de procesadores buenos son muchos, pero entre los más conocidos y mas vendidos encontramos siempre a Intel.
                  Procesador INTEL

                     Este componente es el más importante podríamos decir, por lo tanto el más caro también, pero sin el resto de los componentes como respaldo no podría servir ni actuar.

                  Su Funcionamiento

                    Está determinado por un reloj que sincroniza todos los bloques funcionales y se encarga de que todo marche como debe ser o está programado para ser. El funcionamiento tiene etapas:


                  • Leer la instrucción de la memoria
                  • Buscar los datos
                  • Realizar la operación
                  • Pasar a la siguiente instrucción

                  Componentes

                  Un procesador está compuesto de:

                  • Núcleos
                  • Caché
                  • Controlador de memoria
                  • Tarjeta gráfica
                  • Otros elementos auxiliares






                  ADMINISTRADOR DE TAREAS

                  Es un software de tipo informático que tiene como utilidad y finalidad brindar al usuario la información de los diferentes procesos y aplicaciones que están siendo ejecutados en primer y segundo plano por un ordenador.

                  Desde el mismo administrador de tareas es posible realizar las acciones de:


                  • Finalizar algún proceso.
                  • Cambiar la prioridad en la cual se ejecuta un proceso (baja, por debajo de lo normal, normal, por encima de lo normal, alta, tiempo real).
                  • Cerrar la sesión de usuario que se desee.
                  • Poner en funcionamiento nuevas tareas o aplicaciones.
                  • Observar el rendimiento en cuanto al uso del CPU.

                    Generalmente, para acudir a alguna acción desde el administrador de tareas, es necesario que la cuenta de usuario que se esté utilizando contenga permisos de administrador.
                    El administrador de tareas es un software de mucha utilidad y los diferentes sistemas operativos poseen uno de fábrica. También los hay desarrollados por fabricantes particulares y pueden ser descargados desde Internet.


                  El administrador de tareas es una herramienta de Windows. Su finalidad es la de dar información sobre los procesos y aplicaciones en ejecución. Permite apagar o reiniciar el sistema, cerrar programas o sesiones, entre otros.

                  Multiprocesadores

                    La unidad central de procesamiento o unidad de procesamiento central (conocida por las siglas CPU), es el hardware dentro de una computadora u otros dispositivos programables, que interpreta las instrucciones de un programa informatico mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema. El término, y su acrónimo, han estado en uso en la industria de la Informática por lo menos desde el principio de los años 1960. La forma, el diseño de CPU y la implementación de las CPU ha cambiado drásticamente desde los primeros ejemplos, pero su operación fundamental sigue siendo la misma.
                    Una computadora puede tener más de una CPU; esto se llama multiprocesamiento. Todas las CPU modernas son microprocesadores, lo que significa que contienen un solo circuito integrado (chip). Algunos circuitos integrados pueden contener varias CPU en un solo chip; estos son denominados procesadores multinúcleo. Un circuito integrado que contiene una CPU también puede contener los dispositivos periféricos, y otros componentes de un sistema informático; a esto se llama un sistema en un chip (SoC).
                    Dos componentes típicos de una CPU son la unidad aritmética lógica (ALU), que realiza operaciones aritméticas y lógicas, y la unidad de control (CU), que extrae instrucciones de la memoria, las decodifica y las ejecuta, llamando a la ALU cuando sea necesario.
                    No todos los sistemas computacionales se basan en una unidad central de procesamiento. Una matriz de procesador o procesador vectorial tiene múltiples elementos cómputo paralelo, sin una unidad considerada el "centro". En el modelo de computación distribuido, se resuelven problemas mediante un conjunto interconectado y distribuido de procesadores.

                  Multiprocesador

                  ADMINISTRADOR DE PROCESOS



                    La administración del procesador es, prácticamente el tema central de la  multiprogramación. 
                    Esta administración involucra las distintas maneras a través de las cuales el sistema operativo comparte los recursos del procesador entre distintos procesos que están compitiendo por su uso. 
                    Esto implica directamente la multiprogramación y conlleva simultáneamente la sincronización de los mismos.

                  La idea de administrar el procesador eficientemente está enfocada en dos aspectos: 


                  1. Cantidad de procesos por unidad de tiempo que se pueden ejecutar en un sistema.
                  2. Tiempo de respuesta de esos procesos.




                  MULTIPROGRAMACIÓN

                    Un sistema operativo de multiprogramación es la técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal. Multiprogramacion implica multiproceso,sin embargo multiproceso no implica multiprogramación.

                  Aporta las siguientes ventajas:


                  • Aumenta el uso de la CPU.
                  • Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dónde estará el proceso dado que el sistema operativo es el que se encarga de convertir la dirección lógica en física.
                  Multiprogramación

                  SINCRONIZACIÓN

                    Sincronizar hace referencia a la coordinación de procesos que se ejecutan simultáneamente para completar una tarea, con el fin de obtener un orden de ejecución correcto y evitar así estados inesperados. 


                  Sincronización