Thursday, May 7, 2009

POSIX, Pthreads e afins...

POSIX (Portable Operating System Interface, que pode ser traduzido como Interface Portável entre Sistemas Operacionais) é uma família de normas definidas pelo IEEE que tem como objetivo garantir a portabilidade do código-fonte de um programa escrito para um sistema operacional que atenda as normas POSIX para outro sistema POSIX. Desta forma, as regras atuam como uma interface entre sistemas operacionais distintos.

A normalização das especificações POSIX surgiu de um projeto, iniciado por volta de 1985, que tinha como objetivo normalizar a API para softwares criados para serem executados em variantes do sistema operacional UNIX. O termo POSIX foi sugerido por Richard Stallman em resposta a um pedido da IEEE de um nome fácil de lembrar. É uma sigla aproximada de Portable Operating System Interface, com o X representando a herança que tal interface tem do sistema UNIX.

Como exemplo de recurso normalizado pelo padrão POSIX, temos as POSIX Threads, que é um padrão POSIX para threads, o qual define uma API padrão para criar e manipular threads.

As bibliotecas que implementam as POSIX Threads são chamadas pthreads, sendo muito difundidas no universo UNIX e outros sistemas operacionais semelhantes, como Linux e Solaris. Utilizaremos as pthreads em algumas das experiências desse laboratório.

Mais exemplos de normalizações impostas pelo padrão POSIX são (por versão):
  • POSIX.1, Serviços de núcleo (incorpora o padrão ANSI C)
    • Criação e controle de processos
    • Signals
    • Exceções de Ponto Flutuante
    • Violações de Segmentação
    • Instruções Ilegais
    • Erros de Barramento
    • Timers
    • Operações com Arquivos e Diretórios
    • Pipes
    • Biblioteca padrão C
    • I/O - Controle e Interface de Portas
  • POSIX.1b, Real-time extensions
    • Scheduling de Prioridade
    • Signals de Tempo-real
    • Clocks e Timers
    • Semáforos
    • Passagem de Mensagens
    • Memória Compartilhada
    • E/S Assíncronas e Síncronas
    • Bloqueamento(Locking) de Memória
  • POSIX.1c, Threads extensions
    • Criação, Controle e Limpeza de Threads
    • Scheduling de Threads
    • Sincronização de Threads
    • Manipulação de Signals

Fontes:

http://pt.wikipedia.org/wiki/Posix
http://pt.wikipedia.org/wiki/POSIX_Threads

No comments:

Post a Comment