SlideShare una empresa de Scribd logo
1 de 48
Sistemas
Operacionais
INTRODUÇÃO A SISTEMAS OPERACIONAIS
Objetivos
Identificar as funções e os componentes de um Sistema Operacional;
Diferenciar os tipos de Sistemas Operacionais existentes;
Identificar os modelos de estruturas existentes de Sistemas
Operacionais;
Compreender os modos de acesso e o funcionamento de uma
chamada ao sistema ("system call");
Compreender a importância e o funcionamento dos mecanismos de
interrupção;
Compreender os fundamentos de sistemas concorrentes.
Introdução
Nesta aula, conheceremos as características de um Sistema Operacional e a
importância desse sistema em um ambiente computacional. Para isso,
trataremos de dois conceitos muito importantes para o entendimento dos
sistemas modernos: interrupções e chamadas ao sistema.
Serão abordados, também, os principais tipos de Sistemas Operacionais e
suas características.
I. Conceitos Fundamentais de Sistemas Operacionais;
II. Classificação de Sistemas Operacionais;
III. Estruturas dos Sistemas Operacionais Modernos;
IV. Interrupções;
V. Conceitos de Concorrência.
Conceitos Fundamentais de
Sistemas Operacionais
Sistema Operacional é um conjunto de programas (software) responsável por:
fazer a interface com os usuários;
gerenciar recursos;
fazer a interface com o hardware.
Funções adicionais: contabilização de uso, segurança
de acesso, auditoria.
Conceitos Fundamentais de
Sistemas Operacionais
O Sistema Operacional é o intermédio entre
o usuário e o hardware
Conceitos Fundamentais de
Sistemas Operacionais
Cada parte (módulo ou função) de um Sistema Operacional é
responsável pelo gerenciamento de um recurso específico.
Esses recursos são:
I. Tempo de CPU;
II. Espaço em memória;
III. Espaço em disco;
IV. Acesso aos dispositivos de comunicação;
V. Bibliotecas de software.
Conceitos Fundamentais de
Sistemas Operacionais
Gerenciar recursos é garantir a utilização compartilhada do recurso sem
que ocorram erros que possam gerar instabilidade ou falha no sistema.
Na visão do usuário, o Sistema Operacional fornece:
I. Acesso ao sistema;
II. Possibilidade de criar e gerir arquivos e diretórios;
III. Ambiente para execução de programas;
IV. Acesso aos dispositivos de E/S;
V. Acesso ao conteúdo de arquivos;
VI. Detecção de erros.
Classificação de Sistemas
Operacionais
A classificação é utilizada como uma forma sintética de apresentar, em poucas
palavras, as características de um Sistema Operacional.
Sistemas Monotarefa x Sistemas Multitarefa
Sistemas Monousuário x Sistemas Multiusuário
Sistemas Monoprocessados x Sistemas Multiprocessados
Classificação de Sistemas Operacionais
Definem a capacidade de gerenciar mais de uma tarefa ao mesmo tempo.
Monotarefa: Admite e gerencia apenas uma tarefa em execução por vez.
Exemplo: DOS.
Multitarefa: Admite e gerencia várias tarefas em processamento
concorrente.
Exemplo: Windows XP, Windows 7, Linux, MacOS.
Sistemas Monotarefa x Sistemas Multitarefa
Classificação de Sistemas
Operacionais
Executa Espera Executa Espera
Monotarefa
Executa Espera Executa Espera
Espera Executa Espera Executa
Multitarefa
Programa A
Programa B
Classificação de Sistemas Operacionais
Definem a capacidade de gerenciar mais de um usuário ao mesmo tempo,
compartilhando os mesmo recursos de software e hardware.
Monousuário: Admite e gerencia apenas um usuário – não permite que
mais de um usuário esteja "logado" simultaneamente.
Exemplo: Windows XP, Windows NT (exceto versão com Terminal Server).
Multiusuário: Admite e gerencia vários usuários – permite que mais de um
usuário esteja "logado" simultaneamente.
Exemplo: Linux, VMS.
Sistemas Monousuário x Sistemas Multiusuário
Classificação de Sistemas
Operacionais
Atenção:
Todo Sistema Operacional Multiusuário é,
obrigatoriamente, Multitarefa, pois cada usuário
representa, no mínimo, uma tarefa para ser executada.
Classificação de Sistemas Operacionais
Possuem a capacidade de reconhecer e gerenciar computadores com mais
de um processador.
Monoprocessado: Somente reconhece e utiliza um processador.
Exemplo: Windows 98.
Multiprocessado: Reconhece e utiliza mais de um processador.
Exemplo: Windows XP, Windows 7, Linux.
Sistemas Monoprocessados x Sistemas Multiprocessados
Classificação de Sistemas Operacionais
Sistemas em Tempo Real
Sistemas que possuem um forte vínculo com o tempo. O resultado só é
considerado correto se a execução acontecer no tempo previsto.
O sistema deve garantir que uma tarefa possua todos os recursos
necessários para sua execução em um intervalo de tempo pré-definido.
Outros sistemas com finalidades específicas
Atenção:
Não se trata de velocidade de processamento, e sim de
garantia de tempo de resposta.
Classificação de Sistemas Operacionais
Sistemas Embarcados
Sistemas inseridos em produtos com funções específicas, como telefones
celulares.
Outros sistemas com finalidades específicas
Atenção:
Nem todo dispositivo eletrônico possui um microcontrolador, e
nem todo aparelho com microcontrolador possui um Sistema
Operacional.
Estruturas dos Sistemas
Operacionais Modernos
Um velho conhecido pelos usuários de microcomputadores é a famosa "tela
azul". Quem já utilizou sistemas operacionais antigos, como o Windows 95,
certamente já se deparou com este problema. A "tela azul" era de fato uma
violação de acesso que tornava o sistema instável.
Estruturas dos Sistemas
Operacionais Modernos
A partir do 80386, esse problema foi solucionado em termos de
hardware através da possibilidade de 2 modos de execução: o modo
protegido e o modo real. Ficava a cargo do sistema operacional a
comutação entre esses dois modos por questões de compatibilidade.
A instabilidade evidenciada pela "tela azul" tem razões históricas. Os
primeiros processadores da linha x86 possuíam um único modo de
operação: o modo real. Dessa forma, todas as operações poderiam ser
executadas diretamente pelas aplicações que, ao produzir erros,
geravam panes no sistema.
Estruturas dos Sistemas Operacionais Modernos
As aplicações são executadas em modo usuário, ou seja, modo que não
possui privilégios para operações que coloquem o sistema em risco, tais
como, escrever no disco, criar novas tarefas, etc.
Quando essas aplicações precisam executar tarefas críticas, é necessário que
haja uma mudança para modo Kernel (núcleo do Sistema Operacional,
responsável pelas tarefas críticas do sistema). Essa mudança ocorre através
de uma "system call" (chamada ao sistema).
Modo Usuário x Modo Kernel
System Call (Chamada ao Sistema): Mecanismo responsável pela
mudança de modo usuário para modo kernel. Ao invés de executar
diretamente funções no kernel, a aplicação executa uma função
intermediária, que verifica se o acesso ao kernel é seguro e, só então,
completa a operação.
Estruturas dos Sistemas
Operacionais Modernos
Voltando à "tela azul"...
As aplicações podiam executar diretamente as funções do kernel sem a
proteção da mudança de modo, ou seja, o erro acontecia após a
execução de uma função do kernel. Com a mudança de modo, se a
execução não for segura, a aplicação será impedida de continuar a
execução e o sistema permanecerá estável.
Estruturas dos Sistemas Operacionais Modernos
Exemplo do Linux de uma chamada ao sistema
Estruturas dos Sistemas Operacionais Modernos
Exemplo do Linux de uma chamada ao sistema
setitimer(ITIMER_VIRTUAL, &timer, NULL);
_syscall1(unsigned int, alarm, unsigned int, seconds)
_system_cal()
unsigned int alarm(unsigned int seconds)
Invocação
Wrapper
Handler
Rotina de serviço
Mudança de Modo
Estruturas dos Sistemas Operacionais Modernos
Os sistemas são classificados em relação às atribuições do kernel e a relação
entre seus módulos em monolíticos, camadas e microkernel.
Os sistemas modernos são divididos em dois grandes grupos:
 Arquitetura monolítica;
 Microkernel.
A diferença entre elas está nas atribuições do núcleo do Sistema
Operacional, denominado KERNEL.
Tipos de Estrutura
Estruturas dos Sistemas Operacionais Modernos
Essa característica é muito importante no projeto de um Sistema Operacional e
foi alvo de discussão entre dois grandes nomes da computação: Andrew
Tanenbaum e Linus Torvalds.
De um lado, Torvalds defendia um kernel monolítico por ser mais rápido e, de
outro, Tanenbaum defendia o microkernel pela elegância e facilidade de
adaptação e substituição de módulos.
Quem ganhou? Os dois.
Link: http://oreilly.com/catalog/opensources/book/appa.html
Tipos de Estrutura
Estruturas dos Sistemas Operacionais Modernos
Todo o kernel é compilado e "linkado" em um único bloco, tornando o
código eficiente, porém de difícil manutenção. A inclusão ou exclusão de um
módulo requer que todo o kernel seja recriado.
Arquitetura Monolítica
Nota:
O kernel do Linux incorporou características modulares.
Estruturas dos Sistemas Operacionais Modernos
Arquitetura Monolítica
Estruturas dos Sistemas Operacionais Modernos
Somente as funções críticas fazem realmente parte do kernel. Demais
funções são tratadas como tarefas e executam em modo usuário, fazendo
chamadas ao kernel quando necessário.
Essa arquitetura simplifica a manutenção, inclusão e exclusão de módulos
do Sistema Operacional, não sendo necessário gerar um novo kernel a cada
modificação e nem mesmo reiniciar o computador para ativação e
desativação do módulo.
Arquitetura Microkernel
Estruturas dos Sistemas Operacionais Modernos
Arquitetura Microkernel
Interrupções
São sinais de hardware fundamentais para a existência de sistemas multitarefa,
pois provocam a suspensão da tarefa em execução pela ocorrência de um
evento externo, permitindo que outras tarefas compartilhem o tempo de uso
do processador.
ATENÇÃO:
Neste caso, o que está sendo
compartilhado é o TEMPO DE
USO do processador e NÃO o
processador em si.
Cada tarefa utiliza 100% do
processador.
Interrupções
Parte do mecanismo é executada pelo hardware (identificação do dispositivo,
empilhamento dos registradores de sistema) e parte é feita por software
através da Rotina de Tratamento da Interrupção (interrupt handler).
Interrupções
As interrupções são geradas por dispositivos de hardware e podem ocorrer de
forma síncrona ou assíncrona.
Relógio (temporizador)  síncrona
Dispositivos de E/S (sinalização de conclusão)  assíncrona
Falha de hardware (paridade de memória, erro de disco, etc.)  assíncrona
Interrupções
O termo interrupção é muitas vezes utilizado para qualquer atividade que
suspenda a execução de uma tarefa, mesmo que seja solicitada pelo próprio
programa.
Utilizaremos, para este fim, o termo "estado de exceção".
Estados de exceção: são provocados pela própria aplicação.
Estouro aritmético;
Divisão por zero;
Instrução ilegal;
Acesso não permitido;
Chamadas ao sistema.
Interrupções
ATENÇÃO:
Mascaramento de interrupções: Capacidade de inibir a ação de uma
interrupção. As interrupções de segurança não podem ser mascaradas.
Interrupções
As interrupções podem acontecer de forma sequencial ou em cascata.
Tipos de Interrupções
Interrupções
Uma interrupção só poderá ser atendida se nenhuma outra estiver em
atendimento.
 A Rotina de Serviço desabilita as interrupções;
 Uma nova interrupção só é tratada após o retorno;
 A interrupção pode demorar a ser tratada, o que pode eventualmente
