57
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana e Prof. Dra. Regina Helena Carlucci Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum Tipos e Estrutura System Calls Professor Ariel da Silva Dias - www.arieldias.com

ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Sistemas OperacionaisSlides adaptados de Prof. Dr. Marcos José Santana e Prof. Dra. Regina Helena Carlucci Santanabaseados no livro Sistemas Operacionais Modernos de A. Tanenbaum

Tipos e EstruturaSystem Calls

Professor Ariel da Silva Dias - www.arieldias.com

Page 2: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Na aula Anterior

▪ Por que é necessário um sistema operacional?

▪ O que é um sistema operacional?

▪ Histórico

▪ Conceitos Básicos

Professor Ariel da Silva Dias - www.arieldias.com

Page 3: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Roteiro - Nesta aula

▪ Tipo e Estrutura de Sistemas Operacionais

▪ Chamadas ao Sistema (System Calls)

Professor Ariel da Silva Dias - www.arieldias.com

Page 4: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Tipos de SOs

▪ Quanto ao compartilhamento de Hardware (2 tipos)

▪ Monoprogramados ou Monotarefas:

▪ permitem apenas um programa ativo em dado período, permanecendo ativo do início ao fim de sua execução (MS-DOS)

▪ Multiprogramados ou Multitarefas

▪ mantém mais de um programa na memória, permitindo o time-sharing (Unix, Windows)

Professor Ariel da Silva Dias - www.arieldias.com

Page 5: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Monoprogramados ou Monotarefas

▪ O processador, a memória e os periféricos permanecem exclusivamente dedicados à execução de um único programa

▪ Má utilização dos recursos

▪ Facilidade na implementação

▪ Exemplo: sistemas embarcados

▪ O processo estará em um destes estados

Professor Ariel da Silva Dias - www.arieldias.com

Novo Executando Concluído

Page 6: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Multiprogramados ou Multitarefas

▪ Vários processos encontram-se em memória ao mesmo tempo

▪ Várias tarefas ocorrem simultaneamente em um único processador: um processo é executado enquanto outro aguarda

▪ Necessidade de um mecanismo de trocas rápidas de processo

Professor Ariel da Silva Dias - www.arieldias.com

Page 7: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Multiprogramados ou Multitarefas

▪ Classificação quanto à interação com as aplicações:

▪ Sistema Multitarefa

▪ Sistemas batch

▪ Sistemas de tempo real

▪ Sistemas de interativo

Professor Ariel da Silva Dias - www.arieldias.com

Page 8: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais

▪ Principais tipos de estruturas

▪ Monolíticos;

▪ Arquitetura Micro-Kernel;

▪ Em camadas;

▪ Máquinas Virtuais;

▪ Cliente-Servidor.

Professor Ariel da Silva Dias - www.arieldias.com

Page 9: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Monolíticos

▪ O SO é um único módulo

▪ O SO é um conjunto de processos que podem interagir entre si a qualquer momento sempre que necessário

▪ Processos do usuário invocam rotinas do SO

▪ Os serviços (Chamadas) requisitados ao sistema são realizados por meio da colocação de parâmetros em registradores ou pilhas de serviços seguida da execução de uma instrução chamada TRAP;

Professor Ariel da Silva Dias - www.arieldias.com

Page 10: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Monolíticos

▪ Todos os módulos do sistema são compilados individualmente e depois ligados uns aos outros em um único arquivo-objeto;

▪ Cada processo possui uma interface bem definida com relação aos parâmetros e resultados para facilitar a comunicação com os outros processos;

▪ Simples;

▪ Primeiros sistemas UNIX e MS-DOS;

Professor Ariel da Silva Dias - www.arieldias.com

Page 11: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Monolíticos

Professor Ariel da Silva Dias - www.arieldias.com

Aplicação Aplicação

Page 12: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Monolíticos

Professor Ariel da Silva Dias - www.arieldias.com

Page 13: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Micro-Kernel

Professor Ariel da Silva Dias - www.arieldias.com

▪ O objetivo é tornar o núcleo do SO o menor possível

▪ A função do núcleo é gerenciar comunicação entre esses processos

▪ Papeis do núcleo

▪ alocação de CPU

▪ comunicação aos processos (IPC)

▪ Ex.: Symbian, Minix

Page 14: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Micro-Kernel

Professor Ariel da Silva Dias - www.arieldias.com

Page 15: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

▪ Sistema operacional modular que possui uma hierarquia de níveis;

▪ Modular: divisão de um processo complexo em módulos de menor complexidade

