Vous êtes sur la page 1sur 10

Ncleo o Kernel y niveles de un sistema operativo

El Kernel consiste en la parte principal del cdigo del sistema operativo, el cual se encargan de controlar y administrar los servicios y peticiones de recursos y de hardware con respecto a uno o varios procesos, este se divide en 5 capas:

Nivel 1. Gestin de Memoria: que proporciona las facilidades de bajo nivel para la gestin de memoria secundaria necesaria para la ejecucin de procesos. Nivel 2. Procesador: Se encarga de activar los cuantums de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas. Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por procesos. Nivel 4. Informacin o Aplicacin o Interprete de Lenguajes: Facilita la comunicacin con los lenguajes y el sistema operativo para aceptar las ordenes en cada una de las aplicaciones. Cuando se solicitan ejecutando un programa el software de este nivel crea el ambiente de trabajo e invoca a los procesos correspondientes. Nivel 5. Control deArchivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulacin de archivos con nombre, va asignando espacio y acceso de datos en memoria.

El ncleo y los procesos El ncleo (Kernel) de un sistema operativo es un conjunto de rutinas cuya misin es la de gestionar el procesador, la memoria, la entrada / salida y el resto de procesos disponibles en la instalacin. Toda esta gestin la realiza para atender al funcionamiento y peticiones de los trabajos que se ejecutan en el sistema. Los procesos relacionados con la entidad bsica de los sistemas operativos actuales: Los procesos. El esquema general del mismo es el siguiente: Definicin y concepto de proceso. El Bloque de Control de Proceso (PCB) como imagen donde el sistema operativo ve el estado del proceso. Estados por los que pasa un proceso a lo largo de su existencia en la computadora. Operaciones que se pueden realizar sobre un proceso. Clasificacin de los procesos segn su forma de ejecucin, de carga, etc. Procesos

Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecucin junto con el entorno asociado (registros, variables ,etc.). El corazn de un sistema operativo es el ncleo, un programa de control que reacciona ante cualquier interrupcin de eventos externos y que da servicio a los procesos, crendolos, terminndolos y respondiendo a cualquier peticin de servicio por parte de los mismos. Un proceso es una actividad que se apoya en datos, recursos, un estado en cada momento y un programa.

El Bloque de Control de Procesos (PCB) Un proceso se representa desde el punto de vista del sistema operativo, por un conjunto de datos donde se incluyen el estado en cada momento, recursos utilizados, registros, etc., denominado Bloque de Control de Procesos (PCB). Los objetivos del bloque de control de procesos son los siguientes:

Localizacin de la informacin sobre el proceso por parte del sistema operativo. Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecucin o reanudarla. La informacin contenida en el bloque de control es la siguiente:

Estado del proceso. Informacin relativa al contenido del controlador del programa (Program Counter, PC), estado de procesador en cuanto a prioridad del proceso, modo de ejecucin, etc., y por ultimo el estado de los registros internos de la computadora. Estadsticas de tiempo y ocupacin de recursos para la gestin de la planificacin del procesador. Ocupacin de memoria interna y externa para el intercambio (swapping). Recursos en uso (normalmente unidades de entrada/salida). Archivos en uso. Privilegios.

Estas informaciones se encuentran en memoria principal en disco y se accede a ellas en los momentos en que se hace necesaria su actualizacin o consulta. Los datos relativos al estado del proceso siempre se encuentran en memoria principal. Existe un Bloque de Control de Sistema (SCB) con objetivos similares al anterior y entre los que se encuentra el enlazado de los bloques de control de procesos existentes en el sistema. El cambio de contexto se producir en caso de ejecucin de una instruccin privilegiada, una llamada al sistema operativo o una interrupcin, es decir, siempre que se requiera la atencin de algn servicio del sistema operativo.

Estado de los procesos Los bloques de control de los procesos se almacenan en colas, cada una de las cuales representa un estado particular de los procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los procesos son internos del sistema operativo y transparentes al usuario. Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.

