• Save
Cap3
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,591
On Slideshare
2,510
From Embeds
81
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
1
Likes
2

Embeds 81

http://sinapsis2.sinapsisbolivia.org 75
http://www.slideshare.net 6

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Capítulo 3
    Funcionamiento de los Sistemas Informáticos
    1
    Sistemas Operativos I
  • 2. organización computacional
    arquitectura
    2
    Sistemas Operativos I
    Arquitectura de computadoras ú organización computacional:
    Forma en la que están dispuestos e interrelacionados los elementos de hardware del sistema informático.
  • 3. Sistemas Operativos I
    3
    niveles del sistema operativo
  • 4. Windows
    Sistemas Operativos I
    4
    API de Windows
    La Interfaz de Programación de Aplicaciones, cuyo acrónimo en inglés es API (ApplicationProgramming Interface):
    Es un conjunto de funciones residentes en bibliotecas (generalmente dinámicas) que permiten que una aplicación corra bajo el sistema operativo Windows.
    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:
    La versión específica del sistema operativo (para Windows 98, por ejemplo).
    Explicitando la versión del conjunto de librerías (Plataforma Win32, etc.).
  • 5. Windows
    Sistemas Operativos I
    5
    funciones API
  • 6. Windows
    Sistemas Operativos I
    6
    versiones de API
    La primera versión de API fue de 16 bits, y llamada Win16.
    Sólo se utilizaba en las versiones de 16 bits de Windows.
    En su nueva versión 32 bits, se incrementó el número de APIs disponibles para los sistemas operativos Microsoft Windows.
    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.
    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:
    kernel32.dll
    user32.dll
    gdi32.dll
    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.
    La extensión 64 bits de la versión 32 bits se llama Win64.
    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.
  • 7. Sistemas Operativos I
    7
    compiladores
    Para desarrollar programas que funcionen en Windows se necesita:
    Un compilador que maneje las DLLs y objetos COM específicos de Microsoft.
    También un cierto número de archivos de cabecera de C (headerfiles,.h) que definen las interfaces de las DLL.
    Generalmente se usan las familias de compiladores:
    Visual Studio.
    Borland.
    Otras herramientas libres como MinGW y Cygwin.
  • 8. hardware
    Sistemas Operativos I
    8
    arranque de la computadora
  • 9. paso al software
    Sistemas Operativos I
    9
    arranque de la computadora
    El Reset carga valores predefinidos en registros.
    CP ← dirección de arranque del cargador ROM.
    Se ejecuta el cargador ROM del sistema:
    Test del sistema.
    Trae a memoria el boot del S.O.
    En el caso de una PC la ROM contiene, además, software de E/S (BIOS).
  • 10. software
    Sistemas Operativos I
    10
    arranque de la computadora
    El S.O. está almacenado en disco.
    El cargador ROM carga el sector de boot del S.O. y le da control.
    El boot del S.O. carga el S.O. residente y da control al programa de arranque del S.O. que:
    Comprueba el hardware
    Comprueba el sistema de ficheros
    Establece las tablas del S.O.
    Crea procesos (según el tipo de S.O.)
    Proceso INIT
    Procesos o tareas del sistema (demonios)
    Procesos de login (uno por terminal)
    Tras la autenticación, el proceso login se convierte en shell
  • 11. hardware en funcionamiento
    arquitectura de hardware
    Los dispositivos de E/S y la CPU pueden trabajar simultáneamente.
    Cada controlador de dispositivo se encarga de un tipo de dispositivo.
    Cada controlador tiene un buffer local y un conjunto de registros de propósito especial.
    Programación del dispositivo
    La CPU copia datos desde la memoria principal al buffer local del controlador y viceversa.
    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).
    Si se utilizan interrupciones, el controlador del dispositivo informa a la CPU de que ha finalizado la operación generando una interrupción.
    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.
    El DMA controla el flujo de bits entre la memoria y el controlador del dispositivo sin intervención de la CPU.
    Cuando la operación finaliza, el DMA genera una interrupción.
    11
    Sistemas Operativos I
  • 12. interrupciones
    Funciones comunes a los mecanismos de interrupción:
    Transferencia de control al manejador de interrupción.
    Salvar la dirección de la instrucción interrumpida.
    Inhabilitar la llegada de nuevas interrupciones.
    Otras consideraciones:
    Trap: interrupción causada por un error o por una petición de usuario.
    Un sistema operativo es un programa dirigido por interrupciones.
    12
    Sistemas Operativos I
  • 13. vectores de interrupción
    Sistemas Operativos I
    13
    interrupciones
    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.
    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.
    Normalmente, mientras se está procesando una interrupción, el sistema operativo mantiene inhabilitadas el resto de interrupciones.
    Los sistemas operativos modernos son programas dirigidos por eventos
    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.
    Los eventos se señalan mediante interrupciones (hardware o traps).
    Vector de interrupción: primeras posiciones de la RAM. Contiene las direcciones de los manejadores de interrupción para cada dispositivo.
  • 14. operación en modo dual
    La ejecución simultánea de distintos procesos conlleva la compartición de los recursos hardware de la computadora entre dichos procesos.
    Esta compartición obliga al sistema operativo a conseguir que un programa incorrecto (o malicioso) no provoque la ejecución incorrecta de otros programas.
    Para conseguir este objetivo, el sistema operativo utiliza los modos de ejecución del procesador.
    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.
    14
    Sistemas Operativos I
  • 15. protección de hardware
    Sistemas Operativos I
    15
    operación en modo dual
    Para conseguir la protección hardware necesaria por el sistema operativo, el procesador debe proporcionar al menos dos modos de ejecución:
    Modo usuario: En este modo se ejecutan las instrucciones de los procesos de usuario. Sólo un subconjunto restringido de instrucciones están disponibles.
    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)
    Normalmente, en el procesador existe un bit que indica en qué modo se encuentra actualmente: supervisor (0) / usuario (1).
    ¿Cómo se conmuta de un modo a otro?
    De modo usuario a supervisor: lo realiza el hardware cuando se recibe una interrupción. Así, el sistema operativo se ejecuta en modo supervisor.
    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.
  • 16. disponibles en modo supervisor
    instrucciones privilegiadas
    Las instrucciones disponibles en modo supervisor (no están en modo usuario) se denominan instrucciones privilegiadas.
    Están asociadas a tres tipos de protección:
    Protección de E/S : Todas las instrucciones de E/S son privilegiadas.
    Se debe asegurar que un programa de usuario nunca pueda obtener el control del computador en modo supervisor.
    Por ejemplo, se debe impedir que un programa pueda cambiar durante su ejecución una dirección en el vector de interrupciones.
    Esto implica que: Se debe proporcionar protección de memoria para al menos el vector de interrupciones y los manejadores de interrupción.
    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.
    El hardware requerido para protección de memoria.
    Protección del CPU:
    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).
    Para ello, el sistema operativo se sirve de un temporizador (timer) hardware, el cual es una instrucción privilegiada.
    Cuando transcurre el tiempo que ha especificado el sistema operativo, el temporizador interrumpe al CPU, dando al sistema la oportunidad de ejecutarse.
    Así se asegura que el sistema mantiene el control.
    Además, los temporizadores son utilizados por el sistema para :
    Implementar los sistemas de tiempo compartido.
    Registrar la hora en curso.
    16
    Sistemas Operativos I
  • 17. llamada al sistema:
    método para solicitar servicios al sistema operativo
    arquitectura general de los sistemas
    Dado que las instrucciones de E/S son privilegiadas, ¿cómo realizan los procesos de usuario operaciones de E/S?
    Llamada al sistema :
    Es el método utilizado por un proceso de usuario para solicitar servicios al sistema operativo.
    Habitualmente toma la forma de una excepción (trap) a una posición específica del vector de interrupciones.
    17
    Sistemas Operativos I
    El control pasa a través del vector de interrupciones a la rutina de servicio en el SO, y se pasa a modo supervisor.
    La rutina de servicio de llamadas al sistema forma parte del sistema operativo. Identifica y verifica la llamada al sistema y sus argumentos.
    Invoca al procedimiento servidor correspondiente para ejecutar la petición.
    Finalmente se devuelve el control al proceso de usuario en la instrucción siguiente a la llamada al sistema.
  • 18. interrupciones
    S.O. programa dirigido por interrupciones
    18
    Sistemas Operativos I
    Anotar el avance del tiempo
    Pasar a preparado al proceso que esperaba el fin de la E/S
    Finalizar el proceso en ejecución
    Pasar a suspendido al proceso en ejecución
    Crear hijo a hijo preparado
    Resolver la llamada al sistema
    Si tiempo límite excedido: proceso en ejecución a preparado
    Planificador:
    Selección del próximo proceso