Download Organización del Sistema Operativo

Document related concepts

Envoltura de manejador wikipedia , lookup

Loop device wikipedia , lookup

Descriptor de archivo wikipedia , lookup

Transcript
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