# data[].attributes.attachment_link.readable_text
2.4 Control de un proceso
[STAL95][BIC88]
2.4.1 Modos de Ejecución

Antes de continuar la discusión sobre la forma en que el sistema operativo gestiona los procesos, hace falta distinguir entre el modo de ejecución del procesador que normalmente se asocia con el sistema operativo y el modo que normalmente se asocia con los programas de usuario. Ciertas instrucciones máquina pueden ejecutarse sólo en modo privilegiado. Entre éstas están la lectura o modificación de registros de control (como la palabra de estado), instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Y solamente se puede acceder a ciertas zonas de memoria en el modo privilegiado. El modo de menor privilegio se conoce como modo usuario, y el de mayor privilegio como modo de sistema, supervisor o núcleo.

La razón por la que se usan dos modos debe quedar clara. Es necesario proteger al sistema operativo y a las estructuras de datos importantes, tales como los bloques de control de procesos, de las inferencias de los programas de usuario. En el modo núcleo o privilegiado, el software tiene control completo del procesador y de todas las instrucciones, registros y memoria.

Surgen dos preguntas: ¿cómo conoce el procesador en qué modo va a ejecutar?, ¿cómo se cambia de modo? Para la primera pregunta, hay un bit en la PSW( palabra de estado ), que indica el modo de ejecución. El bit se cambia como respuesta a ciertos sucesos tales como una llamada al sistema y, así, se cambia de modo.

2.4.2 Cambio de Proceso

A primera vista, la función de cambio de proceso parece sencilla. En cierto momento, un proceso que se está ejecutando se interrumpe, el sistema operativo pone a otro proceso en el estado de ejecución y pasa el control a dicho proceso. Sin embargo, surgen diversas cuestiones de diseño. En primer lugar, ¿qué sucesos provocan un cambio de proceso? Otra cuestión es que se debe hacer una distinción entre cambio de contexto y cambio de proceso. Por último, ¿qué debe hacer el sistema operativo con las diferentes estructuras de datos bajo su control para llevar a cabo un cambio de proceso?

¿Qué eventos provocan el cambio de proceso?

Un cambio de proceso puede suceder en cualquier instante en el que el sistema operativo gana el control de la CPU.

En primer lugar, se van a tener en cuenta las interrupciones del sistema. Se pueden distinguir dos clases de interrupciones del sistema. La primera es originada por algún tipo de suceso que es externo e independiente del proceso que se está ejecutando, como la culminación de una E/S. La segunda tiene que ver con una condición de error o excepción generada dentro del proceso que se está ejecutando, como un intento ilegal de acceso a un fichero, una división entre cero, una instrucción máquina con código de operación no contemplado. En una interrupción ordinaria, el control se transfiere primero al gestor de interrupciones, quien lleva a cabo algunas tareas básicas y, después, se salta a la rutina del sistema operativo que se ocupa del tipo de interrupción que se ha producido. Algunos ejemplos de estas interrupciones son:

Interrupción de reloj: Un reloj es un dispositivo que genera interrupciones periódicamente. Ante una interrupciónde este tipo, un sistema operativo de tiempo compartido, entre otras cosas, determina si el proceso en ejecución ha alcanzado el máximo tiempo de ejecución que se le concedió. Si es así, el proceso pasará a estado listo, y se asignará la CPU a otro proceso.

Interrupción de E/S: El sistema operativo determina exactamente qué acción de E/S ha ocurrido. Si se trata de un evento o suceso por el que esperaban uno o más procesos, entonces el sistema operativo traslada todos los procesos bloqueados en dicho evento al estado listo, y determina (dependiendo de la política de planificación, que se verá en el próximo tema) si reanuda la ejecución del proceso interrumpido o pasa a otro de mayor prioridad.

