Ciências da computação dia 278

Análise combinatória fatorial não funciona para números negativos n! = n*(n-1)*(n-2)*…*1 0! = 1! = 1

April 28, 2025 · 1 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 279

Sleep/Wake Up bloqueante para problemas bounded buffer(limitado pelo buffer) problema do produtor/consumidor (produtor adiciona no buffer, consumidor tira do buffer) o problema do produtor/consumidor acontece quando o produtor quer adicionar no buffer, mas ele está cheio, ou o consumidor quer tirar do buffer, mas ele está vazio para resolver isso, o sleep/wake up coloca o processo para dormir dois processos acessam o buffer ao mesmo tempo buffer age como uma fila circular exclusão mutua deve ser aplicada há a possibilidade de usar uma variável para dizer se um pode consumir e se o outro pode adicionar, contudo, o scheduler pode interromper antes da variável ser modificada, podendo então causar a dissincronia e consequentemente um deadlock um processo pode colocar outro para dormir (sleep) ou acordar (wake up) Semáforo armazena o numero de wake ups enviados, começando em 1 se o número for 0, o recurso está sendo usado, se não ele está livre operação down executa sempre que um processo quer utilizar o recurso e up para liberar o recurso operações são atômicas aplica a exclusão mutua bloqueante quando um processo acessa a região crítica, ele da um comando down, se o valor for 0 ele entra numa fila e fica bloqueado até chegar a vez dele de usar, se não ele executa Semáforo full → conta no buffer quantos espaços estão sendo usados (começa com o numero de elementos) Semáforo empty → conta o numero de espaços vazios no buffer (começa com 0) soluciona o mesmo problema do produtor/consumidor Monitor há somente um processo ativo dentro do monitor o restante é bloqueado semelhante ao semáforo, só que mais fácil de controlar bloco programático compilador que garante a exclusão mutua dentro de um bloco monitor há procedimentos a serem executados, antes de executar ele vê se não há nada que estava sendo executado antes Mensagem processos podem estar em diferentes máquinas envia e recebe mensagens ao invés de usar memória compartilhada pode usar as primitivas SEND e RECIEVE para sincronia pode ser bloqueante ou não (usando outra THREAD por exemplo) por usar rede, há diversos problemas que podem acontecer para resolver a perda de mensagens, é usado ACK para dizer que a info chegou corretamente para resolver a perda do ACK, as mensagens são todas numeradas, assim, caso um envie a mesma mensagem 2 vezes, entende-se que ele não recebeu o ACK então, você descarta a mensagem e envia o ACK de novo pode haver combinação de bloqueante e não bloqueante (emissor x receptor) emissor bloqueante e receptor bloqueante = síncrono ...

April 28, 2025 · 3 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 28

Lógica simples probabilidade usada apenas para um caso único P = n de casos satisfatórios / n de todos os casos (conjunto U) Teorema do OU soma de probabilidades deixa mais fácil o evento desejado P(1) + P(2) +P(3) …. + P(n) Teorema do E multiplicação de probabilidades deixa mais difícil o evento desejado P(1) * P(2) * P(3) … * P(n) Além disso, em alguns tipos de eventos você pode ter devolução ou não (dependendo do caso, claro), com devolução você manterá a mesma probabilidade para todos os eventos ...

April 28, 2025 · 4 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 280

Matriz de adjacência cada vértice é representada por um element na linha i e coluna j elemento aij representa a quantidade de ligações que um vértice tem cada intersecção entre linha e coluna diz se eles possuem ligações Podem ocorrer espelhos na matriz, formando dois triângulos. Dessa forma é possível armazenar só um dos triângulos e economizar memória matriz densa = poucos zeros; matriz dispersa = muitos zeros (poucas arestas) ótimo para dígrafos e grafos densos no geral no grafo não direcionado, cada elemento aij pode ser maior do que 1, sendo assim, cada vértice pode ter mais de uma ligação no dígrafo, cada elemento vai de 0 até 1, contando a aresta que sai de um nó. Nesse caso é necessário manter todos os elementos. Aqui pode não haver os espelhos. matriz booleana = diagonal principal é 0. Não há arestas múltiplas(loops, etc). tudo é 0 ou 1. possui os dois triângulos espelhados ...

April 28, 2025 · 1 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 281

Portas tanto TCP como UDP utilizam portas para passar informações para camadas superiores são usadas para manter diferentes conversações ao mesmo tempo IANA → órgão que define portas padrão para serviços FTP → 20 é para dados, 21 é para controle Aplicações especificas recebem portas padrão abaixo de 1024 Aplicações genéricas recebem portas randômicas acima de 1023 Domínio conjunto de máquinas (hosts) que agrupam um conjunto de serviços DNS tipo A → aponta para um IP tipo CNAME → aponta para um nome tipo MX → usado para email tipo TXT → usado para texto puro é um banco de dados distribuído usa a porta 53 de primeiro nível (.br, .it, .io, .uk, …) de segundo nível (.edu, .gov, .com, …) para aumentar os níveis, é necessário mais de DNS para dizer quem vai apontar para cada domínio ...

April 28, 2025 · 1 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 282

Socket comunicação usando TCP/UDP troca de dados em tempo real escalável multi-usuário mais difícil de implantar mais vulnerável resposta rápida modelo cliente servidor ocorre um three-way handshake no começo

April 28, 2025 · 1 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 283

Principio fundamental da contagem Para saber as combinações do conjunto podemos fazer: 4*3*2*1 = 4! Arranjo Simples Agrupamento sem repetição em que um grupo é diferente de outro por ordem ou por natureza dos elementos

April 28, 2025 · 1 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 284

AWS Na AWS tudo parte de uma VPC(rede virtual) cada VPC pode estar associada a uma região e cada região a uma subrede toda VPC pode ser publica, sendo disponibilizada para todo mundo, ou privada, um IP interno usado para coisas internas da aplicação, como banco de dados etc 0.0.0.0/0 é o default gateway tabela de rotas interligam subredes ao derrubar um server da cloud, o DNA ainda funciona TTL é o tempo em que um pacote vai ficar vivo(usado para DNS, CDN, etc.)

April 28, 2025 · 1 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 285

Permutação Simples Quantidade de combinações Arranjo Simples A cada arranjo cria-se um grupo distinto dos outros Combinação Simples Este não cria novos grupos Tanto faz a ordem (AB=BA) Permutação com elementos repetidos Usado para anagramas

April 28, 2025 · 1 min · map[email:dpbm136@gmail.com name:Dpbm]

Ciências da computação dia 286

Gerenciamento de Memória Lei de Parkinson — Programa sempre se expande para preencher a memória disponível para ele gerencia da hierarquia de memória SWAP alocação e liberação de espaço localização de dados Classes de gerenciamento de memória Mono tarefa toda memória é alocada para o próximo programa inclui área para o OS erros de execução podem prejudicar o OS que está na memória Multiprogramação Divide a memória em varias partições de tamanhos diferentes Ao adicionar um job ele entra na fila para pegar um espaço da memória Diminui o tempo ocioso da CPU, já que você pode fazer várias coisas ao mesmo tempo Para resolver problemas de limites das partições, o processador vem equipado com uma MMU MMU (memory management unit) Hardware presente no processador transforma endereço virtual em físico user nunca acessa endereços físicos aponta um espaço virtual para um físico software não pode ser compilado com endereços absolutos, por isso usa-se offsets de endereços. Com isso, endereços de limite são colocados para auxiliar commandos JMP o endereço base e limite superior são usados para não fazer com o que programa saia dos limites, além do endereço base ser usado para o calculo do offset Tipos de partição Estática tamanho e número de partições fixa suscetível a fragmentação mais fácil de gerenciar espaços podem não ser usados totalmente (fragmentação interna) pode usar filas múltiplas para adicionar processos nas partições (cada fila é designada para um tamanho especifico, mas pode acarretar em filas não balanceadas) pode usar fila única para adicionar processos nas partições, assim cada processo pega a melhor partição livre, mas seria mais lento pode haver fragmentação externa (se juntar duas partições livres elas dariam o tamanho para caber um processo maior que precisa ser executado). Esse problema é menor no caso da estática Variável menor fragmentação interna alocado dinamicamente problema de fragmentação externa, uma vez que conforme o espaço vai sendo liberado, buracos ficarão no meio. Para resolver esse problema pode ser usado a compactação da memória (OS mantêm uma lista dos espaços vazios, mas é custoso para a CPU) Técnicas de alocação Bitmap divide a memória em pequenos pedaços (em Kb por exemplo) cada pedaço recebe o valor 1, se estiver ocupado, e 0 se estiver livre unidades não podem ser nem muito grandes nem pequenas demais Linked lists Lista encadeada marca se é um espaço vazio ou não, a onde começa e o tamanho da partição pode ser usada mais de uma lista, para dizer por exemplo o que está vazio e o que esta sendo usado Algoritmos de alocação First Fit o primeiro segmento livre é usado (dessa forma os espaços vazios vão para o final) + rápido pode levar a fragmentação Next Fit usa o primeiro segmento livre, guarda essa informação e para o próximo ele continua da onde parou desempenho inferior ao First Fit Best Fit procura na lista toda o melhor espaço para o processo mais lento menor fragmentação após um bom tempo ele pode deixar vários espaços pequenos inúteis (fragmentação) Worst Fit aloca o maior espaço disponível para evitar os espaços pequenos inúteis tende a espalhar porções não utilizadas para áreas não contíguas, sendo difícil de alocar jobs grandes depois Quick Fit mantém listas para tamanhos mais usados e pega o que se encaixa para o processo tenta encontrar os espaços vazios vizinhos ao dealocar para fazer a união entre eles Dispositivos de memória massive tape storage — fitas para backup

April 28, 2025 · 3 min · map[email:dpbm136@gmail.com name:Dpbm]