Volver al temario
Tema 01 · 26 páginas

Introducción a los sistemas operativos

Tema completo Modo estudio
TEXTO ORIGINAL · Páginas 2020 Ver PDF

3.1. Las llamadas al sistema

Texto íntegro de la conversión. Las figuras y la disposición de las notas se pueden consultar en el PDF.

3.1. Las llamadas al sistema

Las llamadas al sistema (system calls) ofrecen las funciones básicas para poder utilizar todos los recursos del sistema de manera correcta y controlada.

Desde el punto de vista del programador, una llamada al sistema no es más que una rutina con una serie de parámetros de entrada, una serie de parámetros de salida y una semántica asociada. Cada sistema operativo ofrece un repertorio de llamadas al sistema (como referencia, la versión 2.6.32 del sistema operativo Linux ofrece 337 llamadas al sistema). Este repertorio de llamadas al sistema constituye la API (application programming interface) del sistema operativo.

Los diseñadores de cada sistema operativo han decidido qué repertorio de llamadas al sistema ofrecen y qué semántica asocian. Comparando el repertorio de llamadas al sistema de diferentes sistemas operativos, podemos encontrar semejanzas y diferencias significativas.

Tanto el UNIX como el Win32 ofrecen una llamada al sistema para leer datos de un canal de E/S. En el caso del UNIX, la interfaz es ssize_t read(int fd, void *buf, size_t count); en el caso del Win32, la interfaz es BOOL ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped).

En cambio, la llamada al sistema UNIX que permite crear un proceso tiene la interfaz pid_t fork(void); mientras que el equivalente Win32 tiene la interfaz BOOL CreateProcess(LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LP- VOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation).

Notas y pies de figura de la fuente

Ved también En la figura 1 del apartado 1, las llamadas al sistema corresponderían a los diversos puntos de entrada a la caja del sistema operativo.

Ver fragmento extraído sin normalizar
3.1.  Las llamadas al sistema



                                                                                                           Ved también
    Las llamadas al sistema (system calls) ofrecen las funciones básicas para
    poder utilizar todos los recursos del sistema de manera correcta y con-                                  En la figura 1 del apartado 1,
                                                                                                             las llamadas al sistema corres-
    trolada.                                                                                                 ponderían a los diversos pun-
                                                                                                             tos de entrada a la caja del sis-
                                                                                                             tema operativo.

Desde el punto de vista del programador, una llamada al sistema no es más que
una rutina con una serie de parámetros de entrada, una serie de parámetros de
salida y una semántica asociada. Cada sistema operativo ofrece un repertorio
de llamadas al sistema (como referencia, la versión 2.6.32 del sistema operativo
Linux ofrece 337 llamadas al sistema). Este repertorio de llamadas al sistema
constituye la API (application programming interface) del sistema operativo.


Los diseñadores de cada sistema operativo han decidido qué repertorio de lla-
madas al sistema ofrecen y qué semántica asocian. Comparando el repertorio
de llamadas al sistema de diferentes sistemas operativos, podemos encontrar
semejanzas y diferencias significativas.


    Tanto el UNIX como el Win32 ofrecen una llamada al sistema para leer datos de un canal
    de E/S. En el caso del UNIX, la interfaz es ssize_t read(int fd, void *buf, size_t
    count); en el caso del Win32, la interfaz es BOOL ReadFile(HANDLE hFile, LPVOID
    lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead,
    LPOVERLAPPED lpOverlapped).

    En cambio, la llamada al sistema UNIX que permite crear un proceso tiene la in-
    terfaz  pid_t  fork(void);  mientras  que  el  equivalente  Win32  tiene  la  interfaz
    BOOL CreateProcess(LPCTSTR lpApplicationName, LPTSTR lpCommandLi-
    ne, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES
    lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LP-
    VOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStar-
    tupInfo, LPPROCESS_INFORMATION lpProcessInformation).

Descargar Markdown originalEstudiar este apartado