SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
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

Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisLuciano Crecente
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básicaCarlos Melo
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidorJoao Andre Picao
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsJoeldson Costa Damasceno
 
Instalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/ServidorInstalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/ServidorEdgar Costa
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dosteacherpereira
 
Arquitetura básica de um computador
Arquitetura básica de um computadorArquitetura básica de um computador
Arquitetura básica de um computadorNécio de Lima Veras
 
Curso básico de informática
Curso básico de informáticaCurso básico de informática
Curso básico de informáticaRony Oliveira
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema OperacionalCláudia Costa
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobileDaniel Brandão
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidorSandu Postolachi
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Paulo Guimarães
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisVirgínia
 

Mais procurados (20)

Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas Operacionais
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básica
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Instalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/ServidorInstalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/Servidor
 
Formatando o computador
Formatando o computadorFormatando o computador
Formatando o computador
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
Arquitetura básica de um computador
Arquitetura básica de um computadorArquitetura básica de um computador
Arquitetura básica de um computador
 
Curso básico de informática
Curso básico de informáticaCurso básico de informática
Curso básico de informática
 
Informática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - HardwareInformática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - Hardware
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema Operacional
 
Sistemas operacionais mobile
Sistemas operacionais mobileSistemas operacionais mobile
Sistemas operacionais mobile
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidor
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)
 
Aula sobre Linux.
Aula sobre Linux. Aula sobre Linux.
Aula sobre Linux.
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 

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
 
SISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptxSISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptxADASVIEIRAArmazmPara
 
Hardware (nível 0)
Hardware (nível 0)Hardware (nível 0)
Hardware (nível 0)Tiago
 

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
 
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
 
SISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptxSISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptx
 
Hardware (nível 0)
Hardware (nível 0)Hardware (nível 0)
Hardware (nível 0)
 
Aula so 1a
Aula so 1aAula so 1a
Aula so 1a
 

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

AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptxAULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptxGislaineDuresCruz
 
atividades diversas 1° ano alfabetização
atividades diversas 1° ano alfabetizaçãoatividades diversas 1° ano alfabetização
atividades diversas 1° ano alfabetizaçãodanielagracia9
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyasminlarissa371
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...Martin M Flynn
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxLuizHenriquedeAlmeid6
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 
Mini livro sanfona - Povos Indigenas Brasileiros
Mini livro sanfona  - Povos Indigenas BrasileirosMini livro sanfona  - Povos Indigenas Brasileiros
Mini livro sanfona - Povos Indigenas BrasileirosMary Alvarenga
 
As variações do uso da palavra "como" no texto
As variações do uso da palavra "como" no  textoAs variações do uso da palavra "como" no  texto
As variações do uso da palavra "como" no textoMariaPauladeSouzaTur
 
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptxQUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptxAntonioVieira539017
 
Sistema de Bibliotecas UCS - A descoberta da terra
Sistema de Bibliotecas UCS  - A descoberta da terraSistema de Bibliotecas UCS  - A descoberta da terra
Sistema de Bibliotecas UCS - A descoberta da terraBiblioteca UCS
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxkarinasantiago54
 
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZAAVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZAEdioFnaf
 
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETOProjeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETODouglasVasconcelosMa
 
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptxSlides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...LuizHenriquedeAlmeid6
 
Revolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxRevolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxHlioMachado1
 
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREVACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREIVONETETAVARESRAMOS
 
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdfO Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdfQueleLiberato
 

Último (20)

AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptxAULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
 
atividades diversas 1° ano alfabetização
atividades diversas 1° ano alfabetizaçãoatividades diversas 1° ano alfabetização
atividades diversas 1° ano alfabetização
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 
Mini livro sanfona - Povos Indigenas Brasileiros
Mini livro sanfona  - Povos Indigenas BrasileirosMini livro sanfona  - Povos Indigenas Brasileiros
Mini livro sanfona - Povos Indigenas Brasileiros
 
As variações do uso da palavra "como" no texto
As variações do uso da palavra "como" no  textoAs variações do uso da palavra "como" no  texto
As variações do uso da palavra "como" no texto
 
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptxQUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
QUIZ – GEOGRAFIA - 8º ANO - PROVA MENSAL.pptx
 
Os Ratos - Dyonelio Machado FUVEST 2025
Os Ratos  -  Dyonelio Machado  FUVEST 2025Os Ratos  -  Dyonelio Machado  FUVEST 2025
Os Ratos - Dyonelio Machado FUVEST 2025
 
“O AMANHÃ EXIGE O MELHOR DE HOJE” _
“O AMANHÃ EXIGE O MELHOR DE HOJE”       _“O AMANHÃ EXIGE O MELHOR DE HOJE”       _
“O AMANHÃ EXIGE O MELHOR DE HOJE” _
 
Sistema de Bibliotecas UCS - A descoberta da terra
Sistema de Bibliotecas UCS  - A descoberta da terraSistema de Bibliotecas UCS  - A descoberta da terra
Sistema de Bibliotecas UCS - A descoberta da terra
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
 
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZAAVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
AVALIAÇÃO INTEGRADA 1ª SÉRIE - EM - 1º BIMESTRE ITINERÁRIO CIÊNCIAS DAS NATUREZA
 
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETOProjeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
 
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptxSlides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
 
Revolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxRevolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptx
 
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREVACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
 
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdfO Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
 

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