No sistema IOS, todo o código da camada BSD é executado em modo privilegiado, ou modo kernel, e não como uma tarefa de ambiente de usuário. Isto faz com que a camada BSD não atue em um espaço de memória próprio e protegido, e sim compartilhando o mesmo espaço de endereçamento utilizado pelas camadas Mach e I/O Kit. Dentre as principais funções da camada BSD, pode-se citar:
- Chamadas de Sistema – todas as chamadas de sistema do IOS são implementadas na camada BSD, desta forma, sempre que algum aplicativo de usuário, ou qualquer outro software que estiver sendo executado em modo usuário, necessitar de acesso a serviços básicos ou de baixo nível providos pelo kernel do sistema, ele irá efetuar uma chamada a API provida pela camada BSD.
- Rede – É o maior subsistema existente na camada BSD, tendo como principal atribuição gerenciar a maior parte dos elementos de rede do sistema operacional, como os detalhes de comunicação dos sockets e a implementação dos principais protocolos, como o TCP/IP, o DHCP, o UDP e o ICMP. É importante ressaltar que os drivers de rede de baixo nível não estão localizados nesta camada, e sim na I/O Kit.
- Gerenciamento de Processos e de usuário – provê a interface para o gerenciamento de usuários, com a criação dos identificadores de usuário (UID) e grupo (GID), e de processos, com a manutenção dos identificadores de processo (PID).
- Gerenciamento de Memória – utiliza chamadas a funções da camada Mach para prover facilidades para alocação de memória, como a utilização do Unified Buffer Cache (UBC).
Copyright © 2014 AIEC.