Falta de memoria: Un proceso hace una referencia a una dirección que no se encuentra en memoria y que debe traerse de memoria secundaria(esta posibilidad se estudiará en el módulo de gestión de la memoria). Después de hacer la solicitud de E/S para traer esa o esas direcciones de memoria, el sistema operativo lleva a cabo un cambio de contexto (próximo apartado) para reanudar la ejecución de otro proceso; el proceso que cometió la falta de memoria se pasa al estado bloqueado. Después de que las direcciones aludidas se carguen en memoria, dicho proceso se pondrá en estado listo.

En una interrupción del segundo tipo, el sistema operativo determina si el error es fatal. Si lo es, el proceso que se estaba ejecutando es eliminado, y se produce un cambio de proceso. Si no es fatal, la acción del sistema operativo dependerá de la naturaleza del error y del diseño del sistema operativo. Se puede hacer un cambio de proceso o, simplemente, reanudar el mismo proceso que se estaba ejecutando.

Finalmente, el sistema operativo puede activarse mediante una llamada al sistemadesde el programa que se está ejecutando. Por ejemplo, está ejecutándose un proceso de usuario y se llega a una instrucción que solicita una operación de E/S, tal como abrir un fichero. Esta llamada provoca la transferencia a una rutina que forma parte del código del sistema operativo. Por lo general (aunque no siempre) el uso de una llamada al sistema hace que el proceso de usuario pase al estado bloqueado.

2.4.3 Cambio de Contexto

Si existe una interrupción pendiente es necesario:

Salvar el contexto (PC, registros del procesador, información de la pila) del programa en ejecución.

Poner en el PC la dirección del programa de tratamiento de la interrupción, que suele constar de unas pocas tareas básicas.

Una pregunta que puede plantearse es: ¿qué es lo que constituye el contexto que se debe salvar? La respuesta es que se debe incluir información que pueda ser necesaria para reanudar el programa interrumpido. Así pues, debe guardarse la parte del bloque de control del proceso denominada información de estado del procesador. Esto incluye al contador de programa, otros registros del procesador y la información de la pila.

¿Se tiene que hacer algo más? Ello dependerá de lo que ocurra a continuación. La rutina de tratamiento de la interrupción es normalmente un programa corto que lleva a cabo unas pocas tareas básicas relacionadas con una interrupción. Por ejemplo, se marca el indicador que señala la presencia de una interrupción, puede enviar un acuse de recibo a la entidad que produjo la interrupción (como un módulo de E/S) y puede hacer algunas tareas básicas relacionadas con los efectos del sucesoque causó la interrupción. Por ejemplo, si la interrupción está relacionada con un suceso de E/S, el gestor de interrupciones comprobará condiciones de error. Si se ha producido un error, la rutina de tratamiento puede enviar una señal al proceso que solicitó originalmente la operación de E/S.

¿Hay que hacer algo más? Pues depende de si la interrupción va a venir seguida de un cambio de proceso o no. La ocurrencia de una interrupción no siempre causa el cambio de proceso. Es posible que después de que el gestor de interrupciones se haya ejecutado, el proceso que estaba ejecutándose reanude su ejecución. En tal caso, tan sólo hay que guardar la información de estado del procesador y restaurarla para que pueda reanudarse correctamente el proceso interrumpido (estas funciones son realizadas en hardware).

Por tanto, el cambio de contexto es un concepto distinto al cambio de un proceso. Puede ocurrir un cambio de contexto sin cambiar el estado del proceso que está actualmente en estado de ejecución. En tal caso, salvar el contexto y restaurarlo posteriormente involucra un pequeño coste extra. Sin embargo, si el proceso que estaba ejecutándose tiene que pasar a otro estado (listo o bloqueado), el sistema operativo tiene que llevar a cabo cambios substanciales en su entorno( contexto ). Los pasos involucrados en un cambio completo de proceso son los siguientes:

1.Salvar el contexto del procesador, incluyendo el contador de programa y otros registros.

