SlideShare uma empresa Scribd logo
1 de 43
Visão Geral: Estruturas do Sistema
Operacional
Sistemas Operacionais I
Prof. Alexandre Duarte : http://alexandrend.com
Centro de Informática | Universidade Federal da Paraíba
Estes slides são baseados no material que acompanha o livro Operating
Systems Concepts de Silberschatz, Galvin and Gagne
Objetivos
 Descrever os serviç os que o sistema
operacional oferece para usuários, processos e
outros sistemas
 Discutir as várias maneiras de estruturar um
sistema operacional
 Explicar como um sistema operacional é
instalado, customizado e inicializado
Serviços do sistema operacional
Serviços do sistema operacional:
comodidade do usuário
 Interface do usuário
 Quase todo sistema operacional oferece uma
 Varia entre interface de linha de comando (CLI), interface gráfica (GUI) e Batch
 Execuç ão de programas
 O sistema deve ser capaz de carregar um programa na memó ria e iniciar e
finalizar sua execuç ão com ou sem sucesso (indicando caso ocorra um erro)
 Operaç ões de E/S
 Um programa em execuç ão pode precisar realizar E/S, o que pode envolver um
arquivo ou algum dispositivo de E/S
 Manipulaç ão do Sistema de Arquivos
 O sistema de arquivos é de particular interesse. Obviamente, programas
precisam realizar uma série de operaç ões envolvendo arquivos e diretó rios,
incluindo: ler, gravar, criar, apagar, localizar, listar informaç ões e gerenciar
permissões
Serviços do sistema operacional:
comodidade do usuário
 Comunicaç ão
 Processos podem trocar informaç ão em um mesmo computador
ou através de uma rede
 A comunicaç ão pode ser realizada através de uma memó ria
compartilhada ou por troca de mensagens
 Detecç ão de erros
 O SO precisa estar constantemente ciente sobre possíveis erros
 Podem ocorrer na CPU, no hardware de memó ria, nos
dispositivos de E/S ou em um programa do usuário
 Para cada tipo de erro o SO deve tomar a medida apropriada
para garantir uma computaç ão correta e consistente
 Mecanismos de depuraç ão podem melhorar significativamente a
habilidade do usuário de fazer uso eficiente do sistema
Serviços do sistema operacional: operação
eficiente do sistema
 Alocaç ão de recursos
 Quando múltiplos usuários ou múltiplos jobs utilizam o sistema de forma
concorrente os recursos precisam ser alocados para cada um deles
 Contabilidade
 Controlar quanto de cada tipo de recurso os usuários utilizam
 Proteç ão e Seguranç a
 Os donos da informaç ão armazenada em um sistema com múltiplos usuários ou
em um computador conectado a rede podem desejar controlar o uso da
informaç ão
 Proteç ão envolve garantir que todo acesso a qualquer recurso do sistema é
controle
 Seguranç a do sistema contra intrusos requer autenticaç ão e se estende para
proteger dispositivos de E/S externos contra acessos inválidos
Interface do usuário: CLI
 Uma interface de linha de comando (CLI) ou
interpretador de comandos permite o
fornecimento direto de comandos ao sistema
 Algumas vezes são implementados no núcleo, algumas
vezes são implementados como programas do usuário
 Algumas vezes têm-se muitas variaç ões: shells
 Inicialmente recebe um comando do usuário e o executa
 Os comandos podem ser comandos internos do SO ou
apenas nomes de programas
 No segundo caso, adicionar novas funcionalidades ao
sistemas não requer alteraç ões no shell
Interface do usuário: GUI
 Uma metáfora mais amigável para a interface com o usuário
(desktop)
 Geralmente inclui mouse, teclado e monitor
 Icones representam arquivos, programas, aç ões ,etc
 Diferentes botões do mouse causam aç ões diferentes no objetos
da interface
 Conceito criado no Xerox PARC
 Muitos sistemas incluem tanto CLIs quanto GUIs
 Microsoft Windows tem uma GUI com um shell de comando
 Mac OS X da Apple usa a GUI “Aqua” com um kernel UNIX por
