POSIX es el acronimo de Portable Operating System Interface; la X viene de UNIX como seña de identidad de la API. El término fue sugerido por Richard Stallman en respuesta a la demanda de la IEEE, que buscaba un nombre fácil de recordar.
Es una familia de estándares de llamadas al sistema operativo definidos por el IEEE y especificados formalmente en el IEEE 1003. Persiguen generalizar las interfaces de los sistemas operativos para que una misma aplicación pueda ejecutarse en distintas plataformas. Especifica las interfaces de usuario y software al sistema operativo en 15 documentos diferentes. La línea de comandos estándar y las interfaces de scripting se basaron en Korn Shell.
Las partes:
*POSIX.1, Core Services (implementa las llamadas del ANSI C estándar). Incluye:
*Creación y control de procesos.
*Señales.
*Excepciones de punto flotante.
*Excepciones por violación de segmento.
*Excepciones por instrucción ilegal.
*Errores del bus.
*Temporizadores.
*Operaciones de ficheros y directorios (sobre cualquier fs montado).
*Tuberías (Pipes).
*Biblioteca C (Standard C).
*Instrucciones de entrada/salida y de control de dispositivo (ioctl).
*POSIX.1b, extensiones para tiempo real:
*Planificación (scheduling) con prioridad.
*Señales de tiempo real.
*Temporizadores.
*Semáforos.
*Intercambio de mensajes (message passing).
*Memoria compartida.
*Entrada/salida síncrona y asíncrona.
*Bloqueos de memoria.
*POSIX.1c, extensiones para hilos (threads):
*Creación, control y limpieza de hilos.
*Planificación (scheduling).
*Sincronización.
*Manejo de señales.
*POSIX.2, Shell y Utilidades (IEEE Std 1003.2-1992)
*Intérprete de Comandos
*Programas de Utilidad
*Luego de 1997 el Grupo Austin realizó modificaciones a POSIX. Las especificaciones tienen el
nombre de Single Unix Specification (Especificación Única de Unix)
*POSIX:2001 o IEEE Std 1003.1-2001 equivale a la versión 3 de Single UNIX Specification.
*Las base de definiciones.
*Las interfaces y encabezamientos del sistema.
*Los comandos y utilidades.
Los siguientes Sistemas Operativos son 100% compatibles con uno o varios estándares POSIX.
- A/UX
- AIX
- BSD/OS
- DSPnano
- HP-UX
- INTEGRITY
- IRIX
- LynxOS
- Mac OS X v10.5 en Procesadores Intel.
- MINIX
- MPE/iX
- QNX (IEEE Std. 1003.13-2003 PSE52;
- RTEMS (POSIX 1003.1-2003 Profile 52)
- Solaris
- Unison RTOS
- UnixWare
- velOSity
- VxWorks (IEEE Std. 1003.13-2003 PSE52;
- EJEMPLO:Llamadas al sistema: Ejemplo
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
int
main (void)
{
int fd, bytes_escritos; /*descriptor de fichero*/
char buffer[100];
mode_t modo =
S_IRWXU; /* modo de r, w y x para el propietario*/
strcpy
(buffer, "Esto es un ejemplo\n");
if ((fd =
open ("ejemplo", O_RDWR | O_CREAT, modo))== -1)
/*abre el fichero ejemplo en modo lectura/escritura o lo
crea si no existe */
perror
("Error al abrir o crear el fichero");
/*muestra un mensaje de error si no puede abrir/crear el fichero*/
else
bytes_escritos =
write(fd, buffer, strlen(buffer));
/* escribe buffer de tamaño sizeof(buffer) en fd */ exit
(0);
}NOTA: Me podria mandar que tengo que hacer porfavor de proyecto numero 9
EL EJERCICIO VALE 2 PUNTOS
ResponderEliminarFECHA DE ENTREGA:6 DE OCTUBRE DE 2011
Descripción
• Escribir un programa que copie los contenidos de un fichero en otro. Se pasarán los nombres como argumentos al programa.
• Modificarlo para que ponga el estado del fichero generado según los parámetros de entrada que se le pasen los permisos del usuario (rwx)
• Asimismo, deberá presentar información del estado de los ficheros (original y copia) en pantalla (fechas, tamaño, etc.)