▪ Hierarquico: a cada nível, os detalhes de operações dos níveis anteriores podem ser ignorados

▪ Primeiro sistema em camadas: THE (idealizado por E.W. Dijkstra);

▪ Possuía 6 camadas, cada qual com uma função diferente;

▪ Sistema em batch simples;

Page 16: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

▪ Vantagem: isolar as funções do sistema operacional, facilitando manutenção e depuração;

▪ Desvantagem: cada nova camada implica uma mudança no modo de acesso;

▪ Exemplo: Multics

▪ Atualmente: modelo de 2 camadas.

Page 17: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

▪ Camadas definidas no THE

Forn

ecim

ento

de

Serv

iço

s

Page 18: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais – Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

Forn

ecim

ento

de

Serv

iço

s

• Alocação do processador• Chaveamento entre os

processos em execução -multiprogramação

Page 19: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais – Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

Forn

ecim

ento

de

Serv

iço

s

• Gerenciamento da memória• Alocação de espaço para

processos na memória e no disco• Processo dividido em

partes (páginas) para ficarem no disco

Page 20: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais – Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

Forn

ecim

ento

de

Serv

iço

s

• Comunicação entre os processos

Page 21: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais – Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

Forn

ecim

ento

de

Serv

iço

s

• Gerenciamento dos dispositivos de i/o –armazenamento de informações de/para tais dispositivos

Page 22: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais – Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

Forn

ecim

ento

de

Serv

iço

s

• Programas dos usuários• Alto nível de abstração

Page 23: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais – Em Camadas

Professor Ariel da Silva Dias - www.arieldias.com

Forn

ecim

ento

de

Serv

iço

s

• Processo do operador do sistema

Page 24: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Máquina Virtual

Professor Ariel da Silva Dias - www.arieldias.com

▪ Idealizada em 1960 pela IBM ➔ VM/370;

▪ Modelo de máquina virtual cria um nível intermediário entre o SO e o Hardware denominado Gerência de VM;

▪ Esse nível cria diversas máquinas virtuais independentes e isoladas, onde cada máquina oferece uma cópia virtual do hardware, incluindo modos de acesso, interrupções, dispositivos de E/S, etc;

▪ Cada máquina virtual pode ter seu próprio SO.

Page 25: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Máquina Virtual

Professor Ariel da Silva Dias - www.arieldias.com

▪ Principais Conceitos

▪ Monitor da Máquina Virtual (VMM): executa sobre o hardware e implementa multiprogramação fornecendo várias máquinas virtuais ➔ é o coração do sistema

▪ CMS (Conversational Monitor System):

▪ TimeSharing;

▪ Executa chamadas ao Sistema Operacional;

▪ Máquinas virtuais são cópias do hardware, incluindo os modos kernel e usuário;

▪ Cada VM pode rodar um SO diferente.

Page 26: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Máquina Virtual

Professor Ariel da Silva Dias - www.arieldias.com

Monitor da Máquina Virtual (VMM)Roda sobre o hardware e

implementa multiprogramação

TimeSharingChamadas ao Sistema

TRAP

TRAP

Page 27: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Máquina Virtual

Professor Ariel da Silva Dias - www.arieldias.com

▪ A ideia de VM foi posteriormente utilizada em contextos diferentes:

▪ Programas MS-DOS: rodam em computadores 32 bits;

▪ As chamadas feitas pelo MS-Dos ao SO eram realizadas e monitoradas pelo monitor da VM (VMM);

Page 28: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Máquina Virtual

Professor Ariel da Silva Dias - www.arieldias.com

▪ A ideia de VM foi posteriormente utilizada em contextos diferentes:

▪ Programas Java (Máquina Virtual Java-JVM): o compilador Java produz código JVM (Bytecodes).

▪ Esse código é executado pelo interpretador Java:

▪ Programas Java rodam em qualquer plataforma, independentemente do SO;

Page 29: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Máquina Virtual

Professor Ariel da Silva Dias - www.arieldias.com

▪ A ideia de VM foi posteriormente utilizada em contextos diferentes:

▪ Computação em Nuvem

▪ Virtualização dos servidores simula diferentes ambientes em servidores físicos;

Page 30: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Máquina Virtual

Professor Ariel da Silva Dias - www.arieldias.com

▪ Vantagem:

▪ Flexibilidade;

▪ Desvantagem:

▪ Simular diversas máquinas virtuais não é uma tarefa simples → sobrecarga;

Page 31: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Cliente/Servidor

Professor Ariel da Silva Dias - www.arieldias.com

▪ Reduzir o SO a um nível mais simples:

▪ Kernel: implementa a comunicação entre processos clientes e processos servidores → núcleo mínimo;

▪ Maior parte do SO está implementado como processos de usuários (nível mais alto de abstração);

▪ Sistemas Operacionais Modernos.

Page 32: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Cliente/Servidor

Professor Ariel da Silva Dias - www.arieldias.com

▪ Cada processo servidor trata de uma tarefa

▪ Os processo servidores não tem acesso direto ao hardware. Assim, se algum problema ocorrer com algum desses servidores, o hardware não é afetado;

▪ O mesmo não se aplica aos serviços que controlam os dispositivos de E/S, pois essa é uma tarefa difícil de ser realizada no modo usuário devido à limitação de endereçamento. Sendo assim, essa tarefa ainda é feita no kernel.

Page 33: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Cliente/Servidor

Professor Ariel da Silva Dias - www.arieldias.com

▪ Adaptável para Sistemas Distribuídos

Page 34: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Estrutura dos Sistemas Operacionais = Cliente/Servidor

Professor Ariel da Silva Dias - www.arieldias.com

▪ Linux

▪ Monolítico + Módulos;

▪ Windows

▪ Microkernel + Camadas + Módulos

Page 35: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Sistemas Operacionais

System Calls e Interrupções

Professor Ariel da Silva Dias - www.arieldias.com

Page 36: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Quando ocorre?

▪ um processo precisa realizar uma instrução privilegiada (imprimir arquivo)

▪ Para que isso ocorre, é necessário que haja uma chamada de sistema

▪ alternância do modo de usuário para o modo kernel

▪ Chamadas de sistema são a porta de entrada para o modo kernel

Professor Ariel da Silva Dias - www.arieldias.com

Page 37: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Modos de Acesso

▪ Modo Usuário;

▪ Modo Kernel ou Supervisor ou Núcleo;

▪ São determinados por um conjunto de bits localizados no registrador de status do processador: PSW (program status word);

▪ Por meio desse registrador, o hardware verifica se a instrução pode ou não ser executada pela aplicação.

▪ Protege o próprio kernel do SO na RAM contra acessos indevidos.

Professor Ariel da Silva Dias - www.arieldias.com

Page 38: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Modo Usuário

▪ Aplicações não tem acesso direto aos recursos da máquina, ou seja, ao hardware;

▪ Quando o processador trabalha no modo usuário, a aplicação só pode executar instruções sem privilégios, com um acesso reduzido de instruções;

▪ Por que?

▪ Para garantir a segurança e a integridade do sistema.

Professor Ariel da Silva Dias - www.arieldias.com

Page 39: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Modo Kernel

▪ Aplicações tem acesso direto aos recursos da máquina, ou seja, ao hardware;

▪ Operações com privilégios;

▪ Quando o processador trabalha no modo kernel, a aplicação tem acesso ao conjunto total de instruções;

▪ Apenas o SO tem acesso às instruções privilegiadas.

Professor Ariel da Silva Dias - www.arieldias.com

Page 40: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Se uma aplicação precisa realizar alguma instrução privilegiada, ela realiza uma chamada ao sistema (System Call), que altera do modo usuário para o modo kernel;

▪ Chamadas de sistemas são a porta de entrada para o modo kernel

▪ São a interface entre os programas do usuário no modo usuário e o SO no modo kernel;

▪ As chamadas diferem de SO para SO, no entanto, os conceitos relacionados às chamadas são similares independentemente do SO.

Professor Ariel da Silva Dias - www.arieldias.com

Page 41: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ As system calls são realizadas através das instruções TRAP

▪ TRAP: interupções de software

▪ Permitem chamar a atenção do SO

▪ pegar a requisição do usuário, identificar a requisição, processar esta requisição

Professor Ariel da Silva Dias - www.arieldias.com

Page 42: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Passos para system calls

1. processo realiza uma chamada ao sistema (TRAP)

2. o SO utiliza uma tabela para determinar o endereço da rotina

3. a rotina do serviço é acionada

4. serviço solicitado é executado, devolvendo o controle ao processo

Professor Ariel da Silva Dias - www.arieldias.com

Page 43: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ TRAP: instrução que permite o acesso ao modo kernel;

▪ Exmeplo:▪ Instrução do UNIX:count = read(fd, buffer, nbytes);

▪ O programa sempre deve checar o retorno da chamada de sistema para saber se algum erro ocorreu!!!

Professor Ariel da Silva Dias - www.arieldias.com

Arquivo a ser lido Bytes a serem lidos