baixo e vários shells disponíveis
 Solaris tem uma CLI como GUIs opcionais (Java Desktop, KDE)
Interpretador de comando bash
GUI do Mac OS X
Chamadas de sistema
 Interface de programaç ão para os serviç os oferecidos pelo SO
 Geralmente escrita em uma linguagem de alto nível (C, C++)
 Na maioria das vezes são utilizadas pelos programas através de
uma Application Program Interface (API) de mais alto nível ao invés
de serem chamadas diretamente
 As três APIs mais comuns são Win32 API do Windows, POSIX API
para sistemas POSIX-based (incluindo praticamente todas as
versões do UNIX, Linux, e Mac OS X), e a API Java para a Java
Virtual Machine (JVM)
 Por que usar APIs ao invés de chamadas de sistema?
Implementação de chamadas de
sistema
 Tipicamente, cada chamada de sistema possui um número
associado
 A interface de chamada de sistemas mantém uma tabela
indexada com esses números
 A interface de chamada de sistema invoca a chamada
desejada no kernel do SO e retorna o estado e valores de
retorno para o usuário
 Quem faz a chamada não precisa ter qualquer informação
sobre como a chamada de sistema foi implementada
 Precisa apenas conhecer a interface e saber o que o SO fará
como resultado da chamada
 A maioria dos detalhes do SO ficam escondidos dos usuários
atrás de APIs
Relação entre API e chamada de
sistema
Exemplo: biblioteca padrão de C
 Programa em C invocando a funç ão printf(), que utiliza a
chamada de sistema write()
Passagem de parâmetros em chamadas de
sistema
 Frequentemente a execuç ão de uma chamada de
sistema requer mais do que a identificaç ão da chamada
desejada
 Existem três métodos comuns para passagem de
parâmetros para o SO
 Mais simples: passar os parâmetros em registradores
 Parâmetros armazenados em um bloco ou tabela na memó ria e
o endereç o do bloco passado através de um registrador
 Parâmetros inseridos em uma pilha pelo programa e
desempilhados pelo sistema operacional
 O método do bloco e da pilha não limitam o número ou
tamanho dos parâmetros
Passagem de parâmetros via tabela
Tipos de chamadas de sistema
 Controle de processos
 Gerencia de arquivos
 Gerencia de dispositivos
 Manutenç ão da informaç ão
 Comunicaç ão
 Proteç ão
Exemplos de chamadas de sistema do
Windows e Linux
Execução do MS-DOS
Apó s o boot Rodando um processo
FreeBSD rodando múltiplos
processos
Programas de sistema
 Programas de Sistema fornecem um ambiente conveniente para o
desenvolvimento e execuç ão de programas.
 Podem ser divididos em 7 categorias:
 Manipulaç ão de arquivos
 Informaç ões de estado
 Modificaç ão de arquivos
 Suporte a linguagens de programaç ão
 Carga e execuç ão de programas
 Comunicaç ão
 Aplicativos
 A visão que a maioria dos usuários tem do SO é definido pelos programas
de sistema e não pelas chamadas de sistema
Programas de sistema
 Fornecem um ambiente conveniente para desenvolvimento e execuç ão
de programas
 Alguns são apenas interfaces para chamadas de sistema; outros são
consideravelmente mais complexos
 Gerencia de arquivos: criar, remover, copiar, renomear, imprimir, listar,
e manipular arquivos e diretó rios
 Informaç ões de estado
 Consulta de informaç ões do sistema: data, hora, quantidade de memó ria
disponível, espaç o em disco, número de usuários
 Informaç ões detalhadas de desempenho, registro de execuç ão e depuraç ão
 Tipicamente estes programas formatam e imprimem informaç ões na saída
padrão
 Alguns sistemas podem implementar um registro, utilizado para armazenar
informaç ões de configuraç ão
Programas de sistema
 Modificaç ão de arquivos
 Editores de texto para criar e modificar arquivos
 Comandos especiais para localizar conteúdo em arquivos e realizar
