{"id":3734,"date":"2025-04-09T17:08:15","date_gmt":"2025-04-09T20:08:15","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=3734"},"modified":"2025-04-29T15:49:21","modified_gmt":"2025-04-29T18:49:21","slug":"memoria-virtual-nos-sistemas-operacionais","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/","title":{"rendered":"Mem\u00f3ria Virtual nos Sistemas Operacionais"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 6<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Mem\u00f3ria Virtual nos Sistemas Operacionais:<\/strong> A mem\u00f3ria principal (RAM) \u00e9 um recurso finito e valioso em qualquer sistema computacional. No entanto, os aplicativos modernos frequentemente exigem mais mem\u00f3ria do que a fisicamente dispon\u00edvel. Para superar essa limita\u00e7\u00e3o e permitir a execu\u00e7\u00e3o de programas maiores e um maior n\u00famero de processos simultaneamente, os sistemas operacionais empregam uma t\u00e9cnica engenhosa chamada <strong>mem\u00f3ria virtual<\/strong>. A mem\u00f3ria virtual cria a ilus\u00e3o de que um processo possui um espa\u00e7o de endere\u00e7amento de mem\u00f3ria muito maior do que a RAM real instalada no sistema. Dois mecanismos chave que tornam a mem\u00f3ria virtual poss\u00edvel s\u00e3o a <strong>pagina\u00e7\u00e3o sob demanda<\/strong> e o <strong>swapping<\/strong>. <\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Compreender como esses conceitos funcionam \u00e9 fundamental tanto para usu\u00e1rios que se deparam com lentid\u00e3o no sistema quanto para profissionais de infraestrutura que precisam otimizar o desempenho de servidores e aplica\u00e7\u00f5es com uso intensivo de mem\u00f3ria. <\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Este artigo explora de forma did\u00e1tica o fascinante mundo da mem\u00f3ria virtual, detalhando o funcionamento da pagina\u00e7\u00e3o sob demanda e do swapping, e ilustrando como eles expandem os horizontes da capacidade de processamento dos nossos computadores.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Mem\u00f3ria Virtual<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A mem\u00f3ria virtual \u00e9 uma t\u00e9cnica de gerenciamento de mem\u00f3ria que abstrai a mem\u00f3ria f\u00edsica real para fornecer aos processos um espa\u00e7o de endere\u00e7amento l\u00f3gico cont\u00edguo muito maior. Esse espa\u00e7o de endere\u00e7amento virtual \u00e9 dividido em unidades de tamanho fixo chamadas <strong>p\u00e1ginas<\/strong>. A mem\u00f3ria f\u00edsica (RAM) tamb\u00e9m \u00e9 dividida em unidades de tamanho fixo correspondentes, chamadas <strong>frames<\/strong> (ou quadros de p\u00e1gina). A magia da mem\u00f3ria virtual reside em n\u00e3o carregar todas as p\u00e1ginas de um processo na mem\u00f3ria f\u00edsica simultaneamente.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Pagina\u00e7\u00e3o sob Demanda (Demand Paging): Carregando Apenas o Necess\u00e1rio<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A <strong>pagina\u00e7\u00e3o sob demanda<\/strong> \u00e9 uma estrat\u00e9gia fundamental da mem\u00f3ria virtual. O princ\u00edpio b\u00e1sico \u00e9 simples: uma p\u00e1gina s\u00f3 \u00e9 carregada na mem\u00f3ria principal (em um frame) quando o processo tenta acessar um endere\u00e7o l\u00f3gico dentro dessa p\u00e1gina pela primeira vez. As p\u00e1ginas que n\u00e3o est\u00e3o sendo usadas ativamente permanecem armazenadas no disco r\u00edgido, em uma \u00e1rea especial chamada <strong>espa\u00e7o de swap<\/strong> (ou \u00e1rea de troca).<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Como Funciona a Pagina\u00e7\u00e3o sob Demanda<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Inicializa\u00e7\u00e3o do Processo:<\/strong> Quando um processo \u00e9 iniciado, apenas as p\u00e1ginas essenciais para iniciar sua execu\u00e7\u00e3o (por exemplo, a primeira parte do c\u00f3digo) s\u00e3o carregadas na mem\u00f3ria principal. As outras p\u00e1ginas permanecem no espa\u00e7o de swap.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Acesso \u00e0 Mem\u00f3ria:<\/strong> \u00c0 medida que o processo executa, ele acessa diferentes endere\u00e7os l\u00f3gicos. A unidade de gerenciamento de mem\u00f3ria (MMU &#8211; Memory Management Unit), um hardware especializado na CPU, traduz os endere\u00e7os l\u00f3gicos gerados pelo processo em endere\u00e7os f\u00edsicos na mem\u00f3ria principal.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Page Fault:<\/strong> Se o processo tenta acessar um endere\u00e7o l\u00f3gico que corresponde a uma p\u00e1gina que n\u00e3o est\u00e1 atualmente na mem\u00f3ria principal (ou seja, a p\u00e1gina est\u00e1 no espa\u00e7o de swap ou ainda n\u00e3o foi carregada), ocorre uma <strong>falha de p\u00e1gina<\/strong> (page fault).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Tratamento da Falha de P\u00e1gina:<\/strong> Quando ocorre uma falha de p\u00e1gina, a CPU interrompe o processo e transfere o controle para o sistema operacional. O SO ent\u00e3o realiza as seguintes etapas:\n<ul class=\"wp-block-list\">\n<li><strong>Verifica\u00e7\u00e3o:<\/strong> Verifica se o acesso ao endere\u00e7o l\u00f3gico \u00e9 v\u00e1lido. Se n\u00e3o for (por exemplo, o processo tenta acessar uma \u00e1rea de mem\u00f3ria que n\u00e3o lhe pertence), o processo \u00e9 terminado.<\/li>\n\n\n\n<li><strong>Localiza\u00e7\u00e3o da P\u00e1gina:<\/strong> Se o acesso for v\u00e1lido, o SO localiza a p\u00e1gina correspondente no espa\u00e7o de swap.<\/li>\n\n\n\n<li><strong>Carregamento da P\u00e1gina:<\/strong> O SO encontra um frame livre na mem\u00f3ria principal. Se n\u00e3o houver frames livres, uma p\u00e1gina residente precisa ser removida (esse processo \u00e9 chamado de substitui\u00e7\u00e3o de p\u00e1ginas, que ser\u00e1 discutido posteriormente). A p\u00e1gina desejada \u00e9 ent\u00e3o carregada do espa\u00e7o de swap para o frame livre na mem\u00f3ria principal.<\/li>\n\n\n\n<li><strong>Atualiza\u00e7\u00e3o da Tabela de P\u00e1ginas:<\/strong> A tabela de p\u00e1ginas do processo \u00e9 atualizada para indicar que a p\u00e1gina agora est\u00e1 presente na mem\u00f3ria principal e qual o frame f\u00edsico que ela ocupa.<\/li>\n\n\n\n<li><strong>Retomada do Processo:<\/strong> A CPU retoma a execu\u00e7\u00e3o do processo na instru\u00e7\u00e3o que causou a falha de p\u00e1gina. Agora, o acesso \u00e0 mem\u00f3ria pode ser realizado com sucesso.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Swapping: Movendo Processos Inteiros para o Disco<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Embora a pagina\u00e7\u00e3o sob demanda lide com a movimenta\u00e7\u00e3o de p\u00e1ginas individuais, o <strong>swapping<\/strong> \u00e9 um mecanismo mais abrangente que envolve mover processos inteiros (ou partes significativas deles) da mem\u00f3ria principal para o espa\u00e7o de swap no disco r\u00edgido, liberando uma grande quantidade de mem\u00f3ria principal de uma s\u00f3 vez. O swapping \u00e9 geralmente utilizado quando o sistema est\u00e1 sob forte press\u00e3o de mem\u00f3ria e precisa liberar mem\u00f3ria rapidamente para permitir a execu\u00e7\u00e3o de outros processos de alta prioridade ou para evitar uma falha completa do sistema.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Como Funciona o Swapping<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Press\u00e3o de Mem\u00f3ria:<\/strong> Quando a mem\u00f3ria principal se torna escassa, o sistema operacional pode decidir &#8220;swappar&#8221; um ou mais processos inativos ou de baixa prioridade para o disco.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Sele\u00e7\u00e3o do Processo:<\/strong> O SO utiliza crit\u00e9rios para escolher quais processos ser\u00e3o movidos para o swap (por exemplo, processos que n\u00e3o foram executados recentemente).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Movimento para o Swap:<\/strong> O estado completo do processo (incluindo seu c\u00f3digo, dados e pilha) \u00e9 copiado da mem\u00f3ria principal para o espa\u00e7o de swap no disco. Os frames de mem\u00f3ria ocupados pelo processo s\u00e3o ent\u00e3o liberados.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Retorno do Processo (Swap In):<\/strong> Quando um processo que foi swappado precisa ser executado novamente ou quando seus dados s\u00e3o necess\u00e1rios, o SO o traz de volta (swap in) do disco para a mem\u00f3ria principal. Isso pode envolver a remo\u00e7\u00e3o de outros processos da mem\u00f3ria principal (possivelmente tamb\u00e9m via swapping) se n\u00e3o houver espa\u00e7o livre suficiente.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Rela\u00e7\u00e3o entre Pagina\u00e7\u00e3o sob Demanda e Swapping<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A pagina\u00e7\u00e3o sob demanda \u00e9 um mecanismo mais granular e ocorre em n\u00edvel de p\u00e1gina, enquanto o swapping opera em n\u00edvel de processo. Em muitos sistemas modernos, a pagina\u00e7\u00e3o sob demanda \u00e9 a t\u00e9cnica prim\u00e1ria de gerenciamento de mem\u00f3ria virtual, e o swapping \u00e9 usado como um mecanismo de \u00faltimo recurso em situa\u00e7\u00f5es de extrema falta de mem\u00f3ria. No entanto, em alguns sistemas, o swapping pode ser usado de forma mais ativa para gerenciar a mem\u00f3ria entre processos.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Benef\u00edcios da Mem\u00f3ria Virtual<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Execu\u00e7\u00e3o de Programas Maiores que a Mem\u00f3ria F\u00edsica:<\/strong> A mem\u00f3ria virtual permite que os usu\u00e1rios executem aplicativos que exigem mais mem\u00f3ria do que a RAM instalada.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Aumento do Grau de Multiprograma\u00e7\u00e3o:<\/strong> Mais processos podem ser mantidos na mem\u00f3ria principal simultaneamente, aumentando a utiliza\u00e7\u00e3o da CPU e o throughput do sistema.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Melhor Utiliza\u00e7\u00e3o da Mem\u00f3ria:<\/strong> Apenas as p\u00e1ginas que est\u00e3o sendo usadas ativamente precisam estar na mem\u00f3ria principal, liberando espa\u00e7o para outros processos.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Suporte para Compartilhamento de Mem\u00f3ria:<\/strong> V\u00e1rios processos podem compartilhar as mesmas p\u00e1ginas de mem\u00f3ria (por exemplo, bibliotecas compartilhadas), economizando mem\u00f3ria f\u00edsica.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Desafios da Mem\u00f3ria Virtual<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Sobrecarga de Desempenho:<\/strong> Ocorre uma sobrecarga quando uma p\u00e1gina necess\u00e1ria n\u00e3o est\u00e1 na mem\u00f3ria principal (page fault), pois \u00e9 preciso acessar o disco, que \u00e9 muito mais lento que a RAM. Um n\u00famero excessivo de falhas de p\u00e1gina pode levar ao <strong>thrashing<\/strong>, onde o sistema gasta mais tempo trocando p\u00e1ginas do que executando os processos, resultando em lentid\u00e3o extrema.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Complexidade do Gerenciamento:<\/strong> O gerenciamento da mem\u00f3ria virtual requer algoritmos sofisticados para a substitui\u00e7\u00e3o de p\u00e1ginas e para evitar o thrashing.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Implica\u00e7\u00f5es para Diferentes Usu\u00e1rios<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Usu\u00e1rios Iniciantes:<\/strong> Compreender que a mem\u00f3ria virtual permite executar mais programas mesmo com pouca RAM, mas que o excesso de programas abertos pode levar \u00e0 lentid\u00e3o devido ao acesso constante ao disco (swapping).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Usu\u00e1rios Avan\u00e7ados:<\/strong> Monitorar o uso da mem\u00f3ria e a atividade do disco (especialmente o uso do espa\u00e7o de swap) pode ajudar a identificar gargalos de desempenho relacionados \u00e0 mem\u00f3ria virtual.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Desenvolvedores de Software:<\/strong> Escrever programas que utilizem a mem\u00f3ria de forma eficiente, minimizando o n\u00famero de falhas de p\u00e1gina (princ\u00edpio da localidade de refer\u00eancia), \u00e9 crucial para o bom desempenho em sistemas com mem\u00f3ria virtual.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Profissionais de Infraestrutura:<\/strong> Dimensionar adequadamente a RAM em servidores \u00e9 fundamental para minimizar o swapping e garantir o desempenho das aplica\u00e7\u00f5es. Configurar o espa\u00e7o de swap de forma apropriada e monitorar seu uso s\u00e3o tarefas importantes na administra\u00e7\u00e3o de sistemas.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Conclus\u00e3o<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Mem\u00f3ria Virtual nos Sistemas Operacionais:<\/strong> A mem\u00f3ria virtual, impulsionada pela pagina\u00e7\u00e3o sob demanda e, em situa\u00e7\u00f5es de press\u00e3o, pelo swapping, \u00e9 uma t\u00e9cnica essencial que expande significativamente a capacidade de processamento dos sistemas operacionais modernos. Ao criar a ilus\u00e3o de uma mem\u00f3ria maior e carregar apenas as p\u00e1ginas necess\u00e1rias na RAM, a mem\u00f3ria virtual permite a execu\u00e7\u00e3o de aplicativos complexos e a multitarefa eficiente. <\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No entanto, \u00e9 crucial entender os poss\u00edveis impactos no desempenho, como o thrashing, e otimizar o uso da mem\u00f3ria tanto no n\u00edvel do sistema operacional quanto no n\u00edvel das aplica\u00e7\u00f5es. A gest\u00e3o inteligente da mem\u00f3ria virtual \u00e9 um equil\u00edbrio delicado entre a utiliza\u00e7\u00e3o eficiente dos recursos e a garantia de uma experi\u00eancia de usu\u00e1rio responsiva e produtiva.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Se voc\u00ea est\u00e1 iniciando sua jornada no universo da computa\u00e7\u00e3o, desenvolva uma base s\u00f3lida com nossos artigos sobre Hardware. Caso voc\u00ea j\u00e1 domine tudo sobre Hardware e tem conhecimento sobre os principais conceitos sobre Sistemas Operacionais, pode ir ainda mais al\u00e9m: se aprofundar no sistema operacional do pinguim e se preparar para as certifica\u00e7\u00f5es de entrada do universo Linux!!!<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/hardware\/\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/hardware.png\" alt=\"Hardware\" class=\"wp-image-3511\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/hardware.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/hardware-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">Hardware<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/linux\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/linux.png\" alt=\"Thiago Rossi Linux\" class=\"wp-image-405\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/linux.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/linux-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">Linux<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 6<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Mem\u00f3ria Virtual nos Sistemas Operacionais: A mem\u00f3ria principal (RAM) \u00e9 um recurso finito e valioso&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3510,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-3734","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sistemas-operacionais","wpcat-33-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mem\u00f3ria Virtual nos Sistemas Operacionais - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Mem\u00f3ria Virtual nos Sistemas Operacionais: Este artigo explora de forma did\u00e1tica o fascinante mundo da mem\u00f3ria virtual, detalhando o ...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mem\u00f3ria Virtual nos Sistemas Operacionais - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Mem\u00f3ria Virtual nos Sistemas Operacionais: Este artigo explora de forma did\u00e1tica o fascinante mundo da mem\u00f3ria virtual, detalhando o ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-09T20:08:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-29T18:49:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/sistemas-operacionais.png\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"Mem\u00f3ria Virtual nos Sistemas Operacionais\",\"datePublished\":\"2025-04-09T20:08:15+00:00\",\"dateModified\":\"2025-04-29T18:49:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/\"},\"wordCount\":1743,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/sistemas-operacionais.png\",\"articleSection\":[\"Sistemas Operacionais\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/\",\"name\":\"Mem\u00f3ria Virtual nos Sistemas Operacionais - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/sistemas-operacionais.png\",\"datePublished\":\"2025-04-09T20:08:15+00:00\",\"dateModified\":\"2025-04-29T18:49:21+00:00\",\"description\":\"Mem\u00f3ria Virtual nos Sistemas Operacionais: Este artigo explora de forma did\u00e1tica o fascinante mundo da mem\u00f3ria virtual, detalhando o ...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/sistemas-operacionais.png\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/sistemas-operacionais.png\",\"width\":758,\"height\":426,\"caption\":\"Sistemas Operacionais\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/memoria-virtual-nos-sistemas-operacionais\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mem\u00f3ria Virtual nos Sistemas Operacionais\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de experi\u00eancia em tecnologia, atuo como Engenheiro de Computa\u00e7\u00e3o, desenvolvedor de sistemas, escritor e produtor de conte\u00fado. Minha trajet\u00f3ria passa pelo ensino t\u00e9cnico, desenvolvimento web, arquitetura de sistemas e cria\u00e7\u00e3o de solu\u00e7\u00f5es voltadas para a ind\u00fastria de jogos digitais. Acredito que conhecimento deve ser acess\u00edvel e aplic\u00e1vel. Essa vis\u00e3o resultou em uma biblioteca com mais de 550 artigos gratuitos, abrangendo temas como desenvolvimento web, infraestrutura, intelig\u00eancia artificial, Game Design, mercado de jogos e carreiras na ind\u00fastria de games. Sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\", uma obra dedicada ao planejamento e documenta\u00e7\u00e3o de jogos digitais, e criador do GameMeTRix, uma plataforma que auxilia desenvolvedores na an\u00e1lise e valida\u00e7\u00e3o de ideias para jogos. Meu trabalho busca conectar planejamento, tecnologia e mercado para ajudar criadores a transformar boas ideias em projetos vi\u00e1veis. Atualmente concentro meus estudos e projetos no desenvolvimento de jogos web, na cria\u00e7\u00e3o de metodologias para valida\u00e7\u00e3o de produtos digitais e na produ\u00e7\u00e3o de conte\u00fado t\u00e9cnico voltado ao ecossistema de jogos. Meu compromisso \u00e9 unir teoria, pr\u00e1tica e experi\u00eancia de mercado para contribuir com o crescimento de novos desenvolvedores e profissionais da \u00e1rea.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mem\u00f3ria Virtual nos Sistemas Operacionais - BLOG THIAGO ROSSI","description":"Mem\u00f3ria Virtual nos Sistemas Operacionais: Este artigo explora de forma did\u00e1tica o fascinante mundo da mem\u00f3ria virtual, detalhando o ...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/","og_locale":"pt_BR","og_type":"article","og_title":"Mem\u00f3ria Virtual nos Sistemas Operacionais - BLOG THIAGO ROSSI","og_description":"Mem\u00f3ria Virtual nos Sistemas Operacionais: Este artigo explora de forma did\u00e1tica o fascinante mundo da mem\u00f3ria virtual, detalhando o ...","og_url":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2025-04-09T20:08:15+00:00","article_modified_time":"2025-04-29T18:49:21+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/sistemas-operacionais.png","type":"image\/png"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"Mem\u00f3ria Virtual nos Sistemas Operacionais","datePublished":"2025-04-09T20:08:15+00:00","dateModified":"2025-04-29T18:49:21+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/"},"wordCount":1743,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/sistemas-operacionais.png","articleSection":["Sistemas Operacionais"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/","url":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/","name":"Mem\u00f3ria Virtual nos Sistemas Operacionais - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/sistemas-operacionais.png","datePublished":"2025-04-09T20:08:15+00:00","dateModified":"2025-04-29T18:49:21+00:00","description":"Mem\u00f3ria Virtual nos Sistemas Operacionais: Este artigo explora de forma did\u00e1tica o fascinante mundo da mem\u00f3ria virtual, detalhando o ...","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/sistemas-operacionais.png","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/sistemas-operacionais.png","width":758,"height":426,"caption":"Sistemas Operacionais"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/memoria-virtual-nos-sistemas-operacionais\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Mem\u00f3ria Virtual nos Sistemas Operacionais"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de experi\u00eancia em tecnologia, atuo como Engenheiro de Computa\u00e7\u00e3o, desenvolvedor de sistemas, escritor e produtor de conte\u00fado. Minha trajet\u00f3ria passa pelo ensino t\u00e9cnico, desenvolvimento web, arquitetura de sistemas e cria\u00e7\u00e3o de solu\u00e7\u00f5es voltadas para a ind\u00fastria de jogos digitais. Acredito que conhecimento deve ser acess\u00edvel e aplic\u00e1vel. Essa vis\u00e3o resultou em uma biblioteca com mais de 550 artigos gratuitos, abrangendo temas como desenvolvimento web, infraestrutura, intelig\u00eancia artificial, Game Design, mercado de jogos e carreiras na ind\u00fastria de games. Sou autor do livro \"GDD \u2013 O Guia Definitivo\", uma obra dedicada ao planejamento e documenta\u00e7\u00e3o de jogos digitais, e criador do GameMeTRix, uma plataforma que auxilia desenvolvedores na an\u00e1lise e valida\u00e7\u00e3o de ideias para jogos. Meu trabalho busca conectar planejamento, tecnologia e mercado para ajudar criadores a transformar boas ideias em projetos vi\u00e1veis. Atualmente concentro meus estudos e projetos no desenvolvimento de jogos web, na cria\u00e7\u00e3o de metodologias para valida\u00e7\u00e3o de produtos digitais e na produ\u00e7\u00e3o de conte\u00fado t\u00e9cnico voltado ao ecossistema de jogos. Meu compromisso \u00e9 unir teoria, pr\u00e1tica e experi\u00eancia de mercado para contribuir com o crescimento de novos desenvolvedores e profissionais da \u00e1rea.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/3734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3734"}],"version-history":[{"count":3,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/3734\/revisions"}],"predecessor-version":[{"id":3821,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/3734\/revisions\/3821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/3510"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}