ocasionar uma perda de dados;
 Finalizada a Rotina de Serviço de Interrupção, o processador verifica por
interrupções adicionais.
Interrupção Sequencial
Interrupções
Interrupção Sequencial
Interrupções
Uma interrupção pode interromper a ação de uma rotina de tratamento de
outra interrupção.
 Interrupções têm prioridade;
 Interrupções com alta prioridade interrompem Rotinas de Serviço de
Interrupções de menor prioridade.
Interrupção em Cascata
Interrupções
Interrupção em Cascata
Concorrência
Compartilhar recursos significa que diferentes usuários ou programas
usam os recursos de forma concorrente.
Os recursos são limitados e, assim, o uso dos mesmos pelos diferentes
programas ou usuários precisa ser controlado e administrado de forma a
evitar possíveis conflitos ou uma alocação por tempo indeterminado de
algum recurso.
Concorrência
Concorrência é a capacidade de execução concorrente de tarefas,
permitindo um melhor aproveitamento de recursos.
Uma tarefa pode deixar a CPU por vontade própria, quando precisa
aguardar por um recurso, ou por uma interrupção.
Em particular, uma interrupção de temporizador provoca a substituição
da tarefa em execução, criando uma alternância entre as tarefas.
Concorrência
ATENÇÃO:
A alternância entre as tarefas pode dar a impressão de execução
simultânea de tarefas, mas não é o que ocorre.
Introdução a
Sistemas
Operacionais
EXERCÍCIOS DE FIXAÇÃO
Exercícios de Fixação
1. São funções do Sistema Operacional:
a) Gerenciar recursos de hardware e fornecer um aplicativo para
navegação na Internet.
b) Gerenciar recursos de hardware e interface com o usuário.
c) Interface com o usuário e correção ortográfica.
d) Gerenciar recursos de software e interromper uma tarefa em execução.
Exercícios de Fixação
1. São funções do Sistema Operacional:
a) Gerenciar recursos de hardware e fornecer um aplicativo para
navegação na Internet.
b) Gerenciar recursos de hardware e interface com o usuário.
c) Interface com o usuário e correção ortográfica.
d) Gerenciar recursos de software e interromper uma tarefa em execução.
Exercícios de Fixação
2. Para que uma aplicação execute instruções privilegiadas deverá
executar um(a):
a) Arquivo específico para gerenciamento de hardware.
b) Interrupção de hardware.
c) Solicitação ao administrador do sistema.
d) Chamada ao sistema.
Exercícios de Fixação
2. Para que uma aplicação execute instruções privilegiadas deverá
executar um(a):
a) Arquivo específico para gerenciamento de hardware.
b) Interrupção de hardware.
c) Solicitação ao administrador do sistema.
d) Chamada ao sistema.
Exercícios de Fixação
3. O uso de interrupções permite a utilização de:
a) Sistemas concorrentes.
b) Comunicação de dados.
c) Dispositivos de hardware como, teclado e mouse.
d) Bibliotecas de software
Exercícios de Fixação
3. O uso de interrupções permite a utilização de:
a) Sistemas concorrentes.
b) Comunicação de dados.
c) Dispositivos de hardware como, teclado e mouse.
d) Bibliotecas de software
Introdução a
Sistemas
Operacionais
OBRIGADO!

Más contenido relacionado

La actualidad más candente

Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Sistemas operativos ficha formativa nº1
Sistemas operativos   ficha formativa nº1Sistemas operativos   ficha formativa nº1
Sistemas operativos ficha formativa nº1teacherpereira
 
Sistemas operacionais pronatec- prof. manoel
Sistemas operacionais   pronatec- prof. manoelSistemas operacionais   pronatec- prof. manoel
Sistemas operacionais pronatec- prof. manoelManoel Rufino Neto
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisHelder Lopes
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processosvini_campos
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Helder Lopes
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativosTROLITO LALALAL
 
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicosComputação Depressão
 
Sistemas operativos ficha formativa nº2
Sistemas operativos   ficha formativa nº2Sistemas operativos   ficha formativa nº2
Sistemas operativos ficha formativa nº2teacherpereira
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalCharles Fortes
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIsaac Vieira
 
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionaisComputação Depressão
 

La actualidad más candente (20)

Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas operativos ficha formativa nº1
Sistemas operativos   ficha formativa nº1Sistemas operativos   ficha formativa nº1
Sistemas operativos ficha formativa nº1
 
02 so
02 so02 so
02 so
 
Sistemas operacionais pronatec- prof. manoel
Sistemas operacionais   pronatec- prof. manoelSistemas operacionais   pronatec- prof. manoel
Sistemas operacionais pronatec- prof. manoel
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
Fundamentos de Sistemas Operacionais - Aula 3 - Arquiteturas de Sistemas Oper...
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 
Modelo de Camadas
Modelo de CamadasModelo de Camadas
Modelo de Camadas
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativos
 
Analise sistemas 02
Analise sistemas 02Analise sistemas 02
Analise sistemas 02
 
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
 
Analise sistemas 01
Analise sistemas 01Analise sistemas 01
Analise sistemas 01
 