Ponteiro para o Buffer

Page 44: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

Professor Ariel da Silva Dias - www.arieldias.com

▪ Exemplos de chamadas da interface:

▪ Chamadas para gerenciamento de processos:

▪ Fork (CreateProcess – WIN32) – Cria um processo;

▪ Outros exemplos no Posix (Portable Operating System Interface)

Page 45: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

Professor Ariel da Silva Dias - www.arieldias.com

▪ Exemplos de chamadas da interface:

▪ Chamadas para Gerenciamento de Diretórios:

▪ Mount – monta um diretório;

▪ Outros exemplos no Posix

Page 46: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

Professor Ariel da Silva Dias - www.arieldias.com

▪ Exemplos de chamadas da interface:

▪ Outros tipos de chamadas:

▪ Chmod: modifica permissões;

▪ Outros exemplos no Posix

Page 47: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Chamadas da interface. Unix x Windows>

▪ Unix

▪ Chamadas da interface muito semelhantes às chamadas ao sistema

▪ ~100 chamadas a procedimentos

▪ Windows

▪ Chamadas da interface totalmente diferente das chamadas ao sistema

▪ APIWin32 (Application Program Interface)▪ Padrão de acesso ao sistema operacional▪ Facilita a compatibilidade▪ Possui milhares de procedimentos

Professor Ariel da Silva Dias - www.arieldias.com

Page 48: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Conceitos Básicos – Chamadas ao Sistema

▪ Exemplos de chamadas da interface: Unix e API Win32

Professor Ariel da Silva Dias - www.arieldias.com

Page 49: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Interface das Chamadas de Sistemas

▪ Interface para esconder a complexidade das system calls

▪ interface de programação fornecida pelo SO

▪ escrita em linguagem de alto nível

▪ aplicações utilizam uma API (Application Program Interface)

▪ encapsula o acesso direto às chamadas ao sistema

Professor Ariel da Silva Dias - www.arieldias.com

Page 50: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Interface das Chamadas de Sistemas

Professor Ariel da Silva Dias - www.arieldias.com

APLICAÇÃO DO USUÁRIO

Wrapper API

Solaris AIXLinux

read(fd, buffer,var(

read() do Solaris read() do Linux read() do aix

Page 51: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Interface das Chamadas de Sistemas

▪ win32 API para Windows

▪ POSIX API para todas versões UNIX

▪ Java API para JVM

Professor Ariel da Silva Dias - www.arieldias.com

Page 52: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Interface das Chamadas de Sistemas

▪ Por que utilizar APIs em vez de chamadas diretas ao sistema?

▪ Portabilidade

▪ Esconder complexidade de chamadas ao sistema

▪ Acréscimo de funcionalidades que otimizam o desempenho

Professor Ariel da Silva Dias - www.arieldias.com

Page 53: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Interrupções

▪ Um processo pode ser interrompido ao fazer uma chamada ao sistema

▪ Usando TRAPS (para isso a aplicação tem que estar em execução)

▪ interrupção em nível de processo

▪ E o que fazer com interrupções que não são causadas por processos em execução?▪ Interrupções de hardware

▪ Sinal elétrico no hardware

▪ Dispositivo de i/o ou clock

Professor Ariel da Silva Dias - www.arieldias.com

Page 54: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Interrupções

Professor Ariel da Silva Dias - www.arieldias.com

Page 55: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Interrupção vs Traps

▪ Interrupção

▪ Evento que independe do processo (externo ao processador)

▪ Gerada por dispositivos que podem não estar relacionado ao processo em execução

▪ TRAPS

▪ Evento que depende do processo

▪ Causado pelo processo no processador

Professor Ariel da Silva Dias - www.arieldias.com

Page 56: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Atividades para casa

▪ Ler capítulo 1 do Tanenbaum

▪ Resolver os exercícios ímpares

▪ Estudar chamadas ao sistema (Linux) e começar a pensar como implementar um programa que utilize algumas delas...

Professor Ariel da Silva Dias - www.arieldias.com

Page 57: ANÁLISE E COMPLEXIDADE DE ALGORITMOS - Ariel Diasarieldias.com/material/2019-1/SO/Aula2n.pdf · Roteiro - Nesta aula Tipo e Estrutura de Sistemas Operacionais Chamadas ao Sistema

Referências

▪ Notas de aula Professor Marcos José Santana (USP)

▪ Aulas professor Jó Ueyama (Univesp) -https://www.youtube.com/watch?v=IE9EVxy8Ups

Professor Ariel da Silva Dias - www.arieldias.com