0% acharam este documento útil (0 voto)
2 visualizações20 páginas

System Call Processos

O documento aborda o conceito de chamadas de sistema, que permitem que aplicações realizem instruções privilegiadas ao interagir com o núcleo do sistema operacional. Ele descreve o funcionamento das chamadas de sistema, incluindo o uso de traps e interrupções, além de apresentar interfaces de programação como APIs que facilitam o acesso a esses serviços. Também são discutidas as diferenças entre interrupções de hardware e traps, bem como exemplos práticos de chamadas de sistema.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações20 páginas

System Call Processos

O documento aborda o conceito de chamadas de sistema, que permitem que aplicações realizem instruções privilegiadas ao interagir com o núcleo do sistema operacional. Ele descreve o funcionamento das chamadas de sistema, incluindo o uso de traps e interrupções, além de apresentar interfaces de programação como APIs que facilitam o acesso a esses serviços. Também são discutidas as diferenças entre interrupções de hardware e traps, bem como exemplos práticos de chamadas de sistema.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Chamada de Sistema e

Interrupção

Autor: Valeriano Messele 1


Área: DET
CHAMADAS DE SISTEMAS 2

Se uma aplicação precisa realizar alguma instrução privilegiada (imprimir um arquivo),


ela realiza uma chamada de sistema, que altera o modo usuário para o modo kernel
Ex: Ler um arquivo
Chamadas de Sistemas são a porta de entrada para o modo kernel
System Call (Chamadas do Sistema) – Mecanismo de proteção ao núcleo do S.O. e de acesso aos
seus serviços – UNIX e Linux – System Calls – OpenVMS – System Services – Windows – API
(AplicaPon Program Interface) – Quando um usuário ou aplicação deseja solicitar um serviço do
S.O., realiza uma chamada ao serviço por meio de uma System Call

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 3

System Call (Chamadas do Sistema)

•–Mecanismo de proteção ao núcleo do S.O. e de acesso aos seus serviços


•– UNIX e Linux – System Calls
•– OpenVMS – System Services
•– Windows – API (AplicaPon Program Interface)
•– Quando um usuário ou aplicação deseja solicitar um serviço do S.O., realiza uma
chamada ao serviço por meio de uma System Call.

Autor: Valeriano Messele


Ano Académico: 2022/2023
KERNEL 4

Kernel

– Núcleo do S.O.
– Oferece serviços básicos para todas as outras partes
– Ro9nas que fornece serviços aos usuários e aplicações
– Interpretador de comandos = SHELL
• Desempenha papel de interação com o usuário – UNIX = c shell (%), bourne
shell ($)
– Linux = bash (#)
– MS-DOS = [Link] – Windows = API Win32

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 5

Como elas são Realizadas?


1) As chamadas de sistemas são realizadas através de instruções traps (irá receber e processar a
chamada de sistema)
2) Traps são conhecidos como interrupções de so[ware
3) Após o termino da chamada (ex: ler uma arquivo ), a execução conPnua apos a chamada
de sistema

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 6

Passos para Chamada de Sistema

1)Aplica9vo faz chamada ao Sistema


(TRAP)
2)Através de uma tabela o SO
determina o endereço de ro9na;
3)Ro9na de Serviço é acionada
(ro9na compar9lhada)
4)Serviço solicitado é executado e o
controle retorna ao aplica9vo

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 7

Interfaces das SysCalls


Interface das chamadas de sitemas (Wrappers) mais u4lizadas:
1) WIN32 API para Windows
2) POSIX API para pra4camente todas as versões de UNIX
3) Java API para (JVM)

Mo2vos para u2lizar APIs em vez das chamadas ao sistema directamente


a) Portabilidade – Independência da plataforma
b) Esconder complexidade inerente as chamadas ao sistema
c) Acréscimo de funcionalidades que o4mizam o desempenho

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 8

Exemplo de Uso com prin0()


