SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
SISTEMAS DE
INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS
OPERACIONAIS
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Orbis OS
Lucas Soares Nogueira
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Orbis OS
Tópicos da Apresentação
● Sobre o Orbis OS;
● Gerenciamento de Processos;
● Demonstração de Gerenciamento de Processos no Orbis OS;
● Gerenciamento de Memória;
● Demonstração de Gerenciamento de Memória no Orbis OS;
● Gerenciamento de Dispositivos de I/O;
● Demonstração de Gerenciamento de Dispositivos de I/O no Orbis
OS;
● Como está organizado o Kernel no Orbis OS;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Orbis OS
● O Orbis OS é um sistema feito para fãs de anime, mangá e para pessoas que
querem um sistema fácil de usar;
● Sua interface é baseada no Gnome 2;
● Foi criado utilizando a ferramenta de criação de sistemas operacionais Suse Studio
(o que o faz ter características do OpenSuse, como o gerenciador de pacotes
zypper e o YaST, por exemplo);
● Sua versão pré-alpha foi lançada em 2011 e sua última atualização foi feita em
2015 (ainda em pré-alpha);
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Processos
● Processos podem ser entendidos como “programas em execução”;
● Existem processos de primeiro e segundo plano (na realidade esse número pode
variar). Sendo primeiro plano para interagir com o usuário e segundo que não
interagem com o usuário (ex: receber e-mails);
● Cada processo possui instruções, espaço de endereçamento (texto, dados, pilha
de execução), contexto de hardware e contexto de software;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Processos
● Podem ser CPU Bound ou IO Bound;
● Podem ser criados por outros processo (iniciando uma hierarquia de processos);
○ Nesse caso, temos por exemplo, o método fork(), que vai copiar o processo
pai na memória, mas com identificadores diferentes;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Processos - Criação de Processo Filho
import os
# Criando processos filhos
os.fork()
os.fork()
print("Texto que sera executado!")
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Processos - Criação de Processo Filho
Número de filhos: 2N
- 1
N: quantidade de fork() no programa
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Processos
● Encerramento de um Processo:
○ Término normal;
○ Término por erro - Ex: arquivo requisitado não existe no disco;
○ Término por erro fatal - Ex: Tentar dividir por zero;
○ Término por outro processo - Ex: Utilizar o comando kill em um terminal;
○ Demonstração do comando kill
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Processos
Executando
Bloqueado Destruído
Criação
Apto
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Processos
● Tabela de Processos ou Process Control Block (PCB)
○ Estado de um processo em um determinado tempo;
○ Informações de contexto de cada processo;
○ Informações sobre onde ele parou sua execução quando perdeu
processador, para que quando ele volte a ganhar processador ele recomece
suas instruções de onde parou sua execução;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
● Threads ou processos leves, são linhas de execução;
● Processos são formados por uma ou mais threads;
● Um conjunto de threads pode compartilhar seu mesmo endereço de processo;
● Como elas compartilham um mesmo endereço, são menos independentes do que
um processo;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
● Vantagens
○ Pode ajudar no balanceamento entre CPU Bound e IO Bound. Isso por ser
possível ter threads CPU Bound e threads IO Bound como filhas de um
mesmo processo;
○ Podem ajudar em trabalhos paralelos - Ex: Fazer requisições de diversas
informações em servidor;
○ São mais rápidas de criar e destruir do que processos pesados;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
● O método join() permite que esta thread seja executada até o fim. Após isso, as
demais threads continuam sua execução;
● Demonstração de Thread Join com Python:
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
● Tipos de Thread
○ Modo Usuário
○ Modo Núcleo
○ Híbrido
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
● Tipos de Thread
○ Modo Usuário
■ Podem ser implementadas por uma biblioteca;
■ Estão no nível de usuário;
■ Escalonadas sem conhecimento do kernel;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads - Escalonamento a Nível de Usuário
Processo
threads
Nvl. Usuário
Nvl. Kernel Kernel pega um processo (não tem
acesso a threads diretamente)
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
● Tipos de Thread
○ Modo Núcleo
■ Criação, Gerenciamento e Escalonamento feitos no modo Kernel;
■ Núcleo possui tabela de threads e de processos pesados;
■ Gerência de threads mais cara por envolver alternância entre nível de
usuário e nível de kernel;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads - Escalonamento a Nível de Kernel
Nvl. Usuário
Nvl. Kernel Kernel tem acesso direto a threads
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Mecanismos de Sincronização
● Condição de Corrida;
● Região Crítica;
● Exclusão Mútua;
● Solução de Exclusão Mútua;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Mecanismos de Sincronização
● Condição de Corrida
○ Dois ou mais processos estão concorrendo por um mesmo recurso;
○ Em sistemas preemptivos, o tempo de uso da CPU que o processo está
utilizando pode tornar-se uma característica que poderá desfavorecer um
desses processos;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads - Condição de Corrida
Exemplo: Poltrona de Cinema
1. Cliente C1 (em São Leopoldo) lê Poltrona1 vaga
2. Cliente C2 (em Porto Alegre) lê Poltrona1 vaga
3. Cliente C1 compra Poltrona1
4. Cliente C2 compra Poltrona2
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Mecanismos de Sincronização
● Região Crítica
○ Região de um programa, onde são realizados acessos e alterações a
recursos que são partilhados por dois ou mais processos;
○ Para que não haja conflito, devemos proteger essas seções desabilitando
interrupções enquanto elas estiverem sendo acessadas.
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Mecanismos de Sincronização
● Exclusão Mútua
○ Solução para Condições de Corrida;
○ Impedem que mais de um processo faça uso de uma região crítica ao
mesmo tempo.
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Threads
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Mecanismos de Sincronização
● Soluções de Exclusão Mútua
○ Semáforo
■ Desenvolvido por Djikstra em 1965;
■ É uma variável (“semaphore” ou “S”) que pode ser utilizada para
controlar o acesso a recursos que são compartilhados;
■ Acessado por operações atômicas (ao iniciar, nenhum outro processo
pode acessar o semáforo);
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Mecanismos de Sincronização
● Soluções de Exclusão Mútua
○ Semáforo
■ É informado na inicialização, quantos processos estarão na fila;
■ Duas operações atômicas de acesso:
● signal: V (Incrementar - “verhogen”)
○ Incrementa S e Se S ≤ 0, retira processo da fila (wake_up())
● wait: P(Testar ou Experimentar - “proberen”)
○ Decrementa S e Se S < 0, insere processo na fila (sleep())
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Escalonador
● Orbis usa a versão 2.6.37 do Linux. Logo, podemos inferir que ele está usando
CFS;
● Escalonador é o módulo do sistema que escolhe um processo da fila de aptos para
ganhar processador;
○ Essa escolha é feita através de políticas de escalonamento;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Escalonador
● Políticas de Escalonamento
○ Políticas de run-time;
○ Políticas normais (não run-time);
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Escalonador
● Políticas de run-time;
○ SCHED_FIFO - prioridade estática preemptiva. Ao menos 32 níveis de
prioridade devem estar disponíveis para essa política;
○ SCHED_RR - similar ao SCHED_FIFO, mas usando round-robin (método de
time-slice para escalonar processos de mesma prioridade). Também com
pelo menos 32 níveis de prioridade;
○ Obs 1: Prioridade estática (varia de 1 a 99 - nunca é alterado pelo
escalonador);
○ Obs 2: SCHED_FIFO e SCHED_RR implementam a política de tempo-real
com prioridade estática especificada pelo padrão POSIX.
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Escalonador
● Demos
○ /proc/sys/kernel/sched_rt_runtime_us - Define o período de tempo a ser
dedicado à execução de threads em tempo real, em microssegundos;
○ cat /proc/PID/status - Status do Processo;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Memória
● O sistema operacional deve prover uma forma para que processos compartilhem
memória de forma segura e eficiente;
● Memória Lógica - A memória que um processo é capaz de acessar. Ex: endereço
lógico de uma variável ponteiro;
● Memória Física - Implementada por circuitos integrados (hardware).
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Memória
Mapeamento de Memória
● A unidade de gerência de memória (MMU) é o componente do hardware que dá
mecanismos para o sistema operacional gerenciar a memória;
● A MMU mapeia endereços lógicos (ou virtuais) gerados por processos nos
correspondentes endereços físicos que serão enviados para a memória;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Memória
Paginação
● Fragmentação Interna - Desperdício de memória causado por carregamento de um
programa em uma área que ultrapassa o necessário. O que resulta em desperdício
de memória, isto é, memória perdida dentro da área alocada para um processo;
● Fragmentação Externa - Memória perdida fora da área ocupada por um processo.
O gerenciamento de memória faz com que determinado programa não possa
executar;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Memória
Paginação
● Paginação
○ É um método de gerenciamento de memória que permite que o espaço de
endereço físico de um processo seja contíguo;
○ Quebra o tamanho do processo em páginas de tamanho fixo;
○ O espaço de endereçamento virtual é separado em páginas virtuais;
○ O mapeamento de páginas do disco para a RAM é feito através de tabelas
de páginas e MMU;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Memória
Segmentação
● Informações (texto, dados, código, etc) segmentadas (não há mistura de
informações);
● Como as informações de mesmo tipo encontram-se segmentadas, podemos
tratá-las de forma diferente (ex: arquivo de texto será tratado como leitura e
escrita);
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Memória
Memória Virtual
● Memória Virtual tem por objetivo dar ao programador uma impressão de que há
mais memória do que ele possui na realidade;
● Pode-se utilizar os mecanismos de paginação ou segmentação para implementar a
memória virtual;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Memória
Demos
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
Entrada e Saída
● Dispositivos de E/S são mecanismos que permitem ao computador ter
conhecimento de problemas e recuperar sua solução;
● Podemos ter dispositivos para interação humana com o computador (ex. mouse),
assim como dispositivos de comunicação entre computadores (ex. modem) e
dispositivos que se conectam ao computador (ex. HD);
● Podem ser divididos em Periféricos de Entrada, Periféricos de Saída ou Periféricos
de Entrada e Saída;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
Entrada e Saída
● Periférico é qualquer dispositivo que conectamos ao computador para haver essa
característica de E/S;
● Os periféricos conseguem se comunicar com o computador através de um
componente de hardware chamado Interface;
● Interfaces implementam um Controlador (hardware) que consegue traduzir
operações genéricas;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
Entrada e Saída
● Temos como operações genéricas de um Controlador:
○ “Ler dados”;
○ “Escrever dados”;
○ “Reinicializar”;
○ “Ler status”;
○ “Escrever comando”;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
Entrada e Saída
● O Controlador de periféricos consegue enviar um sinal chamando atenção do
processador, através do mecanismo de interrupções;
● Lembrando - Interrupções:
○ Interrupções de Software (Traps): Chamadas de Sistema;
○ Interrupções de Erro: Exceções (ex. divisão por zero);
○ Interrupções: Permite a comunicação de periféricos com o processador;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
Entrada e Saída
● É objetivo do subsistema de E/S padronizar as rotinas de acesso aos periféricos;
● Para haver essa padronização, o subsistema de E/S é dividido em camadas:
○ E/S a nível de Usuário;
○ E/S independente de dispositivo;
○ Drivers de dispositivos;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
Entrada e Saída
● E/S a nível de Usuário:
○ O acesso que o usuário tem dos dispositivos de E/S é fornecida por uma
interface de programação ou aos ambientes de desenvolvimento;
○ Demo de E/S com Python;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
Entrada e Saída
● E/S independente de dispositivo:
○ Implementa procedimentos e funções aos dispositivos de E/S;
■ Escalonamento de E/S;
■ Denominação;
■ Buffering;
■ Cache de dados;
■ Alocação e liberação - evita acessos concorrentes;
■ Direitos de acesso;
■ Tratamento de erros;
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
● Drivers de dispositivos:
○ Abstrai os vários dispositivos de E/S fornecendo uma visão facilitada desses
dispositivos através de um interface de programação única;
○ Para que essa “facilitação” ocorra, os dispositivos de E/S são classificados
em:
■ Orientados a Bloco:
● Transferência entre periférico e sistema são realizados através de
blocos de dados de tamanho fixo;
■ Orientados a Caractere:
● Transferências byte a byte, a partir de um fluxo de caracteres;
Entrada e Saída
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
● Operações de E/S:
○ E/S Programada:
■ Modo mais simples de E/S;
■ O CPU fica esperando o dispositivo de E/S estar pronto;
○ E/S via Interrupções:
■ Como dito anteriormente, ocorre através do Controlador de periféricos;
■ Após finalizar a rotina de tratamento de interrupção, o processador
retoma a execução do processo interrompido;
○ E/S com acesso direto à memória (DMA):
■ General-purpose Processor;
■ DMA (hardware) funciona auxiliando o processador;
Entrada e Saída
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de E/S
● Operações de E/S:
○ E/S com acesso direto à memória (DMA):
■ Para iniciar uma transferência com DMA, a CPU escreve o endereço
da fonte para transferência e para seu destino e um número de bytes
para ser transferido;
■ A CPU volta a lidar com a tarefa que ela estava fazendo;
■ O DMA faz o trabalho de transferência e avisa a CPU quando tudo
estiver pronto;
Entrada e Saída
SISTEMAS DE INFORMAÇÃO
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Referências
Quarterman, J. S., A. Silberschatz, and J. L. Peterson. "Operating systems
concepts." (1985).
OLIVEIRA, Rômulo S. de; CARISSIMI, Alexandre da Silva; TOSCANI, Simão
Sirineo. Sistemas
Operacionais. 3.ed. Porto Alegre: Bookman: Instituto de Informática da UFRGS,
2008.
LINUX KERNEL DOCUMENTATION. Disponível em:
<https://www.kernel.org/doc/html/latest/scheduler/index.html>
Red Hat - CPU Scheduling. Disponível em:
<https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/p
erformance_tuning_guide/s-cpu-scheduler>
Apresentação Sobre Sistemas Operacionais com Orbis OS

