Buscar

UNIDADE 02 - Estruturas do Sistema Operacional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Unidade II: 
Estruturas do Sistema Operacional
INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS
FACULDADE DE COMPUTAÇÃO
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
SISTEMAS OPERACIONAIS
Professor: Dr. Josivaldo Araújo
josivaldo@ufpa.br
Objetivos desta Unidade...
� Descrever os serviços que um sistema operacional
fornece para usuários, processos e outros sistemas;
� Apresentar a interface que ele torna disponível para
usuários e programadores;
� Discutir os componentes de hardware e software
gerenciados e suas interconexões;
� Explicar como os sistemas operacionais são
instalados e personalizados, e como são inicializados;
Introdução
� Um sistema operacional fornece um ambiente para a
execução de programas, pois é, antes de tudo, um
gerenciador de recursos;
� Também fornece certos serviços para programas e para os
usuários desses programas;
� Serviços específicos fornecidos diferem de um sistema
operacional para outro, mas pode-se identificar classes
comuns;
� À medida que os computadores evoluem, os SO devem se
adaptar às tecnologias emergentes de hardwares e
softwares e manter a compatibilidade com uma base já
instalada de hardware e software mais antigos;
Serviços do Sistema Operacional
� Os serviços oferecidos pelos sistemas operacionais são
fornecidos visando a conveniência do programador, para
tornar mais fácil a tarefa de programar;
� Pode-se ter uma representação dos diversos serviços do
SO e como eles estão relacionados;
Serviços do Sistema Operacional
� Um conjunto de serviços do sistema operacional fornece
funções que são úteis para o usuário:
� Interface de Usuário: Quase todos os SO têm uma
interface de usuário, que pode assumir várias formas:
Interface de linha de comando Interface gráfica de usuário (GUI)
• Interface batch, em que os comandos e suas diretivas de controle
são inseridos em arquivos e estes são executados;
Serviços do Sistema Operacional
� Execução de Programas: O sistema deve ser capaz de carregar
um programa na memória e executá-lo, além de poder ser
encerrado de forma normal ou anormal (erro);
� Operações de E/S: Um programa em execução pode precisar
de operações de E/S e isso pode envolver um arquivo ou um
dispositivo de E/S;
� Manipulação do Sistema de Arquivos: O sistema de arquivos
é de especial interesse, pois os programas precisam ler e gravar
arquivos e diretórios, além de criar e excluí-los pelo nome.
Procurar e listar arquivos específicos;
� Comunicações: Processos precisam trocar informações,
estando no mesmo computador ou em sistemas diferentes
conectados por uma rede.
• Também podem ser implementadas através de memória
compartilhada ou troca de mensagens;
Serviços do Sistema Operacional
� Detecção de Erros: Os sistema operacional tem que estar
sempre atento a possíveis erros:
• Os erros podem ocorrer no hardware da CPU e da memória; em
dispositivos de E/S; no programa do usuário;
• Para cada tipo de erro, o SO deve tomar a medida apropriada para
assegurar o processamento correto e consistente;
• Recursos de depuração podem melhorar muito as possibilidades
de uso eficiente do sistema pelo usuário e pelo programador;
� Existe outro conjunto de funções do sistema operacional
cujo objetivo não é ajudar o usuário, e sim assegurar a
operação eficiente do próprio sistema;
� Sistemas com vários usuários podem ganhar eficiência
compartilhando os recursos do computador entre os
usuários;
Serviços do Sistema Operacional
� Alocação de Recursos: Necessidade de alocar recursos quando
há vários usuários ou tarefas ativas ao mesmo tempo;
� Contabilização: Pode-se controlar quais usuários utilizam que
quantidade e que tipos de recursos do computador;
• Pode ser para título de responsabilização ou simplesmente para
acumulação de estatísticas de uso;
� Proteção e Segurança: Necessidade de controlar o uso de
informações armazenadas em um sistema de computação
multiusuário:
• Proteção: Significa garantir que qualquer acesso a recursos do
sistema seja controlado;
• Segurança: Começa com a exigência de que cada usuário se
autentique junto ao sistema
� Sistemas operacionais facilitam a programação de
aplicações pelo fato de os programadores poderem escrever
software que requisitem serviços e recursos, sem precisar
escrever códigos para realizar o gerenciamento do
dispositivo;
� Os SO são escritos para ser independente da configuração
de hardware particular de um sistema;
� Necessidade de descrever os componentes de hardware que
um sistema operacional gerencia para atender às
necessidades de computação de seus usuários;
Serviços do Sistema Operacional
� Um sistema computacional é um conjunto de circuitos
eletrônicos interligados (processador, memórias,
registradores, barramentos, impressoras, mouse, etc.);
� Todos os dispositivos manipulam dados na forma digital;
� Os componentes de um SO são agrupados em três
subsistemas básicos, chamados unidades funcionais:
Processador, Hierarquia de Memória e Dispositivos de
E/S;
� Um sistema operacional gerencia alguns componentes
para atender as necessidades dos usuários.
Dispositivos de Hardware
� PLACAS PRINCIPAIS
� É um componente de hardware que fornece encaixes e
conexões elétricas entre dispositivos em vários lugares da
placa, também chamada de placa-mãe;
� Possuem diversas camadas, extremamente delgadas de
silício, denominadas de pistas, que servem de canais de
comunicação, dando conectividade à placa;
• Um grande conjunto de pistas formam um canal de
comunicação de alta velocidade – barramento (bus).
� São incluídos diversos chips de computador para realizar
operações de baixo nível: BIOS (Basic Input/Output System);
• Armazena instruções para a iniciação e gerenciamento do
hardware básico;
• Carregar na memória a porção inicial do SO;
Dispositivos de Hardware
� PLACAS PRINCIPAIS
Dispositivos de Hardware
� É um componente de hardware que executa um fluxo
de instruções em linguagem de máquina;
� A principal função do processador é controlar e
executar instruções presentes na memória principal;
� Composição do Processador:
� PROCESSADOR
Dispositivos de Hardware
Cache de Dados L1
Unidade Lógica
e Aritmética
Unidade de
Busca/Decodificação
Registradores
Cache de Instrução L1
Processador
Unidade de 
Controle
Unidade de
Controle
� É responsável por gerenciar as atividades de todos os
componentes do computador, como: gravação de
dados em discos ou busca de instruções na memória.
� Carrega instruções na memória de alta velocidade
denominada registradores de instruções, para que o
processador possa executá-las rapidamente.
Unidade de 
Decodificação
� Interpreta a instrução e passa a entrada
correspondente para a unidade de execução executá-
la.
cache
� Memórias de alta velocidade que armazena cópias de
dados na memória principal. Aumentam a eficiência
do processador habilitando acesso rápido a dados e
instruções.
� Podem ser: Nível 1 (L1) e Nível 2 (L2)
� PROCESSADOR
Dispositivos de Hardware
Unidade de
Busca
Unidade Lógica
e Aritmética
Registradores
� Executa operações básicas de aritméticas e lógicas,
como adição, multiplicação e comparações lógicas.
� São memórias de alta velocidade localizadas em um processador
que guardam dados para uso imediato pelo processador;
� O número de registradores e sua capacidade de armazenamento
variam em função da arquitetura do processador;
• Processadores de 64 bits podem armazenar 64 bits de dados em
cada registrador;
� Registradores são conectados ao circuito do processador e
localizados fisicamente próximos às unidades de execução.
� PROCESSADOR
Dispositivos de Hardware
Registradores
� Registradores de uso geral → Manipulados por Instruções;
� Registradores de uso específico → Armazenar informações de
controle do processador e do sistema operacional:
• Contador de Instruções (Program Counter): Contém o endereço
da próxima instrução que o processador deve buscar e executar.
• Apontador de Pilha (Stack Pointer): Contém o endereço de
memória do topo da pilha, que é a estrutura de dados onde o
sistema mantém informaçõessobre programas que estão sendo
executados e tiveram que ser interrompidos;
• Registrador de Status: É responsável por armazenar
informações sobre a execução de instruções (ocorrência de
overflow).
� PROCESSADOR
Dispositivos de Hardware
OBS.: Co-Processador: É projetado para executar eficientemente um
conjunto de instruções de finalidade especial.
� PROCESSADOR
Dispositivos de Hardware
� O tamanho e a velocidade da memória são limitadas
pelas leis da física e da economia;
� O compromisso custo/desempenho caracteriza a
hierarquia da memória;
� A memória mais veloz e mais cara está no topo e
caracteristicamente tem pequena capacidade -
Registradores;
� A memória mais lenta e menos cara está na base e
comumente tem grande capacidade – Disco Rígido;
� HIERARQUIA DE MEMÓRIA
Dispositivos de Hardware
Disco Rígido
Cartões de Memória
CDs
DVDs
DRAM
DDR
SDRAM
SRAM
SRAM
Registradores
Cache L1
Cache L2
Memória Principal
Armazenamentos 
Secundários e Terciários
Armazenamento
Custo/Velocidade
� HIERARQUIA DE MEMÓRIA
Dispositivos de Hardware
� São utilizados para permitir a comunicação entre o
sistema computacional e o mundo externo;
� Podem ser classificados em duas categorias: Utilizados
como armazenamento secundário e Interface Homem-
Máquina;
�Memória Secundária: Grande capacidade de
armazenamento, baixo custo e alto tempo de acesso;
� DISPOSITIVOS DE E/S
Dispositivos de Hardware
�Interface Homem-Máquina: Possuem como finalidade a
comunicação do sistema com o mundo exterior, sendo
através dessas interfaces que podemos nos comunicar com o
sistema e vice-versa.
� DISPOSITIVOS DE E/S
Dispositivos de Hardware
� É um conjunto de conexões elétricas que transportam
informações como dados, endereços e sinais de controle que
trafegam entre processadores, memórias e dispositivos de
E/S;
� Para evitar que dois sinais colidam no barramento
(processador e canais de E/S), um chip, conhecido como
árbitro do barramento prioriza o acesso dos canais de E/S;
� Canais de E/S não podem ter o seu trabalho interrompido
no meio, pois forçá-los esperar pode levar a perda de dados;
� Esse processo é conhecido como roubo de ciclo, que têm
influência direta na piora do desempenho do computador.
� BARRAMENTO
Dispositivos de Hardware
� Podem ser: barramentos processador-memória, barramentos
de E/S e barramentos de backplane.
� Barramentos Processador-Memória: São de curta extensão e alta
velocidade para que seja otimizada a transferência de informação
entre esses componentes;
� Barramentos de E/S: Possuem grande extensão, são mais lentos e
permitem a conexão de diferentes dispositivos.
� Barramento de Interconexão de Componente Periférico (PCI)
que conecta dispositivos periféricos, como placas de som e
placas de rede, ao resto do sistema.
� Barramentos de Backplane: O barramento de E/S não se conecta
diretamente ao barramento processador-memória, tendo este
barramento a função de integrar os dois barramentos
� BARRAMENTO
Dispositivos de Hardware
� BARRAMENTO
Dispositivos de Hardware
� Habilita dispositivos e controladores a transferir blocos
de dados para a memória principal, o que libera o
processador para executar instruções de software;
� Melhora significativamente o desempenho em sistemas
que executam grandes números de operações de E/S;
� Usa um controlador de E/S para gerenciar
transferência de dados entre dispositivos de E/S e a
memória principal;
� O controlador de E/S gera uma interrupção quando a
operação é concluída.
� DMA (Direct Memory Access)
Dispositivos de Hardware
� DMA (Direct Memory Access)
Dispositivos de Hardware
� Arquitetura de computador contêm recursos que
executam funções de SO rapidamente em hardware para
melhorar o desempenho;
� Também possuem recursos que habilitam o SO a impor
rígida proteção, o que melhora a segurança e a
integridade do sistema.
� Processadores: Implementam mecanismos de proteção
impedindo processos de acessar instruções privilegiadas ou
de acessar memórias que não lhe foram alocadas (alerta o SO
para que o mesmo possa reagir).
• Interrupções: Sinal enviado por dispositivos ao processador
quando ocorre um evento.
• Exceções: São interrupções geradas em resposta a erros, como
falha de hardware, erros de lógica e violação de proteção.
Suporte de Hardware para Sistemas Operacionais
Interrupção 
ou exceção
Salva conteúdo dos 
registradores na 
pilha de controle.
Identifica a origem 
do evento
Obtém o endereço 
da rotina de 
tratamento
Restaura o conteúdo 
dos registradores
Rotina de 
Tratamento
Programa
� Interrupção
Suporte de Hardware para Sistemas Operacionais
� Temporizadores: Gera periodicamente uma interrupção que faz
o processador invocar o sistema operacional, impedindo que
processos monopolizem o processador.
� Relógio: Habilita o computador a seguir o horário normal do
dia e da noite, com precisão típica de milésimos ou
milionésimos de segundo.
� Plug and Play: Permite que sistemas operacionais configurem e
usem hardware recém-instalados sem interação do usuário. Um
dispositivo de hardware Plug and Play:
1. Identifica-se no Sistema Operacional;
2. Identifica os recursos e serviços que requer para funcionar
adequadamente;
3. Identifica o seu driver correspondente e permite que o SO o
utilize para configurar o dispositivo.
Suporte de Hardware para Sistemas Operacionais
� Um conjunto de programas utilizado como interface
entre as necessidades do usuário e as capacidades do
hardware;
� Programação inicialmente era rudimentar – linguagem de
máquina (profundo conhecimento da arquitetura da
máquina);
� Surgimento das linguagens de montagem e das
linguagens de alto nível (programas não estão prontos
para serem executados pelo processador);
� Conversão é realizada por um utilitário denominado
TRADUTOR.
� Existem dois tipos de tradutores: Montador e
Compilador.
� Tradutor
Dispositivos de Software
Programa Fonte Tradutor Programa Objeto
Linguagem de 
Montagem
Montador Módulo Objeto
Linguagem de 
Alto Nível
Compilador Módulo Objeto
� Tradutor
Dispositivos de Software
� É o utilitário responsável por traduzir um programa-
fonte em linguagem de montagem para um programa
em linguagem de máquina;
� A linguagem de montagem é particular para cada
processador, assim como a linguagem de máquina;
� Programas assembly não podem ser portados entre
máquinas diferentes;
� Tradutor - Montador
Dispositivos de Software
� É o utilitário responsável por gerar (de um programa
escrito em linguagem de alto nível) um programa de
linguagem de máquina não executável;
� As linguagens de alto nível não tem nenhuma relação
direta com a máquina (fica a cargo do compilador);
� Programas-fonte podem ser portados entre
computadores de diversos fabricantes;
� Converte o programa completo para depois ser
executado;
Ex.: Pascal, Fortran, C, etc.
� Tradutor - Compilador
Dispositivos de Software
� Durante a execução de um programa, traduz cada
instrução (linha a linha) e a executa imediatamente;
� São mais lentos que os compilados.
� Desvantagem: Cada vez que o programa for executado,
ele precisará ser traduzido e interpretado;
� Vantagem: Consumir menos memória;
� Linker
� É o utilitário responsável por gerar, a partir de um ou
mais módulos-objeto, um único programa executável.
� Resolve todas as referências simbólicas entre os
módulos;
� Reserva memória para a execução do programa;
Ex.: JavaScript, Python, Perl, etc.� Interpretadores
Dispositivos de Software
� É o utilitário responsável por carregar na memória principal
um programa para ser executado;
� Pode ser: Absoluto ou relocável;
• Absoluto: Só necessita conhecer o endereço de memória inicial
e o tamanho do módulo para realizar o carregamento;
• Relocável: O Programa é carregado em qualquer posição da
memória (loader fica responsável pela relocação no momento do
carregamento);
� É o utilitário responsável que permite ao usuário
acompanhar toda a execução do programa a fim de detectar
erros na sua lógica;
Dispositivos de Software
� Loader
� Depurador� Permite que o usuário se comunique com o sistema
operacional;
� O usuário pode ter acesso a diversas funções e rotinas
específicas do sistema;
� O sistema operacional tem que ser carregado da memória
secundária para a memória principal (denominado ativação
ou boot do sistema);
� Também existe o processo de desativação (shutdown), que
permite que as aplicações e componentes do SO sejam
desativados de forma ordenada (garantindo integridade).
Dispositivos de Software
� Interpretador de Comandos
� Ativação/Desativação do Sistema
Dispositivos de Software
� O procedimento de iniciar um computador a partir da carga
do kernel é conhecido como inicialização do sistema;
� Na maioria dos sistemas de computador, um pequeno bloco
de código conhecido como programa bootstrap ou
carregador bootstrap localiza o kernel, carrega-o na memória
principal e inicia sua execução;
� Quando a CPU recebe um evento de reinicialização, o
registrador de instruções é carregado com uma localização de
memória pré-definida e a execução se inicia;
� Esse programa se encontra na forma de memória de leitura
(ROM), porque a RAM está em um estado desconhecido na
inicialização do sistema;
� Telefones celulares e consoles de jogos armazenam o sistema
operacional inteiro em ROM (SO pequenos).
� Inicialização do Sistema
Dispositivos de Software
� Para sistemas operacionais grandes, o carregador bootstrap é
armazenado em firmware e o sistema operacional fica em
disco;
� O programa bootstrap executa diagnósticos e tem um trecho
de código que pode ler um único bloco em uma localização
fixa (por exemplo, bloco zero) do disco;
� Envia para a memória, esse bloco, e executa o código a partir
desse bloco de inicialização;
� Dessa forma, o bootstrap pode percorrer o sistema de
arquivos para encontrar o kernel do SO, carregá-lo na
memória e iniciar sua execução;
� Só nesse momento é que se considera o sistema operacional
em execução;
� Inicialização do Sistema
Conclusão
� Um sistema operacional é primeiramente um gerenciador de
recursos, portanto o projeto desses sistemas está intimamente
ligado aos recursos de software e hardware que devem
gerenciar;
� Entre os componentes de hardware, destaca-se a placa-mãe,
onde estão fixados e ligados, todos os componentes físicos que
serão gerenciados pelo sistema;
� Para um sistema operacional começar a ser executado, a CPU
deve ser inicializada e começar a executar o programa
bootstrap em firmware;
� O programa bootstrap pode executar o sistema operacional
diretamente se este também estiver em firmware;
� Pode concluir uma sequência em que carregue progressivamente
programas mais “inteligentes” a partir do firmware e do disco até
o SO ser carregado na memória e executado;

Continue navegando