Você está na página 1de 109

Sistema Operativo

Conferência 02
Conceitos de Hardware e de
Software

@Domingos Filipe de Oliveira

October 29, 2023


Hardware

 Três subsistemas básicos:

2 of 40
Hardware

 Três subsistemas básicos:


 Unidade Central de Processamento;
 Memórias; Dispositivos de entrada e saı́da

2 of 40
Hardware

 Três subsistemas básicos:


 Unidade Central de Processamento;
 Memórias; Dispositivos de entrada e saı́da
 Subsistemas são também chamados de unidades funcionais;

2 of 40
Hardware

 Três subsistemas básicos:


 Unidade Central de Processamento;
 Memórias; Dispositivos de entrada e saı́da
 Subsistemas são também chamados de unidades funcionais;
 Implementações pode variar de acordo a arquitectura.

2 of 40
Modelo de um computador

Memória

Entrada Processamento Saída

3 of 40
CPU

 Controla cada unidade funcional do sistema;

4 of 40
CPU

 Controla cada unidade funcional do sistema;


 Execução das instruções dos programas:
 Aritméticas
 Comparação
 Movimentação

4 of 40
CPU

 Controla cada unidade funcional do sistema;


 Execução das instruções dos programas:
 Aritméticas
 Comparação
 Movimentação
 É composta por dois componentes básicos: unidade de controle e
unidade lógica aritmética.

4 of 40
CPU

5 of 40
 Unidade de Controle (UC) - é responsável por controlar as activi-
dades de todos os componentes do computador, mediante a emissão
de pulsos elétricos (sinais de controle) gerados por um dispositivo
denominado clock.

6 of 40
 Unidade de Controle (UC) - é responsável por controlar as activi-
dades de todos os componentes do computador, mediante a emissão
de pulsos elétricos (sinais de controle) gerados por um dispositivo
denominado clock.
 Unidade Aritmética e Lógica (ULA) - é responsável pela realização
de operações lógicas (testes e comparações) e aritméticas (somas e
subtracções).

6 of 40
Clock

 É um dispositivo, localizado na CPU, que gera pulsos elétricos sı́ncronos


em um determinado intervalo de tempo (sinal de clock).

7 of 40
Clock

 É um dispositivo, localizado na CPU, que gera pulsos elétricos sı́ncronos


em um determinado intervalo de tempo (sinal de clock).
 A frequência do clock de um processador e medida em Hertz (Hz),
que significa o número de pulsos elétricos gerados em um segundo
de tempo.

7 of 40
Clock

 É um dispositivo, localizado na CPU, que gera pulsos elétricos sı́ncronos


em um determinado intervalo de tempo (sinal de clock).
 A frequência do clock de um processador e medida em Hertz (Hz),
que significa o número de pulsos elétricos gerados em um segundo
de tempo.
 A frequência também pode ser utilizada como unidade de desem-
penho entre diferentes processadores, quanto maior é a frequência,
mais instruções podem ser executadas pela CPU em um mesmo
intervalo de tempo.

7 of 40
Registradores

1. São dispositivos de alta velocidade, localizados na CPU, para o ar-


mazenamento temporário de dados.

8 of 40
Registradores

1. São dispositivos de alta velocidade, localizados na CPU, para o ar-


mazenamento temporário de dados.
2. O número de registradores varia em função da arquitetura de cada
processador.

8 of 40
Registradores

1. São dispositivos de alta velocidade, localizados na CPU, para o ar-


mazenamento temporário de dados.
2. O número de registradores varia em função da arquitetura de cada
processador.
3. Alguns registradores são de uso especı́fico e têm propósitos especiais,
enquanto outros são ditos de uso geral.

8 of 40
Memórias

 Memória Principal;
 Memória Cache;
 Memoria Secundaria.

9 of 40
Memória Principal

 Também conhecida como memória primária ou real;

10 of 40
Memória Principal

 Também conhecida como memória primária ou real;


 É a parte do computador onde são armazenados instruções e dados;

10 of 40
Memória Principal

 Também conhecida como memória primária ou real;


 É a parte do computador onde são armazenados instruções e dados;
 É composta por unidades de acesso chamadas células, sendo cada
célula composta por um determinado número de bits (binary digit);

10 of 40
Memória Principal

 Também conhecida como memória primária ou real;


 É a parte do computador onde são armazenados instruções e dados;
 É composta por unidades de acesso chamadas células, sendo cada
célula composta por um determinado número de bits (binary digit);
 Actualmente, a grande maioria dos computadores utilize o byte (8
bits) como tamanho de célula.

10 of 40
Memória Cache

 É uma memória volátil de alta velocidade;

11 of 40
Memória Cache

 É uma memória volátil de alta velocidade;


 O tempo de acesso a um dado nela contido é muito menor que se o
mesmo estivesse na memória principal;

11 of 40
Memória Cache

 É uma memória volátil de alta velocidade;


 O tempo de acesso a um dado nela contido é muito menor que se o
mesmo estivesse na memória principal;
 Toda vez que o processador faz referência a um dado armazenado
na memória principal, ele ”olha” antes na memória cache;

11 of 40
Memória Cache

 É uma memória volátil de alta velocidade;


 O tempo de acesso a um dado nela contido é muito menor que se o
mesmo estivesse na memória principal;
 Toda vez que o processador faz referência a um dado armazenado
na memória principal, ele ”olha” antes na memória cache;
 Apesar de ser uma memória de acesso rápido, seu uso e limitado em
função do alto custo.

11 of 40
Memoria Secundaria

 É um meio permanente (não volátil) de armazenamento de programas e dados;

12 of 40
Memoria Secundaria

 É um meio permanente (não volátil) de armazenamento de programas e dados;


 Enquanto a memória principal precisa estar sempre ligada a energia pare manter
suas informações, a memória secundária não precise de alimentação;

12 of 40
Memoria Secundaria

 É um meio permanente (não volátil) de armazenamento de programas e dados;


 Enquanto a memória principal precisa estar sempre ligada a energia pare manter
suas informações, a memória secundária não precise de alimentação;
 O acesso a memória secundária e lento, se comparado com o acesso a memória
cache ou à principal, porém seu custo e baixo e sua capacidade de armazenamento
e bem superior a da memória principal;

12 of 40
Memoria Secundaria

 É um meio permanente (não volátil) de armazenamento de programas e dados;


 Enquanto a memória principal precisa estar sempre ligada a energia pare manter
suas informações, a memória secundária não precise de alimentação;
 O acesso a memória secundária e lento, se comparado com o acesso a memória
cache ou à principal, porém seu custo e baixo e sua capacidade de armazenamento
e bem superior a da memória principal;
 Exemplos: a fita magnética, o disco magnético e o disco óptico.

12 of 40
Relação entre os diversos tipos de dispositivos de
armazenamento.

13 of 40
Dispositivo de Entrada e de Saı́da

 Comunicação com meio externo;

14 of 40
Dispositivo de Entrada e de Saı́da

 Comunicação com meio externo;


 Memória Secundária e Interface Homem-Máquina;

14 of 40
Dispositivo de Entrada e de Saı́da

 Comunicação com meio externo;


 Memória Secundária e Interface Homem-Máquina;
 Divide-se por:
 os que são utilizados como memória secundária;
 os que servem pare a interface homem-máquina.

14 of 40
Barramentos

 Conjunto de fios paralelos que interliga a CPU, periféricos e memória


principal;

15 of 40
Barramentos

 Conjunto de fios paralelos que interliga a CPU, periféricos e memória


principal;
 Em outras palavras, podem ser considerados padrões de comunicação
utilizados em computadores para a interconexão dos mais variados
dispositivos;

15 of 40
Barramentos

 Conjunto de fios paralelos que interliga a CPU, periféricos e memória


principal;
 Em outras palavras, podem ser considerados padrões de comunicação
utilizados em computadores para a interconexão dos mais variados
dispositivos;
 O barramento é uma via de tráfego interna, através da qual os
sistemas transitam entre os diversos componentes do computador;

15 of 40
Barramentos

 Conjunto de fios paralelos que interliga a CPU, periféricos e memória


principal;
 Em outras palavras, podem ser considerados padrões de comunicação
utilizados em computadores para a interconexão dos mais variados
dispositivos;
 O barramento é uma via de tráfego interna, através da qual os
sistemas transitam entre os diversos componentes do computador;
 Também é chamados de bus;

15 of 40
Barramentos

 Conjunto de fios paralelos que interliga a CPU, periféricos e memória


principal;
 Em outras palavras, podem ser considerados padrões de comunicação
utilizados em computadores para a interconexão dos mais variados
dispositivos;
 O barramento é uma via de tráfego interna, através da qual os
sistemas transitam entre os diversos componentes do computador;
 Também é chamados de bus;
 Os computadores tem três tipos de barramentos:
 Barramento de Dados
 Barramento de Endereços
 Barramento de Controle ou expansão

15 of 40
Pipelining
 O conceito de processamento pipeline se assemelha muito a uma
linha de montagem, onde uma tarefa e dividida em uma sequência
de sub-tarefas, executadas em diferentes estágios, dentro da linha
de produção;

16 of 40
Pipelining
 O conceito de processamento pipeline se assemelha muito a uma
linha de montagem, onde uma tarefa e dividida em uma sequência
de sub-tarefas, executadas em diferentes estágios, dentro da linha
de produção;
 Técnica empregada em sistemas com um ou mais processadores;

16 of 40
Pipelining
 O conceito de processamento pipeline se assemelha muito a uma
linha de montagem, onde uma tarefa e dividida em uma sequência
de sub-tarefas, executadas em diferentes estágios, dentro da linha
de produção;
 Técnica empregada em sistemas com um ou mais processadores;
 Análogo à Linha de Montagem:
 Tarefas divididas em sub-tarefas;
 Execução em diferentes estágios

16 of 40
Pipelining
 O conceito de processamento pipeline se assemelha muito a uma
linha de montagem, onde uma tarefa e dividida em uma sequência
de sub-tarefas, executadas em diferentes estágios, dentro da linha
de produção;
 Técnica empregada em sistemas com um ou mais processadores;
 Análogo à Linha de Montagem:
 Tarefas divididas em sub-tarefas;
 Execução em diferentes estágios
 Divisão da execução de uma instrução:
 Busca da Instrução e Operandos;
 Execução da Operação;
 Armazenamento dos Resultados.

16 of 40
Pipelining
 O conceito de processamento pipeline se assemelha muito a uma
linha de montagem, onde uma tarefa e dividida em uma sequência
de sub-tarefas, executadas em diferentes estágios, dentro da linha
de produção;
 Técnica empregada em sistemas com um ou mais processadores;
 Análogo à Linha de Montagem:
 Tarefas divididas em sub-tarefas;
 Execução em diferentes estágios
 Divisão da execução de uma instrução:
 Busca da Instrução e Operandos;
 Execução da Operação;
 Armazenamento dos Resultados.
 Paralelismo - Aumento de Desempenho

16 of 40
Tipos de processadores

 Uma CPU em relação ao número de instruções de processamento


que pode reconhecer, classifica-se em:
 CISC
 RISC

17 of 40
Processadores CISC

 Um processador CISC reconhece mais de uma centena de instruções;

18 of 40
Processadores CISC

 Um processador CISC reconhece mais de uma centena de instruções;


 Os processadores CISC (Complex Instruction Set computers) já pos-
suem instruções complexas que são interpretadas por microprogra-
mas;

18 of 40
Processadores CISC

 Um processador CISC reconhece mais de uma centena de instruções;


 Os processadores CISC (Complex Instruction Set computers) já pos-
suem instruções complexas que são interpretadas por microprogra-
mas;
 O número de registradores é pequeno e qualquer instrução pode
referenciar a memória principal;

18 of 40
Processadores CISC

 Um processador CISC reconhece mais de uma centena de instruções;


 Os processadores CISC (Complex Instruction Set computers) já pos-
suem instruções complexas que são interpretadas por microprogra-
mas;
 O número de registradores é pequeno e qualquer instrução pode
