PLANIFICACIÓN DE PROCESOS
pincha15922 de Septiembre de 2012
2.632 Palabras (11 Páginas)428 Visitas
PLANIFICACIÓN DE PROCESOS
Planificación
Definición: conjunto de políticas y mecanismos incorporados al sistema operativo, a través de un módulo llamado planificador.
Su objetivo es el máximo aprovechamiento del sistema mediante el orden en que serán ejecutados los procesos.
SISTEMA OPERATIVO WINDOWS
Introducción al S.O. Windows NT y Windows 2000
CARACTERÍSTICAS
Sistema monousuario y multiprogramado
• Soporte al multiprocesamiento
• Diferencia entre interrupciones y excepciones
• Utiliza los distintos modos de ejecución del procesador (usuario y supervisor)
• Procesos y hebras
• NTFS: Sistema de archivos jerárquico (enlaces simbólicos). Soporta otros (FAT, HPFS, CDFS)
• METAS DE DISEÑO:
– Extensibilidad
– Portabilidad (escrito en C, C++ y ensamblador)
– Confiabilidad
– Compatibilidad (MS-DOS, POSIX, OS/2, Win16)
– Rendimiento
MODELOS UTILIZADOS EN SU IMPLEMENTACIÓN
Cliente-Servidor: ciertos servicios del SO se implementan como procesos de usuario
• Capas: la parte del SO que se ejecuta en modo KERNEL, destacando la parte de gestión de E/S
• Orientado a Objetos: no es estrictamente un sistema orientado a objetos pero utiliza objetos para representar algunos recursos del sistema: proceso, hebra, archivo, sección, evento, directorio, semáforo, impresora, etc.
• Multiprocesamiento simétrico:
1) ejecución del SO en diferentes procesadores
2) ejecución de distintas hebras simultáneamente en diferentes procesadores
ARQUITECTURA
SUBSISTEMAS PROTEGIDOS
SUBSISTEMAS DE ENTORNO: proporcionan un API específico para un SO
– Win32
– OS/2, POSIX, Win16, MSDOS: proporcionan sus propios
APIS pero usan el subsistema Win32 para recibir entradas del usuario y mostrar salidas por pantalla.
SUBSISTEMAS INTEGRALES: servidores que realizan funciones importantes dentro del SO
– Subsistema de Seguridad
– Algunos componentes del software de red
EL EJECUTIVO (EXECUTIVE)
• Se ejecuta en modo KERNEL (o supervisor) y, excepto por la interfaz de usuario, constituye un SO en sí mismo
• Se ejecuta en el contexto de un proceso existente
• Los componentes del ejecutivo tienen interfaces bien definidas
EL EJECUTIVO. COMPONENTES
EL EJECUTIVO. COMPONENTES (Y II)
• El monitor de referencia de seguridad
– Refuerza las normas de seguridad en el ordenador local (protección y auditoria de los objetos en tiempo de ejecución)
• El gestor de procesos (PROCESS MANAGER)
– Crea, destruye y gestiona los procesos y hebras
• Llamada a procedimiento local (LPC)
– Recibe y envía las LPC entre las aplicaciones clientes y los subsistemas servidores
• El gestor de memoria virtual (VIRTUAL MEMORY MANAGER)
– Asignación y gestión de la memoria virtual
EL EJECUTIVO. COMPONENTES (Y III)
• El gestor de E/S (I/O Manager).
– Subcomponentes:
• Administrador de sistema de archivos
• Gestores de red
• Gestores de dispositivo
• Gestor de cache (caché de disco escritura retardada)
• La Capa de Abstracción Hardware (HAL)
– Aísla la mayor parte del código dependiente del procesador
– Exporta un modelo de procesador común que oculta las diferencias de varios procesadores al resto de los componentes del sistema
EL EJECUTIVO. COMPONENTES (Y IV)
• El núcleo (KERNEL)
– Planificación de CPU
– Primitivas de comunicación y sincronización
– Gestión de interrupciones y excepciones
– Estructuras de datos:
• Tabla de interrupciones (IDT): asocia las interrupciones con las funciones que las gestionan
• Tabla de descriptores de procesos (PCB): apuntadores a los manejadores de objetos de tipo proceso. Una tabla por cada procesador
• Cola de temporizadores
• Otras: colas de dispositivos, de petición de procesadores y recursos, etc.
SEGURIDAD
• El control de acceso a un objeto se basa en:
– una señal de acceso (ACCESS TOKEN) asociada con cada proceso: incluye un SID (Security ID)
– un descriptor de seguridad asociado con cada objeto al cual se pueda acceder
• Utiliza ACL:
– cuando un proceso quiere acceder a un objeto se comprueba si su SID se encuentra en la ACL asociada al objeto para determinar si el proceso tiene o no acceso al objeto
SUBSISTEMA DE ARCHIVOS
• Sistemas de archivos que soporta:
– FAT (File ALLOCATION TABLE)
• Mantenido para dar soporte a las aplicaciones DOS
– HPFS (High-Performance File System)
• Para dar soporte al subsistema de entorno OS/2
– CDFS (CD-ROM File System)
• Desarrollado exclusivamente para montarse sobre los CD-ROMS
– NTFS (New-Technology File System)
• Es el sistema de archivos nativo de Windows NT y 2000
CARACTERÍSTICAS DE NTFS
• Permite nombres de archivo de hasta 255 caracteres
• Permite la gestión de medios de almacenamiento extraordinariamente grandes
• Incorpora mecanismos para garantizar la seguridad y la fiabilidad (redundancia de datos, usa RAID 1 y 5)
• Soporta el concepto de enlace (por compatibilidad con el estándar POSIX) y un sistema de cuotas
• Es capaz de recuperarse rápidamente después de una caída del sistema o de un fallo del disco
• Soporta el estándar Unicode
• Usa caché de disco con escritura retardada
ATRIBUTOS DE LOS ARCHIVOS
• Nombre
• Fecha de creación, último acceso y última modificación
• Número de serie del volumen
• Tamaño del archivo (64 bits)
• Número de enlaces (compatibilidad con Unix)
• Identificador único que el Ejecutivo asocia a un archivo en el momento en el que alguna hebra lo abra
• Permisos
PERMISOS SOBRE LOS ARCHIVOS
• Lectura (R)
• Escritura (W)
• Ejecución (X)
• Borrado (D)
• Cambio de permisos (P)
• Ser nuevo propietario (O)
– El administrador del sistema puede tomar la propiedad de cualquier archivo pero no transferirla de nuevo a ningún usuario.
ESTRUCTURA NTFS
• Componentes de un volumen NTFS:
– Sector de arranque
– Tabla maestra de archivos (MFT): contiene información de todos los archivos y directorios y del espacio disponible
– Archivos del sistema (1 MBYTES):
• MFT2: copia de las tres primeras filas de MFT (garantiza el acceso a la MFT en caso de fallo de sector)
• Archivo de registro: transacciones realizadas
• Mapa de bits
• Tabla de definición de atributos
– Área de archivos
Sector de arranque
Tabla maestra de archivos
Archivos del sistema
Área de archivos
MFT (MASTER FILE TABLE)
SUBSISTEMA DE PROCESOS
• Proceso:
– Posee un espacio de direcciones propio y aislado, una serie de recursos y una o más hebras.
– No existe relación padre/hijo
• Hebra:
– Unidad de ejecución y de planificación
– Asociada a una serie de instrucciones, registros, dos pilas (usuario y núcleo) y una cola de entrada de mensajes.
• Job (Windows 2000):
– Grupo de procesos relacionados que pueden ser gestionados y manejados como una unidad.
REPRESENTACIÓN DE UN PROCESO
OBJETOS PROCESO Y HEBRA
(b) Objeto hebra
CREACIÓN DE PROCESOS
• Una aplicación cliente crea un proceso utilizando el
API adecuado para su entorno
• La invocación de creación de un proceso se manda al servidor adecuado, el cuál llama al Gestor de procesos para crear un Proceso Nativo (y devuelve un descriptor de objeto)
• Los diferentes entornos de SO devuelven diferentes resultados cuando se crea un proceso:
– Sistemas que soportan o no MULTIHEBRA
– Sistemas que mantienen información Padre-Hijo
ESTADOS DE UNA HEBRA
• Ejecutable o listo
• STANDBY: la hebra ha sido seleccionada para su ejecución en un procesador particular
• Ejecución
• Bloqueado o espera
• Transición: la hebra está preparada para ejecutarse pero los recursos que necesita no están disponibles
• Terminado
DIAGRAMA DE ESTADOS DE UNA HEBRA
PLANIFICACIÓN DE HEBRAS
• Colas múltiples con realimentación apropiativo
• 32 niveles de prioridad divididos en dos grupos:
– Prioridades de tiempo real [16.31]
...