{"version":1,"pages":[{"id":"zYo3dRnaMi0I6KJZgoVa","title":"Introdução","pathname":"/","siteSpaceId":"sitesp_o8g2e"},{"id":"HyphDPJvHgN7fnWdNC0O","title":"First things first","pathname":"/first-things-first","siteSpaceId":"sitesp_o8g2e"},{"id":"1tot9fJ7eAmhYVd8hOMw","title":"Agradecimentos","pathname":"/agradecimentos","siteSpaceId":"sitesp_o8g2e"},{"id":"Spw3jnG1RjdnR4L48zm6","title":"O que é o programa no sistema operacional","pathname":"/parte-i-concorrencia-no-sistema-operacional/o-que-e-o-programa-no-sistema-operacional","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"plhP9u00ICCwce0ut8Dk","title":"Escalonador preemptivo de tarefas","pathname":"/parte-i-concorrencia-no-sistema-operacional/escalonador-preemptivo-de-tarefas","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"UWMSXDfoxAc7aqtpUtzM","title":"Uma nota sobre escalonamento cooperativo","pathname":"/parte-i-concorrencia-no-sistema-operacional/uma-nota-sobre-escalonamento-cooperativo","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"ka1uJbFnU3Uz0GQHZDv4","title":"Propriedades de um processo","pathname":"/parte-i-concorrencia-no-sistema-operacional/propriedades-de-um-processo","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"zGMiRrvzs2RXcTZr1y6t","title":"Clone de processo (forking)","pathname":"/parte-i-concorrencia-no-sistema-operacional/clone-de-processo-forking","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"kvbJTe7sV8KvRLo14e0t","title":"Clone leve de processo (thread)","pathname":"/parte-i-concorrencia-no-sistema-operacional/clone-leve-de-processo-thread","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"ULEHpt6SsAs3BbW9kErM","title":"Todo processo tem uma thread principal","pathname":"/parte-i-concorrencia-no-sistema-operacional/todo-processo-tem-uma-thread-principal","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"cg3xnCJ9wbLwuUdy0B2B","title":"Uma nota sobre paralelismo","pathname":"/parte-i-concorrencia-no-sistema-operacional/uma-nota-sobre-paralelismo","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"o3KwKXnQHI32VSe1wZlt","title":"Principais desafios em cenário de concorrência","pathname":"/parte-i-concorrencia-no-sistema-operacional/principais-desafios-em-cenario-de-concorrencia","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"bzvfBSUAIDqHy4MbJvn5","title":"Race condition","pathname":"/parte-i-concorrencia-no-sistema-operacional/principais-desafios-em-cenario-de-concorrencia/race-condition","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"},{"label":"Principais desafios em cenário de concorrência"}]},{"id":"plB8CfN27XbQ3OhQvXTO","title":"Sincronização com locks","pathname":"/parte-i-concorrencia-no-sistema-operacional/principais-desafios-em-cenario-de-concorrencia/sincronizacao-com-locks","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"},{"label":"Principais desafios em cenário de concorrência"}]},{"id":"1lztDqBy6vXUno8hsyD3","title":"Modelo de atores","pathname":"/parte-i-concorrencia-no-sistema-operacional/principais-desafios-em-cenario-de-concorrencia/modelo-de-atores","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"},{"label":"Principais desafios em cenário de concorrência"}]},{"id":"ACadB8E41kwnBUQFEXYz","title":"E o I/O?","pathname":"/parte-i-concorrencia-no-sistema-operacional/e-o-i-o","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"tEK0bYFqbRKwcUG9L5OD","title":"Latência de CPU vs Latência de I/O","pathname":"/parte-i-concorrencia-no-sistema-operacional/e-o-i-o/latencia-de-cpu-vs-latencia-de-i-o","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"},{"label":"E o I/O?"}]},{"id":"4vy9fj6MSdFE28iHNzzU","title":"Chamadas bloqueantes","pathname":"/parte-i-concorrencia-no-sistema-operacional/e-o-i-o/chamadas-bloqueantes","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"},{"label":"E o I/O?"}]},{"id":"PG2MiLrtD3N0aSQlwFLW","title":"Chamadas não-bloqueantes","pathname":"/parte-i-concorrencia-no-sistema-operacional/e-o-i-o/chamadas-nao-bloqueantes","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"},{"label":"E o I/O?"}]},{"id":"tH2PCn5fuLSa5QvL9sSZ","title":"Assincronismo e escalonamento cooperativo","pathname":"/parte-i-concorrencia-no-sistema-operacional/e-o-i-o/assincronismo-e-escalonamento-cooperativo","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"},{"label":"E o I/O?"}]},{"id":"3YcVXcSQx5GgtfaG55NL","title":"Vamos colocar em prática...","pathname":"/parte-i-concorrencia-no-sistema-operacional/vamos-colocar-em-pratica...","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"Parte I - Concorrência no sistema operacional","icon":"ring"}]},{"id":"1ecDFWxxd77ddACeVCxz","title":"Definindo ambientes de execução","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/definindo-ambientes-de-execucao","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"}]},{"id":"GI30GZZWnkAtE03WklZ3","title":"Concorrência em C","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"}]},{"id":"CHVftZo1xVCiun8e1kIs","title":"Forking de processos","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/forking-de-processos","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"s8SPxI4UW0ZiIZLDmTwz","title":"Threads","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/threads","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"LLBeFoQIAjNmvAhmw7PB","title":"Race condition e sincronização de threads com mutex","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/race-condition-e-sincronizacao-de-threads-com-mutex","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"erTe1f5U6KAPtiW2t6TL","title":"Desafios com o uso de threads","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/desafios-com-o-uso-de-threads","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"U8pEJLaL7bWVOBvJhmc2","title":"Thread Pool em C","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/thread-pool-em-c","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"OncnasUevQAwMro8Pn7y","title":"Green threads","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/green-threads","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"KqBAmdLzKFhQU1AleTcn","title":"Modelo de Atores","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/modelo-de-atores","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"CbWopttkiX6fccfz9rI7","title":"Trabalhando com I/O","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-c/trabalhando-com-i-o","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em C"}]},{"id":"JN7CVTVRtGtKZuwubjzI","title":"Concorrência em Ruby","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-ruby","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"}]},{"id":"X28XRgPJAvjq4EUdPPt7","title":"Forking de processos","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-ruby/forking-de-processos","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em Ruby"}]},{"id":"SpckXiDj3KUKDkeAVIyh","title":"Threads","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-ruby/threads","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em Ruby"}]},{"id":"4bph63hFw3dWtQsuR5He","title":"Race condition, YARV, GVL e paralelismo em Ruby","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-ruby/race-condition-yarv-gvl-e-paralelismo-em-ruby","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em Ruby"}]},{"id":"W8BJdhOkPyFSz6nfxb4A","title":"Modelo de Atores","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-ruby/modelo-de-atores","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em Ruby"}]},{"id":"5EbYNPbYde6iR3x3Lc1B","title":"Trabalhando com I/O","pathname":"/parte-ii-concorrencia-em-diferentes-linguagens/concorrencia-em-ruby/trabalhando-com-i-o","siteSpaceId":"sitesp_o8g2e","breadcrumbs":[{"label":"PARTE II - Concorrência em diferentes linguagens","icon":"calendar-days"},{"label":"Concorrência em Ruby"}]}]}