Versão do sistema operacional DragonFly BSD 5.8

Disponível liberar DragonFlyBSD 5.8, um sistema operacional com um kernel híbrido, criada em 2003 com o propósito de desenvolvimento alternativo do branch FreeBSD 4.x. Dentre as funcionalidades do DragonFly BSD, podemos destacar um sistema de arquivos versionado distribuído HAMMER, suporte para carregar kernels de sistema “virtuais” como processos de usuário, capacidade de armazenar dados e metadados FS em cache em unidades SSD, links simbólicos variantes sensíveis ao contexto, capacidade de congelar processos enquanto salva seu estado no disco, um kernel híbrido usando threads leves (LWKT).

O principal melhoriasadicionado no DragonFlyBSD 5.8:

  • A composição principal inclui o utilitário sintetizador, projetado para montagem local e manutenção de seus próprios repositórios binários DPort. É suportada a paralelização da montagem de um número arbitrário de portas, levando em consideração a árvore de dependências. Em preparação para a nova versão, o DPort também fez um grande número de alterações destinadas a acelerar a construção de vários pacotes dependentes.
  • libc implementa um mecanismo eficaz de mascaramento de sinal, que torna possível proteger malloc*() e funções similares de problemas devido à sua interrupção por um sinal. Para bloqueio e desbloqueio de sinais de curto prazo, são propostas as funções sigblockall() e sigunblockall(), que funcionam sem fazer chamadas de sistema. Além disso, a libc adaptou a função strtok() para uso em aplicativos multithread, adicionou constantes TABDLY, TAB0, TAB3 e a função __errno_location para melhorar o suporte a dports.
  • Os componentes da interface DRM (Direct Rendering Manager) são sincronizados com o kernel Linux 4.9, com recursos selecionados portados do kernel 4.12 destinados a melhorar o suporte ao Wayland.
    O driver drm/i915 para GPUs Intel é sincronizado com o kernel Linux 4.8.17 com código transferido do kernel 5.4 para suportar novos chips (Skylake, Coffelake, Amber Lake, Whiskey Lake e Comet Lake). O driver drm/radeon para placas de vídeo AMD é sincronizado com o kernel Linux 4.9.

  • Os algoritmos de paginação de memória virtual foram significativamente aprimorados, permitindo eliminar ou minimizar problemas de capacidade de resposta na interface do usuário quando há memória insuficiente. Problemas com congelamento do Chrome/Chromium devido à memória insuficiente do sistema foram resolvidos.
  • Dimensionamento de kernel aprimorado em sistemas com um grande número de núcleos de processador. Tempo de solicitação de página de memória virtual reduzido. Contenção de SMP reduzida quando a memória está baixa. Maior eficiência da chamada "open(... O_RDWR)".
  • O gerador de números pseudo-aleatórios no kernel foi redesenhado. O driver RDRAND está adaptado para acumular entropia de todas as CPUs. Intensidade reduzida
    e o tamanho do feed RDRAND, que anteriormente consumia de 2 a 3% do tempo da CPU durante o tempo ocioso.

  • Adicionadas novas chamadas de sistema realpath, getrandom e lwp_getname (permitiu a implementação de pthread_get_name_np).
  • Adicionado suporte para mecanismos de proteção SMAP (Supervisor Mode Access Prevention) e SMEP (Supervisor Mode Execution Prevention). O SMAP permite bloquear o acesso aos dados do espaço do usuário a partir de código privilegiado em execução no nível do kernel. O SMEP não permite a transição do modo kernel para a execução de código localizado no nível do usuário, o que permite bloquear a exploração de muitas vulnerabilidades no kernel (o código shell não será executado, pois está no espaço do usuário);
  • Variáveis ​​sysctl reformuladas para configurar o Jail. Adicionada a capacidade de montar nullfs e tmpfs da Jail.
  • Adicionado modo de emergência para o sistema de arquivos HAMMER2, que pode ser usado durante a recuperação após uma falha. Neste modo, é possível destruir snapshots ao atualizar o inode localmente (permite excluir arquivos e diretórios na ausência de espaço livre em disco, quando é impossível utilizar o mecanismo copy-on-write). Melhorou significativamente o desempenho ao retrabalhar o suporte ao envio de threads no HAMMER2. O processo de liberação de buffers foi significativamente melhorado.
  • Maior confiabilidade e desempenho do TMPFS. Maior eficiência operacional quando há falta de memória livre no sistema.
  • A pilha de rede IPv4 agora suporta prefixos /31 (RFC 3021).
    Tap melhorou o manuseio de ioctl SIOCSIFMTU para suportar MTU > 1500. Adicionado suporte para SIOCSIFMTU_IN6 e SO_RERROR.

  • O driver iwm é sincronizado com FreeBSD com suporte para chips Intel wireless (adicionado suporte para iwm-9000 e iwm-9260).
  • Adicionadas funções basename() e dirname() compatíveis com Linux para melhorar a compatibilidade de portas.
  • Movido fsck_msdosfs, sys/ttydefaults.h, AF_INET/AF_INET6 do FreeBSD para libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. As funções do math.h foram movidas do OpenBSD.
  • Versões atualizadas de componentes de terceiros, incluindo Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. O compilador padrão é gcc-8.

Fonte: opennet.ru

Adicionar um comentário