{"id":83515,"date":"2020-06-01T13:41:56","date_gmt":"2020-06-01T11:41:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-5-7"},"modified":"2020-06-01T13:41:56","modified_gmt":"2020-06-01T11:41:56","slug":"reliz-yadra-linux-5-7","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-7","title":{"rendered":"Lan\u00e7amento do n\u00facleo Linux 5.7","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/5\/31\/326\">apresentou<\/a><\/noindex> lan\u00e7amento do n\u00facleo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/\">Linux 5.7<\/a><\/noindex>. Entre as mudan\u00e7as mais not\u00e1veis est\u00e3o: a nova implementa\u00e7\u00e3o do sistema de arquivos exFAT, o m\u00f3dulo bareudp para criar t\u00faneis UDP, a prote\u00e7\u00e3o baseada na autentica\u00e7\u00e3o de ponteiros para ARM64, a capacidade de anexar programas BPF aos manipuladores LSM, a nova implementa\u00e7\u00e3o de Curve25519, o detector de 'split-lock', compatibilidade BPF com PREEMPT_RT, remo\u00e7\u00e3o do limite de 80 caracteres para strings no c\u00f3digo, considera\u00e7\u00e3o das temperaturas da CPU no escalonador de tarefas, e a possibilidade de usar clone() para gerar processos em outro cgroup, prote\u00e7\u00e3o contra grava\u00e7\u00e3o em mem\u00f3ria usando userfaultfd.<\/p>\n<p>Na nova vers\u00e3o, foram aceitas 15.033 corre\u00e7\u00f5es de 1.961 desenvolvedores.<br \/>\no tamanho do patch \u2014 39 MB (as mudan\u00e7as afetaram 11590 arquivos, adicionadas 570560 linhas de c\u00f3digo,<br \/>\ne 297.401 linhas removidas). Cerca de 41% de todas as altera\u00e7\u00f5es apresentadas na vers\u00e3o 5.7<br \/>\nest\u00e3o relacionadas a drivers de dispositivo, aproximadamente 16% das altera\u00e7\u00f5es t\u00eam<br \/>\nrela\u00e7\u00e3o com a atualiza\u00e7\u00e3o de c\u00f3digo espec\u00edfico para arquiteturas de hardware, 13%<br \/>\nrelacionadas \u00e0 pilha de rede, 4% \u2014 a sistemas de arquivos e 4% a internos<br \/>\nsubsistemas do n\u00facleo. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.6\">Principais<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/816934\/\">novidades<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <b>Subsistema de disco, entrada\/sa\u00edda e sistemas de arquivos<\/b>\n<ul>\n<li class=\"l\"> Foi adicionada uma nova implementa\u00e7\u00e3o do driver exFAT, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52222\">baseada<\/a><\/noindex> base de c\u00f3digo atual 'sdfat' (2.x), desenvolvida pela Samsung para seus smartphones Android. O driver adicionado anteriormente ao kernel era baseado em c\u00f3digo desatualizado da Samsung (vers\u00e3o 1.2.9) e ficou aproximadamente 10% atr\u00e1s do novo driver em termos de desempenho. Vale lembrar que a adi\u00e7\u00e3o do suporte ao exFAT no kernel foi poss\u00edvel ap\u00f3s a Microsoft <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51374\">publicou<\/a><\/noindex> tornar p\u00fablicas as especifica\u00e7\u00f5es e fornecer a possibilidade de uso gratuito de patentes de exFAT no Linux.\n<li class=\"l\"> No Btrfs, foi implementado um novo comando ioctl() \u2014 BTRFS_IOC_SNAP_DESTROY_V2, permitindo a exclus\u00e3o de subsistemas pelo seu identificador. Total suporte para clonagem de extens\u00f5es inline foi assegurado. Aumentado o n\u00famero de pontos de revers\u00e3o para opera\u00e7\u00f5es de redistribui\u00e7\u00e3o, reduzindo os longos per\u00edodos de espera ao executar o comando 'balance cancel'. A defini\u00e7\u00e3o de refer\u00eancias invertidas para extens\u00f5es foi acelerada (por exemplo, o tempo de execu\u00e7\u00e3o de um cen\u00e1rio de teste reduziu-se de uma hora para poucos minutos). Possibilidade de anexar a cada inode da \u00e1rvore de extens\u00f5es do arquivo. Reformulada a estrat\u00e9gia de bloqueio usada em grava\u00e7\u00f5es em subsistemas e na exclus\u00e3o de NOCOW. A efici\u00eancia da execu\u00e7\u00e3o do fsync para intervalos foi aumentada.\n<li class=\"l\"> O XFS melhorou a verifica\u00e7\u00e3o de metadados e a execu\u00e7\u00e3o do fsck para parti\u00e7\u00f5es ativas. Uma biblioteca para reconstruir estruturas btree foi proposta, que no futuro ser\u00e1 utilizada para reformular o xfs_repair e implementar a capacidade de recupera\u00e7\u00e3o sem desmontar a parti\u00e7\u00e3o.\n<li class=\"l\"> No CIFS, foi adicionada suporte experimental para a aloca\u00e7\u00e3o de parti\u00e7\u00f5es de swap em armazenamento SMB3. As extens\u00f5es POSIX foram implementadas no readdir, conforme definido na especifica\u00e7\u00e3o SMB3.1.1. O desempenho de grava\u00e7\u00e3o para p\u00e1ginas de 64KB foi aumentado ao ativar o modo cache=strict e usar vers\u00f5es do protocolo 2.1+.\n<li class=\"l\"> O sistema de arquivos EXT4 foi migrado de bmap e iopoll para utiliza\u00e7\u00e3o do iomap.\n<li class=\"l\"> No F2FS, foi implementado o suporte opcional \u00e0 compress\u00e3o de dados usando o algoritmo zstd. Por padr\u00e3o, o algoritmo LZ4 \u00e9 usado para compress\u00e3o. Suporte ao comando 'chattr -c commit' foi adicionado. A exibi\u00e7\u00e3o do tempo de montagem foi garantida. Adicionado ioctl F2FS_IOC_GET_COMPRESS_BLOCKS para obter informa\u00e7\u00f5es sobre o n\u00famero de blocos comprimidos. Dados sobre compress\u00e3o foram adicionados, exibidos atrav\u00e9s do statx.\n<li class=\"l\"> No sistema de arquivos Ceph, foi adicionada a capacidade de executar opera\u00e7\u00f5es de cria\u00e7\u00e3o e exclus\u00e3o (unlink) de arquivos localmente sem esperar uma resposta do servidor (opera\u00e7\u00e3o em modo ass\u00edncrono). Esta mudan\u00e7a, por exemplo, permite um aumento significativo no desempenho ao usar a ferramenta rsync.\n<li class=\"l\"> No OVERLAYFS, foi adicionada a possibilidade de usar virtiofs como sistema de arquivos de n\u00edvel superior.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/2\/22\/317\">Reescrito<\/a><\/noindex> o c\u00f3digo de travessia de caminhos no VFS, reformulado o c\u00f3digo de an\u00e1lise de links simb\u00f3licos e unificado a travessia de pontos de montagem.\n<li class=\"l\"> No subsistema scsi, usu\u00e1rios n\u00e3o privilegiados <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/6fdb79ff27ee0d385ec8481458d2fd1d69fec50b\">est\u00e3o autorizados<\/a><\/noindex> a executar comandos ZBC.\n<li class=\"l\"> No dm_writecache, <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/3923d4854e189d84c6ec22e66d536d3498f2747c\">s\u00e3o implementadas<\/a><\/noindex> \u00e9 poss\u00edvel realizar a limpeza gradual do cache com base no par\u00e2metro max_age, que define o tempo m\u00e1ximo de vida do bloco.\n<li class=\"l\"> No dm_integrity, <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/84597a44a9d86ac949900441cea7da0af0f2f473\">foi adicionada<\/a><\/noindex> suporte \u00e0 opera\u00e7\u00e3o 'discard'.\n<li class=\"l\"> No null_blk, <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/596444e7570587867924c3ab025183b1a8726897\">foi adicionada<\/a><\/noindex> foi adicionada a simula\u00e7\u00e3o de falhas para testar a inser\u00e7\u00e3o de erros.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=e598a72faeb543599bdf0d930df3a71906404e6f\">Adicionada<\/a><\/noindex> a possibilidade de enviar notifica\u00e7\u00f5es udev sobre mudan\u00e7as no tamanho do dispositivo de bloco.\n<\/ul>\n<li class=\"l\"> <b>Subsistema de Rede<\/b>\n<ul>\n<li class=\"l\"> No Netfilter, foram incorporados <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52548\">mudan\u00e7as<\/a><\/noindex>, que aceleram significativamente o processamento de grandes listas de correspond\u00eancia (nftables set), onde \u00e9 necess\u00e1rio verificar combina\u00e7\u00f5es de sub-redes, portas de rede, protocolo e endere\u00e7os MAC.<br \/>\nOtimiza\u00e7\u00f5es <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7400b063969bdca4a06cd97f1294d765c8eecbe1\">foram feitas<\/a><\/noindex> No m\u00f3dulo nft_set_pipapo (Pol\u00edticas de Controle de Pacotes), que resolve a tarefa de mapear o conte\u00fado do pacote com intervalos de estado de campos aplic\u00e1veis em regras de filtragem, como intervalos de IP e portas de rede (nft_set_rbtree e nft_set_hash manipulam o mapeamento de intervalos e a reflex\u00e3o direta de valores). A vers\u00e3o pipapo vetorizada com instru\u00e7\u00f5es AVX2 de 256 bits em um sistema com processador AMD Epyc 7402 mostrou um aumento de desempenho de 420% ao analisar 30 mil registros, incluindo pares porta-protocolo. O aumento ao mapear pares de sub-rede e n\u00famero da porta ao analisar 1000 registros foi de 87% para IPv4 e 128% para IPv6. <\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=571912c69f0ed731bd1e071ade9dc7ca4aa52065\">Adicionado<\/a><\/noindex> O m\u00f3dulo bareudp, que permite encapsular v\u00e1rios protocolos L3 em um t\u00fanel UDP, como MPLS, IP e NSH.\n<li class=\"l\"> A integra\u00e7\u00e3o dos componentes MPTCP (MultiPath TCP), uma extens\u00e3o do protocolo TCP para organizar a opera\u00e7\u00e3o de uma conex\u00e3o TCP com entrega de pacotes simultaneamente por v\u00e1rios caminhos atrav\u00e9s de diferentes interfaces de rede, ligadas a diferentes endere\u00e7os IP, foi continuada.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=50ff477a8639fa1fbbeecb5a6f2f8b6c5557ecec\">Adicionada<\/a><\/noindex> Suporte a mecanismos de acelera\u00e7\u00e3o de hardware para encapsula\u00e7\u00e3o de quadros Ethernet dentro do 802.11 (Wi-Fi).\n<li class=\"l\"> Ao mover um dispositivo de um espa\u00e7o de nomes de subsistema de rede (network namespace) para outro, foi garantida a corre\u00e7\u00e3o dos direitos de acesso e do propriet\u00e1rio dos arquivos correspondentes no sysfs.\n<li class=\"l\"> Foi disponibilizada a op\u00e7\u00e3o de usar a flag SO_BINDTODEVICE para usu\u00e1rios sem privil\u00e9gios de root.\n<li class=\"l\"> A terceira parte dos patches foi adotada, transferindo a ferramenta ethtool de ioctl() para o uso da interface netlink. A nova interface simplifica a adi\u00e7\u00e3o de extens\u00f5es, melhora o tratamento de erros, permite o envio de notifica\u00e7\u00f5es ao alterar estados, simplifica a intera\u00e7\u00e3o entre o n\u00facleo e o espa\u00e7o do usu\u00e1rio e reduz o n\u00famero de listas nomeadas a serem sincronizadas.\n<li class=\"l\"> Foi adicionada a possibilidade de utilizar aceleradores de hardware especializados para executar opera\u00e7\u00f5es de rastreamento de conex\u00f5es.\n<li class=\"l\"> No netfilter <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=8537f78647c072bdb1a5dbe32e1c7e5b13ff1258\">o sinalizador -k para integra\u00e7\u00e3o com<\/a><\/noindex> um gancho para conectar classificadores de pacotes de sa\u00edda (egress), complementando o gancho j\u00e1 existente para pacotes de entrada (ingress).\n<\/ul>\n<li class=\"l\"> <b>Virtualiza\u00e7\u00e3o e seguran\u00e7a<\/b>\n<ul>\n<li class=\"l\"> Foi adicionada a implementa\u00e7\u00e3o de hardware da autentica\u00e7\u00e3o de ponteiros (<noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/718888\/\">Autentica\u00e7\u00e3o de Ponteiro<\/a><\/noindex>), utilizando instru\u00e7\u00f5es especializadas do CPU ARM64 para prote\u00e7\u00e3o contra ataques que utilizam t\u00e9cnicas de programa\u00e7\u00e3o orientada \u00e0 devolu\u00e7\u00e3o (ROP), onde o atacante n\u00e3o tenta colocar seu c\u00f3digo na mem\u00f3ria, mas opera com peda\u00e7os de instru\u00e7\u00f5es de m\u00e1quina j\u00e1 existentes nas bibliotecas carregadas, terminando com uma instru\u00e7\u00e3o de retorno de controle. A prote\u00e7\u00e3o \u00e9 baseada no uso de assinaturas digitais para verificar os endere\u00e7os de retorno em n\u00edvel de kernel. A assinatura \u00e9 armazenada nos bits mais altos n\u00e3o utilizados do pr\u00f3prio ponteiro. Ao contr\u00e1rio das implementa\u00e7\u00f5es de software, a cria\u00e7\u00e3o e a verifica\u00e7\u00e3o de assinaturas digitais s\u00e3o realizadas por meio de instru\u00e7\u00f5es especiais do CPU.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=57e5d4f278b9522646b49a3a97ebf5f2b8f9d4cf\">Adicionada<\/a><\/noindex> a capacidade de proteger \u00e1reas da mem\u00f3ria contra grava\u00e7\u00e3o por meio da chamada de sistema userfaultfd(), destinada a lidar com falhas de p\u00e1gina (acesso a p\u00e1ginas de mem\u00f3ria n\u00e3o alocadas) no espa\u00e7o do usu\u00e1rio. A ideia \u00e9 usar userfaultfd() para rastrear viola\u00e7\u00f5es de acesso a p\u00e1ginas marcadas como protegidas contra grava\u00e7\u00f5es e chamar um manipulador que pode reagir a essas tentativas de grava\u00e7\u00e3o (por exemplo, para lidar com altera\u00e7\u00f5es no processo de cria\u00e7\u00e3o de snapshots ao vivo de processos em execu\u00e7\u00e3o, capturando o estado ao despejar dumps de mem\u00f3ria no disco, implementando mem\u00f3ria compartilhada, rastreando altera\u00e7\u00f5es na mem\u00f3ria). A funcionalidade <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/787308\/\">\u00e9 equivalente<\/a><\/noindex> \u00e0 aplica\u00e7\u00e3o de mprotect() em conjunto com o manipulador de sinal SIGSEGV, mas funciona significativamente mais r\u00e1pido.\n<li class=\"l\"> No SELinux declarou obsoleto o par\u00e2metro &#171;checkreqprot&#187;, que permite desativar a verifica\u00e7\u00e3o de prote\u00e7\u00e3o de mem\u00f3ria ao processar regras (permitindo o uso de \u00e1reas de mem\u00f3ria execut\u00e1veis, independentemente das diretrizes estabelecidas nas regras). Links simb\u00f3licos no kernfs agora podem herdar o contexto dos diret\u00f3rios pai.\n<li class=\"l\"> Inclui <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/4dece7f3b925\">incluso<\/a><\/noindex> m\u00f3dulo <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/808048\/\">KRSI<\/a><\/noindex>, permitindo anexar programas BPF a quaisquer ganchos LSM no kernel. A mudan\u00e7a permite criar m\u00f3dulos LSM (Linux Security Module) na forma de programas BPF para lidar com situa\u00e7\u00f5es de auditoria e controle de acesso mandat\u00f3rio.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=31c0aa87ec8a30b1e9e4cf862905a369560f7705\">Realizada<\/a><\/noindex> otimiza\u00e7\u00e3o do desempenho de \/dev\/random atrav\u00e9s da transfer\u00eancia em massa de valores CRNG em vez de chamadas separadas de instru\u00e7\u00f5es RNG. Melhorou o funcionamento de getrandom e \/dev\/random em sistemas ARM64 que fornecem instru\u00e7\u00f5es RNG.\n<li class=\"l\"> A implementa\u00e7\u00e3o da curva el\u00edptica Curve25519 <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=07b586fe06625b0b610dc3d3a969c51913d143d4\">foi substitu\u00edda<\/a><\/noindex> por uma variante da biblioteca <noindex><a rel=\"nofollow\" href=\"https:\/\/hacl-star.github.io\/\">HACL<\/a><\/noindex>, para a qual <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50470\">foi fornecida<\/a><\/noindex> prova matem\u00e1tica de verifica\u00e7\u00e3o formal de confiabilidade.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=1edca85e768a\">Adicionado<\/a><\/noindex> mecanismo de informa\u00e7\u00e3o sobre p\u00e1ginas de mem\u00f3ria livres. Por meio deste mecanismo, sistemas convidados podem enviar informa\u00e7\u00f5es \u00e0 sistema anfitri\u00e3o sobre p\u00e1ginas que n\u00e3o est\u00e3o mais em uso, e essas p\u00e1ginas podem ser recuperadas pelo anfitri\u00e3o.\n<li class=\"l\"> no vfio\/pci <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=137e5531351db258eff58ea28f4dc8fdf7ca2990\">foi adicionada<\/a><\/noindex> suporte a SR-IOV (Virtualiza\u00e7\u00e3o de Entrada\/Sa\u00edda de Raiz \u00danica).\n<\/ul>\n<li class=\"l\"> <b>Mem\u00f3ria e servi\u00e7os do sistema<\/b>\n<ul>\n<li class=\"l\"> De 80 a 100 caracteres <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=bdc48fa11e46\">aumentado<\/a><\/noindex> limita\u00e7\u00e3o para o comprimento m\u00e1ximo da linha em textos fontes. Os desenvolvedores ainda s\u00e3o recomendados a manter-se dentro de 80 caracteres por linha, mas isso agora n\u00e3o \u00e9 um limite r\u00edgido. Al\u00e9m disso, exceder o limite de tamanho da linha agora resultar\u00e1 na emiss\u00e3o de um aviso durante a compila\u00e7\u00e3o, somente se a ferramenta checkpatch for executada com a op\u00e7\u00e3o &#171;&#8212;strict&#8217;. Esta mudan\u00e7a permitir\u00e1 que os desenvolvedores n\u00e3o se distraiam com <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/5\/28\/1245\">manipula\u00e7\u00f5es<\/a><\/noindex> espa\u00e7os e se sintam mais \u00e0 vontade ao alinhar o c\u00f3digo, assim como  <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/5\/28\/1237\">impedir\u00e1<\/a><\/noindex> quebras excessivas de linha, <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/5\/29\/1038\">que atrapalham<\/a><\/noindex> a compreens\u00e3o do c\u00f3digo e a pesquisa.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=17054f492dfd4d91e093ebb87013807812ec42a4\">Adicionada<\/a><\/noindex> suporte ao modo de inicializa\u00e7\u00e3o mista EFI, permitindo que um n\u00facleo de 64 bits seja carregado a partir de um firmware de 32 bits, que \u00e9 executado em um CPU de 64 bits, sem o uso de um carregador de inicializa\u00e7\u00e3o especializado.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=6650cdd9a8ccf00555dbbe743d58541ad8feb6a7\">Ativado<\/a><\/noindex> sistema de detec\u00e7\u00e3o e depura\u00e7\u00e3o de bloqueios fragmentados (&#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/806466\/\">split lock<\/a><\/noindex>&#171;), que ocorrem ao acessar dados desalinhados na mem\u00f3ria devido ao fato de que, ao executar uma instru\u00e7\u00e3o at\u00f4mica, os dados atravessam duas linhas de cache da CPU. Esses bloqueios levam a uma queda significativa no desempenho (at\u00e9 1000 ciclos mais lentos do que uma opera\u00e7\u00e3o at\u00f4mica com dados que caem em uma \u00fanica linha de cache). Dependendo do par\u00e2metro de inicializa\u00e7\u00e3o &#171;split_lock_detect&#187;, o n\u00facleo pode detectar esses bloqueios em tempo real e emitir avisos ou enviar um sinal SIGBUS para o aplicativo que causou o bloqueio.\n<li class=\"l\"> No escalonador de tarefas, foi adicionado o rastreamento das leituras dos sensores de temperatura (<noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/788380\/\">Press\u00e3o T\u00e9rmica<\/a><\/noindex>) e implementada a contagem de superaquecimento ao alocar tarefas. Utilizando as estat\u00edsticas fornecidas, o regulador de temperatura (thermal governor) pode ajustar a frequ\u00eancia m\u00e1xima da CPU em caso de superaquecimento, e o planejador de tarefas agora considera a redu\u00e7\u00e3o do poder computacional devido a essa diminui\u00e7\u00e3o de frequ\u00eancia ao programar a execu\u00e7\u00e3o das tarefas (anteriormente, o planejador reagia \u00e0 mudan\u00e7a de frequ\u00eancia com um certo atraso, tomando decis\u00f5es baseadas em suposi\u00e7\u00f5es exageradas sobre os recursos computacionais dispon\u00edveis).\n<li class=\"l\"> O planejador de tarefas envolve <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/816388\/\">m\u00e9tricas invariantes<\/a><\/noindex> de monitoramento de carga, permitindo avaliar corretamente a carga, independentemente da frequ\u00eancia atual da CPU. A mudan\u00e7a possibilita uma previs\u00e3o mais precisa do comportamento das tarefas em condi\u00e7\u00f5es de varia\u00e7\u00e3o din\u00e2mica de voltagem e frequ\u00eancia da CPU. Por exemplo, uma tarefa que consumia 1\/3 dos recursos da CPU a uma frequ\u00eancia de 1000 MHz come\u00e7ar\u00e1 a consumir 2\/3 dos recursos ao reduzir a frequ\u00eancia para 500 MHz, o que antes criava uma falsa suposi\u00e7\u00e3o de funcionamento em plena capacidade (ou seja, as tarefas para o planejador pareciam maiores apenas devido \u00e0 redu\u00e7\u00e3o da frequ\u00eancia, o que levava a decis\u00f5es erradas no schedutil cpufreq governor).\n<li class=\"l\"> O driver Intel P-state, respons\u00e1vel pela escolha dos modos de desempenho, foi alterado para usar <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/cpu-freq\/governors.txt\">schedutil<\/a><\/noindex>.\n<li class=\"l\"> Implementada a possibilidade de usar o subsistema BPF ao operar o n\u00facleo no modo de tempo real (PREEMPT_RT). Anteriormente, ao ativar o PREEMPT_RT, era exigido desativar o BPF.\n<li class=\"l\"> Adicionado um novo tipo de programas BPF &#8212; BPF_MODIFY_RETURN, que podem ser anexados a fun\u00e7\u00f5es no n\u00facleo e alterar o valor retornado por essa fun\u00e7\u00e3o.\n<li class=\"l\"> Adicionada <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/807882\/\">a possibilidade<\/a><\/noindex> uso da chamada de sistema clone3() para criar um processo em um cgroup diferente do cgroup pai, permitindo que o processo pai aplique restri\u00e7\u00f5es e habilite a contabilidade imediatamente ap\u00f3s a cria\u00e7\u00e3o de um novo processo ou thread. Por exemplo, um gerenciador de servi\u00e7os pode alocar novos servi\u00e7os diretamente em cgroups separados, e novos processos ao serem colocados em cgroups &#171;congelados&#187; ser\u00e3o imediatamente paralisados.\n<li class=\"l\"> no Kbuild <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=a0d1c951ef08ed24f35129267e3595d86f57f5d3\">foi adicionada<\/a><\/noindex> suporte \u00e0 vari\u00e1vel de ambiente &#171;LLVM=1&#187; para alternar para a ferramenta Clang\/LLVM durante a compila\u00e7\u00e3o do n\u00facleo. As exig\u00eancias para a vers\u00e3o do binutils foram aumentadas (2.23).\n<li class=\"l\"> Na debugfs, foi adicionada a se\u00e7\u00e3o \/sys\/kernel\/debug\/kunit\/ com os resultados dos testes kunit.\n<li class=\"l\"> Foi adicionado o par\u00e2metro de carga do n\u00facleo pm_debug_messages (an\u00e1logo a \/sys\/power\/pm_debug_messages), que inclui a sa\u00edda de informa\u00e7\u00f5es de depura\u00e7\u00e3o sobre o funcionamento do sistema de gerenciamento de energia (\u00fatil para depurar problemas com os modos de suspens\u00e3o e espera).\n<li class=\"l\"> Na interface de entrada\/sa\u00edda ass\u00edncrona <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50631#io_uring\">io_uring<\/a><\/noindex> foi adicionada suporte a  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.man7.org\/linux\/man-pages\/man2\/splice.2.html\">splice()<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/815491\/\">sele\u00e7\u00e3o at\u00f4mica de buffers<\/a><\/noindex>.\n<li class=\"l\"> A profiling do cgroup foi aprimorada com a ferramenta perf. Anteriormente, o perf podia perfilar tarefas apenas em um cgroup espec\u00edfico e n\u00e3o conseguia identificar a que cgroup pertencia a amostra atual. Agora, o perf obt\u00e9m informa\u00e7\u00f5es sobre o cgroup para cada amostra, permitindo perfilar mais de um cgroup e aplicar a classifica\u00e7\u00e3o por<br \/>\ncgroup nos relat\u00f3rios.<\/p>\n<li class=\"l\"> No cgroupfs, o pseudo-Sistema de Arquivos para gerenciamento de cgroups, foi adicionada a suporte para atributos estendidos (xattrs), com os quais, por exemplo, \u00e9 poss\u00edvel deixar informa\u00e7\u00f5es adicionais para manipuladores em espa\u00e7o de usu\u00e1rio.\n<li class=\"l\"> No controlador de mem\u00f3ria do cgroup <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=8a931f801340\">o sinalizador -k para integra\u00e7\u00e3o com<\/a><\/noindex>e o suporte \u00e0 prote\u00e7\u00e3o recursiva do valor &#171;memory.low&#187;, que regula a quantidade m\u00ednima de mem\u00f3ria RAM fornecida aos participantes do grupo. Ao montar a hierarquia cgroup com a op\u00e7\u00e3o &#171;memory_recursiveprot&#187;, o valor &#171;memory.low&#187;, que \u00e9 configurado para os n\u00f3s inferiores, ser\u00e1 automaticamente distribu\u00eddo para todos os n\u00f3s filhos.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/aa017ab97a22\">Adicionado<\/a><\/noindex>  o framework Uacce (Unified\/User-space-access-intended Accelerator Framework) para compartilhamento de endere\u00e7os virtuais (SVA, Shared Virtual Addressing) entre CPU e dispositivos perif\u00e9ricos, permitindo que aceleradores de hardware acessem estruturas de dados na CPU principal.\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"l\"> <b>Arquiteturas de hardware<\/b>\n<ul>\n<li class=\"l\"> Para a arquitetura ARM, foi implementada a capacidade de extra\u00e7\u00e3o a quente de mem\u00f3ria.\n<li class=\"l\"> Para a arquitetura RISC-V, foi adicionada a suporte para conex\u00e3o e extra\u00e7\u00e3o a quente da CPU (CPU hotplug). Para RISC-V de 32 bits, foi implementado o eBPF JIT.\n<li class=\"l\"> Removida a possibilidade de usar sistemas ARM de 32 bits para executar ambientes virtuais KVM.\n<li class=\"l\"> Removida a implementa\u00e7\u00e3o &#171;fict\u00edcia&#187; do NUMA para a arquitetura s390, para a qual n\u00e3o foram encontrados cen\u00e1rios de uso que permitam melhorias de desempenho.\n<li class=\"l\"> Para ARM64, foi adicionada a suporte para a extens\u00e3o AMU (Activity Monitors Unit), definida no ARMv8.4 e que fornece contadores de desempenho utilizados para calcular os fatores de corre\u00e7\u00e3o da frequ\u00eancia no escalonador de tarefas.\n<\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=961e9c84077f\">Adicionada<\/a><\/noindex> suporte para dispositivos vDPA, que utilizam um canal de comunica\u00e7\u00e3o de dados conforme as especifica\u00e7\u00f5es do virtio. Dispositivos vDPA podem ser equipamentos fisicamente conectados ou dispositivos virtuais emulados por software.\n<li class=\"l\"> No subsistema GPIO <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=51c1064e82e7\">foi introduzida<\/a><\/noindex> um novo comando ioctl() para monitorar mudan\u00e7as, permitindo que o processo seja notificado sobre a altera\u00e7\u00e3o do estado de qualquer linha GPIO. Como exemplo de uso do novo comando <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=33f0c47b8fb4\">foi proposta<\/a><\/noindex> a ferramenta gpio-watch.\n<li class=\"l\"> No driver DRM i915 para placas de v\u00eddeo Intel <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=f365ab31efacb70bed1e821f7435626e0b2528a6\">inclu\u00edda<\/a><\/noindex> Suporte padr\u00e3o para chips Tigerlake (&#171;Gen12&#187;) e adicionada suporte inicial para controle de retroilumina\u00e7\u00e3o OLED. Melhorado o suporte para os chips Ice Lake, Elkhart Lake, Baytrail e Haswell.\n<li class=\"l\"> No driver amdgpu <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=f365ab31efacb70bed1e821f7435626e0b2528a6\">foi adicionada<\/a><\/noindex> Possibilidade de carregar firmwares no chip USBC para ASIC. Melhorado o suporte para os chips AMD Ryzen 4000 &#171;Renoir&#187;. Adicionada suporte para controle de pain\u00e9is OLED. Garantido a exibi\u00e7\u00e3o do estado do firmware no debugfs.\n<li class=\"l\"> No driver DRM vmwgfx para sistemas de virtualiza\u00e7\u00e3o VMware, foi adicionada a possibilidade de usar OpenGL 4 em sistemas convidados (anteriormente, apenas OpenGL 3.3 era suportado).\n<li class=\"l\"> Adicionado novo driver DRM tidss para o sistema de exibi\u00e7\u00e3o da plataforma TI Keystone.\n<li class=\"l\"> Novos drivers para pain\u00e9is LCD adicionados: Feixin K101 IM2BA02, Samsung s6e88a0-ams452ef01, Novatek NT35510, Elida KD35T133, EDT, NewEast Optoelectronics WJFH116008A, Rocktech RK101II01D-CT, Frida FRD350H54004.\n<li class=\"l\"> No sistema de gerenciamento de energia <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/16292bed9c56a20715d942fd5d9e025f01fa65fe\">foi adicionada<\/a><\/noindex> suporte \u00e0 plataforma Intel Jasper Lake (JSL) baseada em Atom.\n<li class=\"l\"> Adicionado suporte para o laptop Pinebook Pro baseado no Rockchip RK3399, o tablet Pine64 PineTab e o smartphone <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52662\">PinePhone<\/a><\/noindex>  baseado no Allwinner A64.\n<li class=\"l\"> Adicionados suporte a novos codecs de \u00e1udio e chips:<br \/>\n Amlogic AIU, Amlogic T9015, Texas Instruments TLV320ADCX140, Realtek RT5682, ALC245, Broadcom BCM63XX I2S, Maxim MAX98360A, Presonus Studio 1810c, MOTU MicroBook IIc.<\/p>\n<li class=\"l\"> Adicionada suporte para placas ARM e plataformas Qualcomm Snapdragon 865 (SM8250), IPQ6018, NXP i.MX8M Plus, Kontron &#171;sl28&#187;, 11 variantes da placa i.MX6 TechNexion Pico, tr\u00eas novas variantes Toradex Colibri, Samsung S7710 Galaxy Xcover 2 baseada no ST-Ericsson u8500, DH Electronics DHCOM SoM e PDK2, Renesas M3ULCB, Hoperun HiHope, Linutronix Testbox v2, PocketBook Touch Lux 3.\n<\/ul>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53062\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.7. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0424\u0421 exFAT, \u043c\u043e\u0434\u0443\u043b\u044c bareudp \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f UDP-\u0442\u0443\u043d\u043d\u0435\u043b\u0435\u0439, \u0437\u0430\u0449\u0438\u0442\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u043b\u044f ARM64, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u044f BPF-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043a LSM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Curve25519, \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 &#171;split-lock&#187;, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c BPF \u0441 PREEMPT_RT, \u0441\u043d\u044f\u0442\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 80-\u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435, \u0443\u0447\u0451\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-83515","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-7\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.7 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-7\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-01T11:41:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-01T11:41:56+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lan\u00e7amento do Kernel Linux 5.7 | ProHoster","description":"Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds apresentou o lan\u00e7amento do n\u00facleo Linux.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-7","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 5.7 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-7","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-01T11:41:56+00:00","article:modified_time":"2020-06-01T11:41:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83515","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:16:22","updated":"2022-10-03 19:48:18","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/83515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=83515"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/83515\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=83515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=83515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=83515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}