llamadas al sistema

Llamadas al sistema

Es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.

Las llamadas al sistema comúnmente usan una instrucción especial de la CPU que causa que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.

Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de Proceso), para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU.


  • Tipos de llamadas al sistemas
    • Control de procesos
      • Terminar (end), abortar (abort)
      • cargar (load), ejecutar (execute)
      • crear procesos (create process o submit job), terminar procesos (terminate process)
      • fork: inicia un nuevo proceso
      • exec:el programa se ejecuta
      • obtener atributos del proceso (get process attributes), definir atributos del proceso (set process attributes)
      • esperar para obtener tiempo (wait time)
      • esperar suceso (wait event), señalizar suceso (signal event)
      • asignar y liberar memoria.
      • llamada al sistema para liberar memoria (dump) (i45)
    • Administración de archivos
      • crear archivos (create), borrar archivos (delete)
      • abrir (open), cerrar (close)
      • leer (read), escribir (write), reposicionar (reposition)
      • obtener atributos del archivo, definir atributos del archivo.
      • move: mover archivos
      • copy: copiar archivos
    • Adminsitración de dispositivos
      • solicitar dispositivo (request), liberar dispositivo (release)
      • leer (read), escribir (write), reposicionar (reposition)
      • obtener atributos de dispositivo, definir atributos de dispositivo
      • conectar y desconectar dispositivos lógicamente.
    • Mantenimiento de la información
      • obtener la hora (time) o la fecha (date), definir la hora o la fecha
      • obtener datos del sistema, establecer datos del sistema
      • obtener los atributos de procesos, archivos o dispositivos
      • establer los atributos de procesos, archivos o dispositivos
    • Comunicaciones
      • crear, eliminar conexiones de comunicación
      • enviar, recibir mensajes
      • transferir información de estado
      • conectar y desconectar dispositivos remotos. (i43)

  • Llamadas al sistema

    • Abrir archivo
    • Crear archivo
    • Proteger archivo
    • Escribir mensaje en consola
    • Terminar en forma anormal
    • Borrar archivo
    • Leer archivo
    • Modificar archivo (i39)
    • CreateProcess de win32
    • get hostid: Cada computadora de red tiene un nombre de host. Un host tiene un identificador de red. Ésta llamada al sistema hace esa traducción (i49)
    • get processid: Cada proceso tiene un nombre de proceso y este nombre se traduce en un identificador mediante el cual el so hace referencia al proceso. Ésta llamada al sistema realiza la traducción

    Comentarios

    Entradas populares