Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sistemas Operativos Gestão de periféricos Varrimentos vs Interrupções Cache.

Similar presentations


Presentation on theme: "Sistemas Operativos Gestão de periféricos Varrimentos vs Interrupções Cache."— Presentation transcript:

1 Sistemas Operativos Gestão de periféricos Varrimentos vs Interrupções Cache

2 Gestão de periféricos varrimento vs interrupção Gestão por varrimento – Nesta opção o processador está constantemente a identificar o estado de um dispositivo para saber da disponibilidade desse dispositivo Esta gestão é pouco utilizada Gestão por Interrupção - Uma interrupção é um sinal de um dispositivo que normalmente resulta numa troca de contextos, isto é, o processador pára de fazer o que estava a fazer para atender ao dispositivo que pediu a interrupção. O pedido de interrupção é da responsabilidade do periférico

3 Gestão de periféricos Interrupção - interrupt request (IRQ) Cada periférico tem uma ligação especial ao processador e, sempre que envia um pedido de interrupção, este pára o que estava a fazer e começa a executar a sub-rotina de atendimento Quando esta sub-rotina termina, o processador retoma o que estava a fazer antes da interrupção (esta sub-rotina é responsável por fazer a transferência de dados de ou para o periférico) São os periféricos que tomam a iniciativa de interromper o processador: Periféricos de input – interrompem quanto existem dados a transferir para o CPU Periféricos de output– interrompem quando estão livres para receber novos dados do processador A sub-rotina de atendimento é executada apenas quando o periférico tem dados suficientes (+/-400bits) que justifiquem a interrupção

4 Cache – Memória estática – intermédia – guarda dados frequentemente utilizados L1 + “perto” do CPU + pequena que a L2 L1 + “perto” do CPU + pequena que a L2 L2 + “longe” do CPU Maior que L1 L2 + “longe” do CPU Maior que L1 CPU Cache Level 1 = L1 Cache memória estática – rápida; dispendiosa; sem refresh caché Tem origem na palavra caché (francês) O programador não tem controlo sobre ela, nem mesmo o SO, apenas o processador a controla frequentemente Cache guarda dados frequentemente utilizados Registos são o espaço de memória interno do CPU Toda a memoria intermediaria pode ser considerada memoria cache Cache - normalmente está incorporada no CPU

5 O CPU quer escrever “LUA” - Previsões L1 L2 CPU core Cache hit vs Cache Miss Cache tem em média uma taxa 90% de cache hit Tens a letra L Não (MISS) Tens a letra L Não (MISS) 1 2 3 4 5 6 Quero a letra L Envia a letra L e as letras U-A Como a memória RAM tem as letras L-U-A guardadas sequencialmente então a RAM vai enviar as restantes letras (U-A) para a CACHE porque o CPU previu que irão ser necessárias. Não esquecer que é o CPU que controla a cache. 7 U-A

6 O CPU quer escrever “LUA” - Previsões L1 L2 CPU core Cache hit O computadores tem em média uma taxa 90% de cache hit Tens a letra U Sim (HIT) 1 2 U-A Tens a letra A Sim (HIT) 3 4 Porquê? – Porque a CPU atua com base em previsões Embora pareça pouco cientifico a previsão do processador tem um funcionamento lógico, neste caso: -O Cpu sabe que está a trabalhar com strings -O CPU sabe que há duas letras guardadas nas células subsequentes da letra L

7 Memórias Registos do CPU Controlado pelo processador Controlado pelo SO

8 https://techbask.wordpress.com/2012/03/05/spooling-buffering-caching-whats-the-difference/ Spooling: Acronym of “Simultaneous Peripheral Operation On-Line”. Its a process of placing data in temporary working area for another program to process. E.g: Print spooling and Mail spools etc. When there is a resource (like printer) to be accessed by two or more processes(or devices), there spooling comes handy to schedule the tasks. Data from each process is put on the spool (print queue) and processed in FIFO(first in first out) manner. With spooling all process can access the resource without waiting. After writing the data on spool, process can perform other tasks. And printing process operates seperately. Without spooling, process would be tied up until the printing finished. Spooling is useful for the devices which have differing data access rate. Used mainly when processes share some resource and needed to have synchronization. Buffering: Preloading data into a reserved area of memory (the buffer). It temporarily stores input or output data in an attempt to better match the speeds of two devices such as a fast CPU and a slow disk drive. Buffer may be used in between when moving data between two processes within a computer. Data is stored in buffer as it is retrieved from one processes or just before it is sent to another process. With spooling, the disk is used as a very large buffer. Usually complete jobs are queued on disk to be completed later. It is mostly used for input, output, and sometimes temporary storage of data either when transfer of data takes place or data that may be modified in a non-sequential manner. Caching: Caching transparently stores data in component called Cache, so that future request for that data can be served faster. A special high-speed storage mechanism. It can be either a reserved section of main memory or an independent high-speed storage device. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. E.g: Memory Caching, Disk Caching, Web Caching(used in browser), Database Caching etc. A cache’s sole purpose is to reduce accesses to the underlying slower storage. NOTE:

9 Na computação, o spool é uma forma especializada de multiprogramação com a finalidade de copiar dados entre diferentes dispositivos. Em sistemas contemporâneos [a] geralmente é usado para mediar entre um aplicativo de computador e um periférico lento, como uma impressora. Spooling permite que programas para "mão off" trabalho a ser feito pelo periférico e, em seguida, prosseguir para outras tarefas, ou não começar até entrada foi transcrita. Um programa dedicado, o spooler, mantém uma seqüência ordenada de trabalhos para o periférico e alimenta os dados em sua própria taxa. Por outro lado, para periféricos de entrada lenta, como um leitor de cartões, um spooler pode manter uma seqüência de trabalhos computacionais à espera de dados, iniciando cada trabalho quando toda a entrada relevante estiver disponível; Consulte o processamento em lote. O carretel em si refere-se à seqüência de trabalhos, ou a área de armazenamento onde eles são mantidos. Em muitos casos, o spooler é capaz de conduzir dispositivos com a sua velocidade nominal total com um impacto mínimo sobre o processamento de outros.


Download ppt "Sistemas Operativos Gestão de periféricos Varrimentos vs Interrupções Cache."

Similar presentations


Ads by Google