transformaç ões no texto
 Suporte a linguagens de programaç ão
 Compiladores, montadores, depuradores, interpretadores
 Carga e execuç ão de programas
 Carregadores absolutos, carregadores com relocaç ão, editores de ligaç ão
 Comunicaç ão
 Prover mecanismos para criar conexões virtuais entre processos, usuários e
sistemas computacionais
 Permitir que usuários enviem mensagens para outros usuários, naveguem
em páginas na web, se conectem remotamente, transfiram arquivos de um
máquina para outra, etc
Projeto e implementação de sistemas
operacionais
 Não háuma soluç ão única universalmente aceita para o projeto e
desenvolvimento de sistemas operacionais mas algumas
abordagens têm sido utilizadas com sucesso
 A estrutura interna dos sistemas operacionais pode variar
amplamente
 Inicia-se pela definiç ão de objetivos e especificaç ões
 Afetada pela escolha do hardware e pelo tipo do sistema
 Requisitos do usuário e Requisitos do Sistema
 Requisitos do usuário: o SO deve ser conveniente, fácil de
aprender, confiável, seguro e rápido
 Requisitos do sistema: o SO deve ser fácil de projetar,
implementar e manter e também flexível, confiável, sem erros e
eficiente
Projeto e implementação de sistemas
operacionais
 Um princípio importante é separar política de
mecanismo
Política: O que seráfeito?
Mecanismo: Como fazer ?
 Mecanismos determinam como fazer algo,
políticas decidem o que deve ser feito
 A separaç ão de política de mecanismo é importante
pois permite uma maior flexibilidade caso decisões
políticas precisem ser alteradas mais tarde
Estrutura simples
 MS-DOS – escrito para prover o máximo de
funcionalidade utilizando o mínimo possível de
memó ria
 Não foi dividido em mó dulos
 Apesar de o MS-DOS ter alguma estrutura, suas
interfaces e funcionalidades não são bem
separadas
Estrutura em camadas do MS-DOS
Abordagem de camadas
 O sistema operacional é dividido em um número
de camadas (níveis), cada uma construída sobre
camadas inferiores.
 A camada mais baixa (camada 0) é o hardware
 A camada mais alta (camada N) é a interface do
usuário
 Como modularidade, camadas são selecionadas
de forma que uma cada só utilize serviç os e
funç ões de camadas de nível inferior
Camadas de um sistema operacional
UNIX
 Por conta de limitaç ões na funcionalidade do
hardware, o UNIX original tinha estruturaç ão
limitada.
 O UNIX é composto por duas partes distintas
 Programas de sistema
 Núcleo (kernel)
 Formado por tudo localizado abaixo da interface de
chamada de sistemas e acima do hardware
 Fornece o sistema de arquivos, escalonamento de CPU,
gerenciamento de memó ria, e outras funç ões do SO
 Um número muito grande de funç ões para um único nível
Estrutura de um sistema UNIX
tradicional
Estrutura de microkernel
 Move o máximo possível de funcionalidades do kernel para o
espaço do usuário
 Utiliza mecanismos de comunicação por troca de mensagens
para permitir a interoperação dos mó dulos
 Benefícios:
 Mais fácil estender um microkernel
 Mais fácil portar o sistema operacional para novas arquiteturas
 Mais confiável (menos có digo rodando em modo kernel)
 Mais seguro
 Desvantagens:
 Perda de desempenho por conta da comunicaç ão entre os
mó dulos em modo kernel e modo usuário
Módulos
 A maioria dos sistemas operacionais
modernos implementam mó dulos de kernel
 Abordagem orientada a objetos
 Cada componente chave é separado dos demais
 Conversam entre si através de interfaces bem
definidas
 Cada um pode ser carregado no kernel apenas
quando necessário
 De forma geral é similar ao uso de camadas
mas mais flexível
Abordagem em módulos do Solaris
Máquinas virtuais
 Uma máquina virtual leva a abordagem de camadas ao seu
