{"id":12,"date":"2019-09-26T13:19:04","date_gmt":"2019-09-26T16:19:04","guid":{"rendered":"http:\/\/web.inf.ufpr.br\/bona2\/?page_id=12"},"modified":"2019-11-25T15:29:15","modified_gmt":"2019-11-25T17:29:15","slug":"projetos-de-sistemas-operacionais","status":"publish","type":"page","link":"https:\/\/web.inf.ufpr.br\/bona\/projetos-de-sistemas-operacionais\/","title":{"rendered":"Projetos de Sistemas Operacionais"},"content":{"rendered":"<p><\/p>\n\n\n<\/p>\n<h3>RESUMO<\/h3>\n<p>\n\n\n<p><\/p>\n\n\n<\/p>\n<p>T\u00e9cnicas para projeto e implementa\u00e7\u00e3o de Sistemas<br \/>Operacionais e seus componentes. Implementa\u00e7\u00e3o e Avalia\u00e7\u00e3o de Sistemas<br \/>de Arquivos, Subsistema de Arquivos Linux e estruturas relacionadas.<br \/>Subsistema FUSE para montagem de sistemas de arquivos em Espa\u00e7o de<br \/>Usu\u00e1rio. Introdu\u00e7\u00e3o a Sistemas de Arquivos Criptografados. Estudo de<br \/>Casos.<\/p>\n<p>\n\n\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/web.inf.ufpr.br\/bona\/wp-content\/uploads\/sites\/28\/2019\/11\/projetos-so-alunos.pdf\">NOTAS T1 e T2<br><br><\/a><a href=\"https:\/\/web.inf.ufpr.br\/bona\/wp-content\/uploads\/sites\/28\/2019\/11\/projetos-so-alunos.pdf\" class=\"wp-block-file__button\" download>Baixar<\/a><\/div>\n\n\n\n<\/p>\n<ol>\n<li>Revis\u00f5es de Sistemas Operacionais\n<ol>\n<li>Estrutura e funcionamento<\/li>\n<li>Gerenciamento de Processos, Mem\u00f3ria e Armazenamento<\/li>\n<li>Sem\u00e1foros, atomicidade e concorr\u00eancia<\/li>\n<\/ol>\n<\/li>\n<li>Trabalho 0: Aplica\u00e7\u00e3o <em>Multithreads<\/em> usando <em>systemcalls<\/em><\/li>\n<li>Estrutura de Sistemas de Arquivos (FS)\n<ol>\n<li>\u00a0Implementa\u00e7\u00e3o de Sistemas de Arquivos<\/li>\n<li>Implementa\u00e7\u00e3o de Diret\u00f3rios<\/li>\n<li>M\u00e9todos de aloca\u00e7\u00e3o e ger\u00eancia de espa\u00e7o<\/li>\n<li>O VFS (Virtual File System)<\/li>\n<\/ol>\n<\/li>\n<li>Subsistema de I\/O do Kernel Linux\n<ol>\n<li>Disk scheduling<\/li>\n<li>Cache<\/li>\n<li>Emula\u00e7\u00e3o de Dispostivos<\/li>\n<\/ol>\n<\/li>\n<li>\u00a0Implementa\u00e7\u00e3o de sistemas de arquivos\n<ol>\n<li>Trabalho 1:<\/li>\n<li>FUSE e VFS<\/li>\n<li>Uso Instru\u00e7\u00f5es paralelas (Bibliotecas com SIMD)<\/li>\n<li>An\u00e1lise de Efici\u00eancia e Desempenho<\/li>\n<\/ol>\n<\/li>\n<li>Estudo de Casos<\/li>\n<li>Sistemas de Arquivos Criptogr\u00e1ficos<\/li>\n<\/ol>\n<p>\n\n\n<p><\/p>\n\n\n<\/p>\n<h3 class=\"wp-block-heading\">AULAS<\/h3>\n<p>\n\n\n<p><\/p>\n\n\n<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Aula 1\n<ul>\n<li>Apresenta\u00e7\u00e3o do curso<\/li>\n<\/ul>\n<ul>\n<li>Estrutura de Sistemas Operacionais<\/li>\n<li>Capitulo 1 e 2 de [1]<\/li>\n<li>Parte 1 de [7]<\/li>\n<li>Outros detalhes:<a href=\"https:\/\/linux-kernel-labs.github.io\/master\/lectures\/intro.html#basic-operating-systems-terms-and-concepts\"> https:\/\/linux-kernel-labs.github.io\/master\/lectures\/intro.html#basic-operating-systems-terms-and-concepts<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Aula 2\n<ul>\n<li>Detalhes sobre o funcionamento das chamadas de sistema\n<ul>\n<li><a href=\"https:\/\/linux-kernel-labs.github.io\/master\/lectures\/syscalls.html\">https:\/\/linux-kernel-labs.github.io\/master\/lectures\/syscalls.html<\/a><\/li>\n<li>Reproduza os passos da se\u00e7\u00e3o: <a href=\"https:\/\/linux-kernel-labs.github.io\/master\/lectures\/syscalls.html#virtual-dynamic-shared-object-vdso\">https:\/\/linux-kernel-labs.github.io\/master\/lectures\/syscalls.html#virtual-dynamic-shared-object-vdso<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Chamadas de sistemas em Sistemas de Arquivos\n<ul>\n<li>Escreva um programa que copia o conte\u00fado de um arquivo para um arquivo de destino. Este programa funciona primeiro solicitando ao usu\u00e1rio o nome dos arquivos de origem e destino. Escreva este programa usando a POSIX API. Certifique-se de incluir todos os erros necess\u00e1rios verifica\u00e7\u00e3o, incluindo a garantia de que o arquivo de origem existe. Depois de ter projetado e testado corretamente o programa, se voc\u00ea usou um sistema que o suporta, execute o programa usando o comando strace. Explique que chamadas de sistema s\u00e3o feitas<\/li>\n<\/ul>\n<\/li>\n<li>Produza um relat\u00f3rio dessas atividades e entregue na pr\u00f3xima aula. Esses relat\u00f3rios integralizar\u00e3o a\u00a0 avalia\u00e7\u00e3o final.<\/li>\n<\/ul>\n<\/li>\n<li>Aula 3-5\n<ul>\n<li>Conceitos de processos e sincroniza\u00e7\u00e3o<\/li>\n<\/ul>\n<\/li>\n<li>Aula 6-11\n<ul>\n<li>Gerenciamento de mem\u00f3ria do Kernel Linux\n<ul>\n<li>Mem\u00f3ria F\u00edsica, Zonas e Pagina\u00e7\u00e3o\n<ul>\n<li><a href=\"https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand005.html\">https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand005.html<\/a><\/li>\n<li><a href=\"https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand006.html\">https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand006.html<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Buddy System<\/li>\n<li>Slabs\n<ul>\n<li><a href=\"https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand011.html\">https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand011.html<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Mem\u00f3ria Virtual\n<ul>\n<li>Espa\u00e7o de Endere\u00e7amento<\/li>\n<li>Pagina\u00e7\u00e3o sob demanda<\/li>\n<li>COW<\/li>\n<li>Overcommit and Out of Memory Killer\n<ul>\n<li><a href=\"https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand016.html\">https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand016.html<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Page Frame Reclaming\n<ul>\n<li>Pol\u00edticas, Listas, Page Cache\n<ul>\n<li><a href=\"https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand013.html\">https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand013.html<\/a><\/li>\n<li><a href=\"https:\/\/lwn.net\/Articles\/712467\/\">https:\/\/lwn.net\/Articles\/712467\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Kernel Recipes 2017 &#8211; 20 years of Linux virtual memory: <a href=\"https:\/\/www.youtube.com\/watch?v=pZghXbeCH5s\">https:\/\/www.youtube.com\/watch?v=pZghXbeCH5s<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Aula 12-17<\/li>\n<\/ul>\n<p>\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright\"><img decoding=\"async\" src=\"https:\/\/www.thomas-krenn.com\/de\/wikiDE\/images\/e\/e0\/Linux-storage-stack-diagram_v4.10.png\" alt=\"https:\/\/www.thomas-krenn.com\/de\/wikiDE\/images\/e\/e0\/Linux-storage-stack-diagram_v4.10.png\" \/><figcaption>Aulas 12-<br><\/figcaption><\/figure><\/div>\n\n\n<p><\/p>\n\n\n<ul class=\"wp-block-list\"><li>Conceitos b\u00e1sicos de FSs <ul><li>Conceitos B\u00e1sicos <ul><li>Arquivos, Diret\u00f3rio e Links <\/li><\/ul><\/li><li>Constru\u00e7\u00e3o de FSs <ul><li>Ger\u00eancia de espa\u00e7o livre<\/li><li>Aloca\u00e7\u00e3o de espa\u00e7o e arquivos<\/li><li>Implementa\u00e7\u00e3o de diret\u00f3rios <\/li><\/ul><\/li><li>Camada de blocos <ul><li>RAID<\/li><li>Algoritmos cl\u00e1ssicos de escalonamento<\/li><li>Multi-filas <ul><li><a href=\"http:\/\/www.kernel.dk\/blk-mq.pdf\">http:\/\/www.kernel.dk\/blk-mq.pdf<\/a> <\/li><\/ul><\/li><li>Escalonamento de IO MQ <ul><li><a href=\"https:\/\/wiki.ubuntu.com\/Kernel\/Reference\/IOSchedulers\">https:\/\/wiki.ubuntu.com\/Kernel\/Reference\/IOSchedulers<\/a><\/li><li><a href=\"https:\/\/pt.slideshare.net\/kerneltlv\/the-linux-block-layer-build-for-fast-storage\">https:\/\/pt.slideshare.net\/kerneltlv\/the-linux-block-layer-build-for-fast-storage<\/a><\/li><li><a href=\"https:\/\/lwn.net\/Articles\/720675\/\">https:\/\/lwn.net\/Articles\/720675\/<\/a>   <\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li><a href=\"https:\/\/events.static.linuxfound.org\/sites\/events\/files\/slides\/lemoal-nvme-polling-vault-2017-final_0.pdf\">https:\/\/events.static.linuxfound.org\/sites\/events\/files\/slides\/lemoal-nvme-polling-vault-2017-final_0.pdf<\/a><\/li><\/ul>\n\n\n<p><\/p>\n<h3>ARTIGOS<\/h3>\n<p>VANGOOR, Bharath Kumar Reddy; TARASOV, Vasily; ZADOK, Erez. To {FUSE}<br>or Not to {FUSE}: Performance of User-Space File Systems. In: <strong>15th {USENIX} Conference on File and Storage Technologies ({FAST} 17)<\/strong>. 2017. p. 59-72.<\/p>\n<p>TARASOV, Vasily; ZADOK, Erez; SHEPLER, Spencer. Filebench: A flexible framework for file system benchmarking. <strong>login: The USENIX Magazine<\/strong>, v. 41, n. 1, p. 6-12, 2016.<\/p>\n<p>EDUARDO, Vandeir; DE BONA, Luis C. Erpen; ZOLA, Wagner M. Nunan.<br>Speculative Encryption on {GPU} Applied to Cryptographic File Systems.<br>In: <strong>17th {USENIX} Conference on File and Storage Technologies ({FAST} 19)<\/strong>. 2019. p. 93-105.<\/p>\n<p>BONA, Luis CE et al. Freezing Time: a new approach for emulating fast storage devices using VM. In: <strong>2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS)<\/strong>. IEEE, 2018. p. 16-24.<\/p>\n<p>ROCHA, Pedro Eug\u00eanio; BONA, Luis CE. A QoS aware non-work-conserving disk scheduler. In: <strong>012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST)<\/strong>. IEEE, 2012. p. 1-5.<\/p>\n<p>DOS SANTOS, Leonardo A.; MAZIERO, Carlos A.; DE BONA, Luis Carlos E.<br>Avalia\u00e7\u00e3o de Caches em Dispositivos de Armazenamento Secund\u00e1rio com<br>SSDs.<\/p>\n<h3>BIBLIOGRAFIA<\/h3>\n<ul>\n<li>[1] SILBERSCHATZ, Avi; GALVIN, Peter B.; GAGNE, Greg. Operating system concepts. 7.ed. Hoboken: Wiley. 2005.<\/li>\n<li>[2] TANENBAUM, Andrew. Sistemas operacionais modernos. Rio de Janeiro: LTC. 1999.<\/li>\n<li>[3] CESATI, Marco; BOVET, Daniel. Understanding the Linux Kernel. 3rd Edition: O&#8217;Reilly, 2005. <a href=\"http:\/\/voinici.ceata.org\/~tct\/resurse\/utlk.pdf\">voinici.ceata.org\/~tct\/resurse\/utlk.<strong>pdf<\/strong><\/a><\/li>\n<\/ul>\n<ul>\n<li>[4] ROBBINS, Kay; ROBBINS, Steven. UNIX Systems Programming:<br>Communication, Concurrency and Threads. 8th ed., Prentice Hall, 2007.<\/li>\n<li>[5] GORMAN, Mel; Understanding the Linux Virtual Memory Manager. <a href=\"http:\/\/www.informit.com\/content\/images\/0131453483\/downloads\/gorman_book.pdf\">http:\/\/www.informit.com\/content\/images\/0131453483\/downloads\/gorman_book.pdf<\/a><\/li>\n<li>[6] RAWAT, Umashankar. Secure and efficient distributed cryptographic file systems. 2013. <a href=\"http:\/\/shodhganga.inflibnet.ac.in\/bitstream\/10603\/10894\/18\/18_conclusion.pdf\">http:\/\/shodhganga.inflibnet.ac.in\/bitstream\/10603\/10894\/18\/18_conclusion.pdf<\/a><\/li>\n<li>[7] DOWNEY, Allen B., The Little Book of Semaphores, <a href=\"http:\/\/greenteapress.com\/semaphores\/LittleBookOfSemaphores.pdf\">http:\/\/greenteapress.com\/semaphores\/downey08semaphores.pdf<\/a><\/li>\n<li>[8] Livros de SO Prof. Maziero:<a href=\"http:\/\/maziero.homenet.org:88\/dokuwiki\/doku.php?id=so:livro_de_sistemas_operacionais\"> http:\/\/maziero.homenet.org:88\/dokuwiki\/doku.php?id=so:livro_de_sistemas_operacionais<\/a><\/li>\n<li>[9] Manual de Pthreads (mas voc\u00ea pode usar qualquer que encontrar):<a href=\"https:\/\/computing.llnl.gov\/tutorials\/pthreads\/\"> https:\/\/computing.llnl.gov\/tutorials\/pthreads\/<\/a><\/li>\n<li>[10] Outra manual de Pthreads: <a href=\"http:\/\/advancedlinuxprogramming.com\/alp-folder\/alp-ch04-threads.pdf\">http:\/\/advancedlinuxprogramming.com\/alp-folder\/alp-ch04-threads.pdf<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>RESUMO T\u00e9cnicas para projeto e implementa\u00e7\u00e3o de SistemasOperacionais e seus componentes. Implementa\u00e7\u00e3o e Avalia\u00e7\u00e3o de Sistemasde Arquivos, Subsistema de Arquivos Linux e estruturas relacionadas.Subsistema FUSE para montagem de sistemas de arquivos em Espa\u00e7o deUsu\u00e1rio. Introdu\u00e7\u00e3o a Sistemas de Arquivos Criptografados. Estudo deCasos. Revis\u00f5es de Sistemas Operacionais Estrutura e funcionamento Gerenciamento de Processos, Mem\u00f3ria e Armazenamento &hellip; <a href=\"https:\/\/web.inf.ufpr.br\/bona\/projetos-de-sistemas-operacionais\/\" class=\"more-link\">Continuar lendo <span class=\"screen-reader-text\">Projetos de Sistemas Operacionais<\/span><\/a><\/p>\n","protected":false},"author":60,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":11,"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/pages\/12\/revisions\/45"}],"wp:attachment":[{"href":"https:\/\/web.inf.ufpr.br\/bona\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}