Você está na página 1de 23

TRE

Sistemas de Computao

PDF gerado usando o pacote de ferramentas em cdigo aberto mwlib. Veja http://code.pediapress.com/ para mais informaes. PDF generated at: Wed, 04 Jan 2012 13:37:42 UTC

Contedo
Pginas
Computao Arquitetura de computadores Sistema de processamento distribudo Sistema de ficheiros Escalonamento de processos Deadlock Auditoria em segurana da informao 1 2 4 6 9 13 17

Referncias
Fontes e Editores da Pgina Fontes, Licenas e Editores da Imagem 19 20

Licenas das pginas


Licena 21

Computao

Computao
A computao pode ser definida como a busca de uma soluo para um problema a partir de entradas (inputs) e tem seus resultados (outputs) depois de trabalhada atravs de um algoritmo. com isto que lida a teoria da computao, subcampo da cincia da computao e da matemtica. Durante milhares de anos, a computao foi executada com caneta e papel, ou com giz e ardsia, ou mentalmente, por vezes com o auxlio de tabelas ou utenslios artesanais. A partir da segunda metade do sculo XX, com o advento dos computadores eletrnicos, a Computao passou a ter uma presena cada vez mais marcante na sociedade, influenciando a vida diria de parte da populao mundial. A partir da dcada de 1950, a Computao ganhou o status de Cincia surgindo ento o termo cincia da computao, uma rea do conhecimento humano hoje fortemente ligado produo de software.
A Wikipdia possui o portal: Portal das tecnologias de informao

Leituras Complementares
Garey, Michael R., and David S. Johnson: Computers and Intractability: A Guide to the Theory of NP-Completeness. New York: W. H. Freeman & Co., 1979. Uma referncia padro aos problemas do tipo NP-Completo, uma importante categoria de problemas cuja soluo parece requerer um tempo impraticavelmente longo para efetivar sua computao. Hein, James L: Theory of Computation. Sudbury, MA: Jones & Bartlett, 1996. Uma introduo suave ao assunto da Teoria da Computao, apropriado para alunos do segundo ano de um curso de graduao em Cincia da Computao. Hopcroft, John E., and Jeffrey D. Ullman: Introduction to Automata Theory, Languages, and Computation. Reading, MA: Addison-Wesley, 1979. Uma das referncias padro na rea de autmatos finitos e linguagens formais. Taylor, R. Gregory: Models of Computation. New York: Oxford University Press, 1998. Um dos raros textos facilmente legveis sobre Teoria da Computao, apropriado para alunos de graduo ou mestrado.

Arquitetura de computadores

Arquitetura de computadores
A evoluo da informtica foi caracterizada pelo desenvolvimento de computadores com caractersticas as mais diversas, traduzidas pelos diferentes parmetros, cada vez mais conhecidos da maioria de usurios de computador: a CPU adotada, a capacidade de memria, a capacidade do disco rgido, a existncia de memria cache e outros menos conhecidos. A definio destes parmetros e a forma como os diversos componentes de um computador so organizados, define aquilo que conhecido por arquitetura de computador e vai determinar aspectos relacionados qualidade, ao desempenho e aplicao para a qual o computador vai ser orientado. Existem vrios modos de uso do termo, que podem ser usados referindo-se a: O desenho da arquitetura da CPU do computador, o seu conjunto de instrues, "addressing modes" e tcnicas, tais como paralelismo SIMD e MIMD. Arquiteturas de hardware mais generalizadas, tais como computao em cluster e arquiteturas NUMA (acesso no-uniforme memria). A utilizao menos formal do termo refere-se a uma descrio dos requisitos (especialmente requisitos de velocidades e interligao) ou implementao do design para as vrias partes de um computador, tais como memria, placa-me, perifricos eletrnicos ou, mais frequentemente, CPU. A arquitetura frequentemente definida como o conjunto de atributos da mquina que um programador deve compreender para que consiga programar o computador especfico com sucesso, ou seja, para que consiga compreender o que o programa ir fazer aquando da sua execuo. Por exemplo, parte da arquitetura so as instrues e o raio de operadores manipulados por elas. De uma maneira semelhante, a frequncia em que o sistema opera no includa na arquitetura. Esta definio revela as duas principais consideraes dos arquitetos de computadores: (1)desenhar hardware que se comporta como o programador pensa que se ir comportar, (2)utilizar implementaes existentes de tecnologias (por exemplo, semicondutores) para construir o melhor computador possvel. A 2 considerao frequentemente referida como a microarquitetura.

Histria
A expresso "Arquitetura de computadores", na literatura, pode ser atribuda a Lyle R. Johnson, Muhammad Usman Khan e Frederick P. Brooks, Jr. Em 1959 eram membros do departamento de Organizao de Mquinas da IBM. Johnson teve a oportunidade de escrever uma comunicao de pesquisa proprietria sobre Strech, um super computador desenvolvido pela IBM para Los Alamos Scientific Laboratory (Laboratrio Nacional de Los Alamos). Na tentativa de caracterizar o seu nvel desejado de detalhe, ele observou que sua descrio de formatos, tipos de instrues, os parmetros de hardware e melhorias de velocidade foi a nvel de "Arquitetura do Sistema" Um termo que parecia ser mais til do que "Organizao de Mquina". Posteriormente, Brooks, um dos designers do Strech, comeou o captulo 2 de um livro (Planning a Computer System: Project Stretch, ed W. Buchholz, 1962), escrevendo, "Arquitetura de computadores, como outra arquitetura, a arte de determinar as necessidades do usurio de uma estrutura e, possvel dentro das limitaes econmicas e tecnolgicas." Brooks passou a desempenhar um papel no desenvolvimento do IBM System/360(agora chamado de IBM System z) linha de computadores, onde a "arquitetura" ganhou moeda como um substantivo com a definio como "o que o usurio precisa saber". Mais tarde, o mundo da informtica, empregaria o termo, em formas muito menos explcitas.

Arquitetura de computadores