limite. Ele trata o hardware e o kernel do sistema operacional
como se fossem ambos hardware
 A interface de uma máquina virtual fornece uma interface
idêntica ao hardware
 O sistema operacional hospedeiro (host) cria a ilusão de que
um processo tem seu pró prio processador e memó ria
 Cada convidado (guest) recebe sua pró pria có pia (virtual)
do computador
Histórico e benefícios das máquinas virtuais
 Apareceram inicialmente em 1972 em mainframes da IBM
 Consiste, fundamentalmente, em múltiplos ambientes de
execuç ão (sistemas operacionais diferentes) compartilhando o
mesmo hardware
 Protege um ambiente do outro
 Permite compartilhamento de arquivos
 Se comunicam entre si e com outros sistemas através da rede
 Consolidaç ão de muitos sistemas com pouca demanda de
recursos em poucos computadores com muitos recursos
 Muito útil para desenvolvimento e testes
 O padrão “Open Virtual Machine Format”, permite que uma
máquina virtual possa ser executada por diferentes
plataformas de virtualização
Máquinas virtuais
Para-virtualização
 Apresenta aos guests uma visão similar mas
não idêntica do hardware
 Os guests precisam ser modificados para
rodar em hardware para-virtualizado
Arquitetura do VMWare
A máquina virtual Java

Mais conteúdo relacionado

Mais procurados

Sistema Operativos
Sistema OperativosSistema Operativos
Sistema OperativosBugui94
 
Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Luis Ferreira
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema OperativoBugui94
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosMauro Tapajós
 
Resumo básico de introdução à informática
Resumo básico de introdução à informáticaResumo básico de introdução à informática
Resumo básico de introdução à informáticaDaiana de Ávila
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosCarlos Eduardo Teruel
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidorSandu Postolachi
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 
História dos Sistemas Operativos
História dos Sistemas OperativosHistória dos Sistemas Operativos
História dos Sistemas OperativosTROLITO LALALAL
 
Redes de-computadores-tipos-de-redes
Redes de-computadores-tipos-de-redesRedes de-computadores-tipos-de-redes
Redes de-computadores-tipos-de-redesLeonardo Bruno
 
Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo ServidorDaniel Barros
 
Questões de Sistemas Operacionais
Questões de Sistemas Operacionais Questões de Sistemas Operacionais
Questões de Sistemas Operacionais Joicy Souza
 
Aula 5 - Redes de computadores
Aula 5 - Redes de computadoresAula 5 - Redes de computadores
Aula 5 - Redes de computadoresLucasMansueto
 

Mais procurados (20)

Sistema Operativos
Sistema OperativosSistema Operativos
Sistema Operativos
 
Principais protocolos de rede
Principais protocolos de redePrincipais protocolos de rede
Principais protocolos de rede
 
Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativo
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de Dados
 
Resumo básico de introdução à informática
Resumo básico de introdução à informáticaResumo básico de introdução à informática
Resumo básico de introdução à informática
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos Básicos
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidor
 
Topologia de Redes
Topologia de RedesTopologia de Redes
Topologia de Redes
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 
História dos Sistemas Operativos
História dos Sistemas OperativosHistória dos Sistemas Operativos
História dos Sistemas Operativos
 
Redes de-computadores-tipos-de-redes
Redes de-computadores-tipos-de-redesRedes de-computadores-tipos-de-redes
Redes de-computadores-tipos-de-redes
 
Linux
LinuxLinux
Linux
 
Sistema Operativo Servidor
Sistema Operativo ServidorSistema Operativo Servidor
Sistema Operativo Servidor
 
Questões de Sistemas Operacionais
Questões de Sistemas Operacionais Questões de Sistemas Operacionais
Questões de Sistemas Operacionais
 
Aula 5 - Redes de computadores
Aula 5 - Redes de computadoresAula 5 - Redes de computadores
Aula 5 - Redes de computadores
 
Slide internet
Slide   internetSlide   internet
Slide internet
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 

Destaque

Modulo 1 sistemas operativos
Modulo 1 sistemas operativosModulo 1 sistemas operativos
Modulo 1 sistemas operativosLuis Puerres
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 

Destaque (6)

So-mod-1
So-mod-1So-mod-1
So-mod-1
 
Modulo 1 sistemas operativos
Modulo 1 sistemas operativosModulo 1 sistemas operativos
Modulo 1 sistemas operativos
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 

Semelhante a Visão Geral: Estruturas do Sistema Operacional

Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2Matheus Brito
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJoseVieira75
 
Introdução a Sistemas Operacionais
Introdução a Sistemas OperacionaisIntrodução a Sistemas Operacionais
Introdução a Sistemas OperacionaisLabin2bpm
 
Sistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoSistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoCamila Seródio
 
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
 
Sistemas Operacionais aula 02
Sistemas Operacionais  aula 02 Sistemas Operacionais  aula 02
Sistemas Operacionais aula 02 Diego Rodrigues
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fsopaulocsm
 
Aula 03 isc -softwares-hardwares-arquiteturas
Aula 03   isc -softwares-hardwares-arquiteturasAula 03   isc -softwares-hardwares-arquiteturas
Aula 03 isc -softwares-hardwares-arquiteturasFábio Andrade
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSilvano Oliveira
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema OperacionalCláudia Costa
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Paulo Guimarães
 

Semelhante a Visão Geral: Estruturas do Sistema Operacional (20)

Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2
 
SO - Aula 02 - Conceitos
SO - Aula 02 - ConceitosSO - Aula 02 - Conceitos
SO - Aula 02 - Conceitos
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
1843
18431843
1843
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Aula 02
Aula 02Aula 02
Aula 02
 
Introdução a Sistemas Operacionais
Introdução a Sistemas OperacionaisIntrodução a Sistemas Operacionais
Introdução a Sistemas Operacionais
 
S.o aula 1234
S.o aula 1234S.o aula 1234
S.o aula 1234
 
Sistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoSistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago Falcão
 
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
 
Sistemas Operacionais aula 02
Sistemas Operacionais  aula 02 Sistemas Operacionais  aula 02
Sistemas Operacionais aula 02
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
So cap01
So cap01So cap01
So cap01
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fso
 
Aula 03 isc -softwares-hardwares-arquiteturas
Aula 03   isc -softwares-hardwares-arquiteturasAula 03   isc -softwares-hardwares-arquiteturas
Aula 03 isc -softwares-hardwares-arquiteturas
 
02 so
02 so02 so
02 so
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema Operacional
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)
 

Mais de Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como CiênciaAlexandre Duarte
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: IntroduçãoAlexandre Duarte
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerAlexandre Duarte
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBAlexandre Duarte
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 

Mais de Alexandre Duarte (20)

Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 
Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 

Último

PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
interfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfinterfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfIvoneSantos45
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxlvaroSantos51
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficasprofcamilamanz
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 

Último (20)

PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
interfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfinterfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdf
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficas
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 