Sistemas operativos ficha formativa nº2
Sistemas operativos   ficha formativa nº2Sistemas operativos   ficha formativa nº2
Sistemas operativos ficha formativa nº2
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas Operacionais
 
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
 

Destacado

Introducao aos Sistemas Operacionais
Introducao aos Sistemas OperacionaisIntroducao aos Sistemas Operacionais
Introducao aos Sistemas OperacionaisRicardo de Moraes
 
Seminário sistemas operacionais móveis
Seminário sistemas operacionais móveisSeminário sistemas operacionais móveis
Seminário sistemas operacionais móveisArthur Azevedo
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
Comparativo entre Go e Lua
Comparativo entre Go e LuaComparativo entre Go e Lua
Comparativo entre Go e Luagpolo
 
Programação concorrente
Programação concorrenteProgramação concorrente
Programação concorrenteFabio Duarte
 
Concorrência na Linguagem de Programação
Concorrência na Linguagem de ProgramaçãoConcorrência na Linguagem de Programação
Concorrência na Linguagem de ProgramaçãoAlexsandro Pereira
 
Uma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoUma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoRogério Moraes de Carvalho
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Rogério Moraes de Carvalho
 
Slides minicurso Web Design
Slides minicurso Web DesignSlides minicurso Web Design
Slides minicurso Web DesignAna Mendes
 
Web Design > História e a evolução do www
Web Design > História e a evolução do wwwWeb Design > História e a evolução do www
Web Design > História e a evolução do wwwFelipe Fernandes
 
II Material de Apoio Sistemas Operacionais
II Material de Apoio Sistemas OperacionaisII Material de Apoio Sistemas Operacionais
II Material de Apoio Sistemas Operacionaisrodfernandes
 
Introdução a sistemas operacionais 001
Introdução a sistemas operacionais 001Introdução a sistemas operacionais 001
Introdução a sistemas operacionais 001ewerton333
 

Destacado (20)

Introducao aos Sistemas Operacionais
Introducao aos Sistemas OperacionaisIntroducao aos Sistemas Operacionais
Introducao aos Sistemas Operacionais
 
Aula 1
Aula 1Aula 1
Aula 1
 
Seminário sistemas operacionais móveis
Seminário sistemas operacionais móveisSeminário sistemas operacionais móveis
Seminário sistemas operacionais móveis
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Tipos de sistemas operacionais
Tipos de sistemas operacionaisTipos de sistemas operacionais
Tipos de sistemas operacionais
 
Além do java
Além do javaAlém do java
Além do java
 
Comparativo entre Go e Lua
Comparativo entre Go e LuaComparativo entre Go e Lua
Comparativo entre Go e Lua
 
Programação concorrente
Programação concorrenteProgramação concorrente
Programação concorrente
 
Inglês doenças
Inglês doençasInglês doenças
Inglês doenças
 
Concorrência na Linguagem de Programação
Concorrência na Linguagem de ProgramaçãoConcorrência na Linguagem de Programação
Concorrência na Linguagem de Programação
 
Uma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoUma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programação
 
So mod5b aula1
So mod5b aula1So mod5b aula1
So mod5b aula1
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
 
Slides minicurso Web Design
Slides minicurso Web DesignSlides minicurso Web Design
Slides minicurso Web Design
 
Web Design > História e a evolução do www
Web Design > História e a evolução do wwwWeb Design > História e a evolução do www
Web Design > História e a evolução do www
 
Web Design Responsivo
Web Design ResponsivoWeb Design Responsivo
Web Design Responsivo
 
II Material de Apoio Sistemas Operacionais
II Material de Apoio Sistemas OperacionaisII Material de Apoio Sistemas Operacionais
II Material de Apoio Sistemas Operacionais
 
Introdução a sistemas operacionais 001
Introdução a sistemas operacionais 001Introdução a sistemas operacionais 001
Introdução a sistemas operacionais 001
 
Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)
 

Similar a Introdução a Sistemas Operacionais

Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosCarlos Eduardo Teruel
 
Sistemas Operacionais parte 1
Sistemas Operacionais parte 1Sistemas Operacionais parte 1
Sistemas Operacionais parte 1Matheus Brito
 
silo.tips_sistemas-operacionais.pdf
silo.tips_sistemas-operacionais.pdfsilo.tips_sistemas-operacionais.pdf
silo.tips_sistemas-operacionais.pdfFChico2
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Leinylson Fontinele
 
Silberschatz sistemas operacionais
Silberschatz   sistemas operacionaisSilberschatz   sistemas operacionais
Silberschatz sistemas operacionaisDeryk Sedlak
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2Matheus Brito
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fsopaulocsm
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoLuiz Arthur
 
TA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdfTA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdfSandroPolizelLaurent
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosClaudio Eckert
 

Similar a Introdução a Sistemas Operacionais (20)

Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos Básicos
 
Sistemas Operacionais parte 1
Sistemas Operacionais parte 1Sistemas Operacionais parte 1
Sistemas Operacionais parte 1
 
silo.tips_sistemas-operacionais.pdf
silo.tips_sistemas-operacionais.pdfsilo.tips_sistemas-operacionais.pdf
silo.tips_sistemas-operacionais.pdf
 
Artigo vmware
Artigo vmware Artigo vmware
Artigo vmware
 
Aula de SO
Aula de SOAula de SO
Aula de SO
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Silberschatz sistemas operacionais
Silberschatz   sistemas operacionaisSilberschatz   sistemas operacionais
Silberschatz sistemas operacionais
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
S.o aula 5678
S.o aula 5678S.o aula 5678
S.o aula 5678
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fso
 
gabarito.pdf
gabarito.pdfgabarito.pdf
gabarito.pdf
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - Introducao
 
