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