Você está na página 1de 11

Pgina 1 de 11

Resumo de Sistemas Operacionais


Autor: Adonai Estrela Medrado (adonaimedrado@hotmail.com)
Revisado em 26 de junho de 2010

Construdo tendo como referncia SIMES, Ricardo de Magalhes. Mdulo de Sistemas


Operacionais. Vitria: ESAB, 2008. Disponvel apenas para alunos.
Este material apenas um resumo disponibilizado para uso acadmico e didtico. Ele no
pretende esgotar o assunto ou abord-lo em sua integralidade. A sua utilidade relembrar
alguns conceitos e estimular o aprofundamento e a pesquisa.
Fundamentos
O sistema operacional um software especial que controla recursos compartilhados.
Os programas que trabalham sob o sistema operacional utilizam das Chamadas do Sistema
(System Calls) para ter acesso a estes recursos.
As principais funes de um sistema operacional so 1) tratamento de interrupo
(evento inesperado externo ao programa em execuo e independente de instruo sendo
executada; sempre so geradas por dispositivos; paralisa momentaneamente a execuo do
programa atual); 2) tratamento de exceo (originada por algum programa em execuo; o
programa que executou a operao invlida avisado, caso no saiba trat-la o aviso ser
encaminhado ao usurio; paralisa momentaneamente a execuo do programa atual); 3)
gerenciamento de programas (colocar em execuo, administrar e finalizar programas); 4)
gerenciamento de memria RAM (incluindo verificar disponibilidade); 5) gerenciamento de
arquivos (controlar a criao, edio e excluso de arquivos); 6) gerenciamento de
dispositivos (verificao de utilizao, disponibilidade, liberao, etc.); e 7) suporte a redes
(gerenciamento e acesso s redes de computadores). Atualmente passou a ser requisito
tambm o sistema de segurana (somente programas permitidos executam; somente
usurios permitidos acessam os recursos e informaes).
Histria
Em 1950 os computadores comearam a utilizar os transistores e o Univac 1103
surge como primeiro computador a utilizar um sistema operacional (SO) o ERA. Em 1976

Pgina 2 de 11
Steve Jobs e Stephan Wozniak inventam o primeiro computador pessoal, o Apple I. Em
1981 a IBM lana o PC (Personal Computer) com o processador Intel i8080.
Tambm em 1981 foi desenvolvida a primeira interface grfica pela Xerox, a partir
da vrios sistemas grficos foram lanados ainda na dcada de 80. O Apple Macintosh
(1984) foi o primeiro computador popular com interface grfica.
O Windows comeou seu desenvolvimento em 1983 como apenas um ambiente
grfico de operao, funcionando sob o MS-DOS. O Windows 1.0 foi lanado em 1985, em
1987 o Windows 2.0. Estas duas verses no foram muito difundidas, talvez devido s
limitaes de hardware da poca. Em 1990 surge a verso 3.0 que se torna padro nas
mquinas IBM-PC e compatveis. Ainda nos anos 90 foram lanadas duas frentes de
trabalho, uma para servidor e computao profissional (Windows NT Server/Workstation)
e outra para usurio domstico (Windows 95). A interface provida pelo Windows 95 era
totalmente nova tornando mais fcil a utilizao dos usurios iniciantes. O sistema de
arquivos FAT32 veio na segunda verso do Windows 95 (em 1996), o NTFS com o
Windows NT. Outro lanamento importante foi o Windows 2000 (em 2000) com melhoria
no gerenciamento de processos, memria e dispositivo. O Windows XP lanado em 2001
herda o kernel do Windows 2000. O Windows 2003 e 2008 seguem a linha de servidores, e
o Windows Vista e 7 segue a linha sistemas operacionais para uso pessoal com melhora na
interface e nas funcionalidades.
O Linux comeou seu desenvolvimento em 1991 e recebe apoio de vrias empresas
como a IBM, Oracle e Red Hat. Em 1996 foi lanado o Linux Kernel 2 base das
distribuies atuais. Uma distribuio um "kit" que contm o SO e um conjunto de
ferramentas (ex.: OpenSuse, Debian, Ubuntu, etc). O Linux utilizado em ambientes
acadmicos e cientficos, mas comea a ser utilizado em ambientes empresariais e
domsticos. Ele adota padres estabelecidos no mercado, dentre eles o POSIX, e bastante
utilizado nos servidores para Internet.
Classificao
Os SOs podem ser classificados de acordo com 1) caractersticas bsicas de
arquitetura do sistema (Monoltico, Microkernel ou Hbrido); 2) capacidade de executar
tarefas (Monotarefa ou Multitarefa); e 3) quantidade de usurios que podem operar o
sistema (Monousurio ou Multiusurio).