Memria virtual
Outro problema recorrente envolve a memria virtual. Historicamente, a memria de acesso aleatrio (RAM) foi centenas de vezes mais cara que o armazenamento mecnico rotativo, isto , discos rgidos, num computador moderno. O processador s pode executar uma instruo que esteja na memria real. O mecanismo de Memria Virtual divide a memria real em FRAMES e divide um arquivo no disco em PGINAS de mesmo tamanho dos frames. No disco existem muito mais pginas do que frames na memria. Sempre que for preciso uma pgina copiada da memria virtual (arquivo em disco) para um frame da memria real. Surge a necessidade de saber quando preciso copiar. Surge a necessidade de saber se um frame pode ser descartado ou se precisa ser recopiado para sua pgina correspondente no arquivo em disco. Sempre que uma instruo executada a partir de um frame o hardware controlador de memria virtual testa se o dado a que ela se refere j se encontra em algum frame. Se for o caso, uma interrupo ocorre para que a rotina de tratamento cuide de copiar do disco para a memria real uma pgina completa contendo o dado necessrio.

Pipeline ou segmentao das instrues


O conjunto e instrues orienta fortemente como funcionar o pipeline de instrues. A ideia anloga a linha de produes em srie, mas utilizada na execuo das instrues. Primeiro divide-se as instrues em pedaos menores de forma que uma instruo em cdigo de mquina demore muitos ciclos curtos para ser executada. Depois disso o controle do microprocessador encarrega-se de executar vrias instrues ao mesmo tempo, cada uma utilizando um pedao distinto do processador. Isto tem como objetivo que na mdia cada instruo demore 1 ciclo curto para ser executada. Existem diversas complicaes em instrues de desvio (condicionais), que so tratadas por paralelismo de cdigo conhecida como threading (nome comercial da Intel Hyperthreading).

Ligaes externas
ISCA: Proceedings of the International Symposium on Computer Architecture [1] Micro: IEEE/ACM International Symposium on Microarchitecture [2] HPCA: International Symposium on High Performance Computer Architecture [3] ASPLOS: International Conference on Architectural Support for Programming Languages and Operating Systems
[4]

ACM Transactions on Computer Systems [5] IEEE Computer Society [6] Microprocessor Report [7]

Referncias
[1] [2] [3] [4] [5] [6] [7] http:/ / portal. acm. org/ toc. cfm?id=SERIES416& type=series& coll=GUIDE& dl=GUIDE& CFID=41492512& CFTOKEN=82922478 http:/ / www. microarch. org/ http:/ / www. hpcaconf. org/ http:/ / portal. acm. org/ toc. cfm?id=SERIES311& type=series& coll=GUIDE& dl=GUIDE& CFID=41492415& CFTOKEN=3676847 http:/ / www. acm. org/ tocs/ http:/ / www. computer. org/ http:/ / www. mdronline. com/ mpr/

Sistema de processamento distribudo

Sistema de processamento distribudo


Um sistema de processamento distribudo ou paralelo um sistema que interliga vrios ns de processamento (computadores individuais, no necessariamente homogneos) de maneira que um processo de grande consumo seja executado no n "mais disponvel", ou mesmo subdividido por vrios ns. Conseguindo-se, portanto, ganhos bvios nestas solues: uma tarefa qualquer, se divisvel em vrias subtarefas pode ser realizada em paralelo. A nomenclatura geralmente utilizada neste contexto HPC (High Performance Computing) e/ou DPC (Distributed/Parallel Computing).

Sistema de processamento distribudo

Desenvolvimento
Este um assunto muito vasto e, embora com alguma idade, s em 2001 se comeou a falar em padres para estas solues, que so utilizadas (em larga escala) geralmente nos meios cientficos e outros de clculo intensivo pela sua extensibilidade. So bastante flexveis, j que permitem a coexistncia de sistemas desenhados especificamente para isso (por exemplo, a arquitectura NUMA), de sistemas desktop, e mesmo de sistemas considerados obsoletos, mas no o suficiente para permitir a coexistncia de solues semelhantes. Antes de avanar, ser necessrio distinguir um sistema de multiprocessamento paralelo (SMP) de um sistema distribudo. Para um sistema ser de processamento distribudo, uma ou vrias unidades de processamento (CPU) estar separada fisicamente da(s) outra(s), enquanto que num sistema SMP todas as unidades de processamento se encontram na mesma mquina. Ambos sistemas so capazes de processamento paralelo, e qualquer um deles pode ser visto como elemento de um sistema distribudo! Com os desenvolvimentos nesta rea, surgiram solues por software que fazem, geralmente (mas no necessariamente), alteraes no ncleo do sistema operativo e que, na maioria dos casos, no so compatveis entre elas, e dificilmente entre verses diferentes da mesma soluo. Assentam, no entanto, em arquitecturas de comunicao padro, como o caso da Parallel Virtual Machine e Message Passing Interface. Resumidamente, estas arquitecturas conseguem transportar um processo (tarefa) e o seu contexto (ficheiros abertos, etc.) pela rede at outro n. O n que originou o processo passa, assim, a ser apenas um receptor dos resultados desse processo. Actualmente, a principal barreira destes sistemas implementar mecanismos de Inter-Process Communication (IPC), os Distributed IPC, dada a sua extrema complexidade.

Sistema de processamento distribudo

Arquitetura
A Figura 1 ilustra as vrias camadas de interoperabilidade de um sistema distribudo. Atravs do gateway a rede pblica tem acesso a um supercomputador, sem ter conhecimento disso, dado que s conhece o gateway. Qualquer aplicao executada no gateway (preparada para ser paralelizada) pode ser distribuda por vrios ns, entregando os resultados mais rpido do que se fosse processada por apenas um n.

Solues
Software
Scyld (Beowulf) openMosix openSSI Open Source Cluster Application Resources (OSCAR)

Ligaes externas
Parallel Virtual Machine (PVM) [1] (em ingls) Message Passing Interface (MPI) [2] (em ingls) Centro Nacional de Processamento de Alto Desempenho (CENAPAD) - SP [3] Centro Baiano de Computao de Alto Desempenho (CEBACAD) [4]

Referncias
[1] [2] [3] [4] http:/ / www. csm. ornl. gov/ pvm/ pvm_home. html http:/ / www-unix. mcs. anl. gov/ mpi/ http:/ / www. cenapad. unicamp. br/ http:/ / www. cebacad. net

Sistema de ficheiros