TA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdfTA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdf
 
ALUNO.docx
ALUNO.docxALUNO.docx
ALUNO.docx
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizados
 

Más de Anderson Andrade

Informática para Internet - Informática Aplicada - Aula 11
Informática para Internet - Informática Aplicada - Aula 11Informática para Internet - Informática Aplicada - Aula 11
Informática para Internet - Informática Aplicada - Aula 11Anderson Andrade
 
Informática para Internet - Informática Aplicada - Aula 10
Informática para Internet - Informática Aplicada - Aula 10Informática para Internet - Informática Aplicada - Aula 10
Informática para Internet - Informática Aplicada - Aula 10Anderson Andrade
 
Informática para Internet - Informática Aplicada - Aula 09
Informática para Internet - Informática Aplicada - Aula 09Informática para Internet - Informática Aplicada - Aula 09
Informática para Internet - Informática Aplicada - Aula 09Anderson Andrade
 
Informática para Internet - Informática Aplicada - Aula 08
Informática para Internet - Informática Aplicada - Aula 08Informática para Internet - Informática Aplicada - Aula 08
Informática para Internet - Informática Aplicada - Aula 08Anderson Andrade
 
Informática para Internet - Desenvolvimento e Design para Web - Seminários
Informática para Internet - Desenvolvimento e Design para Web - Seminários Informática para Internet - Desenvolvimento e Design para Web - Seminários
Informática para Internet - Desenvolvimento e Design para Web - Seminários Anderson Andrade
 
Informática para Internet - Informática Aplicada - Seminários
Informática para Internet - Informática Aplicada - SemináriosInformática para Internet - Informática Aplicada - Seminários
Informática para Internet - Informática Aplicada - SemináriosAnderson Andrade
 
Informática para Internet - Informática Aplicada - Aula 05
Informática para Internet - Informática Aplicada - Aula 05Informática para Internet - Informática Aplicada - Aula 05
Informática para Internet - Informática Aplicada - Aula 05Anderson Andrade
 
Informática para Internet - Informática Aplicada - Aula 04
Informática para Internet - Informática Aplicada - Aula 04Informática para Internet - Informática Aplicada - Aula 04
Informática para Internet - Informática Aplicada - Aula 04Anderson Andrade
 
Simulado AV1 - Desenvolvimento e Design de Web Sites
Simulado AV1 - Desenvolvimento e Design de Web SitesSimulado AV1 - Desenvolvimento e Design de Web Sites
Simulado AV1 - Desenvolvimento e Design de Web SitesAnderson Andrade
 
Informática para Internet - Informática Aplicada - Aula 01
Informática para Internet - Informática Aplicada - Aula 01Informática para Internet - Informática Aplicada - Aula 01
Informática para Internet - Informática Aplicada - Aula 01Anderson Andrade
 
Informática para Internet - Aula 10
Informática para Internet - Aula 10Informática para Internet - Aula 10
Informática para Internet - Aula 10Anderson Andrade
 
Informática para Internet - Aula 09
Informática para Internet - Aula 09Informática para Internet - Aula 09
Informática para Internet - Aula 09Anderson Andrade
 
Informática para Internet - Aula 08
Informática para Internet - Aula 08Informática para Internet - Aula 08
Informática para Internet - Aula 08Anderson Andrade
 
Informática para Internet - Aula 05
Informática para Internet - Aula 05Informática para Internet - Aula 05
Informática para Internet - Aula 05Anderson Andrade
 
Informática para Internet - Aula 07
Informática para Internet - Aula 07Informática para Internet - Aula 07
Informática para Internet - Aula 07Anderson Andrade
 
Informática para Internet - Aula 06
Informática para Internet - Aula 06Informática para Internet - Aula 06
Informática para Internet - Aula 06Anderson Andrade
 
Informática para Internet - Aula 04
Informática para Internet - Aula 04Informática para Internet - Aula 04
Informática para Internet - Aula 04Anderson Andrade
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03Anderson Andrade
 
Informática para Internet - Aula 02
Informática para Internet - Aula 02Informática para Internet - Aula 02
Informática para Internet - Aula 02Anderson Andrade
 
Informática para Internet - Aula 01
Informática para Internet - Aula 01Informática para Internet - Aula 01
Informática para Internet - Aula 01Anderson Andrade
 

Más de Anderson Andrade (20)

Informática para Internet - Informática Aplicada - Aula 11
Informática para Internet - Informática Aplicada - Aula 11Informática para Internet - Informática Aplicada - Aula 11
Informática para Internet - Informática Aplicada - Aula 11
 
Informática para Internet - Informática Aplicada - Aula 10
Informática para Internet - Informática Aplicada - Aula 10Informática para Internet - Informática Aplicada - Aula 10
Informática para Internet - Informática Aplicada - Aula 10
 
Informática para Internet - Informática Aplicada - Aula 09
Informática para Internet - Informática Aplicada - Aula 09Informática para Internet - Informática Aplicada - Aula 09
Informática para Internet - Informática Aplicada - Aula 09
 
Informática para Internet - Informática Aplicada - Aula 08
Informática para Internet - Informática Aplicada - Aula 08Informática para Internet - Informática Aplicada - Aula 08
Informática para Internet - Informática Aplicada - Aula 08
 
Informática para Internet - Desenvolvimento e Design para Web - Seminários
Informática para Internet - Desenvolvimento e Design para Web - Seminários Informática para Internet - Desenvolvimento e Design para Web - Seminários
Informática para Internet - Desenvolvimento e Design para Web - Seminários
 
Informática para Internet - Informática Aplicada - Seminários
Informática para Internet - Informática Aplicada - SemináriosInformática para Internet - Informática Aplicada - Seminários
Informática para Internet - Informática Aplicada - Seminários
 
