Vous êtes sur la page 1sur 28

Organizao

de um Sistema Operativo
IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition Silberschatz, Galvin and Gagne 2012

Organizao de um Sistema Operativo

 Funes de um Sistema Operativo


 Interface do SO com o utilizador
 Chamadas Sistema
IPG-ESTG EI 2016-17 Sistemas Operativos

 Tipos de Chamadas Sistema


 Programas de Sistema
 Conceo e Implementao de um Sistema Operativo
 Estrutura de um Sistema Operativo
 Mquinas Virtuais
 Depuramento de um Sistema Operativo
 Gerao/Configurao do Sistema Operativo

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 2
Objetivos
 Descrever os servios e funes que um sistema operativo fornece a
utilizadores, a processos e a outros sistemas
IPG-ESTG EI 2016-17 Sistemas Operativos

 Discutir as diversas maneiras de estruturar um sistema operativo

 Explicar como que os sistemas operativos so gerados e


configurados e como funciona o procedimento de arranque

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 3

Funes de um Sistema Operativo


 Os sistemas operativos fornecem um ambiente para a execuo de programas e
servios ou funes a programas e a utilizadores
 Um conjunto desses servios fornece funes teis para o utilizador:
IPG-ESTG EI 2016-17 Sistemas Operativos

 Interface de utilizador - Quase todos os sistemas operativos tm uma


interface de utilizador (UI).
 Podem ser dos tipos Linha-de-Comandos (CLI), Batch, ou Interface
Grfica de Utilizador (GUI)
 Execuo de Programas - O sistema deve ser capaz de carregar um
programa em memria, execut-lo e, por fim, terminar a sua execuo, quer
normalmente, quer anormalmente, indicando a ocorrncia de algum erro
 Operaes E/S - Um programa em execuo pode necessitar de E/S, o
que pode envolver um ficheiro ou um dispositivo de E/S
 Manipulao do Sistema de Ficheiros - O sistema de ficheiros de
particular interesse. Os programas precisam de ler e escrever em ficheiros e
diretorias, criar e elimin-los, procurar por algum ficheiro, listar informao,
gerir permisses, etc.

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 4
Funes de um Sistema Operativo
 Comunicaes Os processos podem ter de trocar informao, no
mesmo computador ou entre computadores em rede
 A comunicao pode ser implementada por intermdio de
IPG-ESTG EI 2016-17 Sistemas Operativos

memria partilhada ou por passagem de mensagens (pacotes


encaminhados pelo SO)
 Deteo de Erros O SO tem de estar constantemente alerta para
a ocorrncia de eventuais erros
 Podem ocorrer na CPU, na memria central, em dispositivos de
E/S, no programa de utilizador
 Para cada tipo de erro, o SO deve tomar a ao apropriada de
modo a garantir um funcionamento correto e consistente
 Mecanismos de depurao podem melhorar grandemente a
capacidade de utilizadores e programadores na utilizao
eficiente do sistema

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 5

Funes de um Sistema Operativo

 Outro conjunto de servios do sistema operativo pretende assegurar o


funcionamento eficiente do prprio sistema, por itermdio da
partilha de recursos entre os utilizadores
Alocao de recursos Quando temos mltiplos utilizadores ou
IPG-ESTG EI 2016-17 Sistemas Operativos


mltiplas tarefas em execuo concorrente, os recursos devem
ser alocados a cada um deles
 O SO gere muitos tipos de recursos - alguns (como os ciclos
de CPU, a memria principal e o armazenamento no sistema
de ficheiros) podem ter cdigo de alocao especial, enquanto
outros (como dispositivos de E/S) podem ter cdigo genrico
de pedido/libertao do recurso
 Contabilidade/Estatstica Para manter informao sobre que
utilizadores usam, quanto e que tipo de recursos do computador
(para poder cobrar, por exemplo, ou simplesmente manter
estatsticas de utilizao)

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 6
Funes de um Sistema Operativo

 Proteo e segurana Os detentores de informao


armazenada num sistema computacional partilhado por vrios
utilizadores, ou em rede, podem querer controlar a utilizao
dessa informao; processos em execuo concorrente no
IPG-ESTG EI 2016-17 Sistemas Operativos

