¿Que es POSIX?
POSIX significa Portable Operating System Interface (for Unix). Es un estándar orientado a facilitar la creación de aplicaciones aplicaciones confiables y portables. La mayoría de las versiones populares de UNIX ( Linux, Mac OS X) cumplen este estándar en gran medida. La biblioteca para el manejo de hilos en POSIX es pthread.
Intenta estandarizar los interfaces de los SO para permitir que las aplicaciones funcionen en distintas plataformas.
POSIX se compone de distintas normas estándares llamadas “miembros”.
La programación concurrente se puede realizar de dos formas :
- Utilizando un lenguaje diseñado para soportar
concurrencia:
La concurrencia la proporciona el lenguaje
ADA
JAVA
- Utilizando C estándar bajo un sistema UNIX que cumpla
POSIX
La concurrencia la proporciona el SO
Los procesos solicitan servicios al SO (p.e. de E/S) mediante llamadas al sistema.
¿Donde se ocupa?
En la definición de una interfaz entre un proceso y el SO. Son una parte intrínseca del núcleo del SO (Kernel).
Kernel: colección de módulos software que se ejecutan de forma privilegiada (se tiene acceso a todos los recursos de la máquina).
La implementación de las llamadas al sistema se realiza mediante interrupciones software o traps.
Normalmente se proporciona al usuario una interfaz (funciones de biblioteca) que ocultan al usuario el mecanismo interno de las llamadas.
- Tipos de llamadas en UNIX.
- Llamadas al sistema para gestión de procesos y threads.
- Llamadas al sistema para gestión de señales.
- Llamadas al sistema para gestión de memoria.
- Llamadas al sistema para gestión de ficheros y directorios.
- Llamadas al sistema para gestión de E/S.
Ejemplo:
Ejemplo de utilización de llamadas al sistema: Crear un fichero “ejemplo” (si no existe) y escribir la cadena “Esto es un ejemplo”.
- Llamadas involucradas: open, write.
- open: asocia un descriptor de fichero con un fichero o dispositivo lógico.
En caso de crear el fichero es necesario especificar el modo de apertura (permisos)
- Permisos en UNIX
- Cada fichero en UNIX tiene permisos para el propietario del mismo, para el grupo de usuarios del propietario y para el resto.
- Los permisos para cada una de las clases anteriores son: leer (r), escribir (w) y ejecutar (x).
- Cada fichero tiene asociados 9 bits donde cada bit a 1 o a 0 da o quita el permiso correspondiente según el patrón que se muestra a continuación.
No hay comentarios:
Publicar un comentario