Informática para Internet - Informática Aplicada - Aula 05
Informática para Internet - Informática Aplicada - Aula 05Informática para Internet - Informática Aplicada - Aula 05
Informática para Internet - Informática Aplicada - Aula 05
 
Informática para Internet - Informática Aplicada - Aula 04
Informática para Internet - Informática Aplicada - Aula 04Informática para Internet - Informática Aplicada - Aula 04
Informática para Internet - Informática Aplicada - Aula 04
 
Simulado AV1 - Desenvolvimento e Design de Web Sites
Simulado AV1 - Desenvolvimento e Design de Web SitesSimulado AV1 - Desenvolvimento e Design de Web Sites
Simulado AV1 - Desenvolvimento e Design de Web Sites
 
Informática para Internet - Informática Aplicada - Aula 01
Informática para Internet - Informática Aplicada - Aula 01Informática para Internet - Informática Aplicada - Aula 01
Informática para Internet - Informática Aplicada - Aula 01
 
Informática para Internet - Aula 10
Informática para Internet - Aula 10Informática para Internet - Aula 10
Informática para Internet - Aula 10
 
Informática para Internet - Aula 09
Informática para Internet - Aula 09Informática para Internet - Aula 09
Informática para Internet - Aula 09
 
Informática para Internet - Aula 08
Informática para Internet - Aula 08Informática para Internet - Aula 08
Informática para Internet - Aula 08
 
Informática para Internet - Aula 05
Informática para Internet - Aula 05Informática para Internet - Aula 05
Informática para Internet - Aula 05
 
Informática para Internet - Aula 07
Informática para Internet - Aula 07Informática para Internet - Aula 07
Informática para Internet - Aula 07
 
Informática para Internet - Aula 06
Informática para Internet - Aula 06Informática para Internet - Aula 06
Informática para Internet - Aula 06
 
Informática para Internet - Aula 04
Informática para Internet - Aula 04Informática para Internet - Aula 04
Informática para Internet - Aula 04
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03
 
Informática para Internet - Aula 02
Informática para Internet - Aula 02Informática para Internet - Aula 02
Informática para Internet - Aula 02
 
Informática para Internet - Aula 01
Informática para Internet - Aula 01Informática para Internet - Aula 01
Informática para Internet - Aula 01
 