Sistema de ficheiros
Sistema de ficheiros (portugus europeu) ou sistema de arquivos (portugus brasileiro) (tambm conhecida por gesto de ficheiros) a forma de organizao de dados em algum meio de armazenamento de dados em massa frequentemente feito em discos magnticos. Sabendo interpretar o sistema de arquivos de um determinado disco, o sistema operacional pode decodificar os dados armazenados e l-los ou grav-los. Fazendo analogias, tal organizao assemelha-se a uma biblioteca escolar. O bibliotecrio organiza os livros conforme o seu gosto, cuja busca, convenientemente, procura deixar mais fcil, sem ocupar muitas prateleiras e assegurando a integridade deste. Ainda, certamente, organiza os livros segundo suas caractersticas (assunto, censura, etc.). Depois de organizados, ou durante a organizao, o bibliotecrio cria uma lista com todos os livros da biblioteca, com seus assuntos, localizaes e cdigos respectivos.

Representao visual de um sistema de ficheiros, contanto com diretrios (pastas) e ficheiros (arquivos)

Aplicando a analogia informtica, o sistema operacional seria o bibliotecrio da "biblioteca de dados" do computador, o disco de armazenamento. Exatamente igual organizao de uma biblioteca, o sistema operacional guarda os dados nos espaos vazios do disco, rotulando-os com um FCB (File Control Block, Bloco de Controle de Arquivo) e ainda criando uma lista com a posio deste dado, chamada de MFT (Master File Table, Tabela de Arquivos Mestre). Sabendo a posio do arquivo a ser aberto/gravado, o sistema operacional solicita a leitura desta, decodifica/codifica e realiza a abertura/gravao do dado. Um sistema de ficheiro assim: uma forma de criar uma estrutura lgica de acesso a dados numa partio. Sendo assim, tambm importante referir que nunca poder ter dois ou mais tipos de sistemas de ficheiros (formatos) numa mesma partio. O MBR (Master Boot Record) um arquivo de dados interligado com a BIOS cuja importncia o reconhecimento do sistema de arquivos, como tambm na inicializao do sistema operacional. Para a maioria dos usurios, o sistema de arquivos o aspecto mais visvel de um sistema operacional. Ele fornece o mecanismo para o armazenamento online e o acesso relacionado tantos aos dados como aos programas do sistema operacional e de todos os usurios do sistema de computao. O sistema de arquivos consiste em duas partes distintas: uma coleo de arquivos, cada um deles armazenando dados relacionados, e uma estrutura de diretrios, que organiza e fornece informao sobre todos os arquivos do sistema. Alguns sistemas de arquivos tm uma terceira parte, as parties, utilizadas para separar fsica ou logicamente grandes colees de diretrios.

Sistema de ficheiros

Atributos de arquivos
Um arquivo possui certos outros atributos que variam de um sistema operacional para o outro, mas que normalmente so os seguintes: Nome: o nome simblico do arquivo a nica informao conservada em forma legvel pelas pessoas. Identificador: este rtulo nico, usualmente um numero, identifica o arquivo dentro do sistema de arquivo; o nome no legvel pelas pessoas. Tipos : esta informao necessria para aqueles sistemas que suportam diferentes tipos. Posio: esta informao um ponteiro para um dispositivo e para a posio do arquivo naquele dispositivo. Tamanho: o tamanho corrente o arquivo e possivelmente o tamanho maximo permitido esto includos neste atributo. Proteo: a informao de controlo de acesso determina quem pode ler o arquivo, grav-lo, execut-lo e assim por diante. Hora, data e identificao do usurio: estas informaes podem ser conservadas em relao a data da criao, ultima modificao e ultima utilizao do arquivo. Estes dados podem ser teis para proteo, segurana e monitoramento de uso do arquivo. A informao sobre todos os arquivos conservada na estrutura do diretrio que tambm reside em memria secundaria. A entrada de um diretrio consiste no nome do arquivo com seu identificador nico. O identificador, por sua vez, permite localizar os demais atributos do arquivo. O registro desta informao para cada arquivo pode ocupar mais que um kilobyte. Em um sistema com muitos arquivos o tamanho do prprio diretrio pode ocupar megabytes. Como os diretrios, da mesma forma que os arquivos, devem ser no-volateis, precisam ser armazenados em dispositivos e conduzidos memria gradativamente, conforme necessrio.

Operaes sobre arquivos


Um arquivo um tipo abstrato de dados. Para definir apropriadamente um arquivo, precisamos considerar as operaes que podem ser realizadas sobre arquivos. O sistema operacional pode oferecer chamadas de sistema para criar, gravar, ler, reposicionar, apagar e truncar arquivos. O sistema operacional deve fazer em relao a cada uma das seis operaes de arquivos bsicas. Criando um arquivo: deve ser alocado espao para o arquivo no sistema de arquivos. Deve ser criada uma entrada para o novo arquivo no diretrio. A entrada do diretrio registra o nome do arquivo e sua posio no sistema de arquivos, alem de outras informaes possveis. Gravando um arquivo: para gravar um arquivo, emitimos uma chamada de sistema especificando tanto o nome do arquivo como a informao a ser gravada. Dado o nome do arquivo, o sistema percorre o diretrio em busca da sua localizao. O sistema deve manter um ponteiro de gravao para a posio do arquivo onde a nova gravao devera ser realizada. O ponteiro precisa ser atualizado sempre que ocorrer uma gravao. Lendo um arquivo: para ler um arquivo, utilizamos uma chamada de sistema que especifica o nome do arquivo e onde na memria o prximo bloco do arquivo devera ser alocado. O diretrio pesquisado em busca da entrada associada e o sistema precisa manter um ponteiro de leitura para a posio no arquivo a partir de onde devera ocorrer a prxima leitura. Aps a leitura ter sido feita, o ponteiro de leitura atualizado. Um determinado processo esta normalmente lendo ou gravando um dado arquivo, e aposio da operao em curso guardada como um ponteiro para a posio corrente do arquivo, para cada processo. Tanto a operao de leitura como a de gravao, utiliza este mesmo ponteiro, economizando espao e reduzindo a complexidade do sistema. Reposicionando dentro de um arquivo: o diretrio percorrido em busca da entrada apropriada, e a posio corrente do arquivo posicionada para um determinado valor. O reposicionamento dentro de um arquivo no precisa envolver um I/O real. Esta operao tambm conhecida como busca de arquivo. Apagando um arquivo: para apagar um arquivo, procuramos no diretrio o arquivo pelo nome. aps encontrar a entrada correta do diretrio, liberamos todo o espao do arquivo, de modo que este espao possa ser reutilizado

