Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Organización del Sistema Operativo Sistemas Operativos Andrés Felipe Barco Santa Pontificia Universidad Javeriana Febrero de 2010 Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Funciones Básicas Perspectivas del Computador Funciones Básicas Responsabilidades del SO Crear un ambiente de máquina abstracta con multiples componentes autónomos. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Funciones Básicas Perspectivas del Computador Funciones Básicas Responsabilidades del SO Crear un ambiente de máquina abstracta con multiples componentes autónomos. Coordinar el uso de los componentes de acuerdo a las polı́ticas del administrador. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Funciones Básicas Perspectivas del Computador Perspectivas del Computador Las funciones del SO se concentran en satisfacer los siguientes requerimientos básicos: Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Funciones Básicas Perspectivas del Computador Perspectivas del Computador Las funciones del SO se concentran en satisfacer los siguientes requerimientos básicos: 1 Manejo de dispositivos Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Funciones Básicas Perspectivas del Computador Perspectivas del Computador Las funciones del SO se concentran en satisfacer los siguientes requerimientos básicos: 1 Manejo de dispositivos 2 Manejo de procesos, hilos y recursos Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Funciones Básicas Perspectivas del Computador Perspectivas del Computador Las funciones del SO se concentran en satisfacer los siguientes requerimientos básicos: 1 Manejo de dispositivos 2 Manejo de procesos, hilos y recursos 3 Manejo de memoria Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Funciones Básicas Perspectivas del Computador Perspectivas del Computador Las funciones del SO se concentran en satisfacer los siguientes requerimientos básicos: 1 Manejo de dispositivos 2 Manejo de procesos, hilos y recursos 3 Manejo de memoria 4 Manejo de archivos Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación División Device Management Motivación El sistema operativo maneja la asignación, aislamiento y compartición de los dispositivos de acuerdo a una polı́tica escogida por los diseñadores o administradores del sistema. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación División Device Management Motivación El sistema operativo maneja la asignación, aislamiento y compartición de los dispositivos de acuerdo a una polı́tica escogida por los diseñadores o administradores del sistema. Modularidad El manejador de dispositivos está compuesto por dos partes. Una parte independiente de los dispositivos y una parte dependiente de cada dispositivo. Esto con el proposito de simplificar la operación de adicionar un nuevo dispositivo. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación División Device Management División Parte Dependiente Implementa aspectos del manejo del dispositivos que son unicos a él (device driver) Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación División Device Management División Parte Dependiente Implementa aspectos del manejo del dispositivos que son unicos a él (device driver) Parte Independiente Define un ambiente general de software en donde las partes dependientes (drivers) puedan ejecutarse Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación División Device Management Device Management Figura: Device Management - Tomado de Operating Systems, 3 Andrés Felipe Barco Santa Organización del Sistema Operativo Edition, Gary Nutt Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Process, threads and resources Process Manager Motivación Procesos, hilos y recursos Procesos e hilos son unidades básicas de computación y recursos (abstractos) son elementos del ambiente computacional necesitados para ejecutar hilos. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Process, threads and resources Process Manager Motivación Procesos, hilos y recursos Procesos e hilos son unidades básicas de computación y recursos (abstractos) son elementos del ambiente computacional necesitados para ejecutar hilos. Manejador de procesos es responsable de administrar el procesador y varios recursos abstractos. Coopera con el manejador de memoria. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Process, threads and resources Process Manager Process, threads and resources Figura: Process Management - Tomado de Operating Systems, 3 Andrés Felipe Barco Santa Organización del Sistema Operativo Edition, Gary Nutt Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Process, threads and resources Process Manager Process Manager El manejo de procesos, hilos y recursos podrı́a hacerse en diferentes uniades lógicas, sin embargo la mayorı́a de los sistemas operativos las combinan en un solo módulo, dado que son parte fundamental del ambiente de la máquina abstracta. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Memoria Virtual Memory Management Motivación Memoria principal El manejador de memoria coopera con el manejador de recursos para administrar la asignación y uso de la memoria primaria (memoria ejecutable). Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Memoria Virtual Memory Management Motivación Memoria principal El manejador de memoria coopera con el manejador de recursos para administrar la asignación y uso de la memoria primaria (memoria ejecutable). Allocate El manejador asigna memoria a procesos de acuerdo a una polı́tica y forza el aislamiento del recurso. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Memoria Virtual Memory Management Memoria Virtual Si el sistema soporta memoria virtual, el manejador coopera con el dispositivo o manejador de archivos para manejar la memoria y dispositivos de paginado. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Memoria Virtual Memory Management Memoria Virtual Si el sistema soporta memoria virtual, el manejador coopera con el dispositivo o manejador de archivos para manejar la memoria y dispositivos de paginado. Virtual Memory Son extensiones abstractas para que la memoria principal aparente ser más grande de lo que realmente es. Se logra por medio del manejador de memoria virtual y los dispositivos de almacenamiento. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación Memoria Virtual Memory Management Memory Management Figura: Memory Management - Tomado de Operating Systems, 3 Andrés Felipe Barco Santa Organización del Sistema Operativo Edition, Gary Nutt Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación File Manager Motivación Archivos Los archivos son abstracciones de dispositivos de almacenamiento. Estas son las abstracciones más usadas en el sistema de cómputo. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación File Manager Motivación Archivos Los archivos son abstracciones de dispositivos de almacenamiento. Estas son las abstracciones más usadas en el sistema de cómputo. El manejador de archivos se encarga de implementar la asbtracción de archivo por medio de la interacción con el manejador de dispositivos y con el manejador de memoria. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Motivación File Manager File Manager Figura: Memory Management - Tomado de Operating Systems, 3 Edition, Gary Nutt Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Debe Cumplirse El sistema operativo es una colección de algoritmos y estructuras de datos. Para lograr la funcionalidad deseada de aislar y compartir recursos, el sistema debe tener en cuenta: Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Debe Cumplirse El sistema operativo es una colección de algoritmos y estructuras de datos. Para lograr la funcionalidad deseada de aislar y compartir recursos, el sistema debe tener en cuenta: Comportamiento Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Debe Cumplirse El sistema operativo es una colección de algoritmos y estructuras de datos. Para lograr la funcionalidad deseada de aislar y compartir recursos, el sistema debe tener en cuenta: Comportamiento Uso exclusivo de los recursos Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Tener en cuenta Performance El SO debe ser implementado lo más eficientemente posible para brindar un minimo uso de los recursos (especialmente procesador y memoria), máximizando el uso de los recursos por parte de las aplicaciones de usuario. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Tener en cuenta Performance El SO debe ser implementado lo más eficientemente posible para brindar un minimo uso de los recursos (especialmente procesador y memoria), máximizando el uso de los recursos por parte de las aplicaciones de usuario. Exclusive use of resources El SO debe proveer el aislamiento de los recursos permitiendo a los procesos guardar información con certeza de que no será alterada ni robada. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Existen tres mecanismos básicos que implementa todo sistema operativo moderno: Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Existen tres mecanismos básicos que implementa todo sistema operativo moderno: Modos del procesador Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Existen tres mecanismos básicos que implementa todo sistema operativo moderno: Modos del procesador Núcleos (kernels) Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Existen tres mecanismos básicos que implementa todo sistema operativo moderno: Modos del procesador Núcleos (kernels) Métodos de invocar los servicios Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Processor modes Un bit en el hardware define si se está ejecutando operaciones por parte del SO o por parte del usuario. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Processor modes Un bit en el hardware define si se está ejecutando operaciones por parte del SO o por parte del usuario. Figura: Exclusive Access to Resource - Tomado de Operating Systems, 3 Edition, Gary NuttSanta Andrés Felipe Barco Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Kernels La parte más crı́tica del SO es el kernel. Este es diseñado como software seguro (trusted software) que controla la correcta operación de todo el resto de software. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Kernels La parte más crı́tica del SO es el kernel. Este es diseñado como software seguro (trusted software) que controla la correcta operación de todo el resto de software. El kernel implementa mecanismos básicos que aseguran la funcionalidad del sistema entero. Otro software (incluyendo partes del SO) y todos los programas de aplicación son ejecutados como software inseguro (user mode). Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Métodos de Invocar Servicios Este punto tiene que ver en la manera cómo el usuario pide servicios del SO; llamando a una función o mandando un mensaje a un proceso del sistema. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Métodos de Invocar Servicios Este punto tiene que ver en la manera cómo el usuario pide servicios del SO; llamando a una función o mandando un mensaje a un proceso del sistema. Existen dos técnicas por las cuales un programa en modo usuario puede acceder a los servicios del kernel en modo supervisor. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Métodos de Invocar Servicios Este punto tiene que ver en la manera cómo el usuario pide servicios del SO; llamando a una función o mandando un mensaje a un proceso del sistema. Existen dos técnicas por las cuales un programa en modo usuario puede acceder a los servicios del kernel en modo supervisor. 1 Llamado al sistema - System Call Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Métodos de Invocar Servicios Este punto tiene que ver en la manera cómo el usuario pide servicios del SO; llamando a una función o mandando un mensaje a un proceso del sistema. Existen dos técnicas por las cuales un programa en modo usuario puede acceder a los servicios del kernel en modo supervisor. 1 Llamado al sistema - System Call 2 Paso de mensaje - Message Passing Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Syscall Se invoca una función que ejecuta una llamada con parametros adecuados al kernel. Esta función hace un cambio indirecto, por medio de una tabla de direcciones llamada trap table, a la función kernel del sistema operativo. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Syscall Se invoca una función que ejecuta una llamada con parametros adecuados al kernel. Esta función hace un cambio indirecto, por medio de una tabla de direcciones llamada trap table, a la función kernel del sistema operativo. Message Passing El proceso del usuario construye un mensaje que le envia al kernel, este a su vez envia un mensaje al proceso usuario. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Debe Cumplirse Tener en cuenta Mecanismos del SO Mecanismos del SO Figura: Invocar al SO - Tomado de Operating Systems, 3 Edition, Gary Nutt Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Organización Logica del SO Organización Logica del SO A nivel lógico, el SO está hecho del manejador de procesos, memoria, dispositivos y archivos. Cada uno de esos manejadores necesitan, de vez en cuando, estructuras “poseidas” por otro manejador. Por esta razón se violan principios de modularidad al diseñar un SO. Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Organización Logica del SO Organización Lógica del SO Figura: Organización del SO - Tomado de Operating Systems, 3 Edition, Gary Nutt Andrés Felipe Barco Santa Organización del Sistema Operativo Introducción Manejador de Dispositivos Manejador de Procesos Manejador de Memoria Manejador de Archivos Consideraciones de Implementación Organización Organización Logica del SO Fin de la Clase Nos vemos en la próxima!!! Andrés Felipe Barco Santa Organización del Sistema Operativo