Introdução a Sistemas Operacionais

  • 2. Objetivos Identificar as funções e os componentes de um Sistema Operacional; Diferenciar os tipos de Sistemas Operacionais existentes; Identificar os modelos de estruturas existentes de Sistemas Operacionais; Compreender os modos de acesso e o funcionamento de uma chamada ao sistema ("system call"); Compreender a importância e o funcionamento dos mecanismos de interrupção; Compreender os fundamentos de sistemas concorrentes.
  • 3. Introdução Nesta aula, conheceremos as características de um Sistema Operacional e a importância desse sistema em um ambiente computacional. Para isso, trataremos de dois conceitos muito importantes para o entendimento dos sistemas modernos: interrupções e chamadas ao sistema. Serão abordados, também, os principais tipos de Sistemas Operacionais e suas características. I. Conceitos Fundamentais de Sistemas Operacionais; II. Classificação de Sistemas Operacionais; III. Estruturas dos Sistemas Operacionais Modernos; IV. Interrupções; V. Conceitos de Concorrência.
  • 4. Conceitos Fundamentais de Sistemas Operacionais Sistema Operacional é um conjunto de programas (software) responsável por: fazer a interface com os usuários; gerenciar recursos; fazer a interface com o hardware. Funções adicionais: contabilização de uso, segurança de acesso, auditoria.
  • 5. Conceitos Fundamentais de Sistemas Operacionais O Sistema Operacional é o intermédio entre o usuário e o hardware
  • 6. Conceitos Fundamentais de Sistemas Operacionais Cada parte (módulo ou função) de um Sistema Operacional é responsável pelo gerenciamento de um recurso específico. Esses recursos são: I. Tempo de CPU; II. Espaço em memória; III. Espaço em disco; IV. Acesso aos dispositivos de comunicação; V. Bibliotecas de software.
  • 7. Conceitos Fundamentais de Sistemas Operacionais Gerenciar recursos é garantir a utilização compartilhada do recurso sem que ocorram erros que possam gerar instabilidade ou falha no sistema. Na visão do usuário, o Sistema Operacional fornece: I. Acesso ao sistema; II. Possibilidade de criar e gerir arquivos e diretórios; III. Ambiente para execução de programas; IV. Acesso aos dispositivos de E/S; V. Acesso ao conteúdo de arquivos; VI. Detecção de erros.
  • 8. Classificação de Sistemas Operacionais A classificação é utilizada como uma forma sintética de apresentar, em poucas palavras, as características de um Sistema Operacional. Sistemas Monotarefa x Sistemas Multitarefa Sistemas Monousuário x Sistemas Multiusuário Sistemas Monoprocessados x Sistemas Multiprocessados
  • 9. Classificação de Sistemas Operacionais Definem a capacidade de gerenciar mais de uma tarefa ao mesmo tempo. Monotarefa: Admite e gerencia apenas uma tarefa em execução por vez. Exemplo: DOS. Multitarefa: Admite e gerencia várias tarefas em processamento concorrente. Exemplo: Windows XP, Windows 7, Linux, MacOS. Sistemas Monotarefa x Sistemas Multitarefa
  • 10. Classificação de Sistemas Operacionais Executa Espera Executa Espera Monotarefa Executa Espera Executa Espera Espera Executa Espera Executa Multitarefa Programa A Programa B
  • 11. Classificação de Sistemas Operacionais Definem a capacidade de gerenciar mais de um usuário ao mesmo tempo, compartilhando os mesmo recursos de software e hardware. Monousuário: Admite e gerencia apenas um usuário – não permite que mais de um usuário esteja "logado" simultaneamente. Exemplo: Windows XP, Windows NT (exceto versão com Terminal Server). Multiusuário: Admite e gerencia vários usuários – permite que mais de um usuário esteja "logado" simultaneamente. Exemplo: Linux, VMS. Sistemas Monousuário x Sistemas Multiusuário
  • 12. Classificação de Sistemas Operacionais Atenção: Todo Sistema Operacional Multiusuário é, obrigatoriamente, Multitarefa, pois cada usuário representa, no mínimo, uma tarefa para ser executada.
  • 13. Classificação de Sistemas Operacionais Possuem a capacidade de reconhecer e gerenciar computadores com mais de um processador. Monoprocessado: Somente reconhece e utiliza um processador. Exemplo: Windows 98. Multiprocessado: Reconhece e utiliza mais de um processador. Exemplo: Windows XP, Windows 7, Linux. Sistemas Monoprocessados x Sistemas Multiprocessados
  • 14. Classificação de Sistemas Operacionais Sistemas em Tempo Real Sistemas que possuem um forte vínculo com o tempo. O resultado só é considerado correto se a execução acontecer no tempo previsto. O sistema deve garantir que uma tarefa possua todos os recursos necessários para sua execução em um intervalo de tempo pré-definido. Outros sistemas com finalidades específicas Atenção: Não se trata de velocidade de processamento, e sim de garantia de tempo de resposta.
  • 15. Classificação de Sistemas Operacionais Sistemas Embarcados Sistemas inseridos em produtos com funções específicas, como telefones celulares. Outros sistemas com finalidades específicas Atenção: Nem todo dispositivo eletrônico possui um microcontrolador, e nem todo aparelho com microcontrolador possui um Sistema Operacional.
  • 16. Estruturas dos Sistemas Operacionais Modernos Um velho conhecido pelos usuários de microcomputadores é a famosa "tela azul". Quem já utilizou sistemas operacionais antigos, como o Windows 95, certamente já se deparou com este problema. A "tela azul" era de fato uma violação de acesso que tornava o sistema instável.
  • 17. Estruturas dos Sistemas Operacionais Modernos A partir do 80386, esse problema foi solucionado em termos de hardware através da possibilidade de 2 modos de execução: o modo protegido e o modo real. Ficava a cargo do sistema operacional a comutação entre esses dois modos por questões de compatibilidade. A instabilidade evidenciada pela "tela azul" tem razões históricas. Os primeiros processadores da linha x86 possuíam um único modo de operação: o modo real. Dessa forma, todas as operações poderiam ser executadas diretamente pelas aplicações que, ao produzir erros, geravam panes no sistema.
  • 18. Estruturas dos Sistemas Operacionais Modernos As aplicações são executadas em modo usuário, ou seja, modo que não possui privilégios para operações que coloquem o sistema em risco, tais como, escrever no disco, criar novas tarefas, etc. Quando essas aplicações precisam executar tarefas críticas, é necessário que haja uma mudança para modo Kernel (núcleo do Sistema Operacional, responsável pelas tarefas críticas do sistema). Essa mudança ocorre através de uma "system call" (chamada ao sistema). Modo Usuário x Modo Kernel System Call (Chamada ao Sistema): Mecanismo responsável pela mudança de modo usuário para modo kernel. Ao invés de executar diretamente funções no kernel, a aplicação executa uma função intermediária, que verifica se o acesso ao kernel é seguro e, só então, completa a operação.
  • 19. Estruturas dos Sistemas Operacionais Modernos Voltando à "tela azul"... As aplicações podiam executar diretamente as funções do kernel sem a proteção da mudança de modo, ou seja, o erro acontecia após a execução de uma função do kernel. Com a mudança de modo, se a execução não for segura, a aplicação será impedida de continuar a execução e o sistema permanecerá estável.
  • 20. Estruturas dos Sistemas Operacionais Modernos Exemplo do Linux de uma chamada ao sistema
  • 21. Estruturas dos Sistemas Operacionais Modernos Exemplo do Linux de uma chamada ao sistema setitimer(ITIMER_VIRTUAL, &timer, NULL); _syscall1(unsigned int, alarm, unsigned int, seconds) _system_cal() unsigned int alarm(unsigned int seconds) Invocação Wrapper Handler Rotina de serviço Mudança de Modo
  • 22. Estruturas dos Sistemas Operacionais Modernos Os sistemas são classificados em relação às atribuições do kernel e a relação entre seus módulos em monolíticos, camadas e microkernel. Os sistemas modernos são divididos em dois grandes grupos:  Arquitetura monolítica;  Microkernel. A diferença entre elas está nas atribuições do núcleo do Sistema Operacional, denominado KERNEL. Tipos de Estrutura
  • 23. Estruturas dos Sistemas Operacionais Modernos Essa característica é muito importante no projeto de um Sistema Operacional e foi alvo de discussão entre dois grandes nomes da computação: Andrew Tanenbaum e Linus Torvalds. De um lado, Torvalds defendia um kernel monolítico por ser mais rápido e, de outro, Tanenbaum defendia o microkernel pela elegância e facilidade de adaptação e substituição de módulos. Quem ganhou? Os dois. Link: http://oreilly.com/catalog/opensources/book/appa.html Tipos de Estrutura
  • 24. Estruturas dos Sistemas Operacionais Modernos Todo o kernel é compilado e "linkado" em um único bloco, tornando o código eficiente, porém de difícil manutenção. A inclusão ou exclusão de um módulo requer que todo o kernel seja recriado. Arquitetura Monolítica Nota: O kernel do Linux incorporou características modulares.
  • 25. Estruturas dos Sistemas Operacionais Modernos Arquitetura Monolítica
  • 26. Estruturas dos Sistemas Operacionais Modernos Somente as funções críticas fazem realmente parte do kernel. Demais funções são tratadas como tarefas e executam em modo usuário, fazendo chamadas ao kernel quando necessário. Essa arquitetura simplifica a manutenção, inclusão e exclusão de módulos do Sistema Operacional, não sendo necessário gerar um novo kernel a cada modificação e nem mesmo reiniciar o computador para ativação e desativação do módulo. Arquitetura Microkernel
  • 27. Estruturas dos Sistemas Operacionais Modernos Arquitetura Microkernel
  • 28. Interrupções São sinais de hardware fundamentais para a existência de sistemas multitarefa, pois provocam a suspensão da tarefa em execução pela ocorrência de um evento externo, permitindo que outras tarefas compartilhem o tempo de uso do processador. ATENÇÃO: Neste caso, o que está sendo compartilhado é o TEMPO DE USO do processador e NÃO o processador em si. Cada tarefa utiliza 100% do processador.
  • 29. Interrupções Parte do mecanismo é executada pelo hardware (identificação do dispositivo, empilhamento dos registradores de sistema) e parte é feita por software através da Rotina de Tratamento da Interrupção (interrupt handler).
  • 30. Interrupções As interrupções são geradas por dispositivos de hardware e podem ocorrer de forma síncrona ou assíncrona. Relógio (temporizador)  síncrona Dispositivos de E/S (sinalização de conclusão)  assíncrona Falha de hardware (paridade de memória, erro de disco, etc.)  assíncrona
  • 31. Interrupções O termo interrupção é muitas vezes utilizado para qualquer atividade que suspenda a execução de uma tarefa, mesmo que seja solicitada pelo próprio programa. Utilizaremos, para este fim, o termo "estado de exceção". Estados de exceção: são provocados pela própria aplicação. Estouro aritmético; Divisão por zero; Instrução ilegal; Acesso não permitido; Chamadas ao sistema.
  • 32. Interrupções ATENÇÃO: Mascaramento de interrupções: Capacidade de inibir a ação de uma interrupção. As interrupções de segurança não podem ser mascaradas.
  • 33. Interrupções As interrupções podem acontecer de forma sequencial ou em cascata. Tipos de Interrupções
  • 34. Interrupções Uma interrupção só poderá ser atendida se nenhuma outra estiver em atendimento.  A Rotina de Serviço desabilita as interrupções;  Uma nova interrupção só é tratada após o retorno;  A interrupção pode demorar a ser tratada, o que pode eventualmente ocasionar uma perda de dados;  Finalizada a Rotina de Serviço de Interrupção, o processador verifica por interrupções adicionais. Interrupção Sequencial
  • 36. Interrupções Uma interrupção pode interromper a ação de uma rotina de tratamento de outra interrupção.  Interrupções têm prioridade;  Interrupções com alta prioridade interrompem Rotinas de Serviço de Interrupções de menor prioridade. Interrupção em Cascata
  • 38. Concorrência Compartilhar recursos significa que diferentes usuários ou programas usam os recursos de forma concorrente. Os recursos são limitados e, assim, o uso dos mesmos pelos diferentes programas ou usuários precisa ser controlado e administrado de forma a evitar possíveis conflitos ou uma alocação por tempo indeterminado de algum recurso.
  • 39. Concorrência Concorrência é a capacidade de execução concorrente de tarefas, permitindo um melhor aproveitamento de recursos. Uma tarefa pode deixar a CPU por vontade própria, quando precisa aguardar por um recurso, ou por uma interrupção. Em particular, uma interrupção de temporizador provoca a substituição da tarefa em execução, criando uma alternância entre as tarefas.
  • 40. Concorrência ATENÇÃO: A alternância entre as tarefas pode dar a impressão de execução simultânea de tarefas, mas não é o que ocorre.
  • 42. Exercícios de Fixação 1. São funções do Sistema Operacional: a) Gerenciar recursos de hardware e fornecer um aplicativo para navegação na Internet. b) Gerenciar recursos de hardware e interface com o usuário. c) Interface com o usuário e correção ortográfica. d) Gerenciar recursos de software e interromper uma tarefa em execução.
  • 43. Exercícios de Fixação 1. São funções do Sistema Operacional: a) Gerenciar recursos de hardware e fornecer um aplicativo para navegação na Internet. b) Gerenciar recursos de hardware e interface com o usuário. c) Interface com o usuário e correção ortográfica. d) Gerenciar recursos de software e interromper uma tarefa em execução.
  • 44. Exercícios de Fixação 2. Para que uma aplicação execute instruções privilegiadas deverá executar um(a): a) Arquivo específico para gerenciamento de hardware. b) Interrupção de hardware. c) Solicitação ao administrador do sistema. d) Chamada ao sistema.
  • 45. Exercícios de Fixação 2. Para que uma aplicação execute instruções privilegiadas deverá executar um(a): a) Arquivo específico para gerenciamento de hardware. b) Interrupção de hardware. c) Solicitação ao administrador do sistema. d) Chamada ao sistema.
  • 46. Exercícios de Fixação 3. O uso de interrupções permite a utilização de: a) Sistemas concorrentes. b) Comunicação de dados. c) Dispositivos de hardware como, teclado e mouse. d) Bibliotecas de software
  • 47. Exercícios de Fixação 3. O uso de interrupções permite a utilização de: a) Sistemas concorrentes. b) Comunicação de dados. c) Dispositivos de hardware como, teclado e mouse. d) Bibliotecas de software