1.- Estados activos: Son aquellos que compiten con el procesador o estn en condiciones de hacerlo. Se dividen en: Ejecucin. Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado slo lo puede tener un proceso. Preparado. Aquellos procesos que estn dispuestos para ser ejecutados, pero no estn en ejecucin por alguna causa (Interrupcin, haber entrado en cola estando otro proceso en ejecucin, etc.). Bloqueado. Son los procesos que no pueden ejecutarse de momento por necesitar algn recurso no disponible (generalmente recursos de entrada/salida).

2.- Estados inactivos: Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio.

Son de dos tipos:

Suspendido bloqueado. Es el proceso que fue suspendido en espera de un evento, sin que hayan desaparecido las causas de su bloqueo. Suspendido programado. Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado.

Transacciones de estado Todo proceso a lo largo de su existencia puede cambiar de estado varias veces. Cada uno de estos cambios se denomina transaccin de estado. Estas transacciones son las siguientes: Comienzo de la ejecucin. Todo proceso comienza al ser dada la orden de ejecucin del programa insertndose en la cola de preparados. El encolamiento depender de la poltica de gestin de dicha cola.

Paso de estado de ejecucin. Cuando el procesador se encuentra inactivo y en la cola de preparados exista algn proceso en espera de ser ejecutado, se pondr en ejecucin el primero de ellos. Paso a estado bloqueado. Un proceso que se encuentre en ejecucin y que solicite una operacin a un dispositivo externo, teniendo que esperar a que dicha operacin finalice, ser pasado de estado de ejecucin a estado bloqueado insertndose su PCB en la cola correspondientes de bloqueado. A partir de este momento el procesador pone en ejecucin el siguiente proceso, que ser el primero de la cola de preparados. Paso a estado preparado. Este paso puede ser producido por alguna de las siguientes causas. Orden de ejecucin de un programa, con la cual, ya se ha mencionado, el proceso pasa a la cola de preparados. Si un proceso est en estado bloqueado por causa de una operacin de entrada / salida y est finaliza, pasar de la cola de bloqueados a la de preparados. Si un proceso est en ejecucin y aparece una interrupcin que fuerza al sistema operativo a ejecutar otro proceso, el primero pasar al estado de preparado y su PCB a la cola de preparados. Activacin. Un proceso suspendido previamente sin estar bloqueado pasar al estado preparado al ser activado nuevamente. Paso a estado suspendido bloqueado. Si un proceso est bloqueado y el sistema operativo recibe la orden de suspenderlo, su PCB entrar en la cola de procesos suspendidos bloqueados. Paso a estado suspendido preparado. Este paso se puede producir bajo tres circunstancias: Suspensin de un proceso preparado pasando ste de la cola de procesos preparados a la de suspendidos preparados. Suspensin de un proceso en ejecucin, con lo cual el proceso pasa a la cola de suspendidos preparados. Desbloqueo de un proceso suspendido bloqueado por desaparecer la causa que impeda el ser activado de nuevo.

Operaciones sobre procesos Los sistemas operativos actuales poseen una serie de funciones cuyo objetivo es el de la manipulacin de los procesos. Las operaciones que se pueden hacer sobre un proceso son las siguientes:

Crear el proceso. Se produce con la orden de ejecucin del programa y suele necesitar varios argumentos, como el nombre y la prioridad del proceso. Aparece en este momento el PCB, que ser insertado en la cola de procesos preparados. La creacin de un proceso puede ser de dos tipos:

Jerrquica. En ella, cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecucin de su padre. El primer proceso que ejecuta un usuario ser hijo del intrprete de comandos con el que interacta. No jerrquica. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un entorno diferente. Es un tipo de creacin que no suele darse en los sistemas operativos actuales. Destruir un proceso. Se trata de la orden de eliminacin del proceso con la cual el sistema operativo destruye su PCB. Suspender un proceso. Es un proceso de alta prioridad que paraliza un proceso que puede ser reanudado posteriormente. Suele utilizarse en ocasiones de mal funcionamiento o sobrecarga del sistema. Reanudar un proceso. Trata de activar un proceso que a sido previamente suspendido. Cambiar la prioridad de un proceso. Temporizar la ejecucin de un proceso. Hace que un determinado proceso se ejecute cada cierto tiempo (segundos, minutos, horas...) por etapas de una sola vez, pero transcurrido un periodo de tiempo fijo. Despertar un proceso. Es una forma de desbloquear un proceso que habr sido bloqueado previamente por temporizacin o cualquier otra causa.