2.Actualizar el PCB que estaba en estado de ejecución. Esto implica cambiar el estado del proceso a alguno de los otros estados (listo, bloqueado, suspendido_listo). También se tienen que actualizar otros campos, como uno en el que se guarde la razón por la que se abandona el estado de ejecución y otros con información de contabilidad.

3.Mover el PCB a la cola apropiada (listos, bloqueados por el suceso i, suspendido_listo).

4.Seleccionar otro proceso para ejecución (como veremos en el tema de Planificación de Procesos).

5.Actualizar el PCB seleccionado. Cambiar, por ejemplo, su estado a 'en ejecución'.

6.Actualizar las estructuras de datos de gestión de la memoria. Esto puede hacer falta dependiendo de cómo se gestione la traducción de direcciones (lo dejaremos para los temas sobre memoria).Restaurar el contexto del procesador a aquél que existía en el momento en el que el proceso seleccionado dejó por última vez el estado de en ejecución, cargando los valores previos del contador de programa y de otros registros.

Así pues, el cambio de proceso, que implica un cambio de contexto, requiere un esfuerzo considerablemente superior al de un cambio de contexto.

2.5 Procesos y Threads
[STAL95] [MILE94]
El concepto de proceso es más complejo y sutil que el presentado hasta ahora. Engloba dos conceptos separados y potencialmente independientes: uno relativo a la propiedad de recursos y otro que hace referencia a la ejecución.

Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y, de tanto en tanto, se le puede asignar otros recursos como dispositivos de E/S o ficheros.

Unidad a la que se le asigna el procesador: Un proceso es un flujo de ejecución (una traza) a través de uno o más programas. Esta ejecución se entremezcla con la de otros procesos. De tal forma, que un proceso tiene un estado (en ejecución, listo, etc) y una prioridad de expedición u origen. La unidad planificada y expedida por el sistema operativo es el proceso.

En la mayoría de los sistemas operativos, estas dos características son, de hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser tratadas como tales por el sistema operativo. Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la construcción conocida como thread, cuyas traducciones más frecuentes son hilo, hebra y proceso ligero. Si se tiene esta división de características, la unidad de asignación de la CPU se conoce como hilo, mientras que a la unidad que posee recursos se le llama proceso.

Dentro de un proceso puede haber uno o más hilos de control cada uno con:

Un estado de ejecución (en ejecución, listo, bloqueado).

Un contexto de procesador, que se salva cuando no esté ejecutándose.

Una pila de ejecución.

Algún almacenamiento estático para variables locales.

Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos.

Los beneficios clave de los hilos se derivan de las implicaciones del rendimiento: se tarda menos tiempo en crear un nuevo hilo de un proceso que ya existe, en terminarlo, y en hacer un cambio de contexto entre hilos de un mismo proceso. Al someter a un mismo proceso a varios flujos de ejecución se mantiene una única copia en memoria del código, y no varias.

Un ejemplo de aplicación que podría hacer uso de los hilos es un servidor de ficheros de una red de área local. Cada vez que llega una solicitud de una operación sobre un fichero, se puede generar un nuevo hilo para su gestión. El servidor gestiona multitud de solicitudes, por tanto, se pueden crear y destruir muchos hilos en poco tiempo para dar servicio a estas peticiones. Si el servidor es un multiprocesador, se pueden ejecutar varios hilos de un mismo proceso simultáneamente y en diferentes procesadores.
ENLACE al siguiente tema: PLANIFICACIÓN DE PROCESOS ENLACE al tema anterior: INTRODUCCIÓN

# data[].attributes.attachment_link.description
A primera vista, la función de cambio de proceso parece sencilla. En cierto momento, un proceso que se está ejecutando se interrumpe, el sistema operativo pone a otro proceso en el estado de ejecución y pasa el control a dicho proceso. Sin embargo, surgen diversas cuestiones de diseño. En primer lug…

# data[].attributes.body
¿Qué son los procesos ligeros?

Un proceso ligero es una unidad básica de utilización de la CPU consistente en un juego de registros y un espacio de pila. Comparte datos, código y registros con sus hebras pares. Una tarea o proceso pesado esta conformado por una o mas hebras.

