so - aula 02 - conceitos

26
Sistemas Operacionais Aulas 02, 03, 04 - Conceitos de Hardware e Software

Upload: gabriel-feitosa-vilar

Post on 13-Jan-2015

5.465 views

Category:

Education


0 download

DESCRIPTION

Aulas 02, 03, 04 - Conceitos de Hardware e Software

TRANSCRIPT

Page 1: SO - Aula 02 - Conceitos

Sistemas Operacionais

Aulas 02, 03, 04 - Conceitos de

Hardware e Software

Page 2: SO - Aula 02 - Conceitos

Introdução

Conceitos Arquitetura de computadores Hardware Software

Page 3: SO - Aula 02 - Conceitos

Hardware

Um sistema computacional é um conjunto de circuitos eletrônicos interligados (hardware)

Subsistemas básicos (unidades funcionais) Processador ou Unidade Central de

Processsamento Memória principal Dispositivos de entrada e saída (E/S)

Page 4: SO - Aula 02 - Conceitos

Processador

Gerencia todo o sistema computacional controlando as operações realizadas em cada unidade funcional

Controlar e executar instruções presentes na memória principal, por meio de operações básicas como somar, subtrair, comparar e movimentar dados

Page 5: SO - Aula 02 - Conceitos

Processador

É composto de: Unidade de controle (UC)

Gerencia as atividades de todos os componentes do computador, como a gravação de dados em discos ou busca de instruções

Unidade lógica e aritmética (ULA) Realiza operações lógicas (testes e comparações) e

aritméticas (adições e subtrações) Registradores

Armazenam dados temporariamente

Page 6: SO - Aula 02 - Conceitos

Memória principal

Memória principal, primária ou real é o local onde são armazenados instruções e dados

É composta de unidades de acesso chamadas células, sendo cada uma composta de um determinado número de bits

O acesso ao conteúdo de uma célula é feito pela especificação de um número chamado endereço no registrador de endereço de memória (Memory Address Register)

Page 7: SO - Aula 02 - Conceitos

Memória cache Memória volátil de alta velocidade, porém com

pequena capacidade de armazenamento Tempo de acesso menor que a memória principal Armazena uma pequena parte do conteúdo da

memória principal Se a informação não estiver presente no cache, o

processador acessa a memória principal Durante a execução de um programa, as

referências às instruções e dados tendem a estar em endereços próximos

Programas estrututurados Alto custo, baixa capacidade de armazenamento

Page 8: SO - Aula 02 - Conceitos

Memória secundária

Meio permanente (não volátil) de armazenamento de programas e dados

Acesso lento, comparado a memória principal

Capacidade de armazenamento superior Disquete, HD, CD, DVD, fita magnética

Page 9: SO - Aula 02 - Conceitos

Dispositivo de E/S

Permitir comunicação entre o sistema computacional e mundo externo

Categorias Memória secundária

Custo relativamente baixo Interface usuário-máquina

Teclado, monitor de vídeo, impressora, plotter, etc

Page 10: SO - Aula 02 - Conceitos

Barramento ou Bus

Meio físico de comunicação entre as unidades funcionais de um sistema computacional

Dados, sinais de controle, endereços trafegam por seus condutores entre processadores, memórias e dispositivos de E/S

Linhas de controle e linhas de dados

Page 11: SO - Aula 02 - Conceitos

Barramento ou Bus

Classificação de barramentos Processador-memória

Curta extensão, alta velocidade Costumam ser proprietários

Entrada e saída Maior extensão, baixa velocidade, conexão de diferentes

dispositivos Costumam ser padronizados (PCI, SCSI)

Backplane O barramento de E/S não se conecta diretamente ao

barramento processador-memória. Existe um barramento de backplane que integra os dois barramentos

Page 12: SO - Aula 02 - Conceitos

Pipelining

Técnica que permite ao processador executar múltiplas instruções paralelamente em estágios diferentes

A execução de uma instrução é dividida em subtarefas, como as fases de busca da instrução e dos operandos, execução e armazenamento dos dados

O pipelining pode ser empregado em sistemas com um ou mais processadores, em diversos níveis

Técnica mais usada para aumentar o paralelismo

Page 13: SO - Aula 02 - Conceitos

Arquitetura

Linguagem de máquina Conjunto definido de instruções de máquina

Arquitetura RISC CISC

Page 14: SO - Aula 02 - Conceitos

Arquitetura RISC

Reduced Instruction Set Computer Possui poucas instruções de máquina

executadas diretamente pelo hardware Muitos registradores Pouca lógica de controle Instruçoes executadas rapidamente Poucas instruções acessam a memória

principal Facilita a implementação de pipelining

Page 15: SO - Aula 02 - Conceitos

Arquitetura CISC

Complex Instruction Set Computer Possui instruções complexas interpretadas

por microprogramas Lógica de controle complexa Número de registradores pequeno Qualquer instrução referencia a memória

principal Difícil fazer pipelining

Page 16: SO - Aula 02 - Conceitos

Microprogramação

Definem a linguagem de máquina de um computadore CISC

O código executável de um processador CISC é interpretado por microprogramas durante sua execução, gerando microinstruções, que finalmente são executadas pelo hardware

Para cada instrução em linguagem de máquina, existe um microprograma

Page 17: SO - Aula 02 - Conceitos

Software

Conjunto de programas, utilizado como interface entre as necessidades dos usuários e as capacidades do hardware

A utilização adequada do software torna o trabalho dos usuários mais simples e eficiente

Page 18: SO - Aula 02 - Conceitos

Tradutor

Linguagem de máquina Linguagens de montagem (assembly) Linguagens de alto nível Tradutor converte a representação simbólica das

instruções é traduzida para código de máquina O código gerado pelo tradutor é chamado de

módulo-objeto e normalmente não pode ser diretamente executado, precisando de um linker

Dependendo do código fonte, divide-se em montador e compilador

Page 19: SO - Aula 02 - Conceitos

Montador e compilador

Montador (assembler) Traduz o programa-fonte, escrito em linguagem

de montagem, para um programa objeto não executável

Baixa portabilidade Compilador

Traduz o programa-fonte, escrito em linguagem de alto nível, para um programa objeto não executável

Alta portabilidade

Page 20: SO - Aula 02 - Conceitos

Interpretador

Tradutor que não gera código-objeto Traduz e executa as instruções

imediatamente Maior tempo gasto na tradução das

instruções toda vez que for executado Permite tipos de dados dinâmicos Mais flexível

Page 21: SO - Aula 02 - Conceitos

Linker ou editor de ligação

Gera, a partir de um ou mais módulos objeto, um único programa executável

Resolve todas as referências simbólicas existentes entre os módulos

Reservar memória para a execução do programa Pesquisa em bibliotecas do sistema ou criadas pelo

usuário Bibliotecas são arquivos que contém diversos

módulos-objeto e/ou definições de símbolos

Page 22: SO - Aula 02 - Conceitos

Linker ou editor de ligação

Reloca os programas, ou seja, determina a região de memória onde o programa será carregado para execução

Link estático A relocação é feita em tempo de linkedição

Link dinâmico A relocação é feita em tempo de execução pelo

loader Sobrecarga de processamento

Page 23: SO - Aula 02 - Conceitos

Loader ou carregador

Responsável por carregar na memória principal principal um programa para ser executado

Procedimento de carga varia de acordo com o código gerado pelo linker Código absoluto

Endereço inicial fixo, tamanho do módulo Código relocável

Carregado em qualquer posição da memória

Page 24: SO - Aula 02 - Conceitos

Debugger ou depurador

Utilitário que permite ao desenvolvedor acompanhar toda a execução de um programa a fim de detectar erros na lógica Acompanha a execução instrução por instrução Alteração ou inspeção do conteúdo das variáveis Pontos de interrupção (breakpoints) Visualização de variáveis ou valores

(watchpoints)

Page 25: SO - Aula 02 - Conceitos

Shell ou interpretador de comandos

Permite que o usuário se comunique com o sistema operacional

Acesso a funções e rotinas do sistema Os comandos são enviados para o shell, que

verifica sua sintaxe, envia mensagens de aviso ou erro e faz chamadas a rotinas do sistema

Linguagem de comandos ou de controle Em geral, não faz parte do SO

Page 26: SO - Aula 02 - Conceitos

Ativação/desativação do sistema

Inicialmente todo o SO está na memória secundária Após o computador ser ligado, o SO é carregado

para a memória principal (ativação do sistema, bootstrap ou boot)

O procedimento varia em função do equipamento Além do SO, também ocorre a execução de

arquivos de inicialização Na maioria dos SO existe também um procedimento

de desativação (shutdown) Permite a desativação ordenada, garantindo sua

integridade