Pgina 3 de 11
Um sistema monoltico construdo como uma coleo de rotinas onde cada uma
pode chamar qualquer outra. Um sistema microkernel possui separao de funes
chamadas Servidores. Um sistema hbrido executa os servidores externos em um modo
protegido.
Um sistema monotarefa executa uma tarefa de cada vez. Um sistema multitarefa
executa vrias tarefas simultaneamente e subdivide-se em 1) sistemas de tempo
compartilhado (time sharing systems - divide o tempo do processador em pequenos
intervalos - time slice; quem define o tempo de execuo de cada programa o sistema
operacional); 2) sistemas de tempo real (tempo de execuo definido pelo prprio
programa; o programa fica em execuo durante o tempo que achar necessrio ou at que
outro com maior prioridade chegue fila; o conceito de time slice no se aplica). Troca de
contexto uma operao que ocorre nos sistemas multitarefa quando se altera o programa
que est sendo executado.
Um sistema monousurio no faz distino entre os usurios, foi projetado para ser
utilizado por um nico usurio. Um sistema multiusurio permite diversos usurios
garantindo a separao e no interferncia entre as tarefas de cada um.
Processos
O processo uma instncia de um programa em execuo.
No controle e execuo do processo pelo SO as seguintes informaes necessitam
ser armazenadas: 1) cdigo executvel; 2) espao de memria utilizado (com distino
entre cdigo, dados e estruturas de controle); 3) descritores do SO (tabela de arquivos, etc.);
4) atributos de segurana; e 5) estado do processo (executando, em espera, aguardando
recurso, etc.).
H trs tipos bsicos de gerenciadores de processo 1) gerenciador por admisso
(gerenciador escolhe qual processo ir executar e quando a depender da sua prioridade;
geralmente utilizado em sistemas de tempo real); 2) gerenciador por tempo mdio; e 3)
gerenciador despachantes (define os processos a serem executados de acordo com eventos
ocorridos no sistema).
Os Gerenciadores de Processo possuem algoritmos para garantir a troca de
processos de maneira correta e organizada. So exemplos de estratgias utilizadas 1) FIFO
(First In First Out) onde um programa abre um canal unidirecional com um segundo e

Pgina 4 de 11
escreve dados que chegaro ao destino na mesma ordem em que foram escritos; 2) PIPES
unidirecionais (similar ao FIFO, porm com o controle feito pelo SO e no pelo programa);
3) fila de mensagem - message queue (baseia-se em rea administrada pelo SO para troca
de mensagem entre processos); e 4) memria compartilhada (semelhante fila de
mensagem, mas o controle feito dentro do programa e no pelo sistema operacional).
Threads
Threads so linhas de execuo independentes de um processo. Uma thread
compartilha os recursos do processo que a criou. Processadores que conseguem lidar
simultaneamente com mais de uma threads so caracterizados Multi-Threading ou HiperThreading.
Os recursos utilizados para fazer a troca de contexto entre threads so muito
menores do que aqueles necessrios para fazer a troca de contexto entre processos.
Existem duas formas de troca de contexto das threads 1) preemptiva (controle do
sistema operacional; thread pode ser interrompida em momento crtico) e 2) cooperativa
(controle da thread; uma thread pode tomar o controle do processador).
A realizao de operaes simultneas pelas threads so chamadas de Condio de
Corrida ou Condio de Disputa e exigem mecanismos de comunicao e sincronizao
que podem ser criados pelo sistema operacional.
Comunicao entre Processos e Threads
Os sistemas operacionais possuem em sua API um conjunto de funes necessrias
para a comunicao entre processos e threads. No Windows as COM (Component Object
Model) e recentemente o Windows Communication Foundation, no UNIX POSIX Core
Services (para processos) e a POSIX-Thread ou PThread (para threads) e no MacOS X o
Core Foundation.
Sincronizao
A sincronizao dos recursos do computador realizada pelo SO multitarefas e
feita tanto para dados (para manter dados em integridade) quanto para processos (evitar
conflito na utilizao dos recursos).
Os mecanismos para controle de sincronizao, dentre outros, podem ser 1)
barreiras (criadas e gerenciadas pelo programa; programa entra em estado de espera at

Pgina 5 de 11
que todos os processos pertencentes ao mesmo programa tambm entrem nesta estado); 2)
semforos (podem ser implementados tanto pelo SO quanto pelo programa; consistem em
variveis de controle que indicam quantos processos podem compartilhar um recurso); 3)
trava simples (impede a utilizao do recurso por outro processo), trava especial (sinaliza
quando se tenta utilizar um recurso j em uso) e trava compartilhada (um nico processo
recebe permisso de leitura e escrita e os demais somente de leitura). A barreira e o
semforo permitem compartilhamento de recurso, a trava simples no. A sincronia exige a
existncia de uma instruo capaz de ao mesmo tempo "verificar e, se possvel, travar".
Deadlock (Bloqueio)
Um bloqueio acontece quando um processo aguarda um recurso que, caso o sistema
operacional no intervenha, nunca ser liberado. condio para existncia do Deadlock
que apenas o processo que utiliza um recurso seja capaz de liber-lo.
So exemplos de estratgias para prevenir Deadlock 1) uso de ordenao por
precedncia dos recursos (os recursos devem ser alocados seguindo um ordem); 2)
determinao de tempo de alocao; 3) determinao que nenhum processo ter acesso
exclusivo aos recursos; e 4) pr-alocao de todos os recursos no incio da execuo do
programa.
O tratamento do Deadlock pode ser feito com a finalizao dos processos
envolvidos e sua subsequnte reinicializao sequncial.
Gerenciamento de Memria
O gerenciamento de memria tem por objetivo 1) oferecer uma rea de
armazenamento para os processos; 2) proteger os processos contra falhas de terceiros; e 3)
prover um desempenho satisfatrio aos usurios. Deseja-se tambm compartilhamento de
memria entre processos e acesso transparente memria.
A memria caracterizada como compartilhada se mais de um programa pode
acess-la simultaneamente. A memria compartilhada pode ser criada eletricamente
(hardware destinado a este fim; utilizada em supercomputadores) ou logicamente (criada
atravs de estruturas de dados especiais).
O coletor de lixo um papel incluso em alguns gerenciadores de memria. Sua
tarefa identificar dados no mais utilizados na memria e liberar o espao para uso.

Pgina 6 de 11
Memria Virtual
O mecanismo de memria virtual torna o uso da memria principal mais eficiente.
Ele cria um ambiente de memria contnua a partir de um ambiente de memria
fragmentada, podendo utilizar dispositivos de armazenamento para salvamento temporrio.
Sua implementao depende do modo de endereamento de memria utilizado pelo
processador. Nos processadores da famlia Intel este recurso j est presente desde o 80286
lanado em 1982. A Microsoft utiliza este modelo a partir do Windows 3.
Neste mecanismo chama-se pgina uma rea contnua de dados. O tamanho da
pgina varia de acordo com a quantidade de memria do computador, mas geralmente de
pelo menos 2 kilobytes. A tabela de paginao pode ser nica para o sistema ou especfica
para cada aplicao e mapeia o endereo de memria virtual aos endereos fsicos.
Chama-se paginao a tcnica utilizada para transferncia de dados inativos da
memria principal para a secundria (Page-Out) e transferncia de dados ativos de volta
para a memria principal (Page-In). Na recolocao de uma pgina na memria principal
necessrio fazer a atualizao do mapeamento. Chama-se Page Fault (Falha de Pgina) a
deteco pelo gerenciador de memria que uma informao requisitada no est na
memria principal. Uma Page Swap (Troca de Pgina) ocorre quando, por falta de espao
livre na memria principal, uma pgina tem que ser transferida para a memria secundria
para que outra seja colocada na memria principal; geralmente a pgina candidata para
Swap a menos utilizada.
Alguns pginas no podem ser removidas da memria principal a exemplo daquelas
que armazenam 1) a tabela de paginao; 2) rotinas de tratamento de interrupo; e 3)
informaes manipuladas pelos dispositivos com recurso de acesso direto memria
(DMA).
Segmentao da Memria
O mecanismo de segmentao da memria particiona a memria em segmentos de
dados. Cada segmento possui uma localizao fsica, uma permisso de acesso, um
tamanho e um identificador dependendo da implementao pode existir ainda um
indicador de se a pgina est na memria principal ou na memria secundria. O processo
s acessa o segmento que tiver permisso, caso tente fazer um acesso no permitido ele ser
negado e ser gerado um aviso de erro. Este mecanismo precisa ser viabilizado por

Pgina 7 de 11
hardware via Unidade de Gerenciamento de Memria (Memory Management Unit, MMU)
que faz a mediao de todo o processo sendo que os processos no acessam diretamente a
rea de memria do computador. Solicitaes que no sejam permitidas no sero atendidas
pela MMU e geraro um erro que ser passado ao processo. Um processo pode permitir que
outros processos alm dele acessem a um segmento.
possvel uma combinao entre os mecanismos de paginao e segmentao (cada
segmento pode ser dividido em pginas).
Driver
Um driver de dispositivo um conjunto de instrues especficas para tratamento de
um dispositivo que depende diretamente do sistema operacional. Funcionam em duas
camadas: comandos lgicos (acessveis a todos os programas) e comandos fsicos
(utilizados pelo driver para executar os comandos lgicos solicitados no dispositivo).
Podem existir drivers genricos, mas geralmente no so capazes de utilizar todos os
recursos fornecidos por um dispositivo.
O firmware um pequeno programa que se encontra nos circuitos eletrnicos de um
dispositivo. Alguns firmwares podem funcionar como drivers, mas necessitam antes serem
carregados na memria.
Sistema de Arquivos
Um sistema de arquivos define a maneira como os dados sero gravados e
gerenciados nos dispositivos de armazenamento acessados pelo computador. Os sistemas
de arquivos trabalham com blocos de dados. Cada bloco de dado contm uma parte do dado
que forma o arquivo.
Geralmente um arquivo tem propriedades associadas como modo de acesso (leitura,
escrita, execuo), data da criao, data de alterao, nome e extenso. O conjunto de
propriedades disponveis depende do sistema de arquivos.
Os diretrios so utilizados pelo usurio para organizar os arquivos. A tabela de
arquivos utilizada pelo Sistema Gerenciador de Arquivos para guardar a organizao
fsica dos arquivos.

Pgina 8 de 11
Existem dois tipos de sistemas de arquivos 1) sistemas de disco (funciona em uma
unidade de armazenamento) e 2) sistema de arquivo em rede (armazenamento feito em
outro computador da rede).
O NTFS um sistema de arquivos de disco que utiliza estrutura de rvore B+ e que
foi desenhada para minimizar a fragmentao. A Tabela de Arquivos do NTFS chama-se
Tabela Mestre de Arquivos. Todas as informaes relativas ao arquivo, inclusive seu
contedo so tratados como metadados. Os meta-arquivos auxiliam na organizao dos
metadados. Arquivos pequenos (<800 bytes) no criptografados ou comprimidos so
armazenados na prpria Tabela Mestre e so denominados arquivos residentes.
O NTFS permite 1) nome alternativo; 2) cota de armazenamento; 3) pontos de
montagem; 4) ponto de juno; 5) ligao entre arquivos; 5) gerenciamento hierrquico do
armazenamento; 6) controle de verso dos arquivos (via shadow copy); 7) compresso de
arquivos; 8) armazenagem unificada de arquivos (mltiplas cpias de um mesmo arquivo
so armazenadas uma nica vez com referncias mltiplas na tabela mestre); e 9)
criptografia.
Outro sistema de arquivos de disco o Linux Extented File System que na sua
verso 2 (conhecida como ext2 e desenvolvida em 1993) pode gerenciar tamanho mximo
de 4 TB. Em 2001 foi desenvolvido o ext3 com Journaling (otimiza operaes de busca e
proteo contra falhas no sistema). Em 2006 surge o ext4 aumentando o tamanho mximo
do disco para 1 EB. Os ext2, 3 e 4 separam explicitamente as propriedades do arquivo
(inode) do dado. O Journaling tem uma estrutura semelhante a uma rvore-B+. O ext3
possui as seguintes caractersticas 1) definio padro dos atributos de um arquivo; 2)
definio padro do grupo de usurio a um diretrio; 3) definio do tamanho da unidade
bsica de informao na criao do arquivo; 4) checagem da integridade do sistema de
arquivos em momentos definidos.
Sistema Operacional de Rede
Um sistema operacional de redes de computadores faz o gerenciamento da rede de
comunicao e dos recursos disponveis na rede (ex.: Windows 2008 Server). Em termos
gerais ele deve prover 1) suporte protocolos de comunicao em rede; 2) mecanismos de
segurana; 3) gerenciamento de arquivos distribudos; 4) gerenciamento de dispositivos
distribudos; 5) gerenciamento de usurios.

Pgina 9 de 11
H sistemas operacionais de rede especializados que funcionam em dispositivos
especficos como, por exemplo, o Cisco IOS que funciona em roteadores.
Gerenciamento de Usurio
Para efetuar o gerenciamento de usurios deve ser possvel definir: 1) mecanismos
de proteo das informaes, 2) quem e quando poder utilizar o computador; e 3) que
recursos podero ser utilizados por cada usurio.
Autenticao o processo de confirmar a identidade do usurio e sua permisso
para realizar uma tarefa. Permisso um conjunto de regras que define como o usurio
pode utilizar os recursos do computador.
Facilita-se o gerenciamento de usurio a partir da criao de grupos de usurio,
definindo-se permisses para os grupos.
Active Directory
O Active Directory baseado no LDAP1 e tem por objetivo fornecer uma forma
centralizada de autenticao e autorizao de servios. Ele permite definir polticas de
instalao e atualizao de programas. Sua estrutura mais alta a Floresta. Cada Floresta
possui uma ou mais rvores. Cada rvore possui um ou mais Domnios. Os Domnios
podem agrupar seus objetos em Unidades Organizacionais facilitando o gerenciamento. Os
usurios so registrados no Domnio. As informaes do Active Directory so armazenadas
em um ou mais Controladores de Domnio, cada um com sua cpia do diretrio que dever
ser sincronizada em caso de alterao. Para que um usurio de um Domnio tenha acesso
aos recursos de outro Domnio deve-se utilizar um Relacionamento de Confiana. Por
padro um Domnio j tem um relacionamento de confiana com todos os Domnios da sua
rvore. Os Relacionamento de Confiana podem ser 1) de direo nica (de A para B, mas
no de B para A); 2) de direo dupla. Alm disto, as seguintes denominaes so
utilizadas 1) domnio confivel (tem usurios confiveis); 2) domnio confiante (permite
acesso de usurios confiveis); 3) relacionamento transitivo (estendvel a outros Domnios
Confiveis da rvore); 4) relacionamento explcito

