Usuario, supervisor, ejecutivo y núcleo
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 573,95 KB
Organización del sistema operativo
Capa de abstracción del hardware (HAL):
aísla el sistema operativo de las diferencias de hardware específicas de cada plataforma. El SO da órdenes que pasan por la HAL y ésta las “transforma” para que el hardware específico las entienda; y al revés, el hardware da órdenes a al SO a través de la HAL para que el SO las entienda. Así no hay dependencia entre el SO y el hardware.
Núcleo (kernel):
formado por los componentes más usados y fundamentales del sistema operativo (planificación de hilos, cambios de contexto, gestión de excepciones e interrupciones y sincronización de microprocesadores).
Controladores de dispositivos
Incluye los drivers de dispositivos que traducen las llamadas a funciones de E/S del usuario a peticiones a dispositivos hardware de E/S específicos.
Sistema ejecutivo:
Contiene los servicios básicos del sistema operativo, como la gestión de memoria, la gestión de procesos e hilos, seguridad, E/S y comunicación entre procesos.
Procesos de usuario
Procesos de soporte de sistemas especiales:
proceso de inicio de sesíón y la gestión de sesíón.
Procesos de servicio:
otros servicios como el registro de sucesos.Subsistemas de entorno:
ofrecen servicios nativos de Windows a las aplicaciones de usuario y de este modo proporcionan un entorno de SO. Cada subsistema incluye DLLs (bibliotecas de enlace dinámico) que convierten las llamadas de las aplicaciones de usuario en llamadas que interprete Windows.
Aplicaciones de usuario:
programas que se ejecutan sobre el SO. Pueden ser Win32, Posix, OS/2, MS-DOS, etc.Archivo:
Son unidades lógicas de información creada por los procesos. Espacio de direcciones lógicas contiguas. Son un mecanismo de abstracción.
Modo de usuario:
Ofrece un conjunto limitado de instrucciones que no permiten acceder a determinados elementos del sistema. Para cambiar a modo usuario es “sencillo”, consiste en perder privilegios.
Modo núcleo:
Aquí el software tiene control completo sobre el procesador y de todas sus instrucciones, registros y memoria. El cambio a modo núcleo se realiza cuando un proceso ejecuta una llamada al sistema o interrupción.
Modelo cliente/servidor
Mejora la fiabilidad. Cada módulo de los servicios ejecutivos se ejecuta como un proceso separado, con su propia partición de memoria, protegido de otros módulos. Un cliente puede fallar sin corromper el resto del SO.
Proporciona una base adecuada para la computación distribuida.
Nodos-i:
asocia a cada archivo una estructura de datos llamada nodo-i (nodo índice) que contiene los atributos y direcciones de disco de los bloques del archivo. Dado el nodo-i, es posible hallar todos los bloques del archivo. Es usado en Linux.
Ventaja:
Desventaja:
Enlace duro:
los directorios que comparten un archivo, no poseen los bloques de disco, sino que apuntan al mismo nodo-i que corresponde al archivo. Este es el esquema de UNIX.
Desventajas
Cuando el dueño elimina el archivo original, este se destruye, quedando los archivos de enlace obsoletos, ya que el sistema no lo va a poder localizar. Pasa algo similar cuando se mueve el archivo.- Necesitan un procesamiento adicional: leer la ruta, analizarla, seguirla, componente por componente hasta llegar al nodo-i. Puede requerir muchos accesos a disco.- Se necesita un nodo-i adicional por cada enlace, y si el nombre de ruta es largo, se necesita otro bloque adicional para almacenarla.Ventaja
Pueden servir para enlazar archivos por red, especificando la dirección de red de la máquina en la que está el archivo.Sector de arranque de partición:
En los primeros 8kb se contiene la información sobre el volumen (tipo de partición, largo, etc), junto con el bloque de código básico para iniciar al sistema operativo. Contiene también un puntero a la MFT.
MFT – Máster File Table:
La Tabla Maestra de archivos contiene el dónde y como están almacenados los archivos, junto con todos los atributos asociados a estos.
Archivos de Sistema:
Contienen la información sobre los datos y operaciones que se realizan sobre el sistema de archivos: espacio libre, log de transaccionalidad, etc.
Área de archivos:
Donde realmente se almacenan los datos del usuario.
NTFS:
ve todo en el sistema como un archivo, incluyendo a los metadatos. El corazón de tal esquema es la MFT, que contiene la información de donde están los archivos y sus atributos.
Proceso:
es un programa ejecutándose, el programa está en la memoria principal al ejecutarlo, sino está en el disco. Es una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados.
Programa != Proceso
Modelo de cinco estados: Ejecución:
proceso actualmente en ejecución.
Listo:
proceso preparado listo para ejecutarse.
Bloqueado:
procesos que no se va a ejecutar hasta que se produzca cierto suceso (como una operación de E/S).
Nuevo:
proceso que se acaba de crear, pero que no ha sido admitido por el SO en el grupo de procesos ejecutables. Normalmente permanece almacenado en disco.
Terminado:
el proceso ha sido excluido del grupo de ejecutables, porque se detuvo o porque fue abandonado por alguna razón. El SO conserva temporalmente las tablas y otra información asociado al proceso terminado para que le dé tiempo a otros programas para extraer información necesaria de él, luego se borran del sistema.
Modelo de siete estados
Listo:
proceso en memoria principal y listo para la ejecución.Bloqueado
Proceso en memoria principal, esperando un suceso.Bloqueado y suspendido:
proceso en memoria secundaria esperando un suceso.Listo y suspendido:
proceso en memoria secundaria disponible para la ejecución en cuanto se cargue en la memoria principalTransiciones Modelo de cinco estados:
Nulo → Nuevo:
se crea un nuevo proceso para ejecutar un programa.
Nuevo → Listo:
el SO está preparado para aceptar un proceso más.Listo → Ejecución
Momento de seleccionar un nuevo proceso para ejecutar, el SO elige uno de los procesos del estado Listo.Ejecución → Terminado:
el proceso en ejecución es finalizado por el SO.Ejecución → Listo:
la razón más común es que el proceso en ejecución ha alcanzado el tiempo máximo permitido de ejecución ininterrumpida. Hay otras causas, como los niveles de prioridad o que un proceso ceda voluntariamente el control del procesador.Ejecución → Bloqueado:
un proceso solicita por algo por lo que debe esperar.Bloqueado → Listo:
se produce el suceso que el proceso estaba esperando.Listo → Terminado:
por ejemplo, un padre termina con un proceso hijo, o el mismo padre termina, terminando con él todos sus hijos.Bloqueado → Terminado:
mismo caso de Listo → Terminado.Transiciones Modelo de siete estados
Bloqueado → Bloqueado y suspendido:
si no hay procesos Listos, entonces al menos un proceso Bloqueado se expulsa para dar cabida a otro proceso que no esté Bloqueado.
Bloqueado y suspendido → Listo y suspendido:
se produce un suceso que estaba esperando en memoria secundaria.Listo y suspendido → Listo:
cuando no hay procesos Listos en memoria principal, el SO tendrá que traer uno para continuar la ejecución.Listo → Listo y suspendido:
puede ser necesario suspender un proceso Listo si ésta es la única forma de liberar espacio en memoria principal. El SO puede suspender un proceso Listo de más baja prioridad en lugar de uno Bloqueado que sea de prioridad más alta, si cree que el proceso Bloqueado pronto estará Listo.Nuevo → Listo y suspendido, Nuevo → Listo:
cuando se crea un nuevo proceso, se lo puede añadir a la cola de Listos o a la de Listos y suspendidos. En el segundo caso puede deberse a poco espacio en memoria principal.Bloqueado y suspendido → Bloqueado:
un proceso termina y se libera memoria; hay un proceso en Bloqueados y suspendidos que tiene una prioridad mayor a la de cualquier proceso de Listos y suspendidos, así que el SO supone que ocurrirá el suceso que espera pronto.Ejecución → Listo y suspendido:
hay un proceso en Bloqueados y suspendidos de prioridad alta que se acaba de desbloquear, para ello expulsa al proceso en ejecución y lo suspende.Varios → Terminado:
un proceso en cualquier estado puede pasar al estado Terminado.Estructuras de control del sistema operativo
Tablas de memoria:
se utiliza para seguir la pista de la memoria principal (real) y secundaria (virtual). Parte de la memoria principal está reservada para uso del SO, el resto es para los procesos. Incluyen información como asignación de memoria principal y secundaria a los procesos, información de protección de regiones compartidas (por los procesos) de memoria.
Tablas de dispositivos de E/S:
utilizadas por los SO para administrar los dispositivos y canales de E/S, los cuales pueden estar disponibles o asignados a un proceso en particular.
Tablas de archivos:
ofrecen información sobre la existencia de los archivos, su posición en la memoria secundaria, su estado actual y otros atributos.
Tablas de procesos:
sirve para administrar los procesos. Se genera un número para cada proceso, para poder identificarlo.
Asociado a cada proceso hay una serie de atributos utilizados por el SO para su control. Estos atributos se conocen como bloque de control del proceso (PCB). Esta colección de programas, datos, pila y atributos se conoce como imagen del proceso.
La importancia del PCB
Identificación del proceso:
cada proceso tiene un identificador (PID).
Información de estado del procesador:
formada por el contenido de los registros del procesador.
Información de control del proceso:
información adicional para que el SO controle y coordine los procesos activos.
Pila de usuario
Espacio privado de direcciones de usuario (programas y datos)
Espacio compartido de direcciones
Cambio de proceso
Un cambio de proceso puede producirse en cualquier momento en que el SO haya tomado el control a partir del proceso que está actualmente ejecutándose. Los posibles sucesos que pueden dar el control al SO son: