SISTEMAS OPERATIVOS GRUPO 3621 CLASE 05 DE OTUBRE DE 2011 DOCENTE:- ING. ANA LIDIA BARCENAS CORTES

SISTEMAS OPERATIVOS GRUPO 3621 CLASE 05 DE OTUBRE DE 2011 DOCENTE:- ING. ANA LIDIA BARCENAS CORTES 1.6. Núcleo o Kernel y niveles de un Sistema Opera

1 downloads 170 Views 288KB Size

Story Transcript

SISTEMAS OPERATIVOS GRUPO 3621 CLASE 05 DE OTUBRE DE 2011 DOCENTE:- ING. ANA LIDIA BARCENAS CORTES

1.6. Núcleo o Kernel y niveles de un Sistema Operativo El Núcleo (o kernel) es una colección de módulos de software que se ejecutan en forma privilegiada –lo que significa que tienen acceso pleno a los recursos del sistema. El núcleo normalmente representa sólo una pequeña parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el código que más se utiliza. Por esta razón, el núcleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal sólo cuando se necesitan. Los núcleos se diseñan para realizar “el mínimo” posible de procesamiento en cada interrupción y dejar que el resto lo realice el proceso apropiado del sistema, que puede operar mientras el núcleo se habilita para atender otras interrupciones. El núcleo de un sistema operativo normalmente contiene el código necesario para realizar las siguientes funciones: • Manejo de interrupciones. • Creación y destrucción de procesos. • Cambio de estado de los procesos. • Despacho. • Suspensión y reanudación de procesos. • Sincronización de procesos. • Comunicación entre procesos. • Manipulación de los bloques de control de procesos. • Apoyo para las actividades de entrada/salida. • Apoyo para asignación y liberación 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. El Kernel consiste en la parte principal del código 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. Procesador. (Núcleo) Se encarga de activar los cuantum de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas. Se introduce la noción de proceso como un programa en ejecución. Entre los requisitos fundamentales de un sistema operativo que ofrezca soporte para múltiples procesos se incluye la capacidad de suspender y reanudar los procesos. Esto exige salvaguardar los registros del hardware, de modo que la ejecución pueda cambiar de un proceso a otro. Además, si los procesos necesitan cooperar, hace falta algún método de sincronización. Una de las técnicas más simples, pero un concepto importante en el diseño de sistemas operativos, es el semáforo. • Objetos→ proceso y semáforo • Operaciones típicas→ crear, destruir, suspender, reanudar, señalizar y esperar El núcleo (Kernel) de un sistema operativo es un conjunto de rutinas cuya misión es la de gestionar el procesador, la memoria, la entrada/salida y el resto de procesos disponibles en

SISTEMAS OPERATIVOS GRUPO 3621 CLASE 05 DE OTUBRE DE 2011 DOCENTE:- ING. ANA LIDIA BARCENAS CORTES