# data[].attributes.body
El cambio ocurre como un proceso, no como un evento. El cambio organizacional no ocurre instantáneamente porque se anuncia, porque se organiza una reunión inicial o se define una fecha de lanzamiento. Las personas no cambian simplemente porque reciben un correo electrónico o asisten a un programa de formación.

Cuando experimentamos el proceso de cambio, transitamos de lo que sabemos y hemos venido haciendo, hacia una nueva forma de hacer nuestro trabajo y comportarnos.

El proceso del cambio es un componente central para el éxito de Change Management. Al dividir el cambio en distintas fases, se puede personalizar y adaptar mejor el enfoque que se utiliza para garantizar que las personas adopten con éxito el cambio.

Para aprender todo sobre gestión del cambio puedes visitar el pilar.

# data[].attributes.attachment_link.readable_text
El cambio ocurre como un proceso, no como un evento. El cambio organizacional no ocurre instantáneamente porque se anuncia, porque se organiza una reunión inicial o se define una fecha de lanzamiento. Las personas no cambian simplemente porque reciben un correo electrónico o asisten a un programa de formación.

Cuando experimentamos el proceso de cambio, transitamos de lo que sabemos y hemos venido haciendo, hacia una nueva forma de hacer nuestro trabajo y comportarnos.

El proceso del cambio es un componente central para el éxito de Change Management. Al dividir el cambio en distintas fases, se puede personalizar y adaptar mejor el enfoque que se utiliza para garantizar que las personas adopten con éxito el cambio.

Para aprender todo sobre gestión del cambio puedes visitar el pilar.

Entendiendo que es el proceso de cambio

Es fácil observar en la naturaleza procesos del cambio. Ya sea que se trate de una oruga que se convierte en mariposa o un cambio de estación (invierno a primavera), es un cambio en proceso, que podemos apreciar fácilmente. Pero cuando comenzamos a cambiar nuestra organización con proyectos e iniciativas, a menudo olvidamos el hecho de que el cambio no ocurre instantáneamente.

El enfoque más fácil y básico para entender que es proceso de cambio es dividir el cambio en elementos distintos y comprensibles.

Los tres estados de cambio proporcionan un marco poderoso: el Estado Actual, el Estado de Transición y el Estado Futuro.
El Estado Actual: es cómo se hacen las cosas hoy. Es el conjunto de procesos, comportamientos, herramientas, tecnologías, estructuras organizacionales y roles de trabajo que constituyen cómo se realiza el trabajo. El Estado Actual define quiénes somos el día de hoy. Puede que no funcione bien, pero es familiar y cómodo porque sabemos qué esperar. El Estado Actual es donde hemos tenido éxito y donde sabemos cómo seremos medidos y evaluados. Por encima de todo, el Estado Actual es conocido.

El Estado de Transición: es impredecible y con movimiento constante. El Estado de Transición a menudo está cargado de emociones, que van desde la confusión, desesperación, ansiedad, la ira, el miedo y la esperanza. Durante el Estado de Transición, la productividad declina de forma predecible. El Estado de Transición requiere que aceptemos nuevas perspectivas y aprendamos nuevas formas de comportamiento. El Estado de Transición es desafiante.

El Estado Futuro: Es a donde estamos tratando de llegar. A menudo no está completamente definido, y puede cambiar durante la transición. Asumimos que el Estado Futuro nos ofrecerá beneficios con los que actualmente no contamos. El Estado Futuro a menudo puede ser preocupante y puede no coincidir con nuestros objetivos personales y profesionales. Existe la posibilidad de que no tengamos éxito en el Estado Futuro. Sobre todo, el Estado Futuro es desconocido.

