El corazon del Sistema Operativo por Maria Rios

Page 1

U N I V E R S I D A D B I C E N T E N A R I A D E A R A G U A
M A R I A R I O S C I : 3 0 . 1 8 2 . 9 2 0
EL CORAZÓN DEL SISTEMA OPERATIVO

Un sistema operativo es un software esencial que administra los recursos de hardware y software de un equipo y permite la ejecución de múltiples procesos de manera concurrente. Los procesos son unidades de trabajo ejecutadas por el sistema operativo que realizan tareas específicas, y para que el sistema operativo funcione de manera eficiente, es necesario comprender los estados y transiciones de los procesos, así como los bloques de control y las operaciones sobre procesos. El objetivo es explorar las complejidades de los procesos concurrentes asíncronos, los diferentes estados y transiciones que puede experimentar un proceso en el sistema operativo, y los bloques de control y operaciones que se utilizan para administrarlos. También se examinará el procesamiento de interrupciones, un aspecto fundamental de la gestión de procesos en un sistema operativo. Conocer los diferentes estados y transiciones de un proceso en un sistema operativo es fundamental para comprender el comportamiento de los procesos y cómo interactúan entre sí. Además, los bloques de control y las operaciones sobre procesos son esenciales para administrar los recursos de hardware y software y asegurar el correcto funcionamiento del sistema operativo.

INTRODUCCIÓN

ESTADOS Y TRANSICIONES DE UN PROCESO EN UN SISTEMA OPERATIVO

El Kernel es el núcleo de un sistema operativo, y también de todas y de cada una de las aplicaciones instaladas en esta plataforma. Básicamente se encarga de afinar la compatibilidad entre los elementos de software instalados y los de hardwares conectados al equipo.

Por otro lado, Silberschatz, Galvin y Gagne (2018) describen el núcleo del sistema operativo como "el componente esencial del sistema operativo que se ejecuta en modo privilegiado y controla el acceso al hardware y los dispositivos periféricos". Además, afirman que el núcleo también es responsable de la asignación de recursos del sistema, la planificación del procesador y la gestión de memoria.

En resumen algunas de sus funciones esenciales:

1. Administra la memoria, para todos los programas que se ejecuten.

2. Administra el tiempo del procesador, sobre los que trabajan los programas que se encuentran ejecutandose.

3. Permite el acceso a los perifericos/accesorios de la máquina.

ESTADOS Y TRANSICIONES DE UN PROCESO EN UN SISTEMA OPERATIVO

Un programa es una secuencia de instrucciones escrita en un lenguaje dado. Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, pila y datos, entre otros. Un programa es un concepto estático, mientras que un proceso es un concepto dinámico. Según Tanenbaum y Woodhull (2015), "Un proceso en un sistema operativo se define como el entorno en el que se ejecuta un programa" (p. 43). También señalan que "el estado de un proceso es una descripción de su condición en un momento dado" (p. 44).

Cuando un proceso cambia de estado, se produce una transición. Según Silberschatz, Galvin y Gagne (2019), "los cambios de estado en un proceso son causados por eventos internos o externos al proceso " (p. 163). Por ejemplo, " un proceso puede estar en espera de entrada/salida de un dispositivo y pasar a estar listo para ejecución cuando llegue el resultado de la entrada/salida" (p. 163).

ESTADOS Y TRANSICIONES DE UN PROCESO EN UN SISTEMA OPERATIVO

Las transiciones de estado de un proceso se dividen en cinco categorías básicas: creación, listo, ejecución, bloqueado y terminado. Cada una de estas transiciones representa un cambio en la condición del proceso. Por ejemplo, "cuando un proceso se crea, se inicializa en un estado de nuevo " (p. 44), mientras que "cuando un proceso se bloquea, se suspende temporalmente y se coloca en una cola de espera de entrada/salida" (p. 45).

En resumen, el estado de un proceso en un sistema operativo se refiere a su condición en un momento dado, mientras que las transiciones de estado representan los cambios de condición que ocurren durante su ejecución. Las transiciones de estado se dividen en cinco categorías básicas: creación, listo, ejecución, bloqueado y terminado.

Importante:

