POSIX

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Ambox rewrite.svg
Esta página precisa ser reciclada de acordo com o livro de estilo (desde novembro de 2013).
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.

POSIX (um acrônimo para: Portable Operating System Interface,[1] que pode ser traduzido como Interface Portável entre Sistemas Operacionais) é uma família de normas definidas pelo IEEE para a manutenção de compatibilidade entre sistemas operacionais, e designada formalmente por IEEE 1003. POSIX define a interface de programação de aplicações (API), juntamente com shells de linha e comando e interfaces utilitárias, para compatibilidade de software com variantes de Unix e outros sistemas operacionais.[2]

Tem como objetivo garantir a portabilidade do código-fonte de um programa a partir de um sistema operacional que atenda as normas POSIX para outro sistema POSIX, desta forma as regras atuam como uma interface entre sistemas operacionais distintos, enfim, de modo coloquial "programar somente uma vez, com implementação em qualquer sistema operacional".

Nome[editar | editar código-fonte]

A designação internacional da norma é ISO/IEC 9945.

A normalização das especificações POSIX surgiu de um projecto, iniciado por volta de 1985, que tinha como objectivo normalizar a API (ou interface de programação de aplicativos) para software desenhado para correr em variantes do sistema operativo (ou sistema operacional, no Brasil) 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 a representar a herança que a interface de programação de aplicações tem do sistema UNIX.

A norma POSIX especifica os interfaces do utilizador e do software ao sistema operativo em 15 documentos diferentes. A linha de comando e interface de comandos padrão é a Korn Shell. Outros programas de nível de usuário, serviços e utilitários incluem, entre centenas de aplicações, awk, echo e ed. Os serviços de nível de programa necessários incluem serviços de entrada/saída (ficheiro, terminal e internet) básicos.

Atualmente a sua documentação é dividida em 3 partes:

  • APIs POSIX do Núcleo que inclui:
    • Extensões para o POSIX.1,
    • Serviços de tempo real,
    • Interfaces com threads,
    • Extensões de tempo real,
    • Interface segura,
    • Acesso a arquivos via rede e
    • Comunicações entre processos via rede
  • Comandos e utilitários POSIX
    • Com extensões de portabilidade para o usuário,
    • Correções e utilidades de proteção e
    • Controle para utilidades do sistema Batch
  • Teste de adequação POSIX

Um pacote de teste da norma POSIX acompanha a documentação da norma. É designada por POSIX Conformance Test Suite (PCTS).

Como a IEEE tem vindo a cobrar somas avultadas pela documentação da norma POSIX e não permite a publicação online das normas, tem havido uma tendência para adopção da "Single UNIX Specification", da responsabilidade do Open Group, que é aberta, aceita contribuições de todos e encontra-se disponível na Internet.

Apesar de terem sido feitas para sistemas Unix, os padrões POSIX podem ser aplicados a qualquer sistema operacional.Para sistemas Linux, várias extensões e normalizações de facto são providenciadas pela Linux Standard Base.

Versões[editar | editar código-fonte]

  • POSIX.1, Serviços de núcleo (incorpora o padrão ANSI C)
    • Criação e controle de processos
    • Signals[3]
    • 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 do 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ícronas 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

Ligações externas[editar | editar código-fonte]

Referências

  1. POSIX.1 FAQ. The Open Group (October 5, 2011).
  2. POSIX. Standards. IEEE.
  3. Linux Signals.