Capítulo 3<br />Funcionamiento de los Sistemas Informáticos<br />1<br />Sistemas Operativos I<br />
organización computacional<br />arquitectura<br />2<br />Sistemas Operativos I<br />Arquitectura de computadoras ú organiz...
Sistemas Operativos I<br />3<br />niveles del sistema operativo<br />
Windows<br />Sistemas Operativos I<br />4<br />API de Windows<br />La Interfaz de Programación de Aplicaciones, cuyo acrón...
Windows<br />Sistemas Operativos I<br />5<br />funciones API <br />
Windows<br />Sistemas Operativos I<br />6<br />versiones de API<br />La primera versión de API fue de 16 bits, y llamada W...
Sistemas Operativos I<br />7<br />compiladores<br />Para desarrollar programas que funcionen en Windows se necesita:<br />...
hardware<br />Sistemas Operativos I<br />8<br />arranque de la computadora<br />
paso al software<br />Sistemas Operativos I<br />9<br />arranque de la computadora<br />El Reset carga valores predefinido...
software<br />Sistemas Operativos I<br />10<br />arranque de la computadora<br />El S.O. está almacenado en disco.<br />El...
hardware en funcionamiento<br />arquitectura de hardware<br />Los dispositivos de E/S y la CPU pueden trabajar simultáneam...
interrupciones<br />Funciones comunes a los mecanismos de interrupción:<br />Transferencia de control al manejador de inte...
vectores de interrupción<br />Sistemas Operativos I<br />13<br />interrupciones<br />Cuando ocurre una interrupción, el ha...
operación en modo dual<br />La ejecución simultánea de distintos procesos conlleva la compartición de los recursos hardwar...
protección de hardware<br />Sistemas Operativos I<br />15<br />operación en modo dual<br />Para conseguir la protección ha...
disponibles en modo supervisor<br />instrucciones privilegiadas<br />Las instrucciones disponibles en modo supervisor (no ...
llamada al sistema:<br />método para solicitar servicios al sistema operativo<br />arquitectura general de los sistemas<br...
interrupciones<br />S.O. programa dirigido por interrupciones<br />18<br />Sistemas Operativos I<br />Anotar el avance del...
Upcoming SlideShare
Loading in …5
×

Cap3

2,022
-1

Published on

Published in: Education
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,022
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Cap3

  1. 1. Capítulo 3<br />Funcionamiento de los Sistemas Informáticos<br />1<br />Sistemas Operativos I<br />
  2. 2. organización computacional<br />arquitectura<br />2<br />Sistemas Operativos I<br />Arquitectura de computadoras ú organización computacional:<br />Forma en la que están dispuestos e interrelacionados los elementos de hardware del sistema informático.<br />
  3. 3. Sistemas Operativos I<br />3<br />niveles del sistema operativo<br />
  4. 4. Windows<br />Sistemas Operativos I<br />4<br />API de Windows<br />La Interfaz de Programación de Aplicaciones, cuyo acrónimo en inglés es API (ApplicationProgramming Interface):<br />Es un conjunto de funciones residentes en bibliotecas (generalmente dinámicas) que permiten que una aplicación corra bajo el sistema operativo Windows.<br />Debido a su estrecha relación con el desarrollo de software, los programas en sus especificaciones generalmente explicitan la versión de la API del sistema operativo, mediante diversas nomenclaturas tales como:<br />La versión específica del sistema operativo (para Windows 98, por ejemplo).<br />Explicitando la versión del conjunto de librerías (Plataforma Win32, etc.).<br />
  5. 5. Windows<br />Sistemas Operativos I<br />5<br />funciones API <br />
  6. 6. Windows<br />Sistemas Operativos I<br />6<br />versiones de API<br />La primera versión de API fue de 16 bits, y llamada Win16.<br />Sólo se utilizaba en las versiones de 16 bits de Windows.<br />En su nueva versión 32 bits, se incrementó el número de APIs disponibles para los sistemas operativos Microsoft Windows. <br />Microsoft proporciona un SDK (kit de desarrollo de aplicaciones) en el que se incluyen la documentación y las herramientas necesarias para que los programadores puedan crear sus aplicaciones y aprovechar los recursos del sistema.<br />Las versiones modernas de Windows utilizan la API de 32 bits llamada Win32. Está compuesta por funciones en C almacenadas en librerías de enlace dinámico (DLL), especialmente en las del núcleo:<br />kernel32.dll<br />user32.dll<br />gdi32.dll<br />Aunque la implementación de Microsoft tiene derechos de autor, generalmente se acepta que otras empresas puedan emular Windows proporcionando APIs idénticas, sin que implique violación de derechos de autor.<br />La extensión 64 bits de la versión 32 bits se llama Win64.<br />La siguiente versión es WinFX, que está basada en nuevas tecnologías que se están probando en la versión de Windows Vista. <br />
  7. 7. Sistemas Operativos I<br />7<br />compiladores<br />Para desarrollar programas que funcionen en Windows se necesita:<br />Un compilador que maneje las DLLs y objetos COM específicos de Microsoft.<br />También un cierto número de archivos de cabecera de C (headerfiles,.h) que definen las interfaces de las DLL. <br />Generalmente se usan las familias de compiladores:<br />Visual Studio.<br />Borland.<br />Otras herramientas libres como MinGW y Cygwin.<br />
  8. 8. hardware<br />Sistemas Operativos I<br />8<br />arranque de la computadora<br />
  9. 9. paso al software<br />Sistemas Operativos I<br />9<br />arranque de la computadora<br />El Reset carga valores predefinidos en registros.<br />CP ← dirección de arranque del cargador ROM.<br />Se ejecuta el cargador ROM del sistema:<br />Test del sistema.<br />Trae a memoria el boot del S.O.<br />En el caso de una PC la ROM contiene, además, software de E/S (BIOS).<br />
  10. 10. software<br />Sistemas Operativos I<br />10<br />arranque de la computadora<br />El S.O. está almacenado en disco.<br />El cargador ROM carga el sector de boot del S.O. y le da control.<br />El boot del S.O. carga el S.O. residente y da control al programa de arranque del S.O. que:<br />Comprueba el hardware<br />Comprueba el sistema de ficheros<br />Establece las tablas del S.O.<br />Crea procesos (según el tipo de S.O.)<br />Proceso INIT<br />Procesos o tareas del sistema (demonios)<br />Procesos de login (uno por terminal)<br />Tras la autenticación, el proceso login se convierte en shell<br />
  11. 11. hardware en funcionamiento<br />arquitectura de hardware<br />Los dispositivos de E/S y la CPU pueden trabajar simultáneamente.<br />Cada controlador de dispositivo se encarga de un tipo de dispositivo.<br />Cada controlador tiene un buffer local y un conjunto de registros de propósito especial.<br />Programación del dispositivo<br />La CPU copia datos desde la memoria principal al buffer local del controlador y viceversa.<br />Si se utiliza espera activa (polling), la CPU está continuamente comprobando si la operación ha finalizado (leyendo el contenido de algún registro del controlador que indique si el dispositivo está ocupado).<br />Si se utilizan interrupciones, el controlador del dispositivo informa a la CPU de que ha finalizado la operación generando una interrupción. <br />Cuando se dispone de un chip de acceso directo a memoria (DMA), la CPU lo programa con la dirección de memoria (origen/destino) y el tamaño de los datos a transferir (entre otros), y le indica que comience la operación. <br />El DMA controla el flujo de bits entre la memoria y el controlador del dispositivo sin intervención de la CPU. <br />Cuando la operación finaliza, el DMA genera una interrupción.<br />11<br />Sistemas Operativos I<br />
  12. 12. interrupciones<br />Funciones comunes a los mecanismos de interrupción:<br />Transferencia de control al manejador de interrupción.<br />Salvar la dirección de la instrucción interrumpida.<br />Inhabilitar la llegada de nuevas interrupciones.<br />Otras consideraciones:<br />Trap: interrupción causada por un error o por una petición de usuario.<br />Un sistema operativo es un programa dirigido por interrupciones.<br />12<br />Sistemas Operativos I<br />
  13. 13. vectores de interrupción<br />Sistemas Operativos I<br />13<br />interrupciones<br />Cuando ocurre una interrupción, el hardware transfiere el control al manejador de interrupción (o rutina de servicio de interrupción, o rutina de tratamiento de la interrupción) asociado, generalmente a través de los vectores de interrupción.<br />El hardware debe salvar la dirección de la instrucción interrumpida, para poder continuar con su ejecución una vez finalizado el procesado de la interrupción.<br />Normalmente, mientras se está procesando una interrupción, el sistema operativo mantiene inhabilitadas el resto de interrupciones.<br />Los sistemas operativos modernos son programas dirigidos por eventos<br />Si no hay procesos que ejecutar, ni dispositivos de E/S que atender, ni usuarios a los que responder, el sistema operativo permanecerá parado a la espera de que ocurra algún evento.<br />Los eventos se señalan mediante interrupciones (hardware o traps). <br />Vector de interrupción: primeras posiciones de la RAM. Contiene las direcciones de los manejadores de interrupción para cada dispositivo. <br />
  14. 14. operación en modo dual<br />La ejecución simultánea de distintos procesos conlleva la compartición de los recursos hardware de la computadora entre dichos procesos.<br />Esta compartición obliga al sistema operativo a conseguir que un programa incorrecto (o malicioso) no provoque la ejecución incorrecta de otros programas.<br />Para conseguir este objetivo, el sistema operativo utiliza los modos de ejecución del procesador. <br />Los procesadores modernos proporcionan la posibilidad de funcionar en distintos modos, donde en cada modo se define un subconjunto válido de instrucciones que se permiten ejecutar.<br />14<br />Sistemas Operativos I<br />
  15. 15. protección de hardware<br />Sistemas Operativos I<br />15<br />operación en modo dual<br />Para conseguir la protección hardware necesaria por el sistema operativo, el procesador debe proporcionar al menos dos modos de ejecución:<br />Modo usuario: En este modo se ejecutan las instrucciones de los procesos de usuario. Sólo un subconjunto restringido de instrucciones están disponibles.<br />Modo supervisor (privilegiado, kernel, monitor o sistema): En este modo se ejecutan las instrucciones del sistema operativo. El conjunto completo de las instrucciones del procesador está disponible (no hay restricciones)<br />Normalmente, en el procesador existe un bit que indica en qué modo se encuentra actualmente: supervisor (0) / usuario (1).<br />¿Cómo se conmuta de un modo a otro?<br />De modo usuario a supervisor: lo realiza el hardware cuando se recibe una interrupción. Así, el sistema operativo se ejecuta en modo supervisor.<br />De modo supervisor a usuario: lo realiza el SO / hardware, justo antes de volver del tratamiento de la interrupción al proceso interrumpido. Así, el proceso de usuario sigue su ejecución en modo usuario.<br />
  16. 16. disponibles en modo supervisor<br />instrucciones privilegiadas<br />Las instrucciones disponibles en modo supervisor (no están en modo usuario) se denominan instrucciones privilegiadas.<br />Están asociadas a tres tipos de protección:<br />Protección de E/S : Todas las instrucciones de E/S son privilegiadas. <br />Se debe asegurar que un programa de usuario nunca pueda obtener el control del computador en modo supervisor.<br />Por ejemplo, se debe impedir que un programa pueda cambiar durante su ejecución una dirección en el vector de interrupciones. <br />Esto implica que: Se debe proporcionar protección de memoria para al menos el vector de interrupciones y los manejadores de interrupción. <br />En general, se requiere proteger la memoria del sistema operativo del acceso por parte de los programas de usuario, y proteger la memoria de cada proceso del acceso de los demás programas de usuario.<br />El hardware requerido para protección de memoria.<br />Protección del CPU: <br />Hay que evitar que un proceso de usuario se apropie del CPU (si nunca hace E/S, puede no dejar ejecutarse a nadie más durante mucho tiempo). <br />Para ello, el sistema operativo se sirve de un temporizador (timer) hardware, el cual es una instrucción privilegiada. <br />Cuando transcurre el tiempo que ha especificado el sistema operativo, el temporizador interrumpe al CPU, dando al sistema la oportunidad de ejecutarse. <br />Así se asegura que el sistema mantiene el control. <br />Además, los temporizadores son utilizados por el sistema para :<br />Implementar los sistemas de tiempo compartido. <br />Registrar la hora en curso.<br />16<br />Sistemas Operativos I<br />
  17. 17. llamada al sistema:<br />método para solicitar servicios al sistema operativo<br />arquitectura general de los sistemas<br />Dado que las instrucciones de E/S son privilegiadas, ¿cómo realizan los procesos de usuario operaciones de E/S?<br />Llamada al sistema :<br />Es el método utilizado por un proceso de usuario para solicitar servicios al sistema operativo.<br />Habitualmente toma la forma de una excepción (trap) a una posición específica del vector de interrupciones.<br />17<br />Sistemas Operativos I<br />El control pasa a través del vector de interrupciones a la rutina de servicio en el SO, y se pasa a modo supervisor.<br />La rutina de servicio de llamadas al sistema forma parte del sistema operativo. Identifica y verifica la llamada al sistema y sus argumentos.<br />Invoca al procedimiento servidor correspondiente para ejecutar la petición.<br />Finalmente se devuelve el control al proceso de usuario en la instrucción siguiente a la llamada al sistema.<br />
  18. 18. interrupciones<br />S.O. programa dirigido por interrupciones<br />18<br />Sistemas Operativos I<br />Anotar el avance del tiempo<br />Pasar a preparado al proceso que esperaba el fin de la E/S<br />Finalizar el proceso en ejecución<br />Pasar a suspendido al proceso en ejecución<br />Crear hijo a hijo preparado<br />Resolver la llamada al sistema<br />Si tiempo límite excedido: proceso en ejecución a preparado<br />Planificador:<br />Selección del próximo proceso<br />

×