Ciências da computação dia 26

na eletrônica temos diversas portas lógicas que são derivadas de outras, nesse caso o XOR é uma porta derivada da porta OR assim como na vida real o ou exclusivo (ou, ou excludente) leva uma característica excludente de sua operação. Na vida real, se dizermos ou um ou outro, você poderia escolher apenas um dos elementos, no entanto a porta or ela não segue esse padrão, sendo também verdadeiro quando os dois valores forem verdadeiros, dai que vem a porta XOR, ela só será verdadeira quando só uma das entradas forem verdadeiras. ...

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

Ciências da computação dia 260

média, moda e mediana podem ser usados para dados → não agrupados, agrupados sem intervalos de classe e agrupados com intervalos de classe Média aritmética simples sendo n o total de elementos da amostra Média aritmética ponderada valores possuem pesos diferentes sendo w o pesos de cada elemento Mediana(Md) valor do meio do ROL (tanto faz crescente ou decrescente) para n ímpar → (n+1)/2 é o índice do elemento do meio que representa a mediana para n par → x1=(n/2) e x2=(n/2)+1 representa os indices dos dois elementos centrais, após pega-los basta fazer: (x1+x2)/2 e assim teremos a mediana Média e Mediana usos dão uma ideia de qual valor você encontrará se você tirar um elemento ao acaso quando há outliers nos dados, mediana representa melhor o conjunto de dados do que a média Mediana é usada também quando quer-se dividir a distribuição em partes iguais Moda valor(es) que mais aparece(m) amodal → não há moda no conjunto unimodal → apenas um valor (uma moda) bimodal → dois valores aparecem o mesmo tanto de vezes e ambos são modas trimodal → 3 modas polimodal → mais de 3 modas {1, 2, 5, 5, 6, 6, 7, 8} → bimodal, pois 5 e 6 aparecem duas vezes ...

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

Ciências da computação dia 261

Tratamento de interrupção empilha o contador de programa atual carrega o novo contador de programa procedimento em assembly salva os registradores procedimento em assembly configura uma nova pilha executa serviço de interrupção escrito em C (lê e armazena a entrada) procedimento em C volta para o procedimento em asm procedimento em assembly inicia o novo processo Classificação de processos CPU Bound I/O Bound Sabendo o tipo do processo, é possível implementar rotinas no escalonador para otimizar o tempo ocioso Para otimizar é possível utilizar: buffer, paralelismo real, etc. CPU Bound utiliza muita CPU tempo de execução é dado por ciclos da CPU que foram(serão) usados tem sensibilidade ao escalonador (performance depende dele, já que ele dirá quando o processo pode usar a CPU) I/O Bound realiza muito I/O tempo de execução dado pela operação de Entrada e saída é menos afetado pelo escalonador tempo de espera da entrada ou saída é o limitante Banco de dados, web server, etc. Escalonador sua função é não deixar a CPU ociosa mudança de contexto (processo) → tarefa custosa o escalonamento é necessário quando → um processo é criado, bloqueado e terminou a execução. quando há um bloqueio, o escalonador pode decidir continuar esperando pelo I/O ou seguir para outro processo mais rápido Tipos de algoritmos do Escalonador Preemptivo → suspende o processo que está sendo executado Não preemptivo → executa tudo até o programa acabar ou houver um bloqueio Preemptivo muita troca de contexto suporta melhor a responsividade processos com prioridade são executados na hora fila prioritária bom para sistemas em tempo real Não preemptivo era usado em sistemas uni-core há menos tempo desperdiçado devido a menor troca de contexto mais previsível o tempo de execução Características para um Escalonador justiça → cada processo tem uma parcela de tempo justa para usar a CPU balanceamento → diminuir a ociosidade do sistema cumprimento da política do sistema → uso da prioridade, etc. deve ser encaixar ao tipo de ambiente (batch, interativo, etc.) Sistemas BATCH vários dados ao mesmo tempo para processar sem muito I/O necessário maximizar o uso da CPU não precisa de respostas rápidas pouca troca de contexto escalonador vai para aquele com menor tempo de execução ou menor uso de memória escalonador também pode seguir a ordem do user ou através da pilha de tarefas Sistemas Interativos alta interação com o user alta troca de contexto responsividade para o user escalonador precisa se adaptar a carga de trabalho e manter equilíbrio entre responsividade e uso de CPU escalonador deve ter baixo tempo de resposta (fatias de tempo menor pra cada um), preempção (dar chance para outro processo executar), prioridade para processos interativos, aumentar a prioridade para processo a muito tempo na fila Sistemas de tempo real tarefas precisam ser executadas dentro do deadline maior tempo para cada processo Jitter variação entre o tempo de resposta e o tempo ideal Overhead tempo não utilizado troca de contexto Algoritmos de escalonador para sistemas BATCH three level FIFO Shortest job first shortest remaining time next Three Level 3 escalonadores (CPU, memória e admissão) admissão → processos menores primeiro; leva em consideração menor acesso a CPU e maior uso de I/O memória → verifica quanto tempo está esperando, tempo de CPU, tamanho, importância CPU → executa o próximo FIFO segue a ordem de requisição dos processos não preemptivo vai empilhando os processos Shortest Job First menor é executado primeiro não preemptivo menor turnaround médio Turnaround médio é o tempo médio de execução de todos os processos. Nesse método, vê-se a combinação de processos que minimizam o tempo. ...

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