Mais conteúdo relacionado

Mais procurados

Súmulas adaptadas para handebol e futsal alvina 2014(sumula simplificada)
Súmulas adaptadas para handebol e futsal   alvina 2014(sumula simplificada)Súmulas adaptadas para handebol e futsal   alvina 2014(sumula simplificada)
Súmulas adaptadas para handebol e futsal alvina 2014(sumula simplificada)
Skid Row
 

Mais procurados (20)

Tutorial virtual box
Tutorial virtual boxTutorial virtual box
Tutorial virtual box
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Apostila educacao fisica 2017 professor paulo menezes
Apostila educacao fisica 2017 professor paulo menezes  Apostila educacao fisica 2017 professor paulo menezes
Apostila educacao fisica 2017 professor paulo menezes
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Desenvolvimento de Jogos - Mercado Parte 1
Desenvolvimento de Jogos - Mercado Parte 1Desenvolvimento de Jogos - Mercado Parte 1
Desenvolvimento de Jogos - Mercado Parte 1
 
Sesi questões sobre handebol
Sesi questões sobre handebolSesi questões sobre handebol
Sesi questões sobre handebol
 
Questionário handebol
Questionário handebolQuestionário handebol
Questionário handebol
 
Mini Voleibol 2
Mini Voleibol 2Mini Voleibol 2
Mini Voleibol 2
 