Programa em C que invoca a função da
biblioteca prinT(), que por sua vez chama o
system call write()

A chamada prinT() ocasiona a chamada write() e


exit
Na imagem a função prinT irá imprimir na tela
uma mensagem para que isso aconteça será
necessário chamar uma API(standard C library)
que por sua vez é uma interface do syscall que
por sua vz irá chamar um write () na verdade o
que se quer mostar na imagem é que uma
chamada converte para uma outra chamado do
sistema e que standard C library serve para
esconder a complexidade que existe na camada
inferior
Autor: Valeriano Messele
Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 9

Funções das System Calls


Gerência de Processos e de Threads
Gerência de memoria
Gerência de Arquivos
Gerência de Disposi7vos

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 10

1) Interface para esconder a complexidade das syscalls;


2) Interface de programação fornecida pelo SO;
3) Geralmente escrita em linguagem de alto nível (C,C++, OU JAVA);
4) Normalmente as aplicações uOlizam uma ApplicaOon Programming Interface (API)
5) Interface que encapsula o acesso directo as chamadas ao sistema (User and kernel)

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 11

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 12

Aplica4vo faz chamada ao sistema (TRAP)


Através de uma tabela, o SO determina o
endereço da ro4na.
Ro4na de Serviço é acionada ro4na
compar4lhada)
Serviço solicitado é executado e o controle
retorna ao aplica4vo.

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 13

Interrupções
Vimos que um so[ware pode interromper seu próprio processo
(ao fazer uma chamada ao sistema):
1) Usando traps (Interrupções de so[ware ou Exceções).
2) Para isso, a aplicação tem que estar rodando.
Mas ocorrem interrupções que não são causadas por aplicações em execução
1)Interrupções de hardware (eventos externos),
2)Um sinal electrico no hardware;
3)Causa disposiPvos de E/S ou clock

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 14

Portabilidade usando Wrappers

Autor: Valeriano Messele


Ano Académico:
CHAMADAS DE SISTEMAS 15

Interrupção VS. Traps


Evento externo ao processador.
Gerada por disposi2vos que precisam da atenção do SO.
Pode não estar relacionada ao processo que está rodando.

Traps
Evento inesperado vindo dentro do processador.
Causado pelo processo corrente no processador (seja por chamada ao SO, seja por instrução ilegal)

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 16

Interrupção VS. Traps


Vimos que um so[ware ele pode interromper seu próprio processo (ao fazer uma
chamada ao sistema):
Usando traps(Interrupções de So[ware ou exceções)
Para isso, a aplicação tem que estar rodando.
Mas ocorrem interrupções que não são causadas por explicações em execução:
Interrupções de hardware (eventos externos). Um sinal elétrico de hardware.
Causa: disposiPvo de e/s ou o clock.

Autor: Valeriano Messele


Ano Académico: L2022/2023
CHAMADAS DE SISTEMAS 17

Autor: Valeriano Messele


Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 18

Exemplos de System Call


read (fd, buffer, nbytes)
1, 2 e 3 – Guarda parâmetros na pilha
4 – chamada real ao procedimento na biblioteca
5 – programa coloca o número da chamada ao
sistema de um local esperado pelo SO
6 – TRAP para passar do modo usuário para
modo núcleo e iniciar a execução em um
endereço no núcleo
7 – despacha para procedimento correto de
tratamento de chamada
8 – executado o procedimento de tratamento da
chamada ao sistema
9 – retorna para o procedimento de biblioteca
do espaço do usuário
10 – retorno ao espaço do usuário
11 – programa do usuário limpa pilha
Autor: Valeriano Messele
Ano Académico: 2022/2023
CHAMADAS DE SISTEMAS 19

Autor:
Ano Académico:
MUITO OBRIGADO PELA ATENÇÃO!

20
Volenti Nihil Difficili - “A quem quer, nada é difícil”

Você também pode gostar