Al conocer los estados y transiciones de un Al conocer los estados y transiciones de un Al conocer los estados y transiciones de un proceso, se pueden tomar medidas para proceso, se pueden tomar medidas para proceso, se pueden tomar medidas para optimizar el rendimiento del sistema. Por optimizar el rendimiento del sistema. Por optimizar el rendimiento del sistema. Por ejemplo, se pueden identificar procesos que ejemplo, se pueden identificar procesos que ejemplo, se pueden identificar procesos que están bloqueados y liberar recursos para están bloqueados y liberar recursos para están bloqueados y liberar recursos para mejorar el rendimiento general del sistema. mejorar el rendimiento general del sistema. mejorar el rendimiento general del sistema.

BLOQUE DE CONTROL Y OPERACIONES SOBRE PROCESOS EN UN SISTEMA OPERATIVO.

Un bloque de control de proceso (PCB, por sus siglas en inglés) es una estructura de datos en el sistema operativo que se utiliza para almacenar información sobre un proceso, incluyendo su estado actual, identificador, prioridad, estado de los registros, recursos asignados, entre otros.

Las operaciones sobre procesos que se pueden realizar en un sistema operativo incluyen:

1. Creación: se crea un nuevo PCB y se inicializa con la información necesaria para ejecutar el proceso.

2. Planificación: se selecciona el siguiente proceso que se ejecutará en la CPU, de acuerdo con un algoritmo de planificación.

3. Asignación de recursos: se asignan los recursos necesarios para que el proceso pueda ejecutarse, como memoria, dispositivos de E/S, entre otros.

4. Suspensión: se suspende temporalmente la ejecución del proceso y se guarda su estado actual en el PCB correspondiente.

5. Reanudación: se recupera el estado del PCB de un proceso suspendido y se reanuda su ejecución.

6. Terminación: se termina la ejecución del proceso y se libera su PCB y los recursos que tenía asignados.

Por otro lado, Tanenbaum y Bos (2015) describen las operaciones sobre procesos de manera similar, pero agregan algunas operaciones adicionales, como:

7. Cambio de prioridad: se cambia la prioridad del proceso dentro del planificador de procesos.

8. Bloqueo y desbloqueo: se bloquea el proceso mientras se espera por una operación de E/S o la liberación de algún recurso. Una vez que el recurso se vuelve disponible, el proceso se desbloquea y se vuelve a poner en la cola de procesos listos.

9. Comunicación interproceso: se permite la comunicación entre procesos mediante el uso de mecanismos de comunicación, como tuberías, colas de mensajes, semáforos, entre otros. En resumen, en un sistema operativo, los bloques de control de procesos (PCB) son estructuras de datos que almacenan información sobre los procesos, mientras que las operaciones sobre procesos incluyen la creación, planificación, asignación de recursos, suspensión, reanudación, terminación, cambio de prioridad, bloqueo y desbloqueo, y comunicación interproceso.

SISTEMA OPERATIVO. El procesamiento de interrupciones es un aspecto fundamental en el funcionamiento de un sistema operativo. Las interrupciones son señales que se generan por el hardware del sistema (por ejemplo, un dispositivo de entrada/salida) para indicar que se necesita atención inmediata por parte del sistema operativo.

Según Silberschatz, Galvin y Gagne (2018), el procesamiento de interrupciones en un sistema operativo implica los siguientes pasos:

1. Detectar la interrupción: el hardware genera una señal de interrupción que es detectada por el procesador.

2. Guardar el contexto actual: el procesador guarda el contexto actual del proceso en ejecución en su respectivo PCB, para poder retomar la ejecución más tarde.

3. Atender la interrupción: el procesador cambia a modo privilegiado y salta a la rutina de manejo de interrupciones que corresponde a la interrupción recibida.

4. Realizar las operaciones necesarias: en la rutina de manejo de interrupciones, se realizan las operaciones necesarias para atender la interrupción, como leer o escribir datos en un dispositivo de E/S, actualizar estructuras de datos del sistema, etc.

5. Restaurar el contexto: una vez que se ha atendido la interrupción, se restaura el contexto del proceso que estaba en ejecución antes de que se generara la interrupción.