la instalación. Toda esta gestión la realiza para atender al funcionamiento y peticiones de los trabajos que se ejecutan en el sistema. Procesos Uno de los conceptos más importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecución junto con el entorno asociado (registros, variables, etc.). El corazón de un sistema operativo es el núcleo, un programa de control que reacciona ante cualquier interrupción de eventos externos y que da servicio a los procesos, creándolos, terminándolos y respondiendo a cualquier petición 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. Semáforos Dos o más procesos pueden cooperar por medio de simples señales, de forma que se pueda obligar a detenerse a un proceso en una posición de terminada hasta que reciba una señal especifica. Para la señalización se usan variables especiales llamadas semáforos. Para transmitir una señal por el semáforo s, los procesos ejecutan la primitiva signal (s). Para recibir una señal del semáforo s, los procesos ejecutan la primitiva wait (s); si la señal correspondiente aun no se ha transmitido el proceso es suspendido hasta que tenga lugar la transmisión. Nivel 2. Entrada/Salida. Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por procesos. Tiene que ver con los dispositivos de almacenamiento secundario. En este nivel se sitúan las funciones de ubicación de las cabezas de lectura y escritura, y se producen las transferencias reales de bloques. Este nivel se apoya en el nivel anterior para planificar las operaciones y notificar al proceso que hizo la solicitud que la operación ha culminado.  Objetos→ bloques de datos  Operaciones típicas→ leer, escribir, asignar y liberar Dispositivos de Entrada y Salida. El código destinado a manejar la entrada y salida de los diferentes periféricos en un sistema operativo es de una extensión considerable y sumamente complejo. Resuelve las necesidades de sincronizar, atrapar interrupciones y ofrecer llamadas al sistema para los programadores. Los dispositivos de entrada/salida se dividen, en general, en dos tipos: dispositivos orientados a bloques y dispositivos orientados a caracteres. 1. Orientados a Bloques. Los dispositivos orientados a bloques tienen la propiedad de que se pueden direccionar, esto es, el programador puede escribir o leer cualquier bloque del dispositivo realizando primero una operación de posicionamiento sobre el dispositivo. Los dispositivos más comunes orientados a bloques son los discos duros, la memoria, discos compactos y, posiblemente, unidades de cinta. 2. Orientados a Caracteres. Los dispositivos orientados a caracteres son aquellos que trabajan con secuencias de bytes sin importar su longitud ni ninguna agrupación en especial. No son dispositivos

SISTEMAS OPERATIVOS GRUPO 3621 CLASE 05 DE OTUBRE DE 2011 DOCENTE:- ING. ANA LIDIA BARCENAS CORTES

direccionables. Ejemplos de estos dispositivos son el teclado, la pantalla o display y las impresoras. Principios del Software de Entrada y Salida. Los principios de software en la entrada - salida se resumen en cuatro puntos: el software debe ofrecer manejadores de interrupciones, manejadores de dispositivos, software que sea independiente de los dispositivos y software para usuarios. • Manejadores de Interrupciones. El primer objetivo referente a los manejadores de interrupciones consiste en que el programador o el usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo está ocupado y se debe suspender el proceso o sincronizar algunas tareas. Desde el punto de vista del proceso o usuario, el sistema simplemente se tardó más o menos en responder a su petición. • Manejadores de Dispositivos. El sistema debe proveer los manejadores de dispositivos necesarios para los periféricos, así como ocultar las peculiaridades del manejo interno de cada uno de ellos, tales como el formato de la información, los medios mecánicos, los niveles de voltaje y otros. Por ejemplo, si el sistema tiene varios tipos diferentes de discos duros, para el usuario o programador las diferencias técnicas entre ellos no le deben importar, y los manejadores le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos. • Software que sea independiente de los dispositivos. Este es un nivel superior de independencia que el ofrecido por los manejadores de dispositivos. Aquí el sistema operativo debe ser capaz, en lo más posible, de ofrecer un conjunto de utilerías para accesar periféricos o programarlos de una manera consistente. Por ejemplo, que para todos los dispositivos orientados a bloques se tenga una llamada para decidir si se desea usar „buffer‟ o no, o para posicionarse en ellos. • Software para Usuarios. La mayoría de las rutinas de entrada - salida trabajan en modo privilegiado, o son llamadas al sistema que se ligan a los programas del usuario formando parte de sus aplicaciones y que no le dejan ninguna flexibilidad al usuario en cuanto a la apariencia de los datos. Existen otras librerías en donde el usuario si tiene poder de decisión (por ejemplo la llamada a “printf” en el lenguaje “C”). Otra facilidad ofrecida son las áreas de trabajos encolados (spooling áreas), tales como las de impresión y correo electrónico. Nivel 3. Gestión de Memoria. Proporciona las facilidades de bajo nivel para la gestión de memoria secundaria necesaria para la ejecución de procesos. Crea un espacio de direcciones lógicas para los procesos. Este nivel organiza el espacio de direcciones virtuales en bloques que se pueden mover entre la memoria principal y la memoria secundaria. Son tres los esquemas de uso más habitual: los que utilizan páginas de longitud fija, los que usan segmentos de longitud variable y los que utilizan los dos. • Objetos→ segmentos y paginas • Operaciones típicas→ leer, escribir y acceder La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones

SISTEMAS OPERATIVOS GRUPO 3621 CLASE 05 DE OTUBRE DE 2011 DOCENTE:- ING. ANA LIDIA BARCENAS CORTES

actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario. La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella. Nivel 4. Sistema de Archivos. Proporciona la facilidad para el almacenamiento a largo plazo y manipulación de archivos con nombre, va asignando espacio y acceso de datos en memoria. Da soporte al almacenamiento a largo plazo de los archivos con nombre. En este nivel, los datos del almacenamiento secundario se contemplan en términos de entidades abstractas de longitud variable, en contraste con el enfoque orientado al hardware del nivel de E/S básicas, en términos de pistas, sectores y bloques de tamaño fijo. • Objetos→ archivos dispositivos • Operaciones típicas→ crear, destruir, abrir, cerrar, leer y escribir Un archivo es un conjunto de datos al cual se asigna un nombre. Normalmente reside un dispositivo de almacenamiento secundario como un disco o una cinta. Se puede manipular como una unidad con operaciones tales como:  Abrir: Preparar un archivo para hacer referencia a él.  Cerrar: Evitar cualquier otra referencia al archivo en tanto no se le abra otra vez.  Crear: Construir un nuevo archivo.  Destruir: Eliminar un archivo.  Copiar: Crear otra versión del archivo con un nombre nuevo.  Renombrar: Cambiar el nombre de un archivo.  Listar: Imprimir o exhibir el contenido de un archivo. Los elementos de información individuales dentro del archivo se pueden manipular con operaciones tales como:  Leer: Introducir un elemento de información de un archivo a un proceso.  Escribir: Transferir un elemento de información de un proceso a un archivo.  Modificar: Alterar un elemento de información ya existente en un archivo.  Insertar: Añadir un nuevo elemento de información a un archivo.  Eliminar: Borrar un elemento de información de un archivo. Los archivos pueden caracterizarse por su:  Volatibilidad: Se refiere a la frecuencia con que se añade información a un archivo y se borra de él.  Actividad: Se refiere al porcentaje de los registros de un archivo al cual se tuvo acceso durante un periodo dado.  Tamaño: Se refiere a la cantidad de información almacenada en el archivo.

SISTEMAS OPERATIVOS GRUPO 3621 CLASE 05 DE OTUBRE DE 2011 DOCENTE:- ING. ANA LIDIA BARCENAS CORTES

Nivel 5. Información o Aplicación o Intérprete de Lenguajes. Facilita la comunicación 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. Ofrece al usuario una interfaz con el sistema operativo. Se denomina shell y separa al usuario de los detalles, le presenta el sistema operativo como un simple conjunto de servicios. El shell acepta las órdenes del usuario o las sentencias de control de trabajos, las interpreta, crea y controla los procesos según sea necesario. El intérprete de comandos representa la interfaz entre el usuario y el sistema operativo. Algunos sistemas operativos incluyen el intérprete en el kernel. Otros como el DOS o UNIX, poseen un programa especial para cumplir esta función que se ejecuta cuando se inicia el sistema. • Objetos→ datos del entorno • Operaciones típicas→ sentencias del lenguaje de ordenes Datos del entorno. Son aquel conjunto de información que tiene comunicación directa con el usuario, y viceversa. Es lo único que el usuario puede ver del sistema operativo en funcionamiento. El formato en el que la información se presente al usuario dependerá de la interfaz del sistema operativo, pero para todos los casos serán datos con los que el usuario pueda trabajar. El funcionamiento del intérprete de comandos esta relacionado con los demás niveles del sistema operativo, ya que es en este en donde se ve el resultado del trabajo en conjunto del sistema.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.