Ciências da computação dia 262

Grafos Conjunto de elementos de um grafo são as vertices (V = A, B, C, D) e o conjunto de suas relações (E = A,C, B, D, C,B) //dot program graph{ beautify=true layout="sfdp" A [color=green] B [color=red] C [color=blue] D [color=purple] A -- C B -- D C -- B } Tipos de grafos dígrafo → grafo direcionado (com seta) (A,B é diferente de B,A, sendo assim colocarei apenas aquele que será usado no conjunto), não possui self loop (um vértice vai para ele mesmo) ...

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

Ciências da computação dia 263

Linguagem C pode ser considerada de médio nível. Já que consegue conversar com o hardware e ainda ser fácil de ler.

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

Ciências da computação dia 264

Média (sem intervalos de classe) Mediana(sem intervalos de classe) essa mesma fórmula é usada para quantidade ímpar e par. a classe que possui o valor mediano é chamada de classe mediana. Moda (sem intervalos de classe) o valor com a maior frequência (fi) → nesse caso 8.5 a classe com o valor da moda é chamada de classe modal Média (com intervalos de classe) é feito da mesma forma que a sem intervalos de classe é feito Mediana (com intervalos de classe) ...

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

Ciências da computação dia 265

Escalonadores para sistemas I/O Bound Round Robin execução de processos de maneira justa e eficiente tempo compartilhado preemptivo dá uma fatia de tempo para cada processo fila de prontos é cíclica → após o processo terminar de usar sua fatia, ele vai para o final, caso não tenha terminado de executar tudo tempo de resposta rápido, já que os processos recebem CPU frequentemente Overhead de comutação (troca de contexto) desempenho variável → processos longos são prejudicados quando fatias de tempo (quantum) pequenos são usados utilizar quantum muito grande, faz ele se tornar uma FIFO quantum muito pequeno faz aumentar o overhead Para encontrar o melhor quantum (Q) é interessante manter o equilibrio entre o overhead e um tempo razoavel de execução chaveamento = 1ms Q = 4ms total = 4ms + 1ms = 5ms nesse caso, 20% do tempo é perdido para o overhead com o chaveamento de processos Q = 99ms total = 99ms + 1ms = 100ms nesse segundo caso, só 1% do tempo é perdido com a troca de contexto, mas há muito tempo de espera para a troca de procesos Levando em consideração esses exemplos, escolher um quantum Q intermediario, como 20ms seria uma opção viavel Baseado em prioridade varias filas para cada nível de prioridade processos de prioridade maior irão antes pode utilizar o round-robin para gerenciar a fila executa primeiro toda a fila de maior prioridade e depois vai descendo os níveis pode ser tanto preemptivo como não preemptivo, dependendo do algoritmo escolhido pode ajustar a prioridade dinamicamente, para evitar inanição (starvation, processos que nunca seriam executados devido a sua baixa prioridade) Múltiplas filas cada fila pode ter características distintas (processos para processamento em lote, processos interativos, processos com prioridade, etc.) cada fila pode ter um algoritmo diferente para gerenciamento cada fila terá uma prioridade diferente pode ser preemptivo quando processos de maior prioridade entram pode dar-se um tempo de execução limitado para cada fila pode mover processos entre filas possui overhead no gerenciamento das filas pode sofrer de starvation Loteria cada processo recebe um ticket a cada troca de processo um ticket é sorteado, assim o processo sorteado por ocupar a CPU pode dar mais tickets para um processo para aumentar a chance dele ser sorteado(prioridade) é mais justo não é preemptivo possui variabilidade no tempo de resposta Fair-Share leva em consideração quem é o dono do processo (user, sistema, etc.) cada dono possui uma fração de tempo para usar a CPU, escalonando os processos a partir dai se um user possui mais processos ele terá mais tempo Escalonadores para sistemas de tempo real hard real time → não pode atrasar (critico) soft real time → alguns atrasados são tolerados eventos (periódicos ou aperiódicos) causam execução de processos algoritmos preemptivos algoritmos usados podem ser: estáticos (define a ordem de execução antes) ou dinâmicos (avalia qual será executado em tempo de execução) Earliest deadline first preemptivo e dinâmico tarefa com menor deadline tem prioridade se chegar um com menor deadline ele chaveia para este com menor possui overhead Rate monotonic scheduling preemptivo e estático prioridade é dada pela frequência de execução ótimo para sistemas periódicos e com processos independentes Least laxity first (last stack time first) escalona com base na folga (tempo restante até o deadline — tempo restante para completar a tarefa ) processo com menor folga vai primeiro pode ter bastante overhead

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

