SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos iiCarlos Melo
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivoscamila_seixas
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IPPjpilin
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Arquitetura de Hardware
Arquitetura de HardwareArquitetura de Hardware
Arquitetura de HardwareMiguel Correia
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresJakson Silva
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosCarlos Eduardo Teruel
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadoresJoka Luiz
 
Periféricos - Curso de Informática
Periféricos - Curso de InformáticaPeriféricos - Curso de Informática
Periféricos - Curso de InformáticaLeandro Martins
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadoresdeisiweg
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidoresMarco Guimarães
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 
Manutenção de Computadores.pdf
Manutenção de Computadores.pdfManutenção de Computadores.pdf
Manutenção de Computadores.pdfOs Fantasmas !
 

Tendances (20)

Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos ii
 
Introducao a informatica
Introducao a informaticaIntroducao a informatica
Introducao a informatica
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IP
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Arquitetura de Hardware
Arquitetura de HardwareArquitetura de Hardware
Arquitetura de Hardware
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Aula de hardware
Aula de hardwareAula de hardware
Aula de hardware
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos Básicos
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
 
Periféricos - Curso de Informática
Periféricos - Curso de InformáticaPeriféricos - Curso de Informática
Periféricos - Curso de Informática
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadores
 
Aula 01 chipset
Aula 01   chipsetAula 01   chipset
Aula 01 chipset
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Manutenção de Computadores.pdf
Manutenção de Computadores.pdfManutenção de Computadores.pdf
Manutenção de Computadores.pdf
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
 

En vedette

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
 

En vedette (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
 

Similaire à 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 operacionaisvini_campos
 
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
 

Similaire à 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)
 

Plus 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
 

Plus 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
 

Dernier

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAJulianeMelo17
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfHELENO FAVACHO
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffNarlaAquino
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptPedro Luis Moraes
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptjricardo76
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxReinaldoMuller1
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxandrenespoli3
 

Dernier (20)

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 

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

Notes de l'éditeur

  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