Visão Geral: Estruturas do Sistema Operacional

  • 1. Visão Geral: Estruturas do Sistema Operacional Sistemas Operacionais I Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne
  • 2. Objetivos  Descrever os serviç os que o sistema operacional oferece para usuários, processos e outros sistemas  Discutir as várias maneiras de estruturar um sistema operacional  Explicar como um sistema operacional é instalado, customizado e inicializado
  • 3. Serviços do sistema operacional
  • 4. Serviços do sistema operacional: comodidade do usuário  Interface do usuário  Quase todo sistema operacional oferece uma  Varia entre interface de linha de comando (CLI), interface gráfica (GUI) e Batch  Execuç ão de programas  O sistema deve ser capaz de carregar um programa na memó ria e iniciar e finalizar sua execuç ão com ou sem sucesso (indicando caso ocorra um erro)  Operaç ões de E/S  Um programa em execuç ão pode precisar realizar E/S, o que pode envolver um arquivo ou algum dispositivo de E/S  Manipulaç ão do Sistema de Arquivos  O sistema de arquivos é de particular interesse. Obviamente, programas precisam realizar uma série de operaç ões envolvendo arquivos e diretó rios, incluindo: ler, gravar, criar, apagar, localizar, listar informaç ões e gerenciar permissões
  • 5. Serviços do sistema operacional: comodidade do usuário  Comunicaç ão  Processos podem trocar informaç ão em um mesmo computador ou através de uma rede  A comunicaç ão pode ser realizada através de uma memó ria compartilhada ou por troca de mensagens  Detecç ão de erros  O SO precisa estar constantemente ciente sobre possíveis erros  Podem ocorrer na CPU, no hardware de memó ria, nos dispositivos de E/S ou em um programa do usuário  Para cada tipo de erro o SO deve tomar a medida apropriada para garantir uma computaç ão correta e consistente  Mecanismos de depuraç ão podem melhorar significativamente a habilidade do usuário de fazer uso eficiente do sistema
  • 6. Serviços do sistema operacional: operação eficiente do sistema  Alocaç ão de recursos  Quando múltiplos usuários ou múltiplos jobs utilizam o sistema de forma concorrente os recursos precisam ser alocados para cada um deles  Contabilidade  Controlar quanto de cada tipo de recurso os usuários utilizam  Proteç ão e Seguranç a  Os donos da informaç ão armazenada em um sistema com múltiplos usuários ou em um computador conectado a rede podem desejar controlar o uso da informaç ão  Proteç ão envolve garantir que todo acesso a qualquer recurso do sistema é controle  Seguranç a do sistema contra intrusos requer autenticaç ão e se estende para proteger dispositivos de E/S externos contra acessos inválidos
  • 7. Interface do usuário: CLI  Uma interface de linha de comando (CLI) ou interpretador de comandos permite o fornecimento direto de comandos ao sistema  Algumas vezes são implementados no núcleo, algumas vezes são implementados como programas do usuário  Algumas vezes têm-se muitas variaç ões: shells  Inicialmente recebe um comando do usuário e o executa  Os comandos podem ser comandos internos do SO ou apenas nomes de programas  No segundo caso, adicionar novas funcionalidades ao sistemas não requer alteraç ões no shell
  • 8. Interface do usuário: GUI  Uma metáfora mais amigável para a interface com o usuário (desktop)  Geralmente inclui mouse, teclado e monitor  Icones representam arquivos, programas, aç ões ,etc  Diferentes botões do mouse causam aç ões diferentes no objetos da interface  Conceito criado no Xerox PARC  Muitos sistemas incluem tanto CLIs quanto GUIs  Microsoft Windows tem uma GUI com um shell de comando  Mac OS X da Apple usa a GUI “Aqua” com um kernel UNIX por baixo e vários shells disponíveis  Solaris tem uma CLI como GUIs opcionais (Java Desktop, KDE)
  • 10. GUI do Mac OS X
  • 11. Chamadas de sistema  Interface de programaç ão para os serviç os oferecidos pelo SO  Geralmente escrita em uma linguagem de alto nível (C, C++)  Na maioria das vezes são utilizadas pelos programas através de uma Application Program Interface (API) de mais alto nível ao invés de serem chamadas diretamente  As três APIs mais comuns são Win32 API do Windows, POSIX API para sistemas POSIX-based (incluindo praticamente todas as versões do UNIX, Linux, e Mac OS X), e a API Java para a Java Virtual Machine (JVM)  Por que usar APIs ao invés de chamadas de sistema?
  • 12. Implementação de chamadas de sistema  Tipicamente, cada chamada de sistema possui um número associado  A interface de chamada de sistemas mantém uma tabela indexada com esses números  A interface de chamada de sistema invoca a chamada desejada no kernel do SO e retorna o estado e valores de retorno para o usuário  Quem faz a chamada não precisa ter qualquer informação sobre como a chamada de sistema foi implementada  Precisa apenas conhecer a interface e saber o que o SO fará como resultado da chamada  A maioria dos detalhes do SO ficam escondidos dos usuários atrás de APIs
  • 13. Relação entre API e chamada de sistema
  • 14. Exemplo: biblioteca padrão de C  Programa em C invocando a funç ão printf(), que utiliza a chamada de sistema write()
  • 15. Passagem de parâmetros em chamadas de sistema  Frequentemente a execuç ão de uma chamada de sistema requer mais do que a identificaç ão da chamada desejada  Existem três métodos comuns para passagem de parâmetros para o SO  Mais simples: passar os parâmetros em registradores  Parâmetros armazenados em um bloco ou tabela na memó ria e o endereç o do bloco passado através de um registrador  Parâmetros inseridos em uma pilha pelo programa e desempilhados pelo sistema operacional  O método do bloco e da pilha não limitam o número ou tamanho dos parâmetros
  • 17. Tipos de chamadas de sistema  Controle de processos  Gerencia de arquivos  Gerencia de dispositivos  Manutenç ão da informaç ão  Comunicaç ão  Proteç ão
  • 18. Exemplos de chamadas de sistema do Windows e Linux
  • 19. Execução do MS-DOS Apó s o boot Rodando um processo
  • 21. Programas de sistema  Programas de Sistema fornecem um ambiente conveniente para o desenvolvimento e execuç ão de programas.  Podem ser divididos em 7 categorias:  Manipulaç ão de arquivos  Informaç ões de estado  Modificaç ão de arquivos  Suporte a linguagens de programaç ão  Carga e execuç ão de programas  Comunicaç ão  Aplicativos  A visão que a maioria dos usuários tem do SO é definido pelos programas de sistema e não pelas chamadas de sistema
  • 22. Programas de sistema  Fornecem um ambiente conveniente para desenvolvimento e execuç ão de programas  Alguns são apenas interfaces para chamadas de sistema; outros são consideravelmente mais complexos  Gerencia de arquivos: criar, remover, copiar, renomear, imprimir, listar, e manipular arquivos e diretó rios  Informaç ões de estado  Consulta de informaç ões do sistema: data, hora, quantidade de memó ria disponível, espaç o em disco, número de usuários  Informaç ões detalhadas de desempenho, registro de execuç ão e depuraç ão  Tipicamente estes programas formatam e imprimem informaç ões na saída padrão  Alguns sistemas podem implementar um registro, utilizado para armazenar informaç ões de configuraç ão
  • 23. Programas de sistema  Modificaç ão de arquivos  Editores de texto para criar e modificar arquivos  Comandos especiais para localizar conteúdo em arquivos e realizar transformaç ões no texto  Suporte a linguagens de programaç ão  Compiladores, montadores, depuradores, interpretadores  Carga e execuç ão de programas  Carregadores absolutos, carregadores com relocaç ão, editores de ligaç ão  Comunicaç ão  Prover mecanismos para criar conexões virtuais entre processos, usuários e sistemas computacionais  Permitir que usuários enviem mensagens para outros usuários, naveguem em páginas na web, se conectem remotamente, transfiram arquivos de um máquina para outra, etc
  • 24. Projeto e implementação de sistemas operacionais  Não háuma soluç ão única universalmente aceita para o projeto e desenvolvimento de sistemas operacionais mas algumas abordagens têm sido utilizadas com sucesso  A estrutura interna dos sistemas operacionais pode variar amplamente  Inicia-se pela definiç ão de objetivos e especificaç ões  Afetada pela escolha do hardware e pelo tipo do sistema  Requisitos do usuário e Requisitos do Sistema  Requisitos do usuário: o SO deve ser conveniente, fácil de aprender, confiável, seguro e rápido  Requisitos do sistema: o SO deve ser fácil de projetar, implementar e manter e também flexível, confiável, sem erros e eficiente
  • 25. Projeto e implementação de sistemas operacionais  Um princípio importante é separar política de mecanismo Política: O que seráfeito? Mecanismo: Como fazer ?  Mecanismos determinam como fazer algo, políticas decidem o que deve ser feito  A separaç ão de política de mecanismo é importante pois permite uma maior flexibilidade caso decisões políticas precisem ser alteradas mais tarde
  • 26. Estrutura simples  MS-DOS – escrito para prover o máximo de funcionalidade utilizando o mínimo possível de memó ria  Não foi dividido em mó dulos  Apesar de o MS-DOS ter alguma estrutura, suas interfaces e funcionalidades não são bem separadas
  • 27. Estrutura em camadas do MS-DOS
  • 28. Abordagem de camadas  O sistema operacional é dividido em um número de camadas (níveis), cada uma construída sobre camadas inferiores.  A camada mais baixa (camada 0) é o hardware  A camada mais alta (camada N) é a interface do usuário  Como modularidade, camadas são selecionadas de forma que uma cada só utilize serviç os e funç ões de camadas de nível inferior
  • 29. Camadas de um sistema operacional
  • 30. UNIX  Por conta de limitaç ões na funcionalidade do hardware, o UNIX original tinha estruturaç ão limitada.  O UNIX é composto por duas partes distintas  Programas de sistema  Núcleo (kernel)  Formado por tudo localizado abaixo da interface de chamada de sistemas e acima do hardware  Fornece o sistema de arquivos, escalonamento de CPU, gerenciamento de memó ria, e outras funç ões do SO  Um número muito grande de funç ões para um único nível
  • 31. Estrutura de um sistema UNIX tradicional
  • 32. Estrutura de microkernel  Move o máximo possível de funcionalidades do kernel para o espaço do usuário  Utiliza mecanismos de comunicação por troca de mensagens para permitir a interoperação dos mó dulos  Benefícios:  Mais fácil estender um microkernel  Mais fácil portar o sistema operacional para novas arquiteturas  Mais confiável (menos có digo rodando em modo kernel)  Mais seguro  Desvantagens:  Perda de desempenho por conta da comunicaç ão entre os mó dulos em modo kernel e modo usuário
  • 33.
  • 34.
  • 35.
  • 36. Módulos  A maioria dos sistemas operacionais modernos implementam mó dulos de kernel  Abordagem orientada a objetos  Cada componente chave é separado dos demais  Conversam entre si através de interfaces bem definidas  Cada um pode ser carregado no kernel apenas quando necessário  De forma geral é similar ao uso de camadas mas mais flexível
  • 37. Abordagem em módulos do Solaris
  • 38. Máquinas virtuais  Uma máquina virtual leva a abordagem de camadas ao seu limite. Ele trata o hardware e o kernel do sistema operacional como se fossem ambos hardware  A interface de uma máquina virtual fornece uma interface idêntica ao hardware  O sistema operacional hospedeiro (host) cria a ilusão de que um processo tem seu pró prio processador e memó ria  Cada convidado (guest) recebe sua pró pria có pia (virtual) do computador
  • 39. Histórico e benefícios das máquinas virtuais  Apareceram inicialmente em 1972 em mainframes da IBM  Consiste, fundamentalmente, em múltiplos ambientes de execuç ão (sistemas operacionais diferentes) compartilhando o mesmo hardware  Protege um ambiente do outro  Permite compartilhamento de arquivos  Se comunicam entre si e com outros sistemas através da rede  Consolidaç ão de muitos sistemas com pouca demanda de recursos em poucos computadores com muitos recursos  Muito útil para desenvolvimento e testes  O padrão “Open Virtual Machine Format”, permite que uma máquina virtual possa ser executada por diferentes plataformas de virtualização
  • 41. Para-virtualização  Apresenta aos guests uma visão similar mas não idêntica do hardware  Os guests precisam ser modificados para rodar em hardware para-virtualizado

Notas do Editor

  1. Monolítico: Linux, Microkernel: GNU Hurd (Debian Hurd, Gentoo Hurd) Híbrido: Windows NT, Windows 8, Windows Server 2012, Windows Phone, OS X, iOS