referenciar a memória principal;
 Este tipo de arquitetura, a implementação do pipeline é mais difı́cil;

18 of 40
Processadores CISC

 Um processador CISC reconhece mais de uma centena de instruções;


 Os processadores CISC (Complex Instruction Set computers) já pos-
suem instruções complexas que são interpretadas por microprogra-
mas;
 O número de registradores é pequeno e qualquer instrução pode
referenciar a memória principal;
 Este tipo de arquitetura, a implementação do pipeline é mais difı́cil;
 Exemplos de processadores CISC o VAX (DEC), 80x86 e o Pentium
(Intel), e o 68xx (Motorola).

18 of 40
Processadores RISC

 Um processador com arquitetura RISC (Reduced Instruction Set


Computer) se caracteriza por possuir poucas instruções de máquina,
em geral bastante simples, que são executadas directamente pelo
hardware;

19 of 40
Processadores RISC

 Um processador com arquitetura RISC (Reduced Instruction Set


Computer) se caracteriza por possuir poucas instruções de máquina,
em geral bastante simples, que são executadas directamente pelo
hardware;
 Na sua maioria, estas instruções não acessam a memória princi-
pal, trabalhando principalmente com registradores que, neste tipo
de processador, se apresentam em grande número;

19 of 40
Processadores RISC

 Um processador com arquitetura RISC (Reduced Instruction Set


Computer) se caracteriza por possuir poucas instruções de máquina,
em geral bastante simples, que são executadas directamente pelo
hardware;
 Na sua maioria, estas instruções não acessam a memória princi-
pal, trabalhando principalmente com registradores que, neste tipo
de processador, se apresentam em grande número;
 Estas caracterı́sticas, além de ajudarem as instruções serem execu-
tadas em alta velocidade, facilitam a implementação do pipeline;

19 of 40
Processadores RISC

 Um processador com arquitetura RISC (Reduced Instruction Set


Computer) se caracteriza por possuir poucas instruções de máquina,
em geral bastante simples, que são executadas directamente pelo
hardware;
 Na sua maioria, estas instruções não acessam a memória princi-
pal, trabalhando principalmente com registradores que, neste tipo
de processador, se apresentam em grande número;
 Estas caracterı́sticas, além de ajudarem as instruções serem execu-
tadas em alta velocidade, facilitam a implementação do pipeline;
 Exemplos de processaores RISC podemos citar o Sparc (SUN), RS-
6000 (IBM), PA-RISC (HP), Alpha AXP (DEC) e Rx000 (MIPS).

19 of 40
Activação e desactivação do Sistema

 Sem o SO, grande parte dos recursos do computador não estaria


disponı́vel, ou se apresentaria de uma forma complexa para utilização
do utilizador;

20 of 40
Activação e desactivação do Sistema

 Sem o SO, grande parte dos recursos do computador não estaria


disponı́vel, ou se apresentaria de uma forma complexa para utilização
do utilizador;
 Quando um computador é ligado, é necessário que o sistema opera-
tivo seja carregado da memória secundária para a memória principal;

20 of 40
Activação e desactivação do Sistema

 Sem o SO, grande parte dos recursos do computador não estaria


disponı́vel, ou se apresentaria de uma forma complexa para utilização
do utilizador;
 Quando um computador é ligado, é necessário que o sistema opera-
tivo seja carregado da memória secundária para a memória principal;
 Esse processo, denominado activação do sistema (boot), é realizado
por um programa localizado em uma posição especifica do disco.

20 of 40
Activação e desactivação do Sistema (cont.)

 O procedimento de activação varia em função do equipamento, po-


dendo ser realizado através do teclado, de um terminal ou por ma-
nipulação de chaves de um painel;

21 of 40
Activação e desactivação do Sistema (cont.)

 O procedimento de activação varia em função do equipamento, po-


dendo ser realizado através do teclado, de um terminal ou por ma-
nipulação de chaves de um painel;
 Além da carga do sistema operativo, a activação do sistema também
consiste na execução de arquivos de inicialização;

21 of 40
Activação e desactivação do Sistema (cont.)

 O procedimento de activação varia em função do equipamento, po-


dendo ser realizado através do teclado, de um terminal ou por ma-
nipulação de chaves de um painel;
 Além da carga do sistema operativo, a activação do sistema também
consiste na execução de arquivos de inicialização;
 Nestes arquivos são especificados procedimentos de inicialização de
hardware e software especı́ficos para cada ambiente;

21 of 40
Activação e desactivação do Sistema (cont.)

 O procedimento de activação varia em função do equipamento, po-


dendo ser realizado através do teclado, de um terminal ou por ma-
nipulação de chaves de um painel;
 Além da carga do sistema operativo, a activação do sistema também
consiste na execução de arquivos de inicialização;
 Nestes arquivos são especificados procedimentos de inicialização de
hardware e software especı́ficos para cada ambiente;
 Na maioria dos sistemas, também existe o processo de desactivação
(shutdown). Este procedimento permite que as aplicações e com-
ponentes do sistema sejam desactivados de forma ordenada.

21 of 40
Software

 A parte lógica que torna útil o sistema de computador;

22 of 40
Software

 A parte lógica que torna útil o sistema de computador;


 Não é possı́vel conceber um sistema de computador sem hardware
e este, por sua vez é inútil sem o software, que permite executar as
tarefas, através de diversos programas;

22 of 40
Software

 A parte lógica que torna útil o sistema de computador;


 Não é possı́vel conceber um sistema de computador sem hardware
e este, por sua vez é inútil sem o software, que permite executar as
tarefas, através de diversos programas;
 O Hardware por si só não tem a utilidade;

22 of 40
Software

 A parte lógica que torna útil o sistema de computador;


 Não é possı́vel conceber um sistema de computador sem hardware
e este, por sua vez é inútil sem o software, que permite executar as
tarefas, através de diversos programas;
 O Hardware por si só não tem a utilidade;
 Para torná-lo útil existe um conjunto de programas, utilizados como
interface entre as necessidades do utilizador e as capacidades do
hardware;

22 of 40
Software

 A parte lógica que torna útil o sistema de computador;


 Não é possı́vel conceber um sistema de computador sem hardware
e este, por sua vez é inútil sem o software, que permite executar as
tarefas, através de diversos programas;
 O Hardware por si só não tem a utilidade;
 Para torná-lo útil existe um conjunto de programas, utilizados como
interface entre as necessidades do utilizador e as capacidades do
hardware;
 A utilização de softwares adequados às diversas tarefas e aplicações
(conceitos de camadas) torna o trabalho do utilizador muito mais
simples e eficiente.

22 of 40
Tradutor

 Nos sistemas operativos antigos, o acto de programar era bastante


complicado, já que o programador deveria possuir conhecimento do
hardware e programar em painéis através de fios.

23 of 40
Tradutor

 Nos sistemas operativos antigos, o acto de programar era bastante


complicado, já que o programador deveria possuir conhecimento do
hardware e programar em painéis através de fios.
 Esses programas eram desenvolvidos em linguagem de máquina e
carregados directamente na memória principal para execução;

23 of 40
Tradutor

 Nos sistemas operativos antigos, o acto de programar era bastante


complicado, já que o programador deveria possuir conhecimento do
hardware e programar em painéis através de fios.
 Esses programas eram desenvolvidos em linguagem de máquina e
carregados directamente na memória principal para execução;
 Com o surgimento das primeiras linguagens de montagem (assembly
languages) e das linguagens de alto nı́vel, o programador deixou de
se preocupar com muitos aspectos (hardware);

23 of 40
Tradutor

 Nos sistemas operativos antigos, o acto de programar era bastante


complicado, já que o programador deveria possuir conhecimento do
hardware e programar em painéis através de fios.
 Esses programas eram desenvolvidos em linguagem de máquina e
carregados directamente na memória principal para execução;
 Com o surgimento das primeiras linguagens de montagem (assembly
languages) e das linguagens de alto nı́vel, o programador deixou de
se preocupar com muitos aspectos (hardware);
 A utilização de linguagens de programação facilitou a construção de
programas em muitos aspectos. Desse modo, um programa poderia
ser escrito de uma forma bem documentada e com facilidades para
realizar alterações.

23 of 40
Tradutor

O tradutor, pelo tipo de linguagem de programação utilizada, pode


ser chamado de montador ou compilador.

24 of 40
Montador

 É o utilitário responsável por traduzir um programa-fonte em lin-


guagem de montagem em um programa-objeto nao executavel.

25 of 40
Montador

 É o utilitário responsável por traduzir um programa-fonte em lin-


guagem de montagem em um programa-objeto nao executavel.
 A linguagem de montagem e particular para cada processador, assim
como a linguagem de maquina, o que nao permite que programas
assembly possam ser portados entre maquinas diferentes.

25 of 40
Compilador

 É o utilitário responsável por gerar, a partir de um programa escrito


em uma linguagem de alto nı́vel, um programa em linguagem de
máquina não executável.

26 of 40
Compilador

 É o utilitário responsável por gerar, a partir de um programa escrito


em uma linguagem de alto nı́vel, um programa em linguagem de
máquina não executável.
 As linguagens de alto nı́vel, como pascal, fortran, cobol não tem
nenhuma relação directa com a máquina, ficando essa preocupação
exclusivamente com o compilador.

26 of 40
Interpretador

 O interpretador é considerado um tradutor que não gera código-


objecto.

27 of 40
Interpretador

 O interpretador é considerado um tradutor que não gera código-


objecto.
 A partir de um programa fonte, escrito em linguagem de alto nı́vel,
o interpretador, no momento da execução do programa, traduz cada
instrução e a executa em seguida.

27 of 40
Linker

O linker (ligador ), também chamado de linkagem, é o utilizado para


gerar, a partir de um ou mais módulos-objectos, um único programa
executável.

28 of 40
Loader
 Também chamado carregador é o responsável por colocar fisica-
mente na memória um programa para execução.

29 of 40
Loader
 Também chamado carregador é o responsável por colocar fisica-
mente na memória um programa para execução.
 O procedimento de carga varia com o código gerado pelo linker e em
função deste, o loader é classificado como sendo do tipo absoluto
ou relocável;

29 of 40
Loader
 Também chamado carregador é o responsável por colocar fisica-
mente na memória um programa para execução.
 O procedimento de carga varia com o código gerado pelo linker e em
função deste, o loader é classificado como sendo do tipo absoluto
ou relocável;
 Tipo absoluto - o loader só necessita conhecer o endereço de memória
inicial e o tamanho do módulo para realizar o carregamento.

29 of 40
Loader
 Também chamado carregador é o responsável por colocar fisica-
mente na memória um programa para execução.
 O procedimento de carga varia com o código gerado pelo linker e em
função deste, o loader é classificado como sendo do tipo absoluto
ou relocável;
 Tipo absoluto - o loader só necessita conhecer o endereço de memória
inicial e o tamanho do módulo para realizar o carregamento.
 Então, ele transfere o programa da memória secundária para a
memória principal e inicia sua execução.

29 of 40
Loader
 Também chamado carregador é o responsável por colocar fisica-
mente na memória um programa para execução.
 O procedimento de carga varia com o código gerado pelo linker e em
função deste, o loader é classificado como sendo do tipo absoluto
ou relocável;
 Tipo absoluto - o loader só necessita conhecer o endereço de memória
inicial e o tamanho do módulo para realizar o carregamento.
 Então, ele transfere o programa da memória secundária para a
memória principal e inicia sua execução.
 No caso de código relocável, o programa pode ser carregado em
qualquer posição de memória, e o loader é responsável pela relocação
no momento do carregamento.

29 of 40
Depurador

 O desenvolvimento de programas está sujeito a erros de lógica, in-


dependentemente de metodologias utilizadas pelo programador;

30 of 40
Depurador

 O desenvolvimento de programas está sujeito a erros de lógica, in-


dependentemente de metodologias utilizadas pelo programador;
 A depuração é um dos estágios desse desenvolvimento, e a utilização
de ferramentas adequadas é essencial para acelerar o processo de
correção de programas;

30 of 40
Depurador

 O desenvolvimento de programas está sujeito a erros de lógica, in-


dependentemente de metodologias utilizadas pelo programador;
 A depuração é um dos estágios desse desenvolvimento, e a utilização
de ferramentas adequadas é essencial para acelerar o processo de
correção de programas;
 O depurador (debbuger ) permite ao utilizador controlar a execução
de um programa a fim de detectar erros na sua estrutura.

30 of 40
Depurador

 Este processo oferece ao utilizador recursos como:


 Acompanhar a execução de um programa instrução por instrução;
 Possibilitar a alteração e visualização do conteúdo de variáveis;
 Implementar pontos de parada dentro do programa (break-point), de
forma que, durante a execução, o programa pare nesses pontos;
 Especificar que, toda vez que o conteúdo de uma variável for
modificado, o programa envie uma mensagem (watchpoint).

31 of 40
Interpretador de Comandos

 Também denominada a linguagem de comando, é a forma mais


directa de um utilizador se comunicar com o sistema operativo;

32 of 40
Interpretador de Comandos

 Também denominada a linguagem de comando, é a forma mais


directa de um utilizador se comunicar com o sistema operativo;
 Esta linguagem é oferecida por cada sistema operativo para que,
através de comandos simples, o utilizador possa ter acesso a rotinas
especificas do sistema;

32 of 40
Interpretador de Comandos

 Também denominada a linguagem de comando, é a forma mais


directa de um utilizador se comunicar com o sistema operativo;
 Esta linguagem é oferecida por cada sistema operativo para que,
através de comandos simples, o utilizador possa ter acesso a rotinas
especificas do sistema;
 O conjunto de comandos disponiveis pelo interpretador e conhecido
como linguagem de controle ou linguagem de comandos;

32 of 40
Interpretador de Comandos

 Também denominada a linguagem de comando, é a forma mais


directa de um utilizador se comunicar com o sistema operativo;
 Esta linguagem é oferecida por cada sistema operativo para que,
através de comandos simples, o utilizador possa ter acesso a rotinas
especificas do sistema;
 O conjunto de comandos disponiveis pelo interpretador e conhecido
como linguagem de controle ou linguagem de comandos;
 As linguagens de controle evoluem no sentido de permitir a interacao
mais amigavel com os utilizador, utilizando interfaces graficas como
janelas e icones.

32 of 40
Linguagem de Controle (Shell)

 O sistema operativo é o código executor de chamadas de sistema.


Os editores, compiladores, montadores, ligadores e interpretadores
de comando não fazem parte do sistema operativo, apesar de serem
softwares muito importantes e muito úteis;

33 of 40
Linguagem de Controle (Shell)

 O sistema operativo é o código executor de chamadas de sistema.


Os editores, compiladores, montadores, ligadores e interpretadores
de comando não fazem parte do sistema operativo, apesar de serem
softwares muito importantes e muito úteis;
 Esses comandos quando digitados pelos utilizador, são interpretados
pelo Shell, que verifica a sua sintaxe, envia mensagens de erro e faz
chamadas a rotinas do sistema;

33 of 40
Linguagem de Controle (Shell)

 O sistema operativo é o código executor de chamadas de sistema.


Os editores, compiladores, montadores, ligadores e interpretadores
de comando não fazem parte do sistema operativo, apesar de serem
softwares muito importantes e muito úteis;
 Esses comandos quando digitados pelos utilizador, são interpretados
pelo Shell, que verifica a sua sintaxe, envia mensagens de erro e faz
chamadas a rotinas do sistema;
 Dessa forma o utilizador dispõe de uma interface interativa com o
sistema operativo, para realizar tarefas como acessar uma arquivo
em disco ou consultar um diretório.

33 of 40
Máquina de nı́veis

Actualmente, a maioria dos computadores possui a estrutura


mostrada na Figura, podendo conter mais ou menos camadas. A
linguagem utilizada em cada um desses nı́veis é diferente, variando da
mais elementar (baixo nı́vel) à mais sofisticada (alto nı́vel)
34 of 40
Linguagem de Máquina

 A linguagem de máquina de um computador é a linguagem de pro-


gramação que o processador realmente consegue entender;

35 of 40
Linguagem de Máquina

 A linguagem de máquina de um computador é a linguagem de pro-


gramação que o processador realmente consegue entender;
 Cada processador possui um conjunto único de instruções de máquina,
definido pelo próprio fabricante;

35 of 40
Linguagem de Máquina

 A linguagem de máquina de um computador é a linguagem de pro-


gramação que o processador realmente consegue entender;
 Cada processador possui um conjunto único de instruções de máquina,
definido pelo próprio fabricante;
 As instruções especificam detalhes, como registradores, modos de
endereçamento e tipos de dados, que caracterizam um processador
e suas potencialidades.

35 of 40
Linguagens de Programação -Exemplos
Alto Nível Montagem Máquina
void main () MOV R1, 10 00000001 10000001
00001010
{ MOV R2, 0
00000001 10000010
int c, d; MOV R3, 10
00000000
d = 10; LOOP: CMP R2, R3
00000001 10000011
for (c = 0; c < 10; JZ 00001010
c++) END
00001110 10000010
d--; SUB R2, 1 10000011
} ADD R1, 1 00001100 00001001
00000000
JMP LOOP
00000011 10000010
END:
00000001
00000010 10000001
00000001
00001000 00000100
00000000

36 of 40
Microprogramação

 Um programa em linguagem de máquina é executado directamente


pelo hardware em processadores de arquitetura RISC, porém em
máquinas CISC isto não acontece;

37 of 40
Microprogramação

 Um programa em linguagem de máquina é executado directamente


pelo hardware em processadores de arquitetura RISC, porém em
máquinas CISC isto não acontece;
 Neste caso, como podemos observar na Figura, entre os nı́veis de
linguagem de máquina e do hardware, existem ainda o da micropro-
gramação;

37 of 40
Microprogramação

 Um programa em linguagem de máquina é executado directamente


pelo hardware em processadores de arquitetura RISC, porém em
máquinas CISC isto não acontece;
 Neste caso, como podemos observar na Figura, entre os nı́veis de
linguagem de máquina e do hardware, existem ainda o da micropro-
gramação;
 Os microprogramas definem a linguagem de máquina de cada com-
putador. Apesar de cada computador possui nı́veis de micropro-
gramação diferentes, existem muitas semelhanças nessa camada se
compararmos os diversos equipamentos;

37 of 40
Microprogramação

 Um programa em linguagem de máquina é executado directamente


pelo hardware em processadores de arquitetura RISC, porém em
máquinas CISC isto não acontece;
 Neste caso, como podemos observar na Figura, entre os nı́veis de
linguagem de máquina e do hardware, existem ainda o da micropro-
gramação;
 Os microprogramas definem a linguagem de máquina de cada com-
putador. Apesar de cada computador possui nı́veis de micropro-
gramação diferentes, existem muitas semelhanças nessa camada se
compararmos os diversos equipamentos;
 Uma máquina possui, aproximadamente 25 microintruções básicas,
que são interpretadas pelos circuitos eletrônicos.

37 of 40
Processos

 Um conceito chave da teoria dos sistemas operativos é o conceito


de processo;

38 of 40
Processos

 Um conceito chave da teoria dos sistemas operativos é o conceito


de processo;
 Um processo é basicamente um programa em execução, sendo con-
stituı́do do código executável, dos dados referentes ao código.

38 of 40
Chamadas de Sistema

 Os programas de utilizador solicitam serviços do sistema operativos


através da execução de chamadas de sistema.

39 of 40
Chamadas de Sistema

 Os programas de utilizador solicitam serviços do sistema operativos


através da execução de chamadas de sistema.
 A cada chamada corresponde um procedimento de uma biblioteca
de procedimentos que o programa do utilizador pode chamar.

39 of 40
Duvidas ???

”Se o conhecimento pode criar problemas, não é através da


ignorância que podemos solucioná-los.”
Isaac Asimov
40 of 40

Você também pode gostar