devem interferir uns com os outros, nem com o SO


 Proteo envolve assegurar que todo o acesso aos recursos
do sistema controlado
 Segurana do sistema contra estranhos requer a autenticao
de utilizadores, incluindo a defesa de dispositivos de E/S
externos de efetuarem tentativas de acesso invlidas
 Se se pretende que o sistema esteja protegido e seguro,
devem ser institudos mecanismos de precauo por todo ele.
Uma dada corrente apenas to forte quanto o seu elemento
mais fraco.

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 7

Uma Perspetiva das Funes de um SO


IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 8
Interface de Utilizador do SO - CLI

 Linha de Comandos (Command Line Interface - CLI) ou interpretador


de comandos permite a entrada direta de comandos
 Nalguns casos implementada no kernel, noutros por programas
IPG-ESTG EI 2016-17 Sistemas Operativos

especiais de sistema (Windows XP e UNIX)


 Nalguns casos esto disponveis mltiplos interpretadores de
comandos conhecidos como shells
Em sistemas UNIX e Linux: Bourne shell, C shell, Bourne-Again
shell, korn shell,
 A principal funo receber um comando do utilizador e
execut-lo
Nalgumas implementaes, o prprio CLI contm o cdigo
para executar o comando, noutras os comandos so apenas
nomes de programas de sistema que so carregados em
memria e executados (por exemplo, UNIX)
Neste ltimo caso, a incluso de novos comandos no requer a
modificao da shell (o que significa que o programa
interpretador de comandos pode ser pequeno)
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 9

Interpretador de Comandos Bourne Shell


IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 10
Interface de Utilizador do SO - GUI
 Interface grfica, de utilizao amigvel (GUI)
 Implementa a metfora da mesa de trabalho (desktop)
 Usualmente rato, teclado e monitor
IPG-ESTG EI 2016-17 Sistemas Operativos

 Icons representam ficheiros, programas, aes, etc


 O rato movimentado para posicionar o seu apontador sobre imagens,
ou icons, no ecran (desktop) que representam programas, ficheiros,
diretorias ou funes do sistema
 Inventado na Xerox PARC (primeiro GUI: Computador Xerox Alto em
1973)
 Atualmente muitos sistemas disponibilizam as duas interfaces CLI e GUI
 O Microsoft Windows GUI com uma shell de comandos CLI
 O Mac OS X da Apple tem a interface GUI Aqua em cima do kernel
UNIX, disponibilizando tambm algumas shells
 O Unix e o Linux so CLI com interfaces GUI opcionais (CDE, KDE,
GNOME)
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 11

O GUI do Mac OS X
IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 12
Interfaces Touchscreen
 Os dispositivos touchscreen
requerem novas interfaces
 O rato no pode ser usado, ou no
se pretende que seja usado
IPG-ESTG EI 2016-17 Sistemas Operativos

 As diversas aes e a operao de


seleo so baseadas em gestos
 Entrada de texto feita com teclado
virtual

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 13

Chamadas Sistema
 As chamadas sistema (system calls) fornecem uma interface para os
servios disponibilizados pelo SO

 Rotinas tipicamente escritas numa linguagem de alto nvel (C ou


IPG-ESTG EI 2016-17 Sistemas Operativos

C++)

 Na maior parte dos casos acedidas pelos programas por intermdio


de uma interface de alto nvel - Application Programming Interface
(API) em vez de uma utilizao de chamada direta

 As trs API mais comuns so Windows API para o Windows, POSIX


API para os sistemas POSIX (incluindo virtualmente todas as
verses do UNIX, Linux, e Mac OS X), e Java API para os
programas que correm numa Mquina Java Virtual (JVM - Java
Virtual Machine)

 Porqu usar APIs em vez das chamadas sistema?


 Portabilidade do programa
(Os nomes das chamadas sistema que iremos utilizar so genricos
cada SO ter os seus prprios nomes)
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 14
Exemplo de Sequncia de Chamadas Sistema
 Sequncia de chamadas sistema necessrias para copiar o contedo de
um ficheiro para outro
IPG-ESTG EI 2016-17 Sistemas Operativos

 Mesmo um programa simples pode fazer uso intenso do SO


 Um SO pode executar milhares de chamadas sistema por segundo
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 15

Exemplo de uma API padro


 Considere a funo ReadFile() da API Win32 uma funo para leitura de um
ficheiro
 API para esta funo:
IPG-ESTG EI 2016-17 Sistemas Operativos

 Descrio dos parmetros passados a ReadFile()


 HANDLE file o ficheiro a ler
 LPVOID buffer um buffer para onde os dados sero lidos e de onde sero
escritos
 DWORD bytesToRead nmero de bytes a ler para o buffer
 LPDWORD bytesRead nmero de bytes lidos durante a ltima leitura
 LPOVERLAPPED ovl indica se est a ser usada overlapped I/O
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 16
Implementao de Chamadas Sistema

 Tipicamente, temos um nmero associado a cada chamada sistema


 A interface das chamadas sistema mantm uma tabela indexada
de acordo com esses nmeros
IPG-ESTG EI 2016-17 Sistemas Operativos

 A interface das chamadas sistema invoca a respetiva chamada


sistema no kernel do SO e devolve o estado da chamada sistema,
inclundo quaisquer valores de retorno

 O invocador (a interface das chamadas sistema) no precisa de saber


como implementada a chamada sistema
 S precisa de respeitar a API e entender o que o SO far em
resposta chamada
 A maior parte dos detalhes da interface com o SO so escondidas
do programador pela API
 E so geridas pelas bibliotecas de suporte de run-time
(conjunto de funes disponibilizadas em bibliotecas e
includas pelo compilador)
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 17

Relacionamento
API Chamada Sistema SO
IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 18
Passagem de Parmetros Chamada Sistema

 De um modo geral, necessria mais informao do que a simples


identificao da chamada sistema desejada
 O tipo e a quantidade de informao necessrios variam para
cada SO e para cada invocao da chamada sistema
IPG-ESTG EI 2016-17 Sistemas Operativos

 Existem trs possibilidades de passar parmetros ao SO


 Mtodo mais simples: passa os parmetros em registos
 No entanto, em algumas situaes pode haver mais
parmetros a passar do que registos disponveis
 Os parmetros so armazenados em memria, num bloco ou
numa tabela, sendo passado como parmetro, num registo, o
endereo desse bloco
 Esta a abordagem seguida pelo Linux e pelo Solaris
 Os parmetros so colocados (pushed) na pilha (stack) pelo
programa e retirados (popped) pelo SO
 Os dois ltimos mtodos no limitam o nmero nem a dimenso
dos parmetros a passar

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 19

Passagem de Parmetros por Tabela


IPG-ESTG EI 2016-17 Sistemas Operativos

 Colocar na tabela com endereo X os parmetros para a chamada sistema 13


 Usar o registo para passar chamada sistema o endereo da tabela (X)

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 20
Tipos de Chamadas Sistema
 Controlo de Processos
 end, abort
 load, execute
IPG-ESTG EI 2016-17 Sistemas Operativos

 create process, terminate process


 get process attributes, set process attributes
 wait for time
 wait event, signal event
 allocate and free memory
 Dump memory if error
 Usar Debugger para encontrar bugs, execuo passo a passo
 Usar Locks para gerir acesso a memria partilhada entre processos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 21

Tipos de Chamadas Sistema (Cont.)


 Gesto do Sistema de Ficheiros
 create file, delete file
 open, close file
IPG-ESTG EI 2016-17 Sistemas Operativos

 read, write, reposition


 get and set file attributes

 Gesto de dispositivos
 request device, release device
 read, write, reposition
 get device attributes, set device attributes
 logically attach or detach devices

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 22
Tipos de Chamadas Sistema (Cont.)
 Manuteno de Informao
 get time or date, set time or date
 get system data, set system data
IPG-ESTG EI 2016-17 Sistemas Operativos

 get and set process, file, or device attributes

 Comunicaes
 create, delete communication connection
 send, receive messages if message passing model to host name or
process name
 From client to server
 Shared-memory model create and gain access to memory regions
 transfer status information
 attach and detach remote devices

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 23

Tipos de Chamadas Sistema (Cont.)


 Proteo
 Controlar acesso a recursos
 Obter e atribuir permisses
IPG-ESTG EI 2016-17 Sistemas Operativos

 Permitir e recusar acesso de utilizadores

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 24
Exemplos de Chamadas Sistema
IPG-ESTG EI 2016-17 Sistemas Operativos Windows e Unix

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 25

Exemplo com a Biblioteca C Standard


 Programa em C onde invocada a funo printf(), que corresponde a
uma chamada biblioteca respetiva (stdio.h), que por sua vez
desencadeia a chamada sistema write()
IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 26
Exemplo: MS-DOS
 Single-tasking
 A shell invocada no
arranque do sistema
IPG-ESTG EI 2016-17 Sistemas Operativos

 Mtodo simples para


executar um programa
 No criado nenhum
processo
 Espao de memria nico
 Programa carregado em
memria, podendo ocupar
todo o espao, exceto o do
kernel
 Quando o programa termina,
a shell volta a ser carregada (a) No arranque do sistema (b) com um
em memria programa em execuo

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 27

Exemplo: FreeBSD
 Variante do sistema Unix
 Multitasking
 No login do utilizador -> invocada a shell
IPG-ESTG EI 2016-17 Sistemas Operativos

escolhida pelo utilizador


 A shell executa a chamada sistema fork()
para criar um processo
 Executa exec() para carregar o
programa no processo
 A shell espera que o processo
termine ou continua a executar
comandos do utilizador
 Quando o processo termina fornece o
cdigo 0 no houve erro ou um
cdigo > 0 cdigo estabelecido para o
Execuo de mltiplos programas
erro

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 28
Programas de Sistema
 Os programas de sistema fornecem um ambiente adequado ao
desenvolvimento e execuo de programas. Podem ser
organizados nas seguintes categorias:
 Manipulao de ficheiros
IPG-ESTG EI 2016-17 Sistemas Operativos

 Informao de estado do sistema, geralmente armazenada


num ficheiro de modificao
 Suporte a linguagens de programao
 Compiladores, assemblers, depuradores e interpretadores
 Carregamento de programas em memria e execuo
 Comunicaes
 Servios de segundo plano (background)
 Programas de aplicao
 Web browsers, programas de processamento e de formatao de
texto, folhas de clculo, sistemas de bases de dados, jogos
 Os programas sistema representam aquilo que a maioria dos
utilizadores v como sistema operativo, e no as prprias
chamadas sistema
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 29

Programas de Sistema
 Fornecem um ambiente adequado para o desenvolvimento e para a
execuo de programas
 Alguns so simplesmente interfaces de utilizador para as
chamadas sistema; outros so consideravelmente mais
IPG-ESTG EI 2016-17 Sistemas Operativos

complexos

 Gesto de ficheiros - Criar, eliminar, copiar, renomear, imprimir,


esvaziar, listar, e manipular de forma generalizada ficheiros e
diretorias

 Informao de estado
 Alguns pedem informao ao sistema - data, horas, quantidade de
memria disponvel, espao em disco, nmero de utilizadores
 Outros fornecem informao detalhada sobre desempenho,
logging, e de depuramento (debugging)
 Estes programas formatam e visualizam a sada tipicamente num
monitor, ou apresentam-na noutros dispositivos de sada
 Alguns sistemas implementam um registo (registry) usado para
armazenar e recuperar informao de configurao
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 30
Programas de Sistema (Cont.)
 Modificao de ficheiros
 Editores de texto para criar e modificar ficheiros
 Comandos especiais para pesquisar o contedo de ficheiros ou
IPG-ESTG EI 2016-17 Sistemas Operativos

para efetuar transformaes no texto

 Suporte a linguagens de programao em alguns casos so


fornecidos compiladores, assemblers, depuradores e interpretadores

 Carregamento em memria e execuo de programas - Absolute


loaders, relocatable loaders, linkage editors, e overlay-loaders,
sistemas de depurao para linguagens de alto-nvel, bem como para
linguagens mquina

 Comunicaes Fornecem o mecanismo para criar ligaes virtuais


entre processos, utilizadores e sistemas computacionais
 Permite aos utilizadores enviar mensagens para o ecran de cada
um, navegar em pginas web, enviar mensagens de correio
eletrnico, fazer login remoto, transferir ficheiros de uma mquina
para outra
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 31

Programas de Sistema (Cont.)


 Servios de segundo plano (Background services)
 Lanados com o arranque do sistema (boot time)
 Alguns so utilizados para o arranque do sistema, terminando
IPG-ESTG EI 2016-17 Sistemas Operativos

de seguida
 Outros funcionam desde que o sistema arranca e at que
termine
 Fornecem servios como verificao de discos, escalonamento de
processos, registo de erros, para imprimir
 Executados no contexto de utilizador, no no contexto do kernel
 Conhecidos como servios, subsistemas, daemons

 Programas de aplicao
 No pertencem ao sistema
 Invocados pelos utilizadores
 No costumam ser considerados parte do SO
 Lanados a partir da linha de comandos, com o click do rato, com
o toque do dedo
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 32
Conceo e Implementao
de Sistemas Operativos

 Pode dizer-se que o processo de conceo e implementao de SO


no resoluvel, na medida em que no tem solues completas,
apesar de haver abordagens que j provaram levar ao sucesso
IPG-ESTG EI 2016-17 Sistemas Operativos

 A estrutura interna de diferentes SO pode variar bastante

 Comear por definir objetivos e especificaes

 Dependente da escolha do hardware, do tipo de sistema

 Objetivos do Utilizador e Objetivos do Sistema


 Objetivos do Utilizador A utilizao do SO deve ser conveniente
e prtica, fcil de aprender, de confiana, segura, e rpida
 Objetivos do Sistema O SO deve ser fcil de conceber, de
implementar, e de manter, bem como flexvel, de confiana, livre
de erros, e eficiente

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 33

Conceo e Implementao
de Sistemas Operativos (Cont.)

 Importante fazer a seguinte distino


Poltica: O que que se pretende fazer ?
Mecanismo: Como faz-lo ?
IPG-ESTG EI 2016-17 Sistemas Operativos

 Os mecanismos determinam como fazer algo, as polticas decidem o


que que ser feito
 A separao entre poltica e mecanismo constitui um princpio
muito importante, que permite mxima flexibilidade se as decises
polticas vierem a ser alteradas mais tarde

 A especificao e a conceo de Sistemas Operativos uma tarefa


altamente criativa de engenharia de software

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 34
Implementao

 Muita diversificao
 Primeiros SO em linguagem assembly
 Depois utilizadas linguagens de programao como Algol, PL/1
IPG-ESTG EI 2016-17 Sistemas Operativos

 Atualmente C, C++
 Alis, atualmente usual um conjunto de vrias linguagens
 Nveis inferiores em assembly
 Corpo principal em C
 Programas de sistema em C, C++, linguagens de scripting como
PERL, Python, shell scripts
 Uma linguagem de mais alto nvel facilita a transferncia para outro
hardware
 Mas SO mais lento
 Emulao permite que um SO seja executado sobre hardware
no-nativo

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 35

Estrutura de um SO
 Um SO de utilizao genrica um programa muito grande
 Um sistema grande e complexo como um sistema operativo moderno deve
ser concebido com uma estrutura que lhe permita um funcionamento
IPG-ESTG EI 2016-17 Sistemas Operativos

apropriado e que possa ser facilmente modificado


 Uma abordagem comum consiste em subdividi-lo em diversas
componentes mais pequenas e funcionais
 Apresentam-se de seguida algumas formas de conceber essa estruturao
do SO

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 36
Estrutura Simples
 MS-DOS escrito para fornecer
a maior funcionalidade possvel,
ocupando o menor espao
possvel
IPG-ESTG EI 2016-17 Sistemas Operativos

 No est dividido em
mdulos
 Apesar do MS-DOS ter
alguma estrutura, os seus
interfaces e nveis de
funcionalidade no se
encontram bem separados

Estrutura em camadas do MS-DOS

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 37

Abordagem por Camadas


 O sistema operativo dividido por um nmero de camadas (nveis),
cada uma construda em cima das camadas inferiores. A camada
inferior (camada 0), representa o hardware; a camada mais superior
(camada N) representa a interface com o utilizador.
IPG-ESTG EI 2016-17 Sistemas Operativos

 Com esta modularidade, as camadas so selecionadas de modo que


cada uma use apenas funes (operaes) e servios de camadas
inferiores

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 38
IPG-ESTG EI 2016-17 Sistemas Operativos
Sistema Operativo por Camadas

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 39

Estrutura do Sistema UNIX Tradicional


IPG-ESTG EI 2016-17 Sistemas Operativos

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 40
UNIX

 UNIX limitado pela funcionalidade do hardware, o sistema operativo


UNIX original tinha uma estruturao tambm limitada. O SO UNIX
consiste essencialmente em duas partes
IPG-ESTG EI 2016-17 Sistemas Operativos

 Programas Sistema
 O kernel
 Consiste em tudo o que est abaixo da interface das
chamadas-sistema e acima do hardware fsico
 Fornece o Sistema de Ficheiros, o escalonamento da CPU, a
gesto de memria, entre outras funes do sistema operativo:
um nmero elevado de funes para uma camada s !

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 41

Estrutura de Sistema Microkernel


 Transfere o mximo que pode do kernel para o espao do utilizador

 realizada comunicao entre camadas do utilizador, por intermdio


de passagem de mensagens
IPG-ESTG EI 2016-17 Sistemas Operativos

 Vantagens:
 mais fcil ampliar um microkernel
 mais fcil portar o sistema operativo para novas arquitecturas
 Mais confivel (menos cdigo a correr em modo kernel)
 Mais seguro

 Desvantagens:
 Sobrecarga no desempenho da comunicao entre o espao de
utilizador e o espao do kernel

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 42
IPG-ESTG EI 2016-17 Sistemas Operativos
Estrutura do Mac OS X

 O SO Mac OS X da Apple usa uma estrutura hbrida: um sistema por


camadas, em que uma delas consiste no microkernel Mach
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 43

Kernel Modular
 A maioria dos sistemas operativos modernos implementa o kernel por
mdulos
 Utilizada a abordagem orientao-a-objecto
IPG-ESTG EI 2016-17 Sistemas Operativos

 Cada componente principal encontra-se separada num mdulo


 Cada mdulo comunica com os restantes por intermdio de interfaces
apropriadas
 Cada mdulo carregado para o kernel medida que vai sendo
necessrio

 No fundo, semelhante estruturao por camadas, mas com mais


flexibilidade
 Cada mdulo pode invocar qualquer outro mdulo

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 44
IPG-ESTG EI 2016-17 Sistemas Operativos
Abordagem Modular do Solaris

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 45

Mquinas Virtuais

 O conceito de mquina virtual tem origem na estrutura por camadas


do SO. Considera hardware e ncleo do SO como se no seu todo
fosse apenas hardware.
IPG-ESTG EI 2016-17 Sistemas Operativos

 Uma mquina virtual fornece uma interface idntica ao hardware


subjacente.

 O sistema operativo anfitrio (host) cria a iluso de que um


determinado processo tem o seu prprio processador com a sua
prpria memria (virtual).

 A cada sistema operativo convidado (guest) fornecida uma cpia


(virtual) do computador subjacente.

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 46
Histria e Vantagens
das Mquinas Virtuais

 Em 1972 apareceu comercialmente pela primeira vez em mainframes


da IBM
 Fundamentalmente, mltiplos ambientes de execuo (diferentes
IPG-ESTG EI 2016-17 Sistemas Operativos

sistemas operativos) que podem partilhar o mesmo hardware


 Protegidos uns dos outros
 Permitida em algumas situaes a partilha de ficheiros, se bem que
de modo controlado
 Comutar entre si, com outros sistemas fsicos atravs de redes
 til para o desenvolvimento, para testes
 Consolidao do Sistema (otimizao de recursos): Muitos
sistemas com uma execuo leve, a correr em mquinas virtuais em
um nico sistema, podem ser combinados para criar um sistema mais
pesadamente utilizado

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 47

Mquinas Virtuais (Cont.)


IPG-ESTG EI 2016-17 Sistemas Operativos

(a) Mquina no-virtual (b) mquina virtual

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 48
Para-virtualizao

 A virtualizao do sistema apenas uma das metodologias para


emulao de um sistema.
A simulao (emulator) e a para-virtualizao so outras 2
IPG-ESTG EI 2016-17 Sistemas Operativos


possibilidades
 A para-virtualizao apresenta ao SO convidado um sistema
semelhante mas no idntico ao hardware
 O SO convidado tem de ser modificado para poder correr em hardware
para-virtualizado
 O Convidado pode ser um SO, ou, no caso do Solaris 10, aplicaes a
correr em containers (ou zonas)
 Apenas um kernel est instalado, e o hardware no est
virtualizado
 O SO e respetivos dispositivos esto virtualizados, fornecendo aos
processos existentes num determinado container a impresso de
que so os nicos processos existentes no sistema

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 49

Implementao da Virtualizao
 Difcil de implementar deve fornecer uma duplicao exacta da mquina
subjacente
 Corre tipicamente em modo utilizador, cria modo virtual de utilizador e
IPG-ESTG EI 2016-17 Sistemas Operativos

modo virtual do kernel


 A temporizao pode ser um problema - mais lento do que a mquina real
 Necessrio suporte de hardware
 Mais suporte-> melhor virtualizao
 Exemplo: AMD fornece os modos host e guest

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 50
IPG-ESTG EI 2016-17 Sistemas Operativos
Solaris 10 com Dois Containers

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 51

Exemplo 1: VMware Workstation


IPG-ESTG EI 2016-17 Sistemas Operativos

 Arquitetura VMware
Operating System Concepts 9th Edition
Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 52
IPG-ESTG EI 2016-17 Sistemas Operativos
Exemplo 2: The Java Virtual Machine

 A JVM uma especificao/abstraco de um sistema computacional


(computador abstracto).
 Consiste num class loader e um interpretador Java que executa o cdigo
numa arquitectura neutra

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 53

Depuramento do Sistema Operativo


 A depurao (Debugging) consiste em encontrar e corrigir erros, ou
bugs
 Os SO geram ficheiros de log com informao de erros
IPG-ESTG EI 2016-17 Sistemas Operativos

 A falha de uma aplicao pode gerar ficheiros com o contedo da


memria do processo (core dump file)
 Do mesmo modo, uma falha do SO pode gerar ficheiros com o
contedo da memria do kernel (crash dump file)
 Crashes parte, o desempenho do sistema pode ser otimizado com a
sintonizao do desempenho
 Lei de Kernighan: Debugging is twice as hard as writing the code in
the first place. Therefore, if you write the code as cleverly as possible,
you are, by definition, not smart enough to debug it.
 Ferramenta Dtrace: no Solaris, FreeBSD e Mac OS X permite o
acompanhamento na produo de sistemas

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 54
Solaris 10 dtrace:
IPG-ESTG EI 2016-17 Sistemas Operativos
a acompanhar a execuo de uma chamada-sistema

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 55

Configurao do Sistema Operativo


 Os SO so projectados para serem executados numa grande
variedade de classes de mquinas; Assim, o SO necessita de ser
configurado em cada mquina em concreto
IPG-ESTG EI 2016-17 Sistemas Operativos

 Programa SYSGEN: obtm informao relativa configurao


especfica do hardware do sistema

 Booting processo de iniciar o computador por carregamento do


kernel

 Programa Bootstrap cdigo armazenado na ROM que capaz de


localizar o kernel, carreg-lo em memria e iniciar a sua execuo

Operating System Concepts 9th Edition


Silberschatz, Galvin and Gagne 2012 Organizao de um Sistema Operativo 56

Vous aimerez peut-être aussi