Los tres estados de cambio brindan una manera de explicar cómo realmente ocurre el cambio. Si el cambio es una implementación de un ERP, un nuevo proceso de revisión de desempeño, una nueva pieza de maquinaria en la línea de producción, un conjunto de procesos de negocios optimizados o una nueva estructura organizacional, siempre hay un Estado Actual (cómo se hacen las cosas hoy), un Estado Futuro (cómo se harán las cosas) y un Estado de Transición (cómo pasaremos del Estado Actual al Estado Futuro).

Piense en un proyecto en el que esté trabajando o en el que esté involucrado y le impacte. Usando la siguiente tabla, intente definir cada uno de los tres estados de cambio y proponer tres adjetivos que describan ese estado.

Tabla diseñada para definir los estados del cambio

Para la comprensión de qué es un proceso de cambio, piense en quienes dentro de su organización están enfocados en el Estado Actual, quienes en el Estado de Transición y quienes el Estado Futuro. La siguiente tabla muestra tres audiencias distintas en una organización y cómo éstas ven comúnmente los estados de cambio.

Tabla de ejemplo sobre percepción común de los Estados de Cambio de tres audiencias distintas.

Los ejecutivos y líderes senior viven en el Estado Futuro. Eso es de lo que ellos son responsables y por lo que son compensados: decidir cómo funcionará la organización en seis meses, un año, tres años, etc. Los equipos del proyecto viven en el Estado de Transición. Investigan alternativas, deciden sobre un camino y desarrollan una solución para cambiar la organización. Los empleados, gerentes y supervisores viven en el Estado Actual. No pueden simplemente detener su trabajo para implementar un cambio de procesos. Son responsables de mantener la organización funcionando mientras se implementa un cambio de proceso.

La desconexión aquí puede tener ramificaciones significativas cuando se trata de comunicar cambios. Los líderes principales tienden a enfocarse y hablar sobre la visión. Los equipos de proyecto tienden a enfocar sus comunicaciones en los detalles de su solución, y en los hitos y plazos en que ocurrirá el cambio en los procesos. Los empleados quieren saber antes que nada por qué lo que están haciendo hoy (el Estado Actual) tiene que ser cambiado. Los Change Management Practitioners desempeñan un papel clave al cerrar la brecha entre los tres estados de cambio.

Gestionar el proceso del cambio

Una vez que ha comenzado a pensar sobre el cambio, no como un evento singular, sino como un proceso, la pregunta es: ¿Cómo gestionar el proceso de cambio? Gestionar procesos de cambios tiene dos niveles:

1. Nivel Individual

2. Nivel Organizacional

Existen dos niveles para gestionar el cambio

1. Nivel Individual de cambio

Cada empleado o gerente que se ve afectado por un cambio de procesos debe pasar por su propio proceso personal de cambio. Si el cambio afecta a cinco personas, cada uno de estas cinco debe pasar de su Estado Actual a través de su propio Estado de Transición hacía su Estado Futuro. Si el proyecto impacta a 500 personas, entonces hay 500 procesos individuales de cambio que deben de ocurrir (Estado Actual, Estado de Transición, Estado Futuro). Esta es la esencia de Gestión de Cambio: apoyar a las personas a través de sus transiciones personales para que un proyecto o iniciativa alcance los beneficios esperados.

El modelo ADKAR® de Prosci proporciona una descripción más detallada de cómo un individuo se mueve con éxito de su estado actual a su estado futuro. El Modelo ADKAR® describe los cinco componentes básicos del cambio exitoso:

Awareness (consciencia) de la necesidad de cambio

Desire (deseo) de par ti cipar y apoyar el cambio

Knowledge (conocimiento) sobre cómo cambiar

Ability (habilidad) de implementar las habilidades y comportamientos requeridos

Reinforcement (reforzamiento) para sostener el cambio

