so - aula 02 - conceitos
DESCRIPTION
Aulas 02, 03, 04 - Conceitos de Hardware e SoftwareTRANSCRIPT
![Page 1: SO - Aula 02 - Conceitos](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/1.jpg)
Sistemas Operacionais
Aulas 02, 03, 04 - Conceitos de
Hardware e Software
![Page 2: SO - Aula 02 - Conceitos](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/2.jpg)
Introdução
Conceitos Arquitetura de computadores Hardware Software
![Page 3: SO - Aula 02 - Conceitos](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/13.jpg)
Arquitetura
Linguagem de máquina Conjunto definido de instruções de máquina
Arquitetura RISC CISC
![Page 14: SO - Aula 02 - Conceitos](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062510/54b4ba244a795988368b45fa/html5/thumbnails/26.jpg)
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