A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de computadores

Apresentações semelhantes


Apresentação em tema: "Arquitetura de computadores"— Transcrição da apresentação:

1 Arquitetura de computadores
Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas IFSP – Campus Capivari

2 Suporte ao Sistema Operacional
24/04/2013

3 Sistema operacional SUPORTE AO SISTEMA OPERACIONAL
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Sistema operacional

4 Sistema operacional Um Sistema Operacional (SO) é um programa que controla a execução dos programas aplicativos e atua como uma interface entre o usuário e o hardware do computador; Um SO tem como características básicas: Propiciar conveniência: Torna um computador mais fácil de ser usado; Propiciar transparência: um SO deve abstrair o hardware, livrando o programador de conhecer rotinas mais próximas do hardware. Propiciar eficiência: Permite que os recursos do sistema de computação sejam usados de uma maneira eficiente; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

5 Sistema operacional Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

6 Sistema operacional Um SO normalmente oferece os serviços:
Criação de programas; Possui uma variedade de recursos e serviços que permitem auxiliar o programador. Execução de programas: Várias tarefas precisam ser realizadas para que um programa possa ser executado, como operações de memória, I/O, etc. Acesso aos dispositivos de E/S: Cada dispositivo de I/O possui seu próprio conjunto peculiar de instruções ou sinais de controle para operação, o SO permite uma forma de acessa-los de maneira transparente para o programador; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

7 Sistema operacional Acesso controlado aos arquivos:
Permite acessar de forma segura os arquivos; Permite organizar o uso das mídias através de sistemas de arquivos. Acesso ao sistema: Permite controlar o acesso aos recursos compartilhados apenas por usuários permitidos. Detecção e respostas a erros: Tratamento de erros externos (I/O e dispositivos periféricos), erros de memória ou de execução de programas (overflow). Monitoramento: Permite monitorar parâmetros de desempenho, analisando recursos de hardware e software ; Permite a análise de logs do próprio SO ou de softwares aplicativos. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

8 SO como um Gerente de Recursos
O SO é quem controla o processamento, o armazenamento e a transferência de dados; Para exercer a função de controle, o SO não é um mecanismo à parte do computador, ou seja, externo ao processador; Como mecanismo de controle, o SO é incomum em dois aspectos: O SO é um programa como outro qualquer, sendo executado pelo processador; O SO renuncia ao controle do processador deixando outro software utilizá-lo para, em seguida, obter o controle novamente; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

9 SO como um Gerente de Recursos
O SO é carregado na memória (ou parte dele) como outro programa qualquer; O Kernel (núcleo) sempre estará carregado na memória principal; Outros programas de usuário também estarão carregados na memória principal; O uso da memória é gerenciada pelo SO e pelo hardware de gerência de memória; O SO gerencia o uso de I/O e de acesso a arquivos; O próprio processador é gerido pelo SO determinando quanto tempo de execução será atribuído para um processo; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

10 Sistema operacional Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

11 Tipos de SO Dois aspectos básicos podem diferir os SOs:
A forma de utilização / interação por parte dos usuários: SO em Lotes (Batch); SO interativo. A forma de uso do processador: SO mono tarefa; SO multi tarefa. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

12 Tipos de SO Utilização / Interação:
Os SOs podem ser interativos ou em lotes: Interativos: os usuários podem interagir com o computador enquanto processa suas aplicações; Em lotes: o usuário entrega para um operador o programa e os dados e recolhe o resultado no final da tarefa; Forma de processamento: Monoprogramado (mono tarefa): O processador carrega para a memória principal (MP) e executa apenas um programa de cada vez; Multiprogramado (multi tarefa): Diversos programas são carregados simultaneamente na MP, e o tempo do processador é dividido entre eles; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

13 Os primeiros SOs No início da computação não existiam SOs;
Os utilizadores de computadores interagiam e programavam diretamente no hardware; Dois problemas principais nessa forma de utilização: Escalonamento: Usuários agendavam tempo de processador; Poderia haver desperdício de tempo de processador ou falta de tempo para uma tarefa; Tempo de preparação: Geralmente demorava-se muito para preparar o computador para uma tarefa; Ocasionava desperdício de tempo de CPU. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

14 Soluções para os primeiros SOs
Para resolver os problemas apontados, várias soluções foram sendo desenvolvidas: Sistema simples de processamento em lotes; Sistema de processamento em lotes com multiprogramação; Sistema de tempo compartilhado. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

15 Processamento em lotes em monotarefa
O usuário não tem acesso ao processador; As tarefas (jobs) são organizadas em lotes (batchs) e repassadas ao operador do computador; Existe um programa chamado Monitor que controla o processamento dos lotes; Esse Monitor é um “SO” de processamento em lotes; Possui várias características: Proteção de memória; Temporização; Instruções privilegiadas e; Controle de interrupções; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

16 Processamento em lotes em monotarefa
Proteção de memória: Programas do usuário não devem alterar a área de memória que contém o Monitor. Temporização: Um relógio é usado para evitar que um único programa monopolize o sistema; Quando atinge o tempo limite, gera-se uma interrupção. Instruções privilegiadas: Algumas instruções só podem ser executadas pelo monitor como por exemplo instruções de E/S. Interrupções: Fornecem ao SO a capacidade de obter o controle do processador quando este está executando programas dos usuários. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

17 Processamento em lotes em monotarefa
Mesmo melhorando o uso do computador, o sistema em lotes ainda não é bom o suficiente; Como os dispositivos de I/O são muito lentos, a CPU ficava muito tempo ociosa esperando por uma operação de I/O; O processador deve efetuar um processamento, esperar por uma operação de I/O e depois voltar a executar: O processamento é sequencial e monotarefa; Essa latência das operações de I/O pode ser analisado no seguinte exemplo: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

18 Latência das Instruções de E/S
Suponha um programa que processa um arquivo de registros e executa, em média, 100 instruções do processador por registro: Ler um registro µS Executar 100 instruções µS Escrever um registro µS TOTAL µS Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

19 Processamento em lotes multiprogramado
Aumentando a capacidade de memória, podemos abrigar na memória além do programa Monitor vários programas de usuários; Esse processo chama-se multiprogramação e é característica importante dos SOs atuais; O processamento dos programas pode ser feito de forma paralela e multitarefa; Nota-se o uso de acesso direto a memória bem como o uso de interrupções para que o processador possa ser escalonado entre os vários programas em execução; Para isso deve haver suporte no hardware do computador com tratamento de interrupções e gerenciamento de memória; Deve haver um algoritmo de escalonamento para determinar qual tarefa deve ser executado primeiro; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

20 Processamento em lotes multiprogramado
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

21 Diferença de desempenho
Efeito da multiprogramação na utilização de recursos: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

22 SO de tempo compartilhado
O processamento em lotes com monoprogramação e multiprogramação trouxeram melhoria para maximizar o uso do processador; Na década de 60, mesmo com os avanços proporcionados por essas duas abordagens, havia necessidade de melhorar o desempenho do computador para o usuário; Buscou-se então melhorar o tempo de resposta para o usuário; O computador passou a ser utilizado por vários usuários que interagiam com ele através de terminais; O tempo de processamento era dividido entre os vários usuários; Os usuários enviavam os comandos para o processador através do terminal; É um sistema multiprogramado; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

23 Processos Introduzido pelos projetistas do MULTICS nos anos 60;
Pode ser conceituado como: Um termo mais genérico que tarefa (job); Pode ser definido de várias maneiras, incluindo: Um programa em execução; O “espírito animado” de um programa; A entidade à qual um processador é alocado. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

24 Escalonamento e processos
A chave para a multiprogramação é o escalonamento ou agendador de tarefas (scheduling); Visa executar os processos de maneira mais eficiente, priorizando determinados tipos de processos, como os de I/O Bound e os CPU Bound; Para que a CPU não fique muito tempo sem executar alguma tarefa, os sistemas operacionais utilizam técnicas de escalonamento de processos que estão em execução ao mesmo tempo no computador; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

25 Tipos de Escalonamento
Escalonamento de longo prazo; Escalonamento de médio prazo; Escalonamento de curto prazo ; Escalonamento de E/S . Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