Ya sea un cambio personal, familiar o laboral, las personas tienen éxito en proceso de cambio cuando adquieren consciencia de por qué cambiar, cuando construyen su deseo personal de cambiar, adquieren los conocimientos y habilidades necesarias y refuerzan la nueva manera de hacer las cosas. Esta descripción orientada a los resultados del proceso de cambio individual brinda un nuevo enfoque a los Change Management Practitioners. Por ejemplo, en lugar de ver su trabajo como "crear un plan de comunicación", un profesional eficaz en Gestión de Cambio con un enfoque en el proceso de cambio individual ve su trabajo como "crear consciencia" sobre la necesidad del cambio y así sucesivamente.

Dos observaciones finales sobre el cambio como un proceso a nivel individual:

1. Los individuos comenzarán su propio proceso de cambios en diferentes momentos.

2. A las personas les tomará mayor o menor tiempo el avanzar en sus procesos individuales de cambio. Por ejemplo, adquirir consciencia de por qué cambiar y llegar a poder decir "Entiendo por qué es necesario el cambio" podrá tomar unas pocas horas para algunos, mientras que para otros les tomará días o semanas.

Una vez que comencemos a ver y gestionar los procesos de cambio individuales asociados con un proyecto o iniciativa, tendremos más éxito al facilitar esas transiciones individuales que en conjunto darán como resultado un cambio organizacional exitoso.
2. Nivel Organizacional

Cuando se trata de gestionar el cambio a nivel organizacional, ver el proceso de cambio a través del tiempo ayuda a determinar la secuencia y el contenido del esfuerzo de Change Management.

En primer lugar, Gestión de Cambio y Gestión de Proyectos deben de ser procesos que caminen de manera simultánea para cada proyecto o iniciativa de cambio. El proceso de 3 fases de Prosci para Gestión de Cambio organizacional establece actividades específicas para cada una de las fases: Preparándose para el cambio (que actividades desempeñar durante el Estado Actual), Gestionando el cambio (que actividades desempañar durante el Estado de Transición) y Reforzando el cambio (que actividades desempeñar una vez que se alcanza el Estado Futuro).

En segundo lugar, nuestra investigación en mejores prácticas muestra que los Change Management Practitioners tienen cinco herramientas, que pueden usar para ayudar a las personas a avanzar en el proceso de cambio:

Plan de capacitación

Plan de comunicación

Mapa de ruta del patrocinador

Plan de coaching

Plan de manejo de resistencia.

Dependiendo de si estamos en el Estado Actual, el Estado de Transición o el Estado Futuro, las diferentes herramientas serán más eficaces y el contenido cambiará. Dos ejemplos:

El plan de capacitación: un plan de capacitación es un componente clave de un esfuerzo de Gestión de Cambio. Los empleados generalmente necesitan nuevas habilidades y competencias cuando adoptan un cambio en su trabajo diario. Pero el plan de capacitación debe ser secuenciado de manera efectiva en función de dónde están los empleados en el proceso de cambio individual (ADKAR®).
Un programa de capacitación que ocurre antes de que los empleados adquieran consciencia de por qué es necesario el cambio y continúan atados a su Estado Actual, no será efectivo (una realidad que resulta desafortunada es que muchos cambios se enfrentan mandando a la gente a capacitarse como un primer paso). La capacitación debe impartirse después de que los empleados ya hayan comenzado a mudarse del Estado Actual al Estado de Transición.

El plan de capacitación es un componente clave de un esfuerzo de Gestión de Cambio

El plan de comunicación: el contenido de un plan de comunicación efectivo debe estar alineado en función de dónde se encuentran las personas en el proceso de cambio. Los primeros esfuerzos de comunicación deberían centrarse en explicar por qué el Estado Actual no funciona y la conveniencia del cambio. Las comunicaciones posteriores durante los procesos de cambio podrán cubrir los detalles y resultados eventuales que el proyecto o iniciativa pretende ofrecer. Si las primeras comunicaciones a los empleados se centran en los detalles, los hitos y la visión de cambio, los empleados se quedan con preguntas sin respuesta que nublan su capacidad para procesar los detalles, es decir, "¿por qué?"
Gestionar el cambio como un proceso, desde un punto de vista organizacional, asegura que se realicen las actividades correctas en el momento adecuado y que los empleados reciban la información correcta que necesitan para avanzar en su proceso personal de cambio.

