Tecnología

Inicio

Funciones del sistema operativo que se utilizan en los modos de Kernel y del

Funciones del sistema operativo que se utilizan en los modos de Kernel y del


sistemas operativos multiusuario multitarea tienen arquitecturas muy potentes. Se espera que mantengan numerosos usuarios que inician sesión en más de la red a un servidor central o estación de trabajo. El núcleo del sistema operativo - el núcleo o centro alrededor del cual la funcionalidad externa del sistema operativo es en capas - habla con el hardware escueto a través de los controladores de dispositivos y el software a través de su subsistema de control de proceso. El núcleo toma el control de la asignación de recursos y planificación de procesos. Se maneja los procesos de entrada y salida de los modos activos, se despierta procesos de dormir, anillos alarmas y envía señales.

Proceso

Cualquier pieza de código ejecutable que puede cargar en la memoria del sistema y realizar acciones es un proceso. Hay procesos del sistema y los procesos de usuario. A tenedores de proceso o genera un proceso secundario. Excepto para el proceso de SO original, llamado proceso de 0 en Unix, todos los procesos son creados de esta manera y por lo tanto tienen un proceso padre. Un proceso llama la atención de la CPU sólo cuando el kernel lo permite.

Modos de usuario y kernel

Un proceso se ejecuta en modo usuario o modo de núcleo y mantiene dos pilas separadas cuando se cambia entre los modos. Algunos sistemas operativos pueden tener más modos. Si se escribe un programa, edifican y lo dirige, el proceso que se ejecuta en modo usuario. Se entra en el modo de núcleo cuando se realiza una llamada al sistema o recibe una señal de interrupción. La señal puede provenir de otro proceso de usuario o el propio núcleo. Una vez que un proceso está en modo de núcleo, el núcleo se intensifica su prioridad en el esquema de planificación. Asimismo, no reemplaza el proceso de modo de núcleo hasta que termine el trabajo crítico del sistema, después de lo cual está de vuelta en el modo de usuario. Un proceso en modo de usuario sólo puede acceder a sus propios datos o instrucciones y espacio de proceso. El proceso de modo de núcleo puede tener acceso a direcciones en el núcleo. Un buen ejemplo es una pieza de código en lenguaje ensamblador que hace un salto a una interrupción.

Las llamadas al sistema

Como se mencionó anteriormente, es la llamada al sistema, independientemente de quién lo hace y cómo, que trae un proceso en modo kernel. Una llamada al sistema es una invocación de una función del sistema operativo de bajo nivel que accede y manipula las entidades de dispositivos de bajo nivel y las zonas reservadas de la memoria. Es prácticamente código de sistema operativo. Funciones que operan en los dispositivos del sistema operativo como los archivos, las tuberías y los semáforos son llamadas al sistema. Open (), close (), read (), write (), bloqueo (), desbloquear (), init (), tenedor (), sleep (), wakeup () y signal () son las llamadas al sistema. Ellos controlan los recursos del sistema operativo y los procesos del mismo modo que el kernel lo haría. El procesamiento de señales e interrumpir es también el área del núcleo y no el proceso de usuario. En el modo de núcleo, se le da el control a la llamada al sistema que está haciendo las tareas del sistema, ni la obra que el núcleo haría de otro modo. Es el código que tiene acceso a la memoria especial y registros reservados para las tareas del sistema operativo.

Las interrupciones e instrucciones privilegiadas

Algunas instrucciones de la máquina son privilegiados y dan lugar a error si se ejecuta en modo usuario. Por ejemplo, un proceso en el modo de usuario no se debe permitir que cambiar el registro de estado del proceso. Los registros y la memoria del núcleo privilegiado ayudar al kernel en su labor de control de procesos. Si alguien viene y les cambia, los resultados pueden ser impredecibles. Cuando otro proceso o el núcleo interrumpe un proceso de usuario, el kernel guarda el estado actual del proceso en la pila, determina la causa de la interrupción, los servicios de la interrupción y lleva el control de nuevo a lo que el proceso estaba haciendo. El núcleo aparece la pila proceso para que el proceso de usuario puede continuar donde lo dejó.