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]

Ciências da computação dia 268

Medidas separatórias divide a sequência ordenada em partes iguais mediana também é uma medida dessas (divide em 2 parte de 50%) Quartis (Q) divide em 4 partes de 25% cada Decis (D) divide em 10 partes de 10% cada Percentis (P) divide em 100 partes de um 1% cada Quintil (K) divide em 5 partes de 20% cada Relações podemos relacionar cada um deles com outros ex: Q1 = P25, D1 = P10, K2 = D4, etc. QK, DK, PK, KK essas fórmulas nos dizem qual o elemento K dentro das separações em dados com intervalos de classe caso o dataset não esteja divido em intervalos de classe, é possível utilizar as técnicas ditas anteriormente e um pouco de lógica para encontrar tal elemento formula derivada da formula da mediana para dados com intervalos de classe ...

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

Ciências da computação dia 27

Para esta aula você precisará lembrar da aula 25 Um circuito simplificado é feito para diminuir a quantidade de componentes, que, por consequência, diminui o tempo de execução, custo para ser construido (tanto em mão de obra, como em dinheiro) e também economiza espaço em um chip. Um fator importante a se saber,é que nem sempre o circuito que tem menos componentes ele é necessariamente melhor veja esses dois circuitos. ...

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