Última fecha de revisión 25 de mayo de 2020
Lecciones claves para los Change Management

1. Trate de gestionar los cambios como procesos, y no solo como eventos o serie de eventos

2. Las personas experimentan el proceso de cambio. Evalúe y enfoque sus actividades de Gestión de Cambio en función de dónde se encuentran las personas en sus procesos individuales de cambio

3. Nadie experimenta el proceso de la misma manera.

4. Sus esfuerzos en Gesti ó n de Cambio organizacional deben estar vinculados a las etapas de cambio individual en la que los empleados se encuentren

# data[].attributes.attachment_link.description
El cambio ocurre como un proceso, no como un evento. El cambio organizacional no ocurre instantáneamente porque se anuncia, porque se organiza una reunión inicial o se define una fecha de lanzamiento. Las personas no cambian simplemente porque reciben un correo electrónico o asisten a un programa de formación.

# data[].attributes.body
Creación de un proceso

Un proceso es un conjunto de actividades relacionadas, junto con la información de soporte como los datos y el contenido. Las actividades pueden ser parte de un flujo estructurado o actividades ad-hoc que no son parte de un flujo estructurado.

Acerca de esta tarea

Un proceso en Process Designer contiene las actividades de un proceso de negocio. Durante la ejecución, un usuario de empresa trabaja con tareas creadas para las actividades.

El diagrama siguiente ilustra las tareas y actividades principales asociadas con la creación de procesos.

# data[].attributes.headline
tabla de procesos y el bloqueo de control de proceso

# data[].attributes.subject
tabla de procesos y el bloqueo de control de proceso

# data[].attributes.body
Al crear un proceso, el sistema operativo realiza varias operaciones. Para identificar los procesos, asigna un número de identificación de proceso (PID) a cada proceso. Como el sistema operativo es compatible con la programación múltiple, debe realizar un seguimiento de todos los procesos. Para esta tarea, el bloque de control de proceso (PCB) se utiliza para rastrear el estado de ejecución del proceso. Cada bloque de memoria contiene información sobre el estado del proceso, el contador del programa, el puntero de la pila, el estado de los archivos abiertos, los algoritmos de programación, etc. Toda esta información es necesaria y debe guardarse cuando el proceso se cambia de un estado a otro. Cuando el proceso hace una transición de un estado a otro, el sistema operativo debe actualizar la información en la PCB del proceso.

Un bloque de control de proceso (PCB) contiene información sobre el proceso, es decir, registros, cuanto, prioridad, etc. La tabla de proceso es una matriz de PCB, lo que significa que lógicamente contiene un PCB para todos los procesos actuales en el sistema.

# data[].attributes.attachment_link.readable_text
Al crear un proceso, el sistema operativo realiza varias operaciones. Para identificar los procesos, asigna un número de identificación de proceso (PID) a cada proceso. Como el sistema operativo es compatible con la programación múltiple, debe realizar un seguimiento de todos los procesos. Para esta tarea, el bloque de control de proceso (PCB) se utiliza para rastrear el estado de ejecución del proceso. Cada bloque de memoria contiene información sobre el estado del proceso, el contador del programa, el puntero de la pila, el estado de los archivos abiertos, los algoritmos de programación, etc. Toda esta información es necesaria y debe guardarse cuando el proceso se cambia de un estado a otro. Cuando el proceso hace una transición de un estado a otro, el sistema operativo debe actualizar la información en la PCB del proceso.

Un bloque de control de proceso (PCB) contiene información sobre el proceso, es decir, registros, cuanto, prioridad, etc. La tabla de proceso es una matriz de PCB, lo que significa que lógicamente contiene un PCB para todos los procesos actuales en el sistema.

Puntero: es un puntero de pila que debe guardarse cuando el proceso se cambia de un estado a otro para retener la posición actual del proceso.

Estado del proceso: almacena el estado respectivo del proceso.

Número de proceso: a cada proceso se le asigna una identificación única conocida como ID de proceso o PID que almacena el identificador del proceso.

Contador de programa: almacena el contador que contiene la dirección de la siguiente instrucción que se ejecutará para el proceso.

Registro: estos son los registros de la CPU que incluyen: acumulador, base, registros y registros de propósito general.

Límites de memoria: este campo contiene información sobre el sistema de gestión de memoria que utiliza el sistema operativo. Esto puede incluir tablas de páginas, tablas de segmentos, etc.

Lista de archivos abiertos: esta información incluye la lista de archivos abiertos para un proceso.

Datos varios de contabilidad y estado: este campo incluye información sobre la cantidad de CPU utilizada, restricciones de tiempo, trabajos o número de proceso, etc.
El bloque de control de proceso almacena el contenido del registro también conocido como contenido de ejecución del procesador cuando se bloqueó su ejecución. Esta arquitectura de contenido de ejecución permite al sistema operativo restaurar el contexto de ejecución de un proceso cuando el proceso vuelve al estado de ejecución. Cuando el proceso hace una transición de un estado a otro, el sistema operativo actualiza su información en la PCB del proceso. El sistema operativo mantiene punteros a la PCB de cada proceso en una tabla de procesos para que pueda acceder a la PCB rápidamente.

Aprenda todos los conceptos de GATE CS con clases gratuitas en vivo en nuestro canal de youtube.

# data[].attributes.attachment_link.title
Tabla de procesos y bloque de control de procesos (PCB)

# data[].attributes.attachment_link.description
Al crear un proceso, el sistema operativo realiza varias operaciones. Para identificar los procesos, asigna un número de identificación de proceso (PID) a cada proceso. Como el sistema operativo es compatible con la programación múltiple, debe realizar un seguimiento de todos los procesos.

# data[].attributes.body
Un proceso pasa por varios estados.  Varios eventos pueden ocasionar que un proceso cambie de estado.

un proceso esta en estado de:

Ejecución.  Cuando tiene asignada la CPU, es decir, en ese momento está utilizando el CPU.  Sólo puede haber un proceso en ejecución a la vez.

Listo.  Cuando un proceso está en espera de pasar al CPU. Puede haber varios procesos listos en una Lista de Procesos Listos (se ordenan). Se dice que el proceso está en un estado de “dormido” y está formado para pasar al CPU. El proceso está “listo” para pasar al CPU.

Bloqueado.  Se presenta cuando un proceso está esperando que suceda algún evento de entrada/salida antes de poder  proseguir su ejecución. Puede haber varios procesos bloqueados en una “Lista de Procesos Bloqueados”.  El proceso no se puede ejecutar debido a la ocurrencia de un evento externo.  Una vez que ocurre el evento externo por que se estaba esperando, se desbloquean los procesos y pasan a “Listos” en el orden de ocurrencia de estos eventos (en la “lista de procesos bloqueados” no se ordenan los procesos).

# data[].attributes.body
Un sistema operativo es un conjunto de programas que controla el funcionamiento de las partes físicas de un equipo electrónico, facilitando al usuario el uso de la computadora u otro equipo. Es decir, es el software que maneja al hardware.

El sistema operativo administra los recursos ofrecidos por el hardware y actúa como un intermediario entre la computadora y su usuario. Además proporciona un ambiente en donde el usuario pueda ejecutar programas en una forma conveniente y eficiente.

# data[].attributes.headline
sistemas operativos multitareas y monotarea

# data[].attributes.subject
sistemas operativos multitareas y monotarea

# data[].attributes.body
TIPOS DE MULTITAREA:
Nula: El sistema operativo es monotarea. El ejemplo típico es MS-DOS. Aún así puede lograrse a veces algo parecido a una multitarea implementándola en espacio de usuario, o usando trucos como los TSR de MS-DOS.

MONOTAREAS

Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.