SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
Aula 03 – Chamadas ao Sistema e
Processos
Norton Trevisan Roman
11 de setembro de 2017
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 1 / 42
Chamadas ao Sistema
Se uma aplica¸c˜ao precisa realizar alguma instru¸c˜ao
privilegiada, ela realiza uma chamada de sistema,
que altera do modo usu´ario para o modo kernel;
Ex: Ler um arquivo
Chamadas de sistemas s˜ao a porta de entrada para
o modo Kernel;
S˜ao a interface entre os programas do usu´ario no modo
usu´ario e o Sistema Operacional no modo kernel;
As chamadas diferem de SO para SO. No entanto, os
conceitos relacionados `as chamadas s˜ao similares
independentemente do SO;
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 2 / 42
Chamadas ao Sistema
S˜ao feitas por meio de instru¸c˜oes TRAP
Instru¸c˜ao de chamada ao sistema
Instru¸c˜ao que permite o acesso ao modo kernel;
Normalmente usada para E/S
Transferem o controle para o SO → Interrup¸c˜ao de software
ou Exce¸c˜ao
Podem sinalizar exce¸c˜oes (Divis˜ao por zero, Acesso inv´alido de
mem´oria), Overflows etc
Ap´os terminadas, o SO transfere o controle para a instru¸c˜ao
seguinte `a chamada
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 3 / 42
Chamadas ao Sistema
Chamada a uma rotina do sistema: TRAP
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 4 / 42
Chamadas ao Sistema
(a) Aplicativo faz chamada
ao sistema (TRAP)
(b) Atrav´es de uma tabela,
o SO determina o endere¸co
da rotina de servi¸co
(c) Rotina de Servi¸co ´e
acionada
(d) Servi¸co solicitado ´e
executado e o controle
retorna ao programa
aplicativo
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 5 / 42
Chamadas ao Sistema
A rotina de servi¸co salva somente os registradores
que ir´a modificar
Antes de usar algum registrador, ela guarda seu valor anterior
Ao final, devolve esse valor
Com isso, ganha tempo, sem precisar transferir todos `a
mem´oria
Onde salva?
Depende do hardware
J´a j´a veremos
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 6 / 42
Chamadas ao Sistema – Exemplo
read(fd,buffer,nbytes)
fd: especificador do
arquivo
buffer: endere¸co na
mem´oria do primeiro byte
da ´area onde deve ser
armazenado o conte´udo
lido
nbytes: n´umero de bytes a
serem lidos
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 7 / 42
Exemplo: read(fd,buffer,nbytes)
Chamando read...
(1-3) O programa
armazena os parˆametros
na pilha de execu¸c˜ao
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 8 / 42
Exemplo: read(fd,buffer,nbytes)
Chamando read...
(1-3) O programa
armazena os parˆametros
na pilha de execu¸c˜ao
(4) Chama o
procedimento read da
biblioteca
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 8 / 42
Exemplo: read(fd,buffer,nbytes)
Chamando read...
(1-3) O programa
armazena os parˆametros
na pilha de execu¸c˜ao
(4) Chama o
procedimento read da
biblioteca
Executando read...
(5) Read coloca o n´umero da chamada ao SO em um
registrador espec´ıfico
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 8 / 42
Exemplo: read(fd,buffer,nbytes)
Executando read...
(6) Read executa uma
instru¸c˜ao TRAP (passa do
modo Usu´ario para Kernel
e executa um determinado
endere¸co no kernel → o
S.O. tem o controle)
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 9 / 42
Exemplo: read(fd,buffer,nbytes)
Executando read...
(6) Read executa uma
instru¸c˜ao TRAP (passa do
modo Usu´ario para Kernel
e executa um determinado
endere¸co no kernel → o
S.O. tem o controle)
(7) O kernel busca os
parˆametros, verificando o n´umero da chamada ao SO e
chamando o procedimento para seu tratamento
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 9 / 42
Exemplo: read(fd,buffer,nbytes)
Executando read...
(6) Read executa uma
instru¸c˜ao TRAP (passa do
modo Usu´ario para Kernel
e executa um determinado
endere¸co no kernel → o
S.O. tem o controle)
(7) O kernel busca os
parˆametros, verificando o n´umero da chamada ao SO e
chamando o procedimento para seu tratamento
Faz isso indexando uma tabela que cont´em na linha k um ponteiro
para a rotina que executa a chamada de sistema k
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 9 / 42
Exemplo: read(fd,buffer,nbytes)
Executando read...
(8) Esse procedimento de
tratamento da chamada ´e
executado
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 10 / 42
Exemplo: read(fd,buffer,nbytes)
Executando read...
(8) Esse procedimento de
tratamento da chamada ´e
executado
(9) Terminado o
procedimento, o controle
pode retornar `a instru¸c˜ao
seguinte `a TRAP
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 10 / 42
Exemplo: read(fd,buffer,nbytes)
Executando read...
(8) Esse procedimento de
tratamento da chamada ´e
executado
(9) Terminado o
procedimento, o controle
pode retornar `a instru¸c˜ao
seguinte `a TRAP
(10) Read ent˜ao retorna
ao programa do usu´ario
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 10 / 42
Exemplo: read(fd,buffer,nbytes)
O programa limpa a
pilha ap´os a chamada
do procedimento (11)
Incrementa o ponteiro da
pilha o suficiente para
remover os parˆametros da
chamada a read (lembre
que a pilha est´a de cabe¸ca
para baixo)
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 11 / 42
Exemplo: read(fd,buffer,nbytes)
Voltemos ao passo 9
Em vez de retornar, a
chamada pode bloquear
quem a chamou
Ex: esperando do teclado
O S.O. nesse caso verifica
se algum outro processo
pode ser executado
Quando a entrada estiver dispon´ıvel, os passos 9 a 11 desse
processo podem ser executados
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 12 / 42
Chamadas ao Sistema – Invoca¸c˜ao direta
write() e exit() atrav´es da interrup¸c˜ao 0x80
Instru¸c˜ao em assembly – trap – no Linux para x86
section .data ;declara¸c~ao da se¸c~ao
msg db "Ola, mundo!",0xa ;declara localiza¸c~ao (declare byte): nosso string
len equ $ - msg ;define constante (equ): tamanho do nosso string
section .text ;declara¸c~ao de se¸c~ao
global start ;ponto de entrada para o linker (ld)
start: ;diz ao linker o ponto de entrada
;escreve o string na stdout
mov edx,len ;terceiro argumento: tamanho da mensagem
mov ecx,msg ;segundo argumento: ponteiro para a mensagem a ser escrita
mov ebx,1 ;primeiro argumento: descritor de arquivo (stdout)
mov eax,4 ;n´umero da chamada ao sistema (sys write)
int 0x80 ;chama o kernel
;e sai
mov ebx,0 ;primeiro argumento da chamada ao sistema: c´odigo de sa´ıda
mov eax,1 ;n´umero da chamada ao sistema (sys exit)
int 0x80 ;chama o kernel
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 13 / 42
Invoca¸c˜ao direta – P´e no Hardware
O que acontece que esquecemos de chamar exit() e
o programa ainda det´em tempo de CPU?
;e sai
mov ebx,0 ;primeiro argumento da chamada ao sistema: c´odigo de sa´ıda
mov eax,1 ;n´umero da chamada ao sistema (sys exit)
int 0x80 ;chama o kernel
Olhemos a pipeline (BEM simplificada):
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 14 / 42
Invoca¸c˜ao direta – P´e no Hardware
Primeiro ciclo de clock
A instru¸c˜ao ´e buscada na mem´oria
4 (bytes → 32b) s˜ao somados ao PC e armazenados nele.
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 15 / 42
Invoca¸c˜ao direta – P´e no Hardware
Segundo ciclo de clock
Nova instru¸c˜ao ´e buscada na mem´oria (enquanto a outra
est´a no est´agio 2)
4 (bytes → 32b) s˜ao somados ao PC e armazenados nele.
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 16 / 42
Invoca¸c˜ao direta – P´e no Hardware
Segundo ciclo de clock
Mas se o programa havia acabado, que instru¸c˜ao ´e essa?
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 17 / 42
Invoca¸c˜ao direta – P´e no Hardware
Segundo ciclo de clock
Mas se o programa havia acabado, que instru¸c˜ao ´e essa?
O que h´a na mem´oria naquela posi¸c˜ao
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 17 / 42
Invoca¸c˜ao direta – P´e no Hardware
Segundo ciclo de clock
A instru¸c˜ao pode ser algo que n˜ao dever´ıamos fazer
(pouco prov´avel)
Ou instru¸c˜ao desconhecida → instru¸c˜ao ilegal
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 18 / 42
Invoca¸c˜ao direta – exit()
Esquecer de cham´a-lo pode fazer com que:
Uma instru¸c˜ao ilegal seja rodada → o programa ´e
for¸cosamente parado
Uma instru¸c˜ao legal, por´em indesejada, seja rodada →
comportamento imprevis´ıvel
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 19 / 42
Invoca¸c˜ao direta – exit()
Esquecer de cham´a-lo pode fazer com que:
Uma instru¸c˜ao ilegal seja rodada → o programa ´e
for¸cosamente parado
Uma instru¸c˜ao legal, por´em indesejada, seja rodada →
comportamento imprevis´ıvel
Por conta disso compiladores sempre incluem um
exit() ao final do c´odigo compilado, se o
programador n˜ao o fizer explicitamente
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 19 / 42
Chamadas ao Sistema
Interface das Chamadas ao Sistema (Wrappers)
Chamadas a bibliotecas
Em Windows, desacopladas das chamadas reais ao sistema
Interface de programa¸c˜ao fornecida pelo SO
Geralmente escrita em linguagem de alto n´ıvel (C,
C++ ou Java)
Normalmente as aplica¸c˜oes utilizam uma
Application Program Interface (API)
Interface que encapsula o acesso direto `as chamadas ao
sistema
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 20 / 42
Chamadas ao Sistema
Portabilidade usando Wrappers
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 21 / 42
Chamadas ao Sistema
Interface das Chamadas de Sistema (Wrappers)
Mais utilizadas:
Win32 API para Windows
POSIX API para praticamente todas as vers˜oes de UNIX
Java API para a Java Virtual Machine (JVM).
Motivos para utilizar APIs em vez das chamadas ao
sistema diretamente
Portabilidade – independˆencia da plataforma
Esconder complexidade inerente `as chamadas ao sistema
Acr´escimo de funcionalidades que otimizam o desempenho
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 22 / 42
Chamadas ao Sistema
Programa em C que
invoca a fun¸c˜ao de
biblioteca printf(), que
por sua vez chama o
system call write()
write() e exit() atrav´es da
instru¸c˜ao int 0x80
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 23 / 42
Interrup¸c˜oes
Vimos que um software pode interromper seu
pr´oprio processo (ao fazer uma chamada ao
sistema)
Via traps (Interrup¸c˜oes de software ou Exce¸c˜oes)
Para isso, o software tem que estar rodando
Mas como pode o escalonador interromper um
determinado processo se ele mesmo n˜ao est´a
rodando?
Via interrup¸c˜oes de hardware
Sinal el´etrico no Hardware
Causa: dispositivos de E/S ou o clock
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 24 / 42
Interrup¸c˜oes – Tratamento
Feito pelo SO,
que determina a
natureza da
interrup¸c˜ao e
dispara a Rotina
de Servi¸co
adequada para
executar as a¸c˜oes
que forem
necess´arias.
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 25 / 42
Interrup¸c˜oes – Tratamento
Quando o SO inicia, ele instala um tratador de
interrup¸c˜oes em um endere¸co espec´ıfico da
mem´oria, definido pelo hardware
Ex: mips → 0x80000180
Cria tamb´em um Arranjo de Interrup¸c˜oes (tamb´em
chamado de arranjo de traps)
Ex: primeiras 256 palavras do segmento de c´odigo do SO
(x8000-x80FF)
Cada palavra ´e um jump (JMP) para uma determinada rotina
Ou para uma rotina especial, se o c´odigo da interrup¸c˜ao n˜ao estiver
nesses 256, caso em que essa rotina mata o processo
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 26 / 42
Interrup¸c˜oes – Tratamento
Arranjo de Interrup¸c˜oes
Loca¸c˜ao de mem´oria (geralmente pr´oxima da parte
mais baixa da mem´oria), associada a cada classe de
dispositivos de E/S (inclusive clock)
Cada classe (disco, clock etc) pode ter um arranjo diferente
´E um arranjo usado para gerenciar interrup¸c˜oes dos
programas
Cont´em os endere¸cos dos procedimentos dos servi¸cos de
interrup¸c˜ao
Junto com o BCP (mais adiante...), controla a execu¸c˜ao dos
processos
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 27 / 42
Interrup¸c˜oes × Traps
Interrup¸c˜oes:
Evento externo ao processador
Gerados por dispositivos que precisam da aten¸c˜ao do SO
Podem n˜ao estar relacionadas ao processo que est´a rodando
Traps:
Evento inesperado vindo de dentro do processador
Causadas pelo processo corrente no processador (seja por
chamada ao SO, seja por instru¸c˜ao ilegal)
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 28 / 42
Interrup¸c˜ao – P´e no Hardware
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 29 / 42
Interrup¸c˜ao – P´e no Hardware
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 30 / 42
Interrup¸c˜ao – P´e no Hardware
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 31 / 42
Interrup¸c˜ao – P´e no Hardware
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 32 / 42
Interrup¸c˜ao – P´e no Hardware
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 33 / 42
Interrup¸c˜ao – P´e no Hardware
Caso na mem´oria, haver´a um registrador da CPU (carregado pelo SO), que aponta para sua
origem
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 34 / 42
Interrup¸c˜ao – P´e no Hardware
Imediatamente ap´os come¸car a execu¸c˜ao, a rotina de tratamento confirma a interrup¸c˜ao,
escrevendo um certo valor em uma das portas de E/S do controlador. Isso diz ao controlador
que ele est´a livre para repassar outra interrup¸c˜ao.
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 35 / 42
Interrup¸c˜ao – P´e no Hardware
Assim, a CPU atrasa essa confirma¸c˜ao at´e estar livre para lidar com a pr´oxima interrup¸c˜ao,
evitando assim condi¸c˜oes de corrida geradas por m´ultiplas interrup¸c˜oes quase simultˆaneas.
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 36 / 42
Interrup¸c˜ao
Informa¸c˜ao salva (temporariamente) pelo hardware
antes de iniciar a rotina de servi¸co:
Pelo menos, o contador de programa
Em ´ultimo caso, todos os registradores gerais e alguns
internos
Se for feita troca total de contexto, usa-se o BCP →
veremos mais adiante
Onde salvar? N˜ao h´a solu¸c˜ao perfeita.
Registradores internos
Problema: N˜ao h´a como enviar a confirma¸c˜ao (passo 3) ao
controlador de interrup¸c˜oes at´e que toda a informa¸c˜ao neles tenha
sido usada (evitando sobrescrita) → toma tempo
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 37 / 42
Interrup¸c˜ao
Pilha (do processo do usu´ario)
O ponteiro da pilha pode n˜ao ser legal (por escalonamento, p´agina
n˜ao na mem´oria, por exemplo)
Poderia ser o final de uma p´agina, levando a um page fault durante
a interrup¸c˜ao (e onde salvar o estado para tratar a page fault?)
Pilha do kernel
Maior chance do ponteiro ser legal
O chaveamento para modo n´ucleo pode exigir mudan¸ca de contexto,
pela MMU, podendo mudar cache e TLB → toma tempo (veremos
mais adiante)
Ex: MIPS → em uma regi˜ao da mem´oria, cujo endere¸co ´e
armazenado em um registrador espec´ıfico
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 38 / 42
Interrup¸c˜ao
O sinal (linha) de interrup¸c˜ao ´e exibido dentro de
cada ciclo de instru¸c˜ao do processador
A cada ciclo de instru¸c˜ao, a CPU:
Verifica se existe interrup¸c˜ao. Se n˜ao, busca a pr´oxima
instru¸c˜ao
Se existir interrup¸c˜ao pendente:
Suspende a execu¸c˜ao do programa
Salva contexto
Atualiza PC (Program Counter) → PC aponta para a ISR (rotina de
atendimento de interrup¸c˜ao)
Executa a rotina de tratamento da interrup¸c˜ao
Recarrega contexto e continua processo interrompido
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 39 / 42
M´ultiplas Interrup¸c˜oes
Modelo seq¨uencial
O tratador de interrup¸c˜oes desabilita as interrup¸c˜oes
Uma nova interrup¸c˜ao s´o ´e tratada ap´os o retorno da anterior
A interrup¸c˜ao pode demorar a ser tratada, o que pode
eventualmente ocasionar uma perda de dados
Finalizado o tratador de
interrup¸c˜ao, o processador
checa por interrup¸c˜oes
adicionais
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 40 / 42
M´ultiplas Interrup¸c˜oes
Modelo cascata
Interrup¸c˜oes tˆem prioridade
Interrup¸c˜oes com alta prioridade interrompem rotinas de servi¸co de
interrup¸c˜oes de menor prioridade
Exemplos de prioridade:
impressora (menor)
disco
comunica¸c˜ao (maior)
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 41 / 42
Referˆencias Adicionais
Patterson, D.A.; Hennessy, J.L: Computer Organization and Design: The
Hardware Software interface. 3 ed. Elsevier:Nova Iorque, 2005.
http://www.codinghorror.com/blog/2008/01/
understanding-user-and-kernel-mode.html
http://www.cs.virginia.edu/~evans/cs216/guides/x86.html
http://www.c-jump.com/CIS77/ASM/Assembly/lecture.html
http://www.csee.umbc.edu/~chang/cs313.s02/stack.shtml
Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 42 / 42

Mais conteúdo relacionado

Mais procurados

(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 01
(ACH2044) Sistemas Operacionais - Aula 01(ACH2044) Sistemas Operacionais - Aula 01
(ACH2044) Sistemas Operacionais - Aula 01Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 08
(ACH2044) Sistemas Operacionais - Aula 08(ACH2044) Sistemas Operacionais - Aula 08
(ACH2044) Sistemas Operacionais - Aula 08Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 20
(ACH2044) Sistemas Operacionais - Aula 20(ACH2044) Sistemas Operacionais - Aula 20
(ACH2044) Sistemas Operacionais - Aula 20Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 18
(ACH2044) Sistemas Operacionais - Aula 18(ACH2044) Sistemas Operacionais - Aula 18
(ACH2044) Sistemas Operacionais - Aula 18Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 13
(ACH2044) Sistemas Operacionais - Aula 13(ACH2044) Sistemas Operacionais - Aula 13
(ACH2044) Sistemas Operacionais - Aula 13Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 21
(ACH2044) Sistemas Operacionais - Aula 21(ACH2044) Sistemas Operacionais - Aula 21
(ACH2044) Sistemas Operacionais - Aula 21Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 17
(ACH2044) Sistemas Operacionais - Aula 17(ACH2044) Sistemas Operacionais - Aula 17
(ACH2044) Sistemas Operacionais - Aula 17Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 19
(ACH2044) Sistemas Operacionais - Aula 19(ACH2044) Sistemas Operacionais - Aula 19
(ACH2044) Sistemas Operacionais - Aula 19Norton Trevisan Roman
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUAlexandre Duarte
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Cristiano Pires Martins
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFSLuiz Arthur
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linuxLuciano Souto
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processosfrteles
 

Mais procurados (20)

(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10
 
(ACH2044) Sistemas Operacionais - Aula 01
(ACH2044) Sistemas Operacionais - Aula 01(ACH2044) Sistemas Operacionais - Aula 01
(ACH2044) Sistemas Operacionais - Aula 01
 
(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06
 
(ACH2044) Sistemas Operacionais - Aula 08
(ACH2044) Sistemas Operacionais - Aula 08(ACH2044) Sistemas Operacionais - Aula 08
(ACH2044) Sistemas Operacionais - Aula 08
 
(ACH2044) Sistemas Operacionais - Aula 20
(ACH2044) Sistemas Operacionais - Aula 20(ACH2044) Sistemas Operacionais - Aula 20
(ACH2044) Sistemas Operacionais - Aula 20
 
(ACH2044) Sistemas Operacionais - Aula 18
(ACH2044) Sistemas Operacionais - Aula 18(ACH2044) Sistemas Operacionais - Aula 18
(ACH2044) Sistemas Operacionais - Aula 18
 
(ACH2044) Sistemas Operacionais - Aula 13
(ACH2044) Sistemas Operacionais - Aula 13(ACH2044) Sistemas Operacionais - Aula 13
(ACH2044) Sistemas Operacionais - Aula 13
 
(ACH2044) Sistemas Operacionais - Aula 21
(ACH2044) Sistemas Operacionais - Aula 21(ACH2044) Sistemas Operacionais - Aula 21
(ACH2044) Sistemas Operacionais - Aula 21
 
(ACH2044) Sistemas Operacionais - Aula 17
(ACH2044) Sistemas Operacionais - Aula 17(ACH2044) Sistemas Operacionais - Aula 17
(ACH2044) Sistemas Operacionais - Aula 17
 
(ACH2044) Sistemas Operacionais - Aula 19
(ACH2044) Sistemas Operacionais - Aula 19(ACH2044) Sistemas Operacionais - Aula 19
(ACH2044) Sistemas Operacionais - Aula 19
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFS
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processos
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 

Semelhante a (ACH2044) Sistemas Operacionais - Aula 03

Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linuxFábio dos Reis
 
Manual UFCD 0839.pptx
Manual UFCD 0839.pptxManual UFCD 0839.pptx
Manual UFCD 0839.pptxFormador2
 
(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11Norton Trevisan Roman
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Leo Amorim
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1Leo Amorim
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Tchelinux
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linuxguilhermeoki
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisconogueira
 
Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema OperacionaisJailson Torquato
 
Redes prática - Inetd
Redes prática - InetdRedes prática - Inetd
Redes prática - InetdLuiz Arthur
 
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...Leinylson Fontinele
 
Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixHeber Souza
 
Forense memoria windows_sandro_suffert_2009_2010
Forense memoria windows_sandro_suffert_2009_2010Forense memoria windows_sandro_suffert_2009_2010
Forense memoria windows_sandro_suffert_2009_2010Sandro Suffert
 

Semelhante a (ACH2044) Sistemas Operacionais - Aula 03 (20)

Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linux
 
Manual UFCD 0839.pptx
Manual UFCD 0839.pptxManual UFCD 0839.pptx
Manual UFCD 0839.pptx
 
(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
 
Cygwin
CygwinCygwin
Cygwin
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisco
 
Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema Operacionais
 
Redes prática - Inetd
Redes prática - InetdRedes prática - Inetd
Redes prática - Inetd
 
Aprendendo linux
Aprendendo linuxAprendendo linux
Aprendendo linux
 
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
 
Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 
Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 
Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - Postfix
 
Forense memoria windows_sandro_suffert_2009_2010
Forense memoria windows_sandro_suffert_2009_2010Forense memoria windows_sandro_suffert_2009_2010
Forense memoria windows_sandro_suffert_2009_2010
 
Ntop
NtopNtop
Ntop
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (20)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 

Último

Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 

Último (20)

Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 

(ACH2044) Sistemas Operacionais - Aula 03

  • 1. Aula 03 – Chamadas ao Sistema e Processos Norton Trevisan Roman 11 de setembro de 2017 Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 1 / 42
  • 2. Chamadas ao Sistema Se uma aplica¸c˜ao precisa realizar alguma instru¸c˜ao privilegiada, ela realiza uma chamada de sistema, que altera do modo usu´ario para o modo kernel; Ex: Ler um arquivo Chamadas de sistemas s˜ao a porta de entrada para o modo Kernel; S˜ao a interface entre os programas do usu´ario no modo usu´ario e o Sistema Operacional no modo kernel; As chamadas diferem de SO para SO. No entanto, os conceitos relacionados `as chamadas s˜ao similares independentemente do SO; Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 2 / 42
  • 3. Chamadas ao Sistema S˜ao feitas por meio de instru¸c˜oes TRAP Instru¸c˜ao de chamada ao sistema Instru¸c˜ao que permite o acesso ao modo kernel; Normalmente usada para E/S Transferem o controle para o SO → Interrup¸c˜ao de software ou Exce¸c˜ao Podem sinalizar exce¸c˜oes (Divis˜ao por zero, Acesso inv´alido de mem´oria), Overflows etc Ap´os terminadas, o SO transfere o controle para a instru¸c˜ao seguinte `a chamada Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 3 / 42
  • 4. Chamadas ao Sistema Chamada a uma rotina do sistema: TRAP Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 4 / 42
  • 5. Chamadas ao Sistema (a) Aplicativo faz chamada ao sistema (TRAP) (b) Atrav´es de uma tabela, o SO determina o endere¸co da rotina de servi¸co (c) Rotina de Servi¸co ´e acionada (d) Servi¸co solicitado ´e executado e o controle retorna ao programa aplicativo Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 5 / 42
  • 6. Chamadas ao Sistema A rotina de servi¸co salva somente os registradores que ir´a modificar Antes de usar algum registrador, ela guarda seu valor anterior Ao final, devolve esse valor Com isso, ganha tempo, sem precisar transferir todos `a mem´oria Onde salva? Depende do hardware J´a j´a veremos Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 6 / 42
  • 7. Chamadas ao Sistema – Exemplo read(fd,buffer,nbytes) fd: especificador do arquivo buffer: endere¸co na mem´oria do primeiro byte da ´area onde deve ser armazenado o conte´udo lido nbytes: n´umero de bytes a serem lidos Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 7 / 42
  • 8. Exemplo: read(fd,buffer,nbytes) Chamando read... (1-3) O programa armazena os parˆametros na pilha de execu¸c˜ao Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 8 / 42
  • 9. Exemplo: read(fd,buffer,nbytes) Chamando read... (1-3) O programa armazena os parˆametros na pilha de execu¸c˜ao (4) Chama o procedimento read da biblioteca Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 8 / 42
  • 10. Exemplo: read(fd,buffer,nbytes) Chamando read... (1-3) O programa armazena os parˆametros na pilha de execu¸c˜ao (4) Chama o procedimento read da biblioteca Executando read... (5) Read coloca o n´umero da chamada ao SO em um registrador espec´ıfico Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 8 / 42
  • 11. Exemplo: read(fd,buffer,nbytes) Executando read... (6) Read executa uma instru¸c˜ao TRAP (passa do modo Usu´ario para Kernel e executa um determinado endere¸co no kernel → o S.O. tem o controle) Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 9 / 42
  • 12. Exemplo: read(fd,buffer,nbytes) Executando read... (6) Read executa uma instru¸c˜ao TRAP (passa do modo Usu´ario para Kernel e executa um determinado endere¸co no kernel → o S.O. tem o controle) (7) O kernel busca os parˆametros, verificando o n´umero da chamada ao SO e chamando o procedimento para seu tratamento Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 9 / 42
  • 13. Exemplo: read(fd,buffer,nbytes) Executando read... (6) Read executa uma instru¸c˜ao TRAP (passa do modo Usu´ario para Kernel e executa um determinado endere¸co no kernel → o S.O. tem o controle) (7) O kernel busca os parˆametros, verificando o n´umero da chamada ao SO e chamando o procedimento para seu tratamento Faz isso indexando uma tabela que cont´em na linha k um ponteiro para a rotina que executa a chamada de sistema k Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 9 / 42
  • 14. Exemplo: read(fd,buffer,nbytes) Executando read... (8) Esse procedimento de tratamento da chamada ´e executado Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 10 / 42
  • 15. Exemplo: read(fd,buffer,nbytes) Executando read... (8) Esse procedimento de tratamento da chamada ´e executado (9) Terminado o procedimento, o controle pode retornar `a instru¸c˜ao seguinte `a TRAP Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 10 / 42
  • 16. Exemplo: read(fd,buffer,nbytes) Executando read... (8) Esse procedimento de tratamento da chamada ´e executado (9) Terminado o procedimento, o controle pode retornar `a instru¸c˜ao seguinte `a TRAP (10) Read ent˜ao retorna ao programa do usu´ario Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 10 / 42
  • 17. Exemplo: read(fd,buffer,nbytes) O programa limpa a pilha ap´os a chamada do procedimento (11) Incrementa o ponteiro da pilha o suficiente para remover os parˆametros da chamada a read (lembre que a pilha est´a de cabe¸ca para baixo) Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 11 / 42
  • 18. Exemplo: read(fd,buffer,nbytes) Voltemos ao passo 9 Em vez de retornar, a chamada pode bloquear quem a chamou Ex: esperando do teclado O S.O. nesse caso verifica se algum outro processo pode ser executado Quando a entrada estiver dispon´ıvel, os passos 9 a 11 desse processo podem ser executados Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 12 / 42
  • 19. Chamadas ao Sistema – Invoca¸c˜ao direta write() e exit() atrav´es da interrup¸c˜ao 0x80 Instru¸c˜ao em assembly – trap – no Linux para x86 section .data ;declara¸c~ao da se¸c~ao msg db "Ola, mundo!",0xa ;declara localiza¸c~ao (declare byte): nosso string len equ $ - msg ;define constante (equ): tamanho do nosso string section .text ;declara¸c~ao de se¸c~ao global start ;ponto de entrada para o linker (ld) start: ;diz ao linker o ponto de entrada ;escreve o string na stdout mov edx,len ;terceiro argumento: tamanho da mensagem mov ecx,msg ;segundo argumento: ponteiro para a mensagem a ser escrita mov ebx,1 ;primeiro argumento: descritor de arquivo (stdout) mov eax,4 ;n´umero da chamada ao sistema (sys write) int 0x80 ;chama o kernel ;e sai mov ebx,0 ;primeiro argumento da chamada ao sistema: c´odigo de sa´ıda mov eax,1 ;n´umero da chamada ao sistema (sys exit) int 0x80 ;chama o kernel Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 13 / 42
  • 20. Invoca¸c˜ao direta – P´e no Hardware O que acontece que esquecemos de chamar exit() e o programa ainda det´em tempo de CPU? ;e sai mov ebx,0 ;primeiro argumento da chamada ao sistema: c´odigo de sa´ıda mov eax,1 ;n´umero da chamada ao sistema (sys exit) int 0x80 ;chama o kernel Olhemos a pipeline (BEM simplificada): Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 14 / 42
  • 21. Invoca¸c˜ao direta – P´e no Hardware Primeiro ciclo de clock A instru¸c˜ao ´e buscada na mem´oria 4 (bytes → 32b) s˜ao somados ao PC e armazenados nele. Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 15 / 42
  • 22. Invoca¸c˜ao direta – P´e no Hardware Segundo ciclo de clock Nova instru¸c˜ao ´e buscada na mem´oria (enquanto a outra est´a no est´agio 2) 4 (bytes → 32b) s˜ao somados ao PC e armazenados nele. Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 16 / 42
  • 23. Invoca¸c˜ao direta – P´e no Hardware Segundo ciclo de clock Mas se o programa havia acabado, que instru¸c˜ao ´e essa? Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 17 / 42
  • 24. Invoca¸c˜ao direta – P´e no Hardware Segundo ciclo de clock Mas se o programa havia acabado, que instru¸c˜ao ´e essa? O que h´a na mem´oria naquela posi¸c˜ao Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 17 / 42
  • 25. Invoca¸c˜ao direta – P´e no Hardware Segundo ciclo de clock A instru¸c˜ao pode ser algo que n˜ao dever´ıamos fazer (pouco prov´avel) Ou instru¸c˜ao desconhecida → instru¸c˜ao ilegal Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 18 / 42
  • 26. Invoca¸c˜ao direta – exit() Esquecer de cham´a-lo pode fazer com que: Uma instru¸c˜ao ilegal seja rodada → o programa ´e for¸cosamente parado Uma instru¸c˜ao legal, por´em indesejada, seja rodada → comportamento imprevis´ıvel Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 19 / 42
  • 27. Invoca¸c˜ao direta – exit() Esquecer de cham´a-lo pode fazer com que: Uma instru¸c˜ao ilegal seja rodada → o programa ´e for¸cosamente parado Uma instru¸c˜ao legal, por´em indesejada, seja rodada → comportamento imprevis´ıvel Por conta disso compiladores sempre incluem um exit() ao final do c´odigo compilado, se o programador n˜ao o fizer explicitamente Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 19 / 42
  • 28. Chamadas ao Sistema Interface das Chamadas ao Sistema (Wrappers) Chamadas a bibliotecas Em Windows, desacopladas das chamadas reais ao sistema Interface de programa¸c˜ao fornecida pelo SO Geralmente escrita em linguagem de alto n´ıvel (C, C++ ou Java) Normalmente as aplica¸c˜oes utilizam uma Application Program Interface (API) Interface que encapsula o acesso direto `as chamadas ao sistema Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 20 / 42
  • 29. Chamadas ao Sistema Portabilidade usando Wrappers Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 21 / 42
  • 30. Chamadas ao Sistema Interface das Chamadas de Sistema (Wrappers) Mais utilizadas: Win32 API para Windows POSIX API para praticamente todas as vers˜oes de UNIX Java API para a Java Virtual Machine (JVM). Motivos para utilizar APIs em vez das chamadas ao sistema diretamente Portabilidade – independˆencia da plataforma Esconder complexidade inerente `as chamadas ao sistema Acr´escimo de funcionalidades que otimizam o desempenho Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 22 / 42
  • 31. Chamadas ao Sistema Programa em C que invoca a fun¸c˜ao de biblioteca printf(), que por sua vez chama o system call write() write() e exit() atrav´es da instru¸c˜ao int 0x80 Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 23 / 42
  • 32. Interrup¸c˜oes Vimos que um software pode interromper seu pr´oprio processo (ao fazer uma chamada ao sistema) Via traps (Interrup¸c˜oes de software ou Exce¸c˜oes) Para isso, o software tem que estar rodando Mas como pode o escalonador interromper um determinado processo se ele mesmo n˜ao est´a rodando? Via interrup¸c˜oes de hardware Sinal el´etrico no Hardware Causa: dispositivos de E/S ou o clock Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 24 / 42
  • 33. Interrup¸c˜oes – Tratamento Feito pelo SO, que determina a natureza da interrup¸c˜ao e dispara a Rotina de Servi¸co adequada para executar as a¸c˜oes que forem necess´arias. Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 25 / 42
  • 34. Interrup¸c˜oes – Tratamento Quando o SO inicia, ele instala um tratador de interrup¸c˜oes em um endere¸co espec´ıfico da mem´oria, definido pelo hardware Ex: mips → 0x80000180 Cria tamb´em um Arranjo de Interrup¸c˜oes (tamb´em chamado de arranjo de traps) Ex: primeiras 256 palavras do segmento de c´odigo do SO (x8000-x80FF) Cada palavra ´e um jump (JMP) para uma determinada rotina Ou para uma rotina especial, se o c´odigo da interrup¸c˜ao n˜ao estiver nesses 256, caso em que essa rotina mata o processo Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 26 / 42
  • 35. Interrup¸c˜oes – Tratamento Arranjo de Interrup¸c˜oes Loca¸c˜ao de mem´oria (geralmente pr´oxima da parte mais baixa da mem´oria), associada a cada classe de dispositivos de E/S (inclusive clock) Cada classe (disco, clock etc) pode ter um arranjo diferente ´E um arranjo usado para gerenciar interrup¸c˜oes dos programas Cont´em os endere¸cos dos procedimentos dos servi¸cos de interrup¸c˜ao Junto com o BCP (mais adiante...), controla a execu¸c˜ao dos processos Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 27 / 42
  • 36. Interrup¸c˜oes × Traps Interrup¸c˜oes: Evento externo ao processador Gerados por dispositivos que precisam da aten¸c˜ao do SO Podem n˜ao estar relacionadas ao processo que est´a rodando Traps: Evento inesperado vindo de dentro do processador Causadas pelo processo corrente no processador (seja por chamada ao SO, seja por instru¸c˜ao ilegal) Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 28 / 42
  • 37. Interrup¸c˜ao – P´e no Hardware Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 29 / 42
  • 38. Interrup¸c˜ao – P´e no Hardware Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 30 / 42
  • 39. Interrup¸c˜ao – P´e no Hardware Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 31 / 42
  • 40. Interrup¸c˜ao – P´e no Hardware Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 32 / 42
  • 41. Interrup¸c˜ao – P´e no Hardware Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 33 / 42
  • 42. Interrup¸c˜ao – P´e no Hardware Caso na mem´oria, haver´a um registrador da CPU (carregado pelo SO), que aponta para sua origem Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 34 / 42
  • 43. Interrup¸c˜ao – P´e no Hardware Imediatamente ap´os come¸car a execu¸c˜ao, a rotina de tratamento confirma a interrup¸c˜ao, escrevendo um certo valor em uma das portas de E/S do controlador. Isso diz ao controlador que ele est´a livre para repassar outra interrup¸c˜ao. Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 35 / 42
  • 44. Interrup¸c˜ao – P´e no Hardware Assim, a CPU atrasa essa confirma¸c˜ao at´e estar livre para lidar com a pr´oxima interrup¸c˜ao, evitando assim condi¸c˜oes de corrida geradas por m´ultiplas interrup¸c˜oes quase simultˆaneas. Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 36 / 42
  • 45. Interrup¸c˜ao Informa¸c˜ao salva (temporariamente) pelo hardware antes de iniciar a rotina de servi¸co: Pelo menos, o contador de programa Em ´ultimo caso, todos os registradores gerais e alguns internos Se for feita troca total de contexto, usa-se o BCP → veremos mais adiante Onde salvar? N˜ao h´a solu¸c˜ao perfeita. Registradores internos Problema: N˜ao h´a como enviar a confirma¸c˜ao (passo 3) ao controlador de interrup¸c˜oes at´e que toda a informa¸c˜ao neles tenha sido usada (evitando sobrescrita) → toma tempo Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 37 / 42
  • 46. Interrup¸c˜ao Pilha (do processo do usu´ario) O ponteiro da pilha pode n˜ao ser legal (por escalonamento, p´agina n˜ao na mem´oria, por exemplo) Poderia ser o final de uma p´agina, levando a um page fault durante a interrup¸c˜ao (e onde salvar o estado para tratar a page fault?) Pilha do kernel Maior chance do ponteiro ser legal O chaveamento para modo n´ucleo pode exigir mudan¸ca de contexto, pela MMU, podendo mudar cache e TLB → toma tempo (veremos mais adiante) Ex: MIPS → em uma regi˜ao da mem´oria, cujo endere¸co ´e armazenado em um registrador espec´ıfico Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 38 / 42
  • 47. Interrup¸c˜ao O sinal (linha) de interrup¸c˜ao ´e exibido dentro de cada ciclo de instru¸c˜ao do processador A cada ciclo de instru¸c˜ao, a CPU: Verifica se existe interrup¸c˜ao. Se n˜ao, busca a pr´oxima instru¸c˜ao Se existir interrup¸c˜ao pendente: Suspende a execu¸c˜ao do programa Salva contexto Atualiza PC (Program Counter) → PC aponta para a ISR (rotina de atendimento de interrup¸c˜ao) Executa a rotina de tratamento da interrup¸c˜ao Recarrega contexto e continua processo interrompido Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 39 / 42
  • 48. M´ultiplas Interrup¸c˜oes Modelo seq¨uencial O tratador de interrup¸c˜oes desabilita as interrup¸c˜oes Uma nova interrup¸c˜ao s´o ´e tratada ap´os o retorno da anterior A interrup¸c˜ao pode demorar a ser tratada, o que pode eventualmente ocasionar uma perda de dados Finalizado o tratador de interrup¸c˜ao, o processador checa por interrup¸c˜oes adicionais Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 40 / 42
  • 49. M´ultiplas Interrup¸c˜oes Modelo cascata Interrup¸c˜oes tˆem prioridade Interrup¸c˜oes com alta prioridade interrompem rotinas de servi¸co de interrup¸c˜oes de menor prioridade Exemplos de prioridade: impressora (menor) disco comunica¸c˜ao (maior) Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 41 / 42
  • 50. Referˆencias Adicionais Patterson, D.A.; Hennessy, J.L: Computer Organization and Design: The Hardware Software interface. 3 ed. Elsevier:Nova Iorque, 2005. http://www.codinghorror.com/blog/2008/01/ understanding-user-and-kernel-mode.html http://www.cs.virginia.edu/~evans/cs216/guides/x86.html http://www.c-jump.com/CIS77/ASM/Assembly/lecture.html http://www.csee.umbc.edu/~chang/cs313.s02/stack.shtml Norton Trevisan Roman Aula 03 – Chamadas ao Sistema e Processos 11 de setembro de 2017 42 / 42