Prioridades Todo proceso por sus caractersticas e importancia lleva aparejadas unas determinadas necesidades de ejecucin en cuanto a urgencia y asignacin de recursos. Las prioridades segn los sistemas operativos se pueden clasificar del siguiente modo:

Asignadas por el sistema operativo. Se trata de prioridades que son asignadas a un proceso en el momento de comenzar su ejecucin y dependen fundamentalmente de los privilegios de su propietario y del modo de ejecucin. Asignadas por el propietario. Estticas. Dinmicas.

El Ncleo del Sistema Operativo Todas las operaciones en las que participan procesos son controladas por la parte del sistema operativo denominada ncleo (nucleus, core o kernel, en ingls). El ncleo normalmente representa slo una pequea parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el cdigo que ms se utiliza. Por esta razn, el ncleo reside por lo regular en la memoria principal, mientras que

otras partes del sistema operativo son cargadas en la memoria principal slo cuando se necesitan. Los ncleos se disean para realizar el mnimo posible de procesamiento en cada interrupcin y dejar que el resto lo realice el proceso apropiado del sistema, que puede operar mientras el ncleo se habilita para atender otras interrupciones.

Resumen de las Funciones del Ncleo El ncleo de un sistema operativo normalmente contiene el cdigo necesario para realizar las siguientes funciones:

Manejo de interrupciones. Creacin y destruccin de procesos. Cambio de estado de los procesos. Despacho. Suspensin y reanudacin de procesos. Sincronizacin de procesos.

Comunicacin entre procesos. Manipulacin de los bloques de control de procesos. Apoyo para las actividades de entrada / salida. Apoyo para asignacin y liberacin de memoria. Apoyo para el sistema de archivos. Apoyo para el mecanismo de llamada y retorno de un procedimiento. Apoyo para ciertas funciones de contabilidad del sistema.

Estructura Jerrquica del Sistema Un computador que ofrece no slo su lenguaje de mquina como apoyo al sistema operativo y a sus usuarios, sino tambin un grupo de funciones adicionales proporcionadas por el ncleo. Arriba del ncleo, en jerarqua, se encuentran los diferentes procesos del sistema operativo que trabajan en apoyo de los procesos de usuario, que se encargan en la prctica de supervisar las operaciones de entrada / salida de los dispositivos del sistema para beneficio de los diversos usuarios.

En los diseos en que el ncleo est distribuido en varios niveles de jerarqua, elegir qu funcin colocar en cada nivel requiere un anlisis cuidadoso. En tales diseos, con frecuencia slo se permite hacer llamadas a funciones situadas jerrquicamente por debajo de quien hace la llamada; es decir, cada nivel slo puede llamar a las funciones que estn colocadas en el nivel inmediato inferior.

Migracin del ncleo a microcdigo En los sistemas ms recientes existe la tendencia de colocar gran parte del ncleo en microcdigo. Esta es una tcnica de seguridad efectiva, pues impide la alteracin del ncleo y con una cuidadosa codificacin se puede lograr que se ejecuten ms eficientemente las funciones del ncleo. El bloque de control de proceso (PCB) es una estructura de datos que contiene la informacin que permite al sistema operativo localizar toda la informacin importante sobre un proceso, incluyendo su estado actual, identificacin, prioridad, memoria, recursos, valores de los registros, etctera. El PCB define el proceso al sistema operativo. Los sistemas operativos contienen mecanismos para realizar diversas operaciones sobre los procesos, como crear, destruir, reanudar, cambiar la prioridad, bloquear, despertar y despachar. El kernel de UNIX UNIX es el kernel (ncleo) de un sistema operativo de tiempo compartido. El ncleo del sistema es un programa que siempre est residente en memoria y entre otros, brinda los siguientes servicios:

Controla los recursos del hardware

Controla los dispositivos perifricos (discos, terminales, impresoras, etc.) Permite a distintos usuarios compartir recursos y ejecutar sus programas. Proporciona un sistema de archivos que administra el almacenamiento de informacin (programas, datos, documentos, etc.) En un sentido ms amplio, UNIX abarca tambin un conjunto de programas estndar, como pueden ser:

Compilador de lenguaje C (cc). Editor de texto (vi). Intrprete de rdenes (sh, ksh, csh)

Programas de gestin de archivos y directorios (cp, rm, mv, mkdir, rmdir, etc. )

Los niveles dentro de la arquitectura de UNIX El nivel ms interno no pertenece realmente al sistema operativo, si no que es el hardware, la mquina sobre la que est implementado el sistema y cuyos recursos queremos gestionar. Directamente en contacto con el hardware se encuentra el kernel del sistema. Este kernel est escrito el lenguaje C en su mayor parte, aunque coexistiendo con cdigo ensamblador. En el tercer nivel de nuestra estructura se encuentran programas estndar de cualquier sistema UNIX (vi, grep, sh, who, etc.) y programas generados por el usuario (a.out programa ejecutable estndar creado por defecto por el compilador cc, o cualquier otro programa ejecutable). Hay que hacer notar que estos programas del tercer nivel nunca van a actuar sobre el hardware de forma directa. Por lo tanto, debe existir algn mecanismo que nos permita indicarle al kernel que necesitamos operar sobre un determinado recurso hardware. Este mecanismo es lo que se conoce como llamadas al sistema (system calls). Por encima del tercer nivel tenemos aplicaciones que se sirven de otros programas ya creados para llevar a cabo su funcin. Estas aplicaciones no se comunican directamente con el kernel.

Los bloques funcionales bsicos de que consta el kernel de UNIX

Las llamadas al sistema y su librera asociada representan la frontera entre los programas del usuario y el kernel. La librera asociada a las system calls es el mecanismo mediante el cual podemos invocar una system call desde un programa C y se encuentra en el fichero /usr/lib/libc.a. Las llamadas al sistema se ejecutan en modo kernel (para muchos microprocesadores, modo supervisor) y para entar en este modo hay que ejecutar una sentencia en cdigo mquina conocida como trap (o interrupcin software) El kernel est dividido en dos subsistemas principales: subsistema de ficheros y subsistema de control de procesos. El subsistema de ficheros controla los recursos del sistema de archivos y tiene funciones como reservar espacio para los archivos, administrar ele espacio libre, controlar el acceso a los archivos, permitir el intercambio de datos entre los archivos y el usuario, etc. El subsistema de control de procesos es el responsable de la planificacin de los procesos (scheduler), su sincronizacin, comunicacin entre los mismos (IPC inter process comunication) y del control de la memoria principal.

Al mdulo gestor de memoria (swapping) se le conoce tambin como swapper. El planificador o scheduler se encarga de gestionar el tiempo de CPU que tiene asignado cada proceso. El scheduler entra en ejecucin cada cuanto de tiempo y decide si el proceso actual tiene derecho a seguir ejecutndose (esto depende de la prioridad y de sus privilegios). La comunicacin entre procesos puede realizarse de forma asncrona (seales) o sncrona (colas de mensajes, semforos). Por ltimo, el mdulo de control del hardware es la parte del kernel encargada del manejo de las interrupciones y de la comunicacin con la mquina. Los dispositivos pueden interrumpir a la CPU mientras est ejecutando un proceso. Si esto ocurre, el kernel debe reanudar la ejecucin del proceso despus de atender a la interrupcin. Las interrupciones no son atendidas por procesos, sino por funciones especiales, codificadas en el kernel, que son invocadas durante la ejecucin de cualquier proceso.

Vous aimerez peut-être aussi