UNIBR - MC - Bingo humano - Exercício
UNIBR - MC - Bingo humano - ExercícioUNIBR - MC - Bingo humano - Exercício
UNIBR - MC - Bingo humano - Exercício
 
Aula 08 - árvores
Aula 08 - árvoresAula 08 - árvores
Aula 08 - árvores
 
Futsal (1)
Futsal (1)Futsal (1)
Futsal (1)
 
Súmulas adaptadas para handebol e futsal alvina 2014(sumula simplificada)
Súmulas adaptadas para handebol e futsal   alvina 2014(sumula simplificada)Súmulas adaptadas para handebol e futsal   alvina 2014(sumula simplificada)
Súmulas adaptadas para handebol e futsal alvina 2014(sumula simplificada)
 
Passa anel - vlada e alice
Passa anel - vlada e alicePassa anel - vlada e alice
Passa anel - vlada e alice
 
Organograma do departamento de futebol
Organograma do departamento de futebolOrganograma do departamento de futebol
Organograma do departamento de futebol
 
Segurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de SegurançaSegurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de Segurança
 
Sistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de DadosSistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
 
Bingo da-tabuada
Bingo da-tabuadaBingo da-tabuada
Bingo da-tabuada
 
Aula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da InformaçãoAula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da Informação
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 