(relacionamento criado pelo

Um LDAP (Lightweight Directory Access Protocol) composto por objetos abstratos que representam
recursos (computadores, impressoras, arquivos, etc.) e usurios de uma rede de computadores. Dentre outras
operaes ao se conectar a um servidor LDAP possvel 1) fazer buscas no diretrio; 2) adicionar, modificar
e apagar objetos; 3) requerer canal de comunicao seguro.

Pgina 10 de 11
administrador); 5) relacionamento cruzado (entre Domnios de rvores diferentes); 6)
Floresta Confivel (relacionamento feito diretamente na raiz, propaga-se entre todos os
objetos do diretrio).
Segurana
A segurana depende dos mecanismos de segurana oferecidos pelos sistemas e da
configurao. Na dcada de 1970 foi especificado um sistema de segurana por encomenda
da Agencia de Segurana dos EUA. Ele foi denominado de Modelo Bell-LaPadula (MBL) e
influencia at hoje os desenhos dos sistemas, porm no foi construdo como proposto, pois
seus vrios mecanismos de segurana impunham srias restries de desempenho.
Algumas estratgias dos sistemas de segurana envolvem: 1) executar apenas
programas testados; e 2) executar qualquer programa e verificar as operaes realizadas.
Um mecanismo til colocar em nveis diferentes o cdigo do sistema operacional e o
cdigo do usurio. Protees de hardware tambm so utilizadas. Outros mecanismos e
tcnicas incluem 1) firewall; 2) criptografia; 3) cpia de segurana dos dados; e 4)
programa antivrus.
A manuteno da segurana deve ser garantida pelo uso e atualizao constante dos
mecanismos de segurana por parte do usurio/administrador.
Sistemas Embutidos
Os sistemas embutidos por se destinarem a uma funo especfica e dedicada so
sistemas reduzidos que incluem o dispositivo eletrnico a ser utilizado. Geralmente tm
tamanho menor (se comparados aos sistemas no embutidos) e so otimizados para a
funo que ir desempenhar. Exemplo de sistemas operacionais para sistemas embutidos
so LiMO, Windows Mobile e Symbian.
Mquina Virtual
Uma mquina virtual uma mquina real construda logicamente. Podem ser
divididas em duas categorias: Mquinas Virtuais Completas (simula toda a estrutura de um
computador real; permite a instalao de um SO; ex.: aquela criada pelo Virtual PC) e
Mquinas Virtuais Binrias (para execuo de programa especfico; ex.: aquela criada pela
Java Virtual Machine). A mquina que est servindo de base para a mquina virtual
chamada de Sistema Hospedeiro (Host), a mquina virtual o Sistema Convidado (Guest).

Pgina 11 de 11
Em qualquer dos casos, o sistema operacional hospedeiro responsvel por
gerenciar apenas os recursos do processo que gera o ambiente virtual.
Sistema Operacional para Internet
Um sistema operacional para Internet fornece via Internet o mesmo conjunto de
servios de um sistema operacional convencional. Algumas tentativas de desenvolver este
conceito foram: WebOS (hoje Hyperoffice), YouOS, Desktop Two, G.ho.st (hoje utilizando
o conceito de nuvem) e EyeOS.
Computador de Alto Desempenho
Um computador de alto desempenho (supercomputador) aquele capaz de resolver
um problema que no pode ser resolvido em tempo satisfatrio por um computador de
pequeno porte. Os supercomputadores podem ser divididos em dois tipos 1) sistemas com
mltiplos processadores e 2) sistemas com mltiplos computadores (Cluster Grid). A
otimizao e desenho de um sistema operacional para um computador de alto desempenho
depende da sua finalidade e da sua arquitetura.

Você também pode gostar