Monografias.com > Computación > Sistemas Operativos
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a POSIX (Portable Operating System Interface + UniX)




Enviado por Pablo Turmero



Partes: 1, 2


    Monografias.com

    Introducción
    POSIX son un conjunto de normas IEEE/ISO que definen la interfaz entre las aplicaciones y el SSOO
    POSIX: Portable Operating System Interface + UniX
    Su objetivo es conseguir la portabilidad de las aplicaciones a nivel de código fuente
    La aplicación puede desarrollarse en C, Ada, Fortran y otros lenguajes
    Las normas definen los servicios que cada sistema operativo particular puede incluirlos o no
    La denominación oficial es IEEE Std. 1003, e ISO/IEC-9945

    Monografias.com

    POSIX: estándares base (C)
    POSIX 1, 1a Unix básico sin tiempo real
    POSIX 1b, 1d, 1i, 1j Extensiones de tiempo real
    POSIX 1c Extensiones de threads
    POSIX 1e Seguridad
    POSIX 1f Network File System
    POSIX 1g Servicios de red (sockets)
    POSIX 1h Tolerancia a fallos
    POSIX 21 Comunicaciones de TR

    Monografias.com

    POSIX: interfaz otros lenguajes
    POSIX 5, 5a, 5b Interfaces con Ada
    POSIX 9 Interfaces con Fortran 77

    Monografias.com

    POSIX: perfiles de entornos
    POSIX 10 Supercomputadores
    POSIX 13 Tiempo real
    POSIX 14 Multiprocesadores
    POSIX 18 Estación de trabajo POSIX

    Monografias.com

    POSIX de tiempo real ¿para qué?
    Existe gran diversidad de sistemas de TR:
    Núcleos de TR (LynxOS, VxWorks, QNX, etc.)
    Ejecutivos Ada
    En sistemas grandes: VMS y otros
    Era necesario definir un estándar que asegurase la portabilidad de aplicaciones a nivel de código fuente entre diferentes entornos de tiempo real

    Monografias.com

    Perfiles de entornos de aplicación
    PSE50: sistema de tiempo real mínimo
    Sólo procesos ligeros, sin gestión de memoria ni archivos ni terminal
    PSE51: controlador de tiempo real
    Añade el terminal y sistema de archivos
    PSE52: sistema de tiempo real dedicado
    Soporta procesos pesados y gestión de memoria
    PSE53: sistema de tiempo real generalizado
    Sistema completo con todos los servicios

    Monografias.com

    Características de los perfiles
    Perfil
    Sistema de archivos
    Múltiples procesos
    Threads
    Sistema mínimo
    Sistema multipropósito
    Controlador
    Sistema dedicado
    NO
    NO




    NO
    NO



    Monografias.com

    POSIX: Unix básico
    POSIX 1 define los servicios ofrecidos por Unix:
    Gestión de procesos:
    Creación y destrucción
    Sincronización
    Temporización
    Gestión de archivos
    Creación y borrado de archivos y directorios
    Trabajo con archivos especiales
    Protección de la información
    Entrada-salida y control

    Monografias.com

    POSIX: Extensiones de TR
    Para obtener determinismo en el comportamiento
    Planificación
    Gestión de memoria
    Señales
    Relojes y temporizadores
    Para facilitar la concurrencia
    Sincronización
    Memoria compartida
    Colas de mensajes
    Entrada-salida síncrona y asíncrona

    Monografias.com

    POSIX: Extensiones de threads
    POSIX 1c incorpora funciones para trabajar con hilos. Incluye:
    Gestión de hilos
    Sincronización de hilos
    Planificación de hilos
    Creación y destrucción de hilos
    Añade reentrada a algunas funciones de POSIX1
    POSIX 1c puede hacer uso de funciones incluidas en POSIX 1 y POSIX 1b

    Monografias.com

    Definiciones
    Programa
    Archivo ejecutable residente en un dispositivo de almacenamiento permanente
    Se ejecuta por medio de la llamada exec()
    Proceso
    Es un programa en ejecución
    Los procesos se crean con la llamada fork()
    Servicios del sistema operativo
    Invocados por medio de funciones
    POSIX no diferencia entre llamadas al sistema y procedimientos de biblioteca

    Monografias.com

    Estructura de un proceso en C
    Núcleo
    Proceso de usuario
    Funciones
    main()
    Rutina de inicio
    exec()
    Llamada al sistema
    exit()
    _exit()

    Monografias.com

    Ejemplo
    /**************************************
    * Programa que imprime todos los *
    * argumentos de línea de órdenes *
    **************************************/
    int main (int argc, char *argv[])
    {
    int i;
    for (i=0; i
    Monografias.com

    Características de un proceso
    Cada proceso se caracteriza por una estructura de datos conocida como tabla de control de tarea que contiene:
    Identificador de proceso o PID
    Identificador de proceso padre o PPID
    Identificador de usuario o UID
    Identificador de grupo o GID
    Puntero a la memoria asignada
    Puntero a los recursos
    Cada proceso dispone de un espacio de direccionamiento virtual independiente

    Monografias.com

    Creación de procesos: fork()
    La llamada fork() crea una copia (hijo) del proceso que la invoca
    El hijo hereda del padre:
    Estado
    Semáforos
    Objetos de memoria
    Política de planificación, etc.
    El hijo no hereda:
    El PID
    Alarmas y temporizadores
    Operaciones de E/S asíncronas

    Monografias.com

    Interfaz de fork()
    Definida en:
    #include
    pid_t fork(void);
    Valores de retorno:
    Al padre: el PID del hijo
    Al hijo: cero
    En caso de error: devuelve -1 y la variable errno contiene el valor asociado al error

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter