Cap8

2,056 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,056
On SlideShare
0
From Embeds
0
Number of Embeds
75
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cap8

  1. 1. Capítulo 8<br />Activación de los Servicios del Sistema Operativo<br />1<br />Sistemas Operativos I<br />
  2. 2. los servicios del S.O. se activan por cualquiera de estos sucesos<br />Sistemas Operativos I<br />2<br />activación de los servicios del S.O.<br />Fuentes de las peticiones:<br />Mandatos de los usuarios interpretados por el shell.<br />Llamadas al sistema emitidas por los programas.<br />Interrupciones producidas por los periféricos.<br />Por interrupción o trap.<br />Condiciones de excepción o error del hardware.<br />Forma de solicitar los servicios.<br />Por llamada problema de seguridad.<br />Rutina de biblioteca:<br />Instrucciones de máquina que prepara la llamada al S.O.<br />
  3. 3. solicitud del S.O. – guardar el estado – ejecutar la función pedida<br />Sistemas Operativos I<br />3<br />fases en la activación<br />
  4. 4. métodos y estándares<br />Sistemas Operativos I<br />4<br />paso de parámetros a las llamadas<br />Tres métodos genéricos para pasar parámetros a las llamadas al sistema:<br />En registros.<br />En una tabla de memoria, cuya dirección se pasa al S.O. en un registro.<br />Poner los parámetros en la pila del programa y dejar que el S.O. los extraiga.<br />Cada S.O. proporciona sus propias llamadas al sistema: <br />Estándar POSIX en UNIX y LINUX.<br />Win32 en Windows NT.<br />
  5. 5. trap<br />Sistemas Operativos I<br />5<br />servicios del S.O.<br />Los servicios se programan mediante sentencias de un lenguaje (Ej: C++).<br />Estas sentencias son como llamadas a función.<br />Se convierten, mediante una rutina de biblioteca de sistemas en un conjunto de instrucciones de máquina que terminan con una instrucción de trap.<br />El trap,como toda interrupción es tratada por el S.O.<br />El S.O. realiza el servicio pedido y devuelve un valor.<br />Ejemplo: <br />intfork() {<br />int r;<br /> LOAD R8, FOR_SYSTEM_CALL<br /> TRAP<br /> LOAD r, R9<br />return r;<br />}<br />
  6. 6. paso de modos usuario a núcleo<br />Sistemas Operativos I<br />6<br />paso de llamadas al sistema<br />Se pasa de Modo Usuario (rutina de biblioteca) a Modo Núcleo (privilegiado).<br />Aquí se realiza en sí el proceso, gracias a la interrupción del microprocesador (trap).<br />Se contacta con el hardware.<br />Se ejecuta la rutina de servicio respectiva.<br />
  7. 7. servicios del S.O.<br />Sistemas Operativos I<br />7<br />prestaciones de un S.O.<br />Los sistemas operativos ofrecen sus servicios a los usuarios de dos formas diferentes:<br />Las llamadas al S.O. desde un proceso.<br />La ejecución de programas del propio sistema.<br />
  8. 8. interrupciones de software<br />Sistemas Operativos I<br />8<br />llamadas al S.O.<br />Constituyen la interfaz entre un programa en ejecución y el S.O. y se pueden agrupar en:<br />Gestión de:<br />Procesos.<br />Operaciones entrada/salida.<br />Del sistema de archivos.<br />Protección.<br />Las llamadas al sistema son similares a las llamadas a un subprograma.<br />Esto desde el punto de vista del programa que llama.<br />Las llamadas al sistema funcionan como interrupciones del software.<br />Se administran igual que las interrupciones del hardware, pero las provoca el procesador.<br />Algunas instrucciones de máquina que provocan interrupción software son:<br />INT (Intel).<br />TRAP (Motorola) – Está en todos los S.O.<br />SYSCALL (MIPS).<br />
  9. 9. tabla de servicios<br />Sistemas Operativos I<br />9<br />llamadas al S.O.<br />Llamada<br />al S.O.<br />Proceso A<br />Proceso B<br />Proceso C<br />Servicio<br />Nro.<br />Dirección<br />Interrupción<br />Fin de la llamada<br />Tabla de servicios<br />Nº<br /> Servicios<br />Servicio del S.O.<br />Ejecuta rutina<br />del S.O.<br />Despacho<br />
  10. 10. administrados por el núcleo<br />Sistemas Operativos I<br />10<br />programas del sistema<br />Intérprete de comandos<br />Soporte a <br />leguajes de<br />programación<br />Información <br />de estado<br />Núcleo<br />Editores<br />Cargadores y<br />editores de<br />enlace<br />Manipulación<br />de archivos<br />Usuario<br />Programas<br />de<br />aplicación<br />
  11. 11. Existe un conjunto de programas del sistema o de utilidad cuya función es resolver problemas comunes en una forma cómoda y sencilla.<br />Sistemas Operativos I<br />11<br />programas del sistema<br />Editores.<br />Facilitan edición de archivos.<br />Manipulación de archivos. <br />Crean, copian borran, ordenan, etc, uno o varios archivos.<br />Cargadores y Editores de enlace. <br />Programas para construcción, depuración y carga de programas ejecutables.<br />Información. <br />Informan estado del sistema, memoria discos, etc.<br />Soporte a los lenguajes de programación. <br />Programas para gestión Base de Datos, comunicaciones, etc.<br />Intérprete de comandos. <br />Es el más importante ya que es el que crea el entorno de trabajo a los usuarios.<br />
  12. 12. Sistemas Operativos I<br />12<br />servicios del sistema<br />Para el programador del sistema todos los recursos físicos deben ser convertidos en entidades lógicas para ofrecérselas a los usuarios. <br />El S.O. es un programa activado por eventos, si no hay programas en ejecución ni operaciones de entrada/salida pendientes, el sistema estará inactivo.<br />Normalmente cada evento producirá una interrupción de la ejecución del S.O. y se pueden agrupar en:<br />Llamadas al sistema.<br />Interrupciones de los dispositivos de Entrada/Salida.<br />Gestión de excepciones.<br />
  13. 13. Sistemas Operativos I<br />13<br />llamadas al S.O.<br />Terminación normal.<br />Terminación anormal.<br />Peticiones de estado.<br />Peticiones de recursos.<br />Peticiones de Entrada/Salida.<br />
  14. 14. interrupciones enmascarables y no enmascarables<br />Sistemas Operativos I<br />14<br />interrupciones de entrada/salida<br />El proceso queda en espera hasta que se termine la operación entrada/salida.<br />El procesador seguirá realizando otras operaciones.<br />
  15. 15. interrupciones enmascarables y no enmascarables<br />Sistemas Operativos I<br />15<br />gestión de interrupciones de hardware<br />Una interrupción es un suceso externo al procesador que cambia el flujo normal de ejecución del mismo.<br />Es un evento asíncrono.<br />Los dispositivos de E/S y el procesador operan concurrentemente.<br />
  16. 16. excepciones, faltas y abortos<br />Sistemas Operativos I<br />16<br />gestión de excepciones<br />Es una interrupción de software, es un evento síncrono.<br />Cuando un programa en ejecución comete un error, se producirá una interrupción.<br />La diferencia básica con las interrupciones es que las excepciones se tratan en modo usuario.<br />El tratamiento de estos errores se conoce como manejo de excepciones.<br />Ejemplo: Fallo de página y división por cero.<br />
  17. 17. E/S – memoria - procesador<br />Sistemas Operativos I<br />17<br />protecciones<br />Las aplicaciones de usuarios no están libres de errores.<br />El S.O. debe incluir funciones de protección con el objeto de evitar problemas entre procesos y entre estos y el S.O.<br />Protección:<br />De la Entrada/Salida.<br />Los dispositivos cuentan con drivers que entre otras cosas protegen accesos incorrectos, devolviendo al núcleo del S.O. el control.<br />De la memoria.<br />Para evitar la asignación de memoria de zonas ya asignadas al sistema u otros procesos existen registros de frontera que indican el límite de memoria asignado a cada proceso.<br />Del procesador.<br />Se pueden presentar bucles infinitos o accesos al procesador que no lo liberan nunca. <br />Una solución es utilizar temporizadores y otra es apagar/reiniciar la máquina.<br />
  18. 18. núcleo: administrador<br />Sistemas Operativos I<br />18<br />núcleo del S.O.<br />Otros niveles<br />Kernel o Núcleo<br />Hardware<br />Corresponde al primer nivel jerárquico del S.O. <br />Suele permanecer en el almacenamiento primario o memoria principal, ya que su código se ejecuta frecuentemente.<br />Conjunto de rutinas cuya misión es la de administrar en forma eficiente los recursos, así como también los procesos.<br />
  19. 19. características generales<br />Sistemas Operativos I<br />19<br />núcleo del S.O.<br />Servicios a capas superiores<br />Núcleo<br />Objetivos <br />del sistema<br />Decisiones <br />del diseño<br />Dispositivos hardware<br />Es la parte más dependiente del hardware del S.O.<br />Con dispositivos con cableado.<br />Ó en Assembler.<br />Elimina funciones del monitor y las tareas pasan a ser procesos del sistema.<br />Los procesos son interrumpibles .<br />Todas las interrupciones son manejadas por un núcleo mínimo transparente a los procesos.<br />
  20. 20. funciones<br />Sistemas Operativos I<br />20<br />núcleo del S.O.<br />Funciones básicas:<br />Proporcionar estado adecuado para existencia de procesos.<br />Manejo de interrupciones.<br />Conmutación del procesador entre procesos.<br />Mecanismos básicos de comunicación entre procesos.<br />Carga inicial y activación de la configuración del sistema.<br />
  21. 21. categorías<br />Sistemas Operativos I<br />21<br />núcleo del S.O.<br />Monolíticos:<br />Generalmente divididos en dos:<br />Dependientes del hardware: <br />Manejo de las IRQ, memoria, dispositivos E/S.<br />Independientes del hardware:<br />Se encarga de las llamadas al sistema, manejo de archivos y planificación de procesos.<br />MicroKernel (Micronúcleo):<br />Tiene solamente manejo de:<br />Procesos y threads.<br />Memoria.<br />Comunicaciones.<br />Operaciones bajo nivel E/S. <br />El resto de los servicios, como manejo de archivos:<br />Utilizan al núcleo por medio de las comunicaciones.<br />

×