Ciências da computação dia 266

Graus (d) grau de um vértice → número de arestas incidentes a ele grau do grafo(grau máximo) → maior grau dos vertices grau de vertices isolados é 0 (também chamado só de isolado) d(v) = 1 → chamado de pendente, folha ou terminal menor grau do grafo é chamado de grau mínimo e é representado por δ(G) maior grau de um grafo é chamado de grau máximo e é representado por Δ(G) ...

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

Ciências da computação dia 267

WWAMS para telefones 2g → cdma x gsm 3g → cdma2000 x umts/hspa 4g → (baseado em IP) wimax x LTE 5g → agora tem outras tecnologias como beamforming, massive MIMO, etc. LTE advanced(4g+ ou 4.5g) → mantém 4g em diversas frequências e depois junta em uma única Camadas redes são organizadas em camadas (pilha de camadas) O numero, nome, conteúdo e função de cada camada deferência uma rede de outra camada N de A se comunica com a N de B (comunicação lógica) → isso quer dizer q os protocolos para essas camadas são as mesmas regras e convenções de cada camada são conhecidas como o protocolo da camada n comunicação física ocorre entre as camadas de um mesmo host (pra cima ou para baixo) dados de um host é passado de uma camada mais alta até chegar ao meio físico e depois sobe do mais baixo ao mais alto no host alvo conjunto de camadas e protocolos definem a arquitetura de uma rede lista de protocolos é chamada de pilha de protocolos ao passar por cada camada (de cima para baixo) mais dados são adicionados. Ao fazer o caminho inverso os dados são removidos e a mensagem cru começa a aparecer novamente toda camada precisa identificar receptor e emissor (endereçamento) camadas precisam controlar error, pedindo reenvio caso necessário (no modelo TCP) necessário possuir controle de fluxo, já que o emissor pode enviar mais pacotes do que um receptor mais lento pode processar necessário traçar o roteamento. algumas vezes isso é feito por mais de duas camadas ...

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

Ciências da computação dia 268

Threads fluxo de controle dentro de um processo (linha de execução) possui um inicio e um fim, como um programa em sequência permite paralelismo → permite utilizar vários cores permite que o programa seja responsivo → faz com que outras tarefas continuem em execução Pode ajudar a simplificar o código, dividindo-o em partes menores e independentes pode usar memória compartilhada para trocada de informações e etc pode haver conexão inter-threads (usando memória compartilhada e mecanismos de sincronia) representa a execução de um programa também menor unidade agendavel de um processo todos os threads dentro de um processo compartilham dos mesmo recursos do processo executado a partir de um processo mais leve e eficiente que processos, já que compartilha recursos ao invés de pedir novos contexto é menor, já que utiliza apenas parte do contexto do processo em si Troca de contexto é mais rápida e eficiente criação é mais rápida contexto é composto por → conjunto de registradores, pilha, PC, ponteiro para tabela de processos, ponteiro para arquivos, etc. Apenas o especifico para cada tarefa de cada thread Estados de um thread new → criado, mas não iniciado runnable → pronto para ser executado running → está em execução waiting → aguardando recurso externo terminated → acabou a execução Transições de estados de um thread execução para aguardando aguardando para pronto execução para terminated execução para pronto → foi interrompido ...

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