POSIX
POSIX (acrônimo para o nome denominado: Portable Operating System Interface, que pode ser traduzido como Interface Portável entre Sistemas Operacionais) é uma família de normas definidas pelo IEEE e designada formalmente por IEEE 1003, que 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. 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 o 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.
[editar] Versões
- POSIX.1, Serviços de núcleo (incorpora o padrão ANSI C)
- Criação e controle de processos
- Signals[1]
- 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