Sistema de ficheiros por outros arquivos, e apagamos a entrada do diretrio. Trocando um arquivo: o usurio pode desejar apagar o contedo de um arquivo, mas conservar seus atributos. Em lugar de obrigar o usurio a pagar completamente o arquivo e recri-lo, esta funo permite que todos os atributos - exceto o tamanho - sejam mantidos, reposicionando o arquivo com tamanho zero.

Sistemas operacionais mais usuais e formato nativo do sistema de arquivos


Apple Macintosh HFS HFS+ UNIX (FreeBSD, OpenBSD, Linux, Solaris, etc.) UFS Ext Ext2 Ext3 Ext4 SWAP Reiser HPFS JFS XFS

IBM (AIX, OS/2) JFS (AIX Version 3.1 ou superior, OS/2 Warp) HPFS - High Performance File System MS-DOS/Microsoft Windows FAT 12 - Microsoft BASIC Disk - MSDOS 4.0 FAT 16 ou FAT - DOS 4.0 ou superior / Windows 1.X ou superior (1.x, 2.x, 3.x, 95, 98, ME, 2000, XP,...) FAT 32 - MS-DOS 7.1 e 8.0 / Windows 95 (verso OSR2!), ou superior (95 OSR2, 98, ME, NT, 2000, XP...) ExFAT - FAT Estendido, tambm conhecido como FAT64, Windows XP ou superior ( Vista, 7...) NTFS - Windows NT ou superior (NT, 2000, XP, 2003 Server,...)

Ligaes externas
File Systems [1] (Microsoft) Filesystems HOWTO [2]

Referncias
[1] http:/ / www. microsoft. com/ resources/ documentation/ Windows/ 2000/ server/ reskit/ en-us/ Default. asp?url=/ resources/ documentation/ Windows/ 2000/ server/ reskit/ en-us/ prork/ prdf_fls_xhqo. asp [2] http:/ / www. tldp. org/ HOWTO/ Filesystems-HOWTO. html

Escalonamento de processos

Escalonamento de processos
O escalonamento de processos ou agendador de tarefas (em ingls scheduling) uma atividade organizacional feita pelo escalonador (scheduler) da CPU ou de um sistema distribudo, possibilitando executar os processos mais viveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos. O escalonador de processos de 2 nveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memria principal, ficando os outros alocados em disco; com essa execuo o processador evita ficar ocioso.

Tipos bsicos
Escalonador de curto prazo
Seleciona entre os processos em estado de pronto que esto na memria, para serem executados pelo processador. O escalonador de curto prazo faz decises de escalonamento muito mais frequentemente que os de mdio e longo prazo.

Escalonador de mdio prazo


Seleciona entre os processos que esto na memria virtual, reduz o grau de multiprogramao. Ele temporariamente remove o processo da memria principal e o coloca na memria secundria (swap) fazendo as operaes de swapping in e swapping out.

Escalonador de longo prazo


Seleciona entre os processos novos, os que so limitados por entrada/sada e os que so limitados por CPU, dando prioridade aqueles limitados por I/O, j que utilizam menos tempo o processador. Este escalonador o responsvel pelo grau de multiprocessamento, ou seja a quantidade de processos que o sistema ir trabalhar.

Definio
Para que a CPU no fique muito tempo sem executar tarefa alguma, os sistemas operacionais utilizam tcnicas para escalonar os processos que esto em execuo ao mesmo tempo na maquina. O escalonamento de processos uma tarefa complicada, pois nenhum algoritmo totalmente eficiente e a prova de falhas, principalmente em se tratando de sistemas interativos, como o Windows, pois a interao com o usurio fundamental para este sistema onde quem o utiliza procura respostas rpidas e a todo o momento processos so interrompidos pelo usurio. O escalonador do SO utiliza alguns critrios de escalonamento, como: a taxa de utilizao de CPU, que a frao de tempo durante a qual ela est sendo ocupada; throughput que so nmeros de processos terminados por unidade de tempo; turnaround que o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execuo; tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execuo; tempo de espera: soma dos perodos em que o programa estava no seu estado pronto. Responsveis por essa tarefa so algoritmos que so entendidos mais facilmente, estudados separadamente, mas na pratica os sistemas operacionais utilizam combinaes deles para melhor escalonar os processos.

Escalonamento de processos

10

Objetivos do Escalonamento
O projeto de um escalonador adequado deve levar em conta uma srie de diferentes necessidades, ou seja, o projeto de uma poltica de escalonamento deve contemplar os seguintes objetivos: Ser justo: Todos os processos devem ser tratados igualmente, tendo possibilidades idnticas de uso do processador, devendo ser evitado o adiamento indefinido. Maximizar a produtividade (throughput): Procurar maximizar o nmero de tarefas processadas por unidade de tempo. Ser previsvel: Uma tarefa deveria ser sempre executada com aproximadamente o mesmo tempo e custo computacional. Minimizar o tempo de resposta para usurios interativos. Maximizar o nmero possvel de usurio interativos. Minimizar a sobrecarga (overhead): Recursos no devem ser desperdiados embora algum investimento em termos de recursos para o sistema pode permitir maior eficincia. Favorecer processos "bem comportados": Processos que tenham comportamento adequado poderiam receber um servio melhor. Balancear o uso de recursos: o escalonador deve manter todos os recursos ocupados, ou seja, processos que usam recursos sub- utilizados deveriam ser favorecidos. Exibir degradao previsvel e progressiva em situaes de intensa carga de trabalho. Como pode ser visto facilmente, alguns destes objetivos so contraditrios, pois dado que a quantidade de tempo disponvel de processamento (tempo do processador) finita, assim como os demais recursos computacionais, para que um proceso seja favorecido outro deve ser prejudicado. O maior problema existente no projeto de algoritmos de escalonamento est associado natureza imprevisvel dos processos, pois no possvel prevermos se um dado processo utilizar intensamente o processador, ou se precisar grandes quantidades de memria ou se necessitar numerosos acessos aos dispositivos e E/S.

Qualidade do Escalonamento
Existem vrios critrios que permitem a avaliao da qualidade do servio oferecido por um algoritmo de escalonamento. So eles: uso do processador, throughput,tempo de resposta e tempo de permanncia. O tempo de permanncia, tempo de retorno ou turnaround time, um critrio simples dado pela soma do tempo de espera com o tempo de servio ou tempo de execuo. Em geral deseja- se que o tempo de permanncia seja o menor possvel. Uma outra forma de avaliar a qualidade do escalonamento utilizando-se do tempo de permanncia normalizado, ou seja, a razo entre o tempo de permanncia e o tempo de servio.