26 Escalonamento de Longo Prazo
Este escalonador é o responsável pelo grau de multiprocessamento, ou seja, a quantidade de processos que o sistema irá trabalhar; Deve decidir entre duas prioridades: Capacidade de haver mais processos na memória; Decisão de conversão de tarefa para processo: Converte (ou não) uma tarefa (programa de usuário) em um novo processo, que é colocado na fila do escalonador de médio prazo; Utiliza critérios de prioridades como tempo de execução e uso de I/O. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

27 Escalonamento de Longo Prazo
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

28 Escalonamento de Médio Prazo
Seleciona entre os processos que estão na memória virtual, reduzindo o grau de multiprogramação; Ele temporariamente remove o processo da memória principal e o coloca na memória secundária (swap) fazendo as operações de swapping in e swapping out: Swapping in: Carrega da memoria virtual para a memória principal. Swapping out: Tira da memória principal e coloca na memória virtual. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

29 Escalonamento de Médio Prazo
Acrescenta um novo processo ao conjunto de processos a serem executados na MP: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

30 Escalonamento de Médio Prazo
É também responsável pela troca de processos (swapping) entre a MP e o disco: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

31 Escalonamento de Curto Prazo
Seleciona entre os processos em estado de pronto que estão na memória principal para serem executados pelo processador; O escalonador de curto prazo faz decisões de escalonamento muito mais frequentemente que os de médio e longo prazo. Também chamado de despachante (dispatcher), decide qual dos processos residentes na MP deve ser executado: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

32 Escalonamento de Curto Prazo
Também chamado de despachante (dispatcher), decide qual dos processos residentes na MP deve ser executado: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

33 Estados de processos Para compreender o escalonador de curto prazo, devemos analisar os estados que um processo pode ter: Estado de processo define as condições para que o processo possa ser executado ou não; Durante sua vida, um processo muda de estado várias vezes, podendo ter cinco estados diferente: Novo; Pronto; Em execução; Suspenso; Concluído. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

34 Estados de processos Novo:
Foi incluído no escalonador de longo prazo, mas ainda não está no escalonador de médio prazo; Pronto: Está pronto para execução aguardando na fila de escalonamento de curto prazo. Em execução: Está dentro do processador e em execução. Suspenso: Ou bloqueado, está esperando alguma operação, geralmente de I/O Concluído: Está completa a execução e o SO irá destruí-lo (ou finalizá-lo). Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

35 Estados de processos Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

36 Estados de processos Alguns autores (como Tanenbaum) definem apenas três estados para o processo: Pronto: Está pronto para execução aguardando na fila de escalonamento de curto prazo. Em execução: Está dentro do processador e em execução. Suspenso: Ou bloqueado, está esperando alguma operação, geralmente de I/O Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

37 Bloco de Controle de Processos
O SO deve manter para cada processo informações sobre seu estado, bem como outras informações relevantes para sua execução; Essas informações são mantidas em um bloco de controle e utilizadas pelo SO para escalonamento; Quando o escalonador admite um novo processo, ele cria um bloco de controle para esse processo; O bloco de controle possui seus campos em branco no estado novo; Depois que o SO tiver preenchido adequadamente as informações, o estado muda para pronto. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

38 Bloco de Controle de Processos
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

39 Bloco de Controle de Processos
O BCP contém geralmente as seguintes informações sobre o processo: Identificador: Cada processo tem um ID único indicado nesse campo; Estado: Indica o estado atual do processo; Prioridade: Nível de prioridade do processo que será utilizado pelo escalonador; Contador de programa (PC): Valor da próxima instrução do processo Limites de memória: Endereço Inicial e Final da memória principal utilizada por esse processo; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

40 Bloco de Controle de Processos
Continuação: Informações de contexto: Dados contidos nos registradores para serem novamente processados na troca de contexto. Informação de estado de I/O: Contém requisições de I/O pendentes que estão sendo processadas pelo módulo de I/O. Informações de contabilidade: Inclui tempo de CPU gasto, limites de tempo de execução entre outras. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013


Carregar ppt "Arquitetura de computadores"

Apresentações semelhantes


Anúncios Google