Semelhante a Apresentação Sobre Sistemas Operacionais com Orbis OS

2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
Maria194536
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisco
nogueira
 

Semelhante a Apresentação Sobre Sistemas Operacionais com Orbis OS (20)

02 so
02 so02 so
02 so
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
Redes 6
Redes 6Redes 6
Redes 6
 
bom-1.pdf
bom-1.pdfbom-1.pdf
bom-1.pdf
 
CentOS
CentOSCentOS
CentOS
 
Roteadores
RoteadoresRoteadores
Roteadores
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Lecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptxLecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptx
 
1 - introducao.pdf
1 - introducao.pdf1 - introducao.pdf
1 - introducao.pdf
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
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)
 
Resumo comandos cisco
Resumo comandos ciscoResumo comandos cisco
Resumo comandos cisco
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisco
 
Sistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosSistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - Processos
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (11)

[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Apostila e caderno de exercicios de WORD
Apostila e caderno de exercicios de  WORDApostila e caderno de exercicios de  WORD
Apostila e caderno de exercicios de WORD
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 

Apresentação Sobre Sistemas Operacionais com Orbis OS

  • 2. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Orbis OS Lucas Soares Nogueira
  • 3. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Orbis OS Tópicos da Apresentação ● Sobre o Orbis OS; ● Gerenciamento de Processos; ● Demonstração de Gerenciamento de Processos no Orbis OS; ● Gerenciamento de Memória; ● Demonstração de Gerenciamento de Memória no Orbis OS; ● Gerenciamento de Dispositivos de I/O; ● Demonstração de Gerenciamento de Dispositivos de I/O no Orbis OS; ● Como está organizado o Kernel no Orbis OS;
  • 4. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Orbis OS ● O Orbis OS é um sistema feito para fãs de anime, mangá e para pessoas que querem um sistema fácil de usar; ● Sua interface é baseada no Gnome 2; ● Foi criado utilizando a ferramenta de criação de sistemas operacionais Suse Studio (o que o faz ter características do OpenSuse, como o gerenciador de pacotes zypper e o YaST, por exemplo); ● Sua versão pré-alpha foi lançada em 2011 e sua última atualização foi feita em 2015 (ainda em pré-alpha);
  • 5. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Processos ● Processos podem ser entendidos como “programas em execução”; ● Existem processos de primeiro e segundo plano (na realidade esse número pode variar). Sendo primeiro plano para interagir com o usuário e segundo que não interagem com o usuário (ex: receber e-mails); ● Cada processo possui instruções, espaço de endereçamento (texto, dados, pilha de execução), contexto de hardware e contexto de software;
  • 6. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Processos ● Podem ser CPU Bound ou IO Bound; ● Podem ser criados por outros processo (iniciando uma hierarquia de processos); ○ Nesse caso, temos por exemplo, o método fork(), que vai copiar o processo pai na memória, mas com identificadores diferentes;
  • 7. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Processos - Criação de Processo Filho import os # Criando processos filhos os.fork() os.fork() print("Texto que sera executado!")
  • 8. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Processos - Criação de Processo Filho Número de filhos: 2N - 1 N: quantidade de fork() no programa
  • 9. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Processos ● Encerramento de um Processo: ○ Término normal; ○ Término por erro - Ex: arquivo requisitado não existe no disco; ○ Término por erro fatal - Ex: Tentar dividir por zero; ○ Término por outro processo - Ex: Utilizar o comando kill em um terminal; ○ Demonstração do comando kill
  • 10. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Processos Executando Bloqueado Destruído Criação Apto
  • 11. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Processos ● Tabela de Processos ou Process Control Block (PCB) ○ Estado de um processo em um determinado tempo; ○ Informações de contexto de cada processo; ○ Informações sobre onde ele parou sua execução quando perdeu processador, para que quando ele volte a ganhar processador ele recomece suas instruções de onde parou sua execução;
  • 12. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads ● Threads ou processos leves, são linhas de execução; ● Processos são formados por uma ou mais threads; ● Um conjunto de threads pode compartilhar seu mesmo endereço de processo; ● Como elas compartilham um mesmo endereço, são menos independentes do que um processo;
  • 13. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads ● Vantagens ○ Pode ajudar no balanceamento entre CPU Bound e IO Bound. Isso por ser possível ter threads CPU Bound e threads IO Bound como filhas de um mesmo processo; ○ Podem ajudar em trabalhos paralelos - Ex: Fazer requisições de diversas informações em servidor; ○ São mais rápidas de criar e destruir do que processos pesados;
  • 14. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads ● O método join() permite que esta thread seja executada até o fim. Após isso, as demais threads continuam sua execução; ● Demonstração de Thread Join com Python:
  • 15. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads
  • 16. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads ● Tipos de Thread ○ Modo Usuário ○ Modo Núcleo ○ Híbrido
  • 17. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads ● Tipos de Thread ○ Modo Usuário ■ Podem ser implementadas por uma biblioteca; ■ Estão no nível de usuário; ■ Escalonadas sem conhecimento do kernel;
  • 18. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads - Escalonamento a Nível de Usuário Processo threads Nvl. Usuário Nvl. Kernel Kernel pega um processo (não tem acesso a threads diretamente)
  • 19. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads ● Tipos de Thread ○ Modo Núcleo ■ Criação, Gerenciamento e Escalonamento feitos no modo Kernel; ■ Núcleo possui tabela de threads e de processos pesados; ■ Gerência de threads mais cara por envolver alternância entre nível de usuário e nível de kernel;
  • 20. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads - Escalonamento a Nível de Kernel Nvl. Usuário Nvl. Kernel Kernel tem acesso direto a threads
  • 21. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Mecanismos de Sincronização ● Condição de Corrida; ● Região Crítica; ● Exclusão Mútua; ● Solução de Exclusão Mútua;
  • 22. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Mecanismos de Sincronização ● Condição de Corrida ○ Dois ou mais processos estão concorrendo por um mesmo recurso; ○ Em sistemas preemptivos, o tempo de uso da CPU que o processo está utilizando pode tornar-se uma característica que poderá desfavorecer um desses processos;
  • 23. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads - Condição de Corrida Exemplo: Poltrona de Cinema 1. Cliente C1 (em São Leopoldo) lê Poltrona1 vaga 2. Cliente C2 (em Porto Alegre) lê Poltrona1 vaga 3. Cliente C1 compra Poltrona1 4. Cliente C2 compra Poltrona2
  • 24. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Mecanismos de Sincronização ● Região Crítica ○ Região de um programa, onde são realizados acessos e alterações a recursos que são partilhados por dois ou mais processos; ○ Para que não haja conflito, devemos proteger essas seções desabilitando interrupções enquanto elas estiverem sendo acessadas.
  • 25. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Mecanismos de Sincronização ● Exclusão Mútua ○ Solução para Condições de Corrida; ○ Impedem que mais de um processo faça uso de uma região crítica ao mesmo tempo.
  • 26. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Threads
  • 27. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Mecanismos de Sincronização ● Soluções de Exclusão Mútua ○ Semáforo ■ Desenvolvido por Djikstra em 1965; ■ É uma variável (“semaphore” ou “S”) que pode ser utilizada para controlar o acesso a recursos que são compartilhados; ■ Acessado por operações atômicas (ao iniciar, nenhum outro processo pode acessar o semáforo);
  • 28. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Mecanismos de Sincronização ● Soluções de Exclusão Mútua ○ Semáforo ■ É informado na inicialização, quantos processos estarão na fila; ■ Duas operações atômicas de acesso: ● signal: V (Incrementar - “verhogen”) ○ Incrementa S e Se S ≤ 0, retira processo da fila (wake_up()) ● wait: P(Testar ou Experimentar - “proberen”) ○ Decrementa S e Se S < 0, insere processo na fila (sleep())
  • 29. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Escalonador ● Orbis usa a versão 2.6.37 do Linux. Logo, podemos inferir que ele está usando CFS; ● Escalonador é o módulo do sistema que escolhe um processo da fila de aptos para ganhar processador; ○ Essa escolha é feita através de políticas de escalonamento;
  • 30. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Escalonador ● Políticas de Escalonamento ○ Políticas de run-time; ○ Políticas normais (não run-time);
  • 31. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Escalonador ● Políticas de run-time; ○ SCHED_FIFO - prioridade estática preemptiva. Ao menos 32 níveis de prioridade devem estar disponíveis para essa política; ○ SCHED_RR - similar ao SCHED_FIFO, mas usando round-robin (método de time-slice para escalonar processos de mesma prioridade). Também com pelo menos 32 níveis de prioridade; ○ Obs 1: Prioridade estática (varia de 1 a 99 - nunca é alterado pelo escalonador); ○ Obs 2: SCHED_FIFO e SCHED_RR implementam a política de tempo-real com prioridade estática especificada pelo padrão POSIX.
  • 32. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Processos Escalonador ● Demos ○ /proc/sys/kernel/sched_rt_runtime_us - Define o período de tempo a ser dedicado à execução de threads em tempo real, em microssegundos; ○ cat /proc/PID/status - Status do Processo;
  • 33. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Memória ● O sistema operacional deve prover uma forma para que processos compartilhem memória de forma segura e eficiente; ● Memória Lógica - A memória que um processo é capaz de acessar. Ex: endereço lógico de uma variável ponteiro; ● Memória Física - Implementada por circuitos integrados (hardware).
  • 34. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Memória Mapeamento de Memória ● A unidade de gerência de memória (MMU) é o componente do hardware que dá mecanismos para o sistema operacional gerenciar a memória; ● A MMU mapeia endereços lógicos (ou virtuais) gerados por processos nos correspondentes endereços físicos que serão enviados para a memória;
  • 35. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Memória Paginação ● Fragmentação Interna - Desperdício de memória causado por carregamento de um programa em uma área que ultrapassa o necessário. O que resulta em desperdício de memória, isto é, memória perdida dentro da área alocada para um processo; ● Fragmentação Externa - Memória perdida fora da área ocupada por um processo. O gerenciamento de memória faz com que determinado programa não possa executar;
  • 36. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Memória Paginação ● Paginação ○ É um método de gerenciamento de memória que permite que o espaço de endereço físico de um processo seja contíguo; ○ Quebra o tamanho do processo em páginas de tamanho fixo; ○ O espaço de endereçamento virtual é separado em páginas virtuais; ○ O mapeamento de páginas do disco para a RAM é feito através de tabelas de páginas e MMU;
  • 37. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Memória Segmentação ● Informações (texto, dados, código, etc) segmentadas (não há mistura de informações); ● Como as informações de mesmo tipo encontram-se segmentadas, podemos tratá-las de forma diferente (ex: arquivo de texto será tratado como leitura e escrita);
  • 38. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Memória Memória Virtual ● Memória Virtual tem por objetivo dar ao programador uma impressão de que há mais memória do que ele possui na realidade; ● Pode-se utilizar os mecanismos de paginação ou segmentação para implementar a memória virtual;
  • 39. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de Memória Demos
  • 40. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S Entrada e Saída ● Dispositivos de E/S são mecanismos que permitem ao computador ter conhecimento de problemas e recuperar sua solução; ● Podemos ter dispositivos para interação humana com o computador (ex. mouse), assim como dispositivos de comunicação entre computadores (ex. modem) e dispositivos que se conectam ao computador (ex. HD); ● Podem ser divididos em Periféricos de Entrada, Periféricos de Saída ou Periféricos de Entrada e Saída;
  • 41. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S Entrada e Saída ● Periférico é qualquer dispositivo que conectamos ao computador para haver essa característica de E/S; ● Os periféricos conseguem se comunicar com o computador através de um componente de hardware chamado Interface; ● Interfaces implementam um Controlador (hardware) que consegue traduzir operações genéricas;
  • 42. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S Entrada e Saída ● Temos como operações genéricas de um Controlador: ○ “Ler dados”; ○ “Escrever dados”; ○ “Reinicializar”; ○ “Ler status”; ○ “Escrever comando”;
  • 43. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S Entrada e Saída ● O Controlador de periféricos consegue enviar um sinal chamando atenção do processador, através do mecanismo de interrupções; ● Lembrando - Interrupções: ○ Interrupções de Software (Traps): Chamadas de Sistema; ○ Interrupções de Erro: Exceções (ex. divisão por zero); ○ Interrupções: Permite a comunicação de periféricos com o processador;
  • 44. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S Entrada e Saída ● É objetivo do subsistema de E/S padronizar as rotinas de acesso aos periféricos; ● Para haver essa padronização, o subsistema de E/S é dividido em camadas: ○ E/S a nível de Usuário; ○ E/S independente de dispositivo; ○ Drivers de dispositivos;
  • 45. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S Entrada e Saída ● E/S a nível de Usuário: ○ O acesso que o usuário tem dos dispositivos de E/S é fornecida por uma interface de programação ou aos ambientes de desenvolvimento; ○ Demo de E/S com Python;
  • 46. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S Entrada e Saída ● E/S independente de dispositivo: ○ Implementa procedimentos e funções aos dispositivos de E/S; ■ Escalonamento de E/S; ■ Denominação; ■ Buffering; ■ Cache de dados; ■ Alocação e liberação - evita acessos concorrentes; ■ Direitos de acesso; ■ Tratamento de erros;
  • 47. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S ● Drivers de dispositivos: ○ Abstrai os vários dispositivos de E/S fornecendo uma visão facilitada desses dispositivos através de um interface de programação única; ○ Para que essa “facilitação” ocorra, os dispositivos de E/S são classificados em: ■ Orientados a Bloco: ● Transferência entre periférico e sistema são realizados através de blocos de dados de tamanho fixo; ■ Orientados a Caractere: ● Transferências byte a byte, a partir de um fluxo de caracteres; Entrada e Saída
  • 48. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S ● Operações de E/S: ○ E/S Programada: ■ Modo mais simples de E/S; ■ O CPU fica esperando o dispositivo de E/S estar pronto; ○ E/S via Interrupções: ■ Como dito anteriormente, ocorre através do Controlador de periféricos; ■ Após finalizar a rotina de tratamento de interrupção, o processador retoma a execução do processo interrompido; ○ E/S com acesso direto à memória (DMA): ■ General-purpose Processor; ■ DMA (hardware) funciona auxiliando o processador; Entrada e Saída
  • 49. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciamento de E/S ● Operações de E/S: ○ E/S com acesso direto à memória (DMA): ■ Para iniciar uma transferência com DMA, a CPU escreve o endereço da fonte para transferência e para seu destino e um número de bytes para ser transferido; ■ A CPU volta a lidar com a tarefa que ela estava fazendo; ■ O DMA faz o trabalho de transferência e avisa a CPU quando tudo estiver pronto; Entrada e Saída
  • 50. SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS OPERACIONAIS Referências Quarterman, J. S., A. Silberschatz, and J. L. Peterson. "Operating systems concepts." (1985). OLIVEIRA, Rômulo S. de; CARISSIMI, Alexandre da Silva; TOSCANI, Simão Sirineo. Sistemas Operacionais. 3.ed. Porto Alegre: Bookman: Instituto de Informática da UFRGS, 2008. LINUX KERNEL DOCUMENTATION. Disponível em: <https://www.kernel.org/doc/html/latest/scheduler/index.html> Red Hat - CPU Scheduling. Disponível em: <https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/p erformance_tuning_guide/s-cpu-scheduler>