Вы находитесь на странице: 1из 3

UNIVERSIDAD AUTONOMA REGIONAL DE LOS ANDES

UNIANDES
NOMBRE: RONNY RODRIGUEZ
CARRERA: SISTEMAS
MATERIA: SISTEMAS OPERATIVOS
NIVEL: TERCERO
POSIX
El estndar POSIX define una interface portable para aplicaciones. El principal objetivo de
este estndar es la portabilidad de las aplicaciones a nivel de cdigo fuente, mediante la
unificacin de las diferentes versiones del UNIX. Una parte importante del POSIX aborda las
necesidades de las aplicaciones de tiempo real. La portabilidad de estas aplicaciones es hoy
en da prcticamente imposible debido a la gran cantidad de sistemas operativos y ncleos de
tiempo real existentes. Aunque el UNIX no ha sido hasta ahora un sistema operativo para
sistemas de tiempo real, es posible adaptarlo a estos sistemas si se le aaden los servicios
necesarios, y se eliminan tambin aquellas funciones que dificultan implementaciones
pequeas y eficientes. En este artculo3 se comentarn las extensiones de tiempo real del
POSIX y cmo estas extensiones permiten abordar las necesidades de aplicaciones con
requerimientos de tiempo real.
1. Identificacin de procesos
Los procesos se identifican mediante un nmero entero positivo: PID
POSIX identifica cada proceso por medio de un entero nico denominado identificador de
proceso de tipo pid_t
Los servicios relativos a la identificacin de los procesos son:
pid_t getpid(void);
Devuelve el identificador del proceso que realiza la llamada
pid_t getppid(void);
Devuelve el identificador del proceso padre

2. Entorno de un proceso
Cuando un proceso est en ejecucin, ciertas acciones que realiza pueden generar
Eventos. Por ejemplo, el proceso puede realizar una llamada al sistema que tenga
asociada la generacin de un evento. Tambin es posible que el proceso defina sus
propios tipos de eventos, y de forma explcita solicite al sistema de trazas la generacin de
dichos eventos.

Hay que resaltar que mientras un proceso no tenga trazas asociadas, los eventos que
genera son despreciados por el sistema de trazas y no producen, por tanto, ningn efecto.
El servicio exec de POSIX tiene por objeto cambiar el programa que est ejecutando un
proceso.
La familia de funciones exec (man exec) reemplaza la imagen del proceso actual
por una nueva imagen.
Esta nueva imagen se construye a partir de un archivo ejecutable

int execl( const char *camino, const char *arg, ...);


int execlp( const char *fichero, const char *arg, ...);
int execle( const char *camino, const char *arg , ...,
char * const envp[]);
int execv( const char *camino, char *const argv[]);
int execvp( const char *fichero, char *const argv[]);

3. Creacin de procesos
pid_t fork()
Este servicio de POSIX clona el proceso que lo invoca. El proceso que solicita el servicio
se convierte en el proceso padre del nuevo proceso, que es, a su vez, el proceso hijo
devuelve:

0
Si es el proceso hijo
pid (process id)
Si es el proceso padre, el id del hijo

El proceso hijo es un clon del proceso padre, salvo algunas diferencias

En el mismo programa, varios procesos ejecutando:


?El padre ejecutar un bucle infinito para recibir mandatos
?El hijo ejecutar el mandato y terminar su ejecucin
4. Terminacin de procesos

Cuando el proceso ha terminado su ejecucin debe finalizar. Un proceso puede finalizar de forma
normal o anormal:
NORMAL:
Si todo ha ido bien, un proceso puede terminar su ejecucin de dos formas:

Ejecutando la llamada return

Ejecutando una sentencia exit


void exit(int status);

ANORMAL:
Si algo ha ido mal, puede terminar su ejecucin llamando a la funcin abort
En Linux, salvo que se indique otra cosa, el proceso padre espera la finalizacin de los
procesos hijos que ha creado

Tindell, K. (1992) Fixed Priority Scheduling for Hard Real-Time Systems. PhD
thesis.

Вам также может понравиться