Algoritmos escalonadores
Existem os algoritmos preemptivos e os no preemptivos. Os preemptivos so algoritmos que permitem que um processo seja interrompido durante sua execuo, quer seja por fora de uma interrupo de entrada/sada, quer seja em decorrncia da politica de escalonamento adotada e aplicada por parte do escalonador de processos ou simplesmente por fora do trmino da execuo do processo. Aps a interrupo deste processo, ocorre o que se chama de troca de contexto, que consiste em salvar o contedo dos registradores e a memoria utilizada pelo processo e conceder outro processo o privilgio de executar na CPU, restaurando assim o contexto deste ultimo processo. Cabe ressaltar que nos algoritmos no preemptivos, por serem utilizados exclusivamente em sistemas monoprocessados, esse fato no ocorre, sendo cada programa executado at o fim.

Escalonamento de processos Exemplos de Algoritmos: FIFO (First in, first out) ou FCFS (First come, first served): Onde como seu prprio nome j diz, o primeiro que chega ser o primeiro a ser executado; SJF (Shortest Job First): Onde o menor processo ganhar a CPU e atrs do mesmo formar uma fila de processos por ordem crescente de tempo de execuo; SRT (Shortest Remaining Time): Neste algoritmo escolhido o processo que possua o menor tempo restante, mesmo que esse processo chegue metade de uma operao, se o processo novo for menor ele ser executado primeiro; Algoritmo Loteria: O Sistema Operacional distribui tokens (fichas), numerados entre os processos, para o escalonamento sorteado um numero aleatrio para que o processo ganhe a vez na CPU, processos com mais tokens tm mais chance de receber antes a CPU. Escalonamento garantido: Este algoritmo busca cumprir promessas de alocao de CPU o mais preciso possvel. RR (Round-Robin): Nesse escalonamento o sistema operacional possui um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU. Com exceo do algoritmo RR e escalonamento garantido, todos os outros sofrem do problema de Inanio (starvation). Mltiplas Filas: So usadas vrias filas de processos prontos para executar, cada processo e colocado em uma fila, e cada fila tem uma poltica de escalonamento prpria e outra entre filas. Todos os algoritmos classificam os processos em estados: Iniciando, Pronto, Executando, Entrada/ Sada e Terminado. Ainda existem vrios

11

Estados de processos
Para o sistema operacional organizar os processos que sero atendidos eles so atribudos estados para os mesmos.

Diagrama de Estados de Processos


Quem armazena essas informaes como os estados de processos e outras como: tempo e execuo, por exemplo, o PCB (Process Control Block).

Distribuio de Prioridades
Para melhorar essa distribuio da CPU entre os processos, alguns algoritmos utilizam diferentes prioridades, essas prioridades podem ser mudadas no Windows, por exemplo, pelo prprio usurio. Com intuito de gerenciar melhor as prioridades de processo, o sistema operacional cria filas de processos. Em cada fila existem processos de mesma prioridade, e existe tambm fila para processos de entrada e sada. Prioridades podem ser mudadas pelo usurio, ou atribudas automaticamente pelo sistema operacional em questo. Mesmo com a aplicao de prioridades e algoritmos melhor implementados, alguns processos ainda correm o risco de sofrer starvation (ficar muito tempo sem receber a CPU) por isso em determinando momento pode ocorrer o que chamamos de aging (O aging ocorre quando a prioridade de um processo vai se alterando com o "tempo de vida" do mesmo, controlando o starvation), que muda momentaneamente a prioridade de um processo que no executado h muito tempo e joga sua prioridade para a mais alta possvel para que ele seja atendido, logo aps as prioridades voltam ao normal. Outro caso em que prioridades so alteradas quando um programa de baixa prioridade comeou a fazer uso de algum perifrico de entrada e sada antes de outro de prioridade alta. Neste caso processos de alta prioridade so obrigados a esperarem os de baixa terminar sua E/S para poderem usar este perifrico.

Escalonamento de processos

12

Alterando prioridades no Windows


Existem ainda sistemas em que quando um processo inicia sua execuo, o sistema garante que este processo vai ser terminado, so chamados sistemas garantidos. Nestes sistemas a interveno do usurio mnima, ao contrario do que ocorre em sistemas em tempo real como o Windows em que o usurio interrompe processos a todo instante por isso o sistema no garante que um processo vai ser Terminado.

Trocas de contexto
Processos so interrompidos e retomados a todo tempo, para que o sistema operacional possa fazer esse tipo de ao, necessrio a troca de contexto. Para que o sistema operacional possa interromper um processo e retomar ele mais tarde, ele usa a PCB (Process Control Block) para guardar todas as informaes que a CPU estava usando naquele momento e possa consulta-la mais tarde para que retome exatamente no ponto em que foi interrompido anteriormente.

Threads
Threads: Processos podem ser divididos em pedaos para que ele no deixe de responder por algum motivo externo, onde isto possa atrapalhar a execuo do mesmo, ou para agilizar a programao e execuo. Quando programas so divididos em threads, podemos ter partes do processo rodando em paralelo, threads tambm so escalonveis.

Ligaes externas
Scheduling algorithm [1] em ingls Process (computing) [2] em ingls Process states [3] em ingls Automated planning and scheduling [4] em ingls Dynamic priority scheduling [5] em ingls

Referncias
[1] [2] [3] [4] [5] http:/ / en. wikipedia. org/ wiki/ Scheduling_(computing) http:/ / en. wikipedia. org/ wiki/ Scheduling_algorithm http:/ / en. wikipedia. org/ wiki/ Process_states http:/ / en. wikipedia. org/ wiki/ Automated_planning_and_scheduling http:/ / en. wikipedia. org/ wiki/ Dynamic_priority_scheduling

Deadlock

13

Deadlock
Deadlock (interbloqueio, -blocagem, impasse), no contexto do sistemas operacionais (SO), caracteriza uma situao em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execues, ou seja, ficam bloqueados. Trata-se de um problema bastante estudado no contexto dos Sistemas Operacionais, assim como em outras disciplinas, como banco de dados, pois inerente prpria natureza desses sistemas. O deadlock ocorre com um conjunto de processos e recursos no-preemptveis, onde um ou mais processos desse conjunto est aguardando a liberao de um recurso por um outro processo que, por sua vez, aguarda a liberao de outro recurso alocado ou dependente do primeiro processo. A definio textual de deadlock normalmente, por ser muito abstrata, mais difcil de se compreender do que a representao por grafos, que ser resumida mais adiante. No entanto, algumas observaes so pertinentes: O deadlock pode ocorrer mesmo que haja somente um processo no SO, considerando que este processo utilize mltiplos threads e que tais threads requisitem os recursos alocados a outros threads no mesmo processo; O deadlock independe da quantidade de recursos disponveis no sistema; Normalmente o deadlock ocorre com recursos como dispositivos, arquivos, memria, etc. Apesar da CPU tambm ser um recurso para o SO, em geral um recurso facilmente preemptvel, pois existem os escalonadores para compartilhar o processador entre os diversos processos, quando trata-se de um ambiente multitarefa. Um exemplo onde erros de deadlock ocorrem no banco de dados. Suponha que uma empresa tenha vrios vendedores e vrios pontos de venda/caixas. O vendedor A vendeu 1 martelo e 1 furadeira. O sistema ento solicita o travamento do registro da tabela ESTOQUE que contm o total de martelos em estoque e em seguida solicita o travamento do registro que contm o total de furadeiras em estoque. De posse da exclusividade de acesso aos dois registros, ele l a quantidade de martelos, subtrai 1 e escreve de novo no registro, o mesmo com o registro de furadeiras. Observe, no entanto que existem diversos caixas operando simultaneamente de forma que se algum outro caixa naquele exato instante estiver vendendo um furadeira, ele ficar de aguardando a liberao do registro das furadeiras para depois alter-lo. Note que ele s altera os registro depois que for dada exclusividade para ele de TODOS os recursos que ele precisa, ou seja, de todos os registro. Suponha agora que em outro caixa a venda foram vendidos 1 furadeira e 1 martelo e que o outro caixa solicitou o travamento do registro com a quantidade de furadeiras e agora quer o acesso ao de martelos, no entanto o de martelos est travado para o primeiro caixa. Nenhum deles devolve o recurso (registro) sobre o qual tem exclusividade e tambm no consegue acesso ao outro registro que falta para terminar a operao. Isto um deadlock.

Condies necessrias para a ocorrncia de deadlock


No texto acima, foi dito que o deadlock ocorre naturalmente em alguns sistemas. No entanto, necessrio ressaltar que tais sistemas precisam obedecer a algumas condies para que uma situao de deadlock se manifeste. Essas condies esto listadas abaixo, onde as trs primeiras caracterizam um modelo de sistema, e a ltima o deadlock propriamente dito: processos que estejam de posse de recursos obtidos anteriormente podem solicitar novos recursos. Caso estes recursos j estejam alocados a outros processos, o processo solicitante deve aguardar pela liberao do mesmo; Condio de no-preempo: recursos j alocados a processos no podem ser tomados a fora. Eles precisam ser liberados explicitamente pelo processo que detm a sua posse; Condio de excluso mtua: cada recurso ou est alocado a exatamente um processo ou est disponvel; Condio de posse-e-espera: cada processo pode solicitar um recurso, ter esse recurso alocado para si e ficar bloqueado esperando por um outro recurso;

Deadlock Condio de espera circular: deve existir uma cadeia circular de dois ou mais processos, cada um dos quais esperando por um recurso que est com o prximo membro da cadeia.

14

Representao de deadlock em grafos


O deadlock tambm pode ser representado na forma de grafos dirigidos, onde o processo representado por um quadrado e o recurso por um crculo. Quando um processo solicita um recurso, uma seta dirigida do quadrado ao crculo. Quando um recurso alocado a um processo, uma seta dirigida do crculo ao quadrado. Na figura do exemplo, podem-se ver dois processos diferentes (A e B), cada um com um recurso diferente alocado (R1 e R2). Nesse exemplo clssico de deadlock, facilmente visvel a condio de espera circular em que os processos se encontram, onde cada um solicita o recurso que est alocado ao outro processo.

Exemplo de representao de deadlock em grafos de alocao de recursos, com dois processos A e B, e dois recursos R1 e R2.

Tratamento de deadlock
As situaes de deadlock podem ser tratadas ou no em um sistema, e cabe aos desenvolvedores avaliar o custo/benefcio que essas implementaes podem trazer. Normalmente, as estratgias usadas para detectar e tratar as situaes de deadlocks geram grande sobrecarga, podendo at causar um dano maior que a prpria ocorrncia do deadlock, sendo, s vezes, melhor ignorar a situao. Existem trs estratgias para tratamento de deadlocks: Ignorar a situao; Detectar o deadlock e recuperar o sistema; e Evitar o deadlock;

Algoritmo do Avestruz (Ignorar a situao)


A estratgia mais simples para tratamento (ou no) do "deadlock", conhecida como Algoritmo do Avestruz, simplesmente ignor-lo. Muitos defendem que a freqncia de ocorrncia deste tipo de evento baixa demais para que seja necessrio sobrecarregar a CPU com cdigos extras de tratamento, e que, ocasionalmente, tolervel reiniciar o sistema como uma ao corretiva.

Detectar o deadlock e recuperar o sistema


Nessa estratgia, o sistema permite que ocorra o deadlock e s ento executa o procedimento de recuperao, que resume-se na deteco da ocorrncia e na recuperao posterior do sistema. na execuo desse procedimento que ocorre a sobrecarga, pois existem dois grandes problemas: primeiramente, como/quando detectar o deadlock e depois, como corrigi-lo. Para detectar o deadlock, o sistema deve implementar uma estrutura de dados que armazene as informaes sobre os processos e os recursos alocados a eles. Essas estruturas devero ser atualizadas dinamicamente, de modo que reflitam realmente a situao de cada processo/recurso no sistema. S o mero procedimento de atualizao dessas estruturas j gera uma sobrecarga no sistema, pois toda vez que um processo aloca, libera ou requisita um recurso, as estruturas precisam ser atualizadas.

Deadlock Alm disso, o SO precisa verificar a ocorrncia da condio de espera circular nessas estruturas para a efetiva deteco do deadlock. Esse procedimento, por sua vez, gera outra sobrecarga, que pode ser mais intensa se no for definido um evento em particular para ser executado, como a liberao de um recurso, por exemplo. Assim, ou o SO verifica periodicamente as estruturas (o que no aconselhvel, pois pode aumentar consideravelmente o tempo de espera dos processos no-bloqueados), ou pode-se implementar uma poltica, onde o SO verifica as estruturas quando o mesmo realizar algum procedimento de manuteno do sistema, por exemplo. Finalmente, s aps detectar a presena do deadlock no sistema, o SO precisa corrigi-lo, executando um procedimento de recuperao. Quanto deteco do deadlock, vamos apresentar uma das tcnicas usadas para detectar a ocorrncia de deadlock em sistemas que possuem vrios recursos de cada tipo. Deteco de deadlock com vrios recursos de cada tipo O algoritmo de deteco de deadlock com vrios recursos de cada tipo baseia-se em um ambiente que possua vrios recursos do mesmo tipo e os processos solicitam apenas pelo tipo de recursos, no especificando qual recurso desejam utilizar. Assim, um processo pode requisitar uma unidade de CD para leitura. Se o sistema possuir duas, o processo pode utilizar a que estiver disponvel, em vez de especificar uma delas. Dessa forma, o processo solicita o recurso pelo tipo, sem discriminao. O algoritmo para essa deteco trabalha com duas variveis, trs matrizes unidimensionais (vetores) e duas matrizes bidimensionais, descritas a seguir: Estruturas: n: Varivel inteira. Representa a Quantidade de Processos Ativos; m: Varivel inteira. Representa a Quantidade de Tipos de Recursos; Matriz E = Matriz A = Disponveis; Matriz W = : Matriz unidimensional, de tamanho m. Representa a Matriz de Recursos Existentes; : Matriz unidimensional, de tamanho m. Representa a Matriz de Recursos Atualmente : Matriz unidimensional, de tamanho m. Representa uma Matriz Auxiliar, presente

15

somente para facilitar o clculo durante a execuo do algoritmo; Matriz C = : Matriz bidimensional, de tamanho n x m. Representa a Matriz de Alocao Corrente; Matriz R = : Matriz bidimensional, de tamanho n x m. Representa a Matriz de Recursos Requisitados. Faa (para preenchimento das estruturas): 1. Preencher a Matriz E com as quantidade de instncias de cada tipo de recurso; 2. Preencher a Matriz C com as quantidade de instncias de cada tipo alocadas aos processos, sendo que o somatrio de cada coluna da Matriz C deve ser menor ou igual quantidade do recurso correspondente na Matriz E (os processos nunca podem requisitar mais recursos que existentes no sistema); 3. Preencher a Matriz W com o resultado da subtrao da quantidade de cada recurso da Matriz E com o valor do somatrio de cada coluna do recurso correspondente da Matriz C, ou seja:

4. Preencher inicialmente a Matriz A com os valores da Matriz W. Note que: ; 5. Preencher a Matriz R com as prximas requisies dos processos, seguindo as mesmas regras da Matriz C. Faa (para deteco do deadlock): 1. Inicialmente, desmarcar todos os processos;

Deadlock 2. Para um processo Pi desmarcado, verificar se todos os elementos da linha i na Matriz R so menores ou iguais aos da Matriz A; 3. Se for, ento marque o execute o processo Pi e libere os recursos requisitados pelo processo na Matriz C (adicionar a linha i da Matriz C na Matriz A); 4. Retornar ao passo 2. A lgica do algoritmo a seguinte: cada processo considerado como apto a ser executado at que a deteco prove o contrrio. A deteco apenas verifica se os processos requisitam mais recursos do que esto disponveis, o que caracteriza um deadlock. Caso o processo requisite uma quantidade disponvel, ento ele pode ser executado, e os recursos que foram solicitados antes podem tambm ser liberados de volta ao sistema, o que pode permitir que outros processos tambm concluam suas execues e liberem os recursos. Um exemplo do preenchimento das matrizes encontra-se na figura abaixo, considerando-se n=2 e m=3.

16

Exemplo do preenchimento das matrizes do algoritmo de deteco de deadlock com vrios recursos de cada tipo.

Referncias na internet
Com relao a deteco de deadlock com vrios recursos, existe um software educacional online, o SISO 2.0, que permite simular a implementao desse algoritmo (SISO 2.0 - Simulador de Sistema Operacional [1]). Tratamento de situaes de deadlock [2] O que um deadlock [3]

Referncias
[1] http:/ / www. martins. eti. br/ 2009/ 03/ siso-20-simulador-de-sistema. html [2] http:/ / www-asc. di. fct. unl. pt/ ~jcc/ scpd-05-06/ Teoricas/ st1/ node31. html& e=10401 [3] http:/ / homepages. dcc. ufmg. br/ ~scampos/ cursos/ so/ aulas/ aula9. html

Auditoria em segurana da informao

17

Auditoria em segurana da informao


A auditoria em segurana da informao tem o papel de assegurar a qualidade da informao e participar do processo de garantia quanto a possveis e indesejveis problemas de falha humana. Com dados concentrados em formato digital e procedimentos invisveis devido automao, os sistemas de informao so vulnerveis a destruio, abuso, alterao, erro, fraude e a falhas de programas e equipamentos. Os sistemas on-line e os que utilizam a Internet so os mais vulnerveis, pois seus dados e arquivos podem ser acessados imediata e diretamente em terminais de computador ou em muitos pontos de rede. Crackers podem invadir redes e causar srios danos ao sistema e s informaes armazenadas, sem deixar qualquer rastro. Vrus de computador podem se propagar rapidamente entupindo a memria de computadores e destruindo arquivos. Os softwares em si tambm apresentam problemas e a m qualidade dos dados tambm pode causar srios impactos sobre o desenvolvimento do sistema. Qualquer grande empresa precisa tomar providencias especiais para evitar as vulnerabilidades. Para tanto, planos de recuperao ps-desastre incluem procedimentos e instalaes para restaurar os servios de comunicao aps terem sofrido algum tipo de problema. Quando a empresa utiliza intranet ou Internet, firewalls e sistemas de deteco de invaso ajudam a salvaguardar redes internas contra o acesso no autorizado.

Segurana do Banco de Dados


Especial ateno deve ser dada ao banco de dados para o qual devem existir dispositivos de segurana, procedimentos de autorizao de acesso aos dados, atualizao das novas verses e procedimentos de cpias para possveis restauraes. A segurana das informaes processadas pelo sistema de informtica deve ser sempre monitorada para verificar se os relatrios gerados esto corretos, se esto protegidas contra fraudes, se as instalaes e os equipamentos tambm esto protegidos.

Segurana de Redes
Quanto segurana de redes as seguintes medidas de segurana devem ser tomadas: uso da criptografia no envio de dados, monitoramento do sistema, cuidados com a criao de novos usurios e uso de firewall, pois o firewall um sistema desenvolvido para prevenir acessos no autorizados a uma rede local de computadores. Os firewalls so implementados atravs de programas de computador e dispositivos eletrnicos. Atravs dele, os dados que entram ou saem da rede so examinados com a finalidade de bloquear os dados que no esto de acordo com os critrios de segurana. Apenas usurios autorizados podem ter acesso rede e dentro da rede, eles s podem ter acesso aos recursos realmente necessrios para a execuo de suas tarefas. Sendo que os recursos crticos devem ser monitorados e seu acesso restrito a poucas pessoas..

Auditoria em segurana da informao

18

Segurana Fsica
importante a segurana fsica dos computadores. Deve-se avaliar o grau de segurana proporcionado aos recursos envolvidos no ambiente de sistemas em relao s ameaas externas existentes, como o caso de um sinistro ou de um incndio. O ambiente onde os servidores ficam deve ter restrio de acesso fsico, limpeza e organizao, dispositivos para monitoramento vinte e quatro horas por dia e equipamentos de combate a sinistros. A infra-estrutura para os servidores deve contar com rede eltrica estabilizada e cabeamento estruturado. As estaes de trabalho devem ter moblia adequada, equipamentos protegidos com lacres ou cadeados, limpeza e configurao compatvel com a carga de trabalho.

Fontes e Editores da Pgina

19

Fontes e Editores da Pgina


Computao Fonte: http://pt.wikipedia.org/w/index.php?oldid=27961721 Contribuidores: !Silent, Agil, Andrevruas, Beria, Bons, Carlos Rosa, Carribeiro, Coutinho, Darwinius, DeLucca, J.Eduardo, Edrdo, Ellery Souza, Fabio.kon, Fernando S. Aldado, Gabrielt4e, Gfc, Gpsilva, Guijac, HiperX, Izina Paula Sobral da Gama, JMGM, Joildo, Jorge, LeonardoG, Ligia, Lijealso, Lus Felipe Braga, Marinamarilouka, Michelmfb, Moretti, Mschlindwein, North Dakota, Nuno Tavares, OS2Warp, Osias, Patenko, PauloColacino, Pietrobon costa, Pintopc, R. Koot, Rei-artur, Saugusto, Tiagorubin, Wbrito, Willdre, 43 edies annimas Arquitetura de computadores Fonte: http://pt.wikipedia.org/w/index.php?oldid=27975936 Contribuidores: !Silent, Alchimista, Alexandrepastre, Bigs, Darwinius, E2mb0t, Edinaldo B. Freitas, Gfc, JSSX, Leonardo.stabile, Luiz Felipe Garcia de Barros, Lus Felipe Braga, Manuel Anastcio, Mateus Hidalgo, Mecanismo, Monteiro iale, Mosca, OffsBlink, RafaAzevedo, Reporter, Ronabol, Ruy Pugliesi, SallesNeto BR, 39 edies annimas Sistema de processamento distribudo Fonte: http://pt.wikipedia.org/w/index.php?oldid=21404981 Contribuidores: Faustino.F, Gaf.arq, Get It, Leandromartinez, Leonardo.stabile, Leonardob, Lus Felipe Braga, Nuno Tavares, OS2Warp, Osias, Pilha, SallesNeto BR, Victor Oliveira, Whooligan, Zaiosc, Zx Spectrum, 19 edies annimas Sistema de ficheiros Fonte: http://pt.wikipedia.org/w/index.php?oldid=28154924 Contribuidores: Angeloshimabuko, Bardo, Belanidia, Camponez, ClaudiaWalus, Delemon, Euproprio, FabioLimaCE, FabioVila, GOE, Get It, Hgfernan, Lenes, Leonardo.stabile, LeonardoG, Luckas Blade, Lus Felipe Braga, M.N., Israel, Malafaya, Manuel Anastcio, Mschlindwein, Mrio e Drio, Nuno Tavares, Rafael.afonso, Rascachi, Reynaldo, Smoklin, Tumnus, 57 edies annimas Escalonamento de processos Fonte: http://pt.wikipedia.org/w/index.php?oldid=27878349 Contribuidores: Alunoso, Belanidia, Beria, ChristianH, Copat, Daemorris, Delemon, Ebalter, Fabricioaguirre, GRS73, Grupo S.O UTFPR, Gunnex, Jos Carlos de Vasconcellos Filho, Leonardo.stabile, LeonardoG, Lus Felipe Braga, Marcos Elias de Oliveira Jnior, Maxtremus, OS2Warp, Pellissari, Teles, Thacarpi, ThiagoRuiz, Vanthorn, 80 edies annimas Deadlock Fonte: http://pt.wikipedia.org/w/index.php?oldid=28107667 Contribuidores: !Silent, Ademar Brasil, Barao78, Braswiki, Ci.cp, Gunnex, Leonardo.stabile, LeonardoG, Leslie, Lus Felipe Braga, Lpton, Mpesmartins, Mschlindwein, Niqueco, OS2Warp, Patrick, Ricardo Ferreira de Oliveira, Semente, Tiago.frost.cajuru, Xdalmox, 46 edies annimas Auditoria em segurana da informao Fonte: http://pt.wikipedia.org/w/index.php?oldid=22723121 Contribuidores: Arthemius x, Fabiano Tatsch, Mbemidio, 6 edies annimas

Fontes, Licenas e Editores da Imagem

20

Fontes, Licenas e Editores da Imagem


Imagem:Portal.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Portal.svg Licena: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuidores: Portal.svg: Pepetps derivative work: Bitplane (talk) Ficheiro:DPC overview.jpg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:DPC_overview.jpg Licena: Creative Commons Attribution-Sharealike 2.5 Contribuidores: User:Nuno Tavares Ficheiro:FilesAndFolders.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:FilesAndFolders.png Licena: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuidores: FrancoGG Ficheiro:DeadlockGraph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:DeadlockGraph.svg Licena: Creative Commons Zero Contribuidores: User:Niqueco Ficheiro:MatrizesDeadlock.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:MatrizesDeadlock.png Licena: GNU Free Documentation License Contribuidores: Original uploader was Mpesmartins at pt.wikipedia

Licena

21

Licena
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/