6. Continuar la ejecución: el procesador continúa la ejecución del proceso que estaba en ejecución antes de la interrupción.

PROCESAMIENTO DE INTERRUPCIONES EN UN

PROCESAMIENTO DE INTERRUPCIONES EN UN SISTEMA OPERATIVO.

Por otro lado, Tanenbaum y Bos (2015) describen una variante del procesamiento de interrupciones que se utiliza en algunos sistemas operativos llamada "manejo de interrupciones diferido". En este enfoque, en lugar de atender la interrupción inmediatamente, se guarda información sobre la interrupción en una cola y se continúa la ejecución del proceso actual. Posteriormente, el sistema operativo atiende las interrupciones pendientes en un momento más oportuno.

En resumen, el procesamiento de interrupciones en un sistema operativo implica detectar la interrupción, guardar el contexto actual, atender la interrupción, realizar las operaciones necesarias, restaurar el contexto y continuar la ejecución. También existe el manejo de interrupciones diferido, que consiste en postergar la atención de las interrupciones hasta un momento más oportuno.

Importante:

El procesamiento de interrupciones es El procesamiento de interrupciones es El procesamiento de interrupciones es importante para la seguridad del sistema, ya importante para la seguridad del sistema, ya importante para la seguridad del sistema, ya que permite la detección y el manejo de que permite la detección y el manejo de que permite la detección y el manejo de situaciones imprevistas o peligrosas, como situaciones imprevistas o peligrosas, como situaciones imprevistas o peligrosas, como

errores en el hardware o ataques maliciosos. errores en el hardware o ataques maliciosos. errores en el hardware o ataques maliciosos.

PROCESOS CONCURRENTES ASÍNCRONOS

(EXCLUSIÓN MUTUA, SECCIÓN CRÍTICA, SEMÁFOROS) EN UN SISTEMA OPERATIVO.

Los procesos concurrentes asíncronos son aquellos que se ejecutan de manera simultánea e independiente en un sistema operativo. En este contexto, la exclusión mutua, la sección crítica y los semáforos son mecanismos comunes utilizados para garantizar la correcta sincronización y coordinación entre los procesos.

- Exclusión mutua: es un mecanismo que se utiliza para evitar que dos o más procesos accedan simultáneamente a un recurso compartido. Según Silberschatz, Galvin y Gagne (2018), se puede implementar la exclusión mutua utilizando técnicas como los semáforos, los monitores, los bloqueos o los hilos.

- Sección crítica: es una porción de código que accede a un recurso compartido y que debe ser ejecutada de manera exclusiva por un proceso a la vez. Según Tanenbaum y Bos (2015), para implementar la sección crítica, se puede utilizar la exclusión mutua y definir una región crítica explícitamente en el código del proceso.

PROCESOS CONCURRENTES ASÍNCRONOS

(EXCLUSIÓN MUTUA, SECCIÓN CRÍTICA, SEMÁFOROS) EN UN SISTEMA OPERATIVO.

- Semáforos: son contadores que se utilizan para coordinar el acceso a recursos compartidos entre procesos. Según Silberschatz, Galvin y Gagne (2018), los semáforos pueden ser binarios (permite o no permite el acceso al recurso) o contadores (permite el acceso a un número limitado de procesos). Los semáforos se pueden utilizar para implementar la exclusión mutua y la sección crítica.

En general, en un sistema operativo, la exclusión mutua, la sección crítica y los semáforos se utilizan para garantizar que los procesos concurrentes accedan a los recursos compartidos de manera coordinada y sin generar conflictos o errores.

Referencias

- Tanenbaum, A. S., & Bos, H. (2015). Modern operating systems. Pearson Education. https://csc-knu.github.io/sysprog/books/Andrew%20S.%20Tanenbaum%20%20Modern%20Operating%20Systems.pdf

- Stallings, W. (2015). Operating systems: internals and design principles. Pearson Education.

https://repository.dinus.ac.id/docs/ajar/Operating_System.pdf

- Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating system concepts. John Wiley & Sons. https://os.ecci.ucr.ac.cr/slides/Abraham-SilberschatzOperating-System-Concepts-10th-2018.pdf

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.