{"id":18616539,"url":"https://github.com/ronflima/processos","last_synced_at":"2025-04-11T01:31:49.711Z","repository":{"id":71262843,"uuid":"95383657","full_name":"ronflima/processos","owner":"ronflima","description":"Material de Apoio para a palestra sobre processos e threads.","archived":true,"fork":false,"pushed_at":"2018-11-04T13:58:10.000Z","size":136,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-18T04:52:16.816Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ronflima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-25T20:19:01.000Z","updated_at":"2024-04-07T14:04:12.000Z","dependencies_parsed_at":"2023-03-01T12:30:50.646Z","dependency_job_id":null,"html_url":"https://github.com/ronflima/processos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronflima%2Fprocessos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronflima%2Fprocessos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronflima%2Fprocessos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronflima%2Fprocessos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ronflima","download_url":"https://codeload.github.com/ronflima/processos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248325248,"owners_count":21084897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T03:35:38.378Z","updated_at":"2025-04-11T01:31:49.706Z","avatar_url":"https://github.com/ronflima.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Processos, Threads e Fibers\n\nEste repositório é o material de apoio à palestra sobre processos, threads e\nfibras. São apresentados textos com mais detalhamentos sobre o que foi\napresentado pela palestra.\n\n## Por que processos e threads?\n\nApesar da computação comercial focar-se, basicamente, em resolver problemas de\nnegócio, é preciso compreender como os sistemas operacionais funcionam no\nintuito de tirar o máximo proveito de suas características. O conhecimento sobre\nprocessos e threads permitem ao programador desenhar melhor sua solução,\ntornando-a mais tolerante à intempéries.\n\nTodos os sistemas operacionais comerciais implementam algum tipo de\nmulti-processamento e multi-threading. O que muda é basicamente as APIs de\nprogramação disponíveis aos programadores. No entanto, de nada adianta o\nconhecimento das APIs sem que se conheça os conceitos sobre os quais as mesmas\nforam construídas.\n\n# Organização deste material\n\nEste material foi organizado da mesma forma como a palestra, ou seja, em duas\npartes à saber:\n\n- [Processos](processes), o que são, como funcionam e o que é a concorrência.\n- [Threads](threads), como funcionam e como são implementadas em kernel space e user space.\n\nOs exemplos são apresentados através de duas linguagens diferentes: Linguagem C\ne Swift. Escolheu-se a linguagem C para demonstrar o uso de system calls pela\nfacilidade com a qual a linguagem integra-se aos sistemas unix.\n\nOs exemplos em C são compilados com o GCC em plataformas linux ou clang no\nmacOS. O código já tem tudo o que é preciso para compilar. Normalmente basta\nexecutar o script de configuração `config` e depois executar `make` para\nrealizar a compilação.\n\nMais instruções estarão nos respectivos diretórios dos exemplos. \n\nA linguagem Swift foi utilizada no intuito de demonstrar como a Apple implementa\nalgumas facilidades através da sua biblioteca Foundation. Instruções de\ncompilação estarão disponíveis nos diretórios dos exemplos.\n\nOs exemplos em swift podem ser compilados em Linux usando o Swift para\nlinux. [Veja aqui](https://swift.org/download/#using-downloads) como instalar o\ncompilador Swift no seu linux para poder executar os exemplos.\n\n# Licença\n\nEste material de apoio é distribuído sob a [licença MIT](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronflima%2Fprocessos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fronflima%2Fprocessos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronflima%2Fprocessos/lists"}