Você está na página 1de 36

Fundamentos de Sistemas

Operacionais
Prof. Renata Sharline.
renatasharliness@gmail.com

Metodologia de Ensino
Aulas expositivas em slides
Trabalhos em sala de aula(surpresa)-valendo
nota.
1Avaliao provas discursiva(Questes
abertas)
Trabalho de concluso do perodo
Exposio dos temas em sala de aula;
Apresentao de projetos a uma bancada de
professores e Alunos.(nota da 2 avaliao)
Entrega do trabalho escrito(digitado e encadernado)

1.
2.
3.
4.
5.
6.
7.
8.
9.

Hardware x Software
Definio
Funo
Arquitetura externa e interna
Eventos ou Operaes
Componentes
Tipo de SO
Evoluo
classificao

Alguns sistemas Operacionais

Hardware x software
Sem software um computador basicamente um monte intil de metal.
Com software um computador - pode armazenar,processar, tocar
musica, reproduzir vdeos, etc.
Um sistema computacional a unio entre HARDWARE + SOFTWARE.
HARDWARE so os componentes fsicos da mquina e os dispositivos
que os integram.
SOFTWARE:
Programas de sistema - Gerenciam a operao do computador.
Programas aplicativos - Realizam o trabalho real desejado pelo
usurio.

Definies Sistema Operacional(SO)


um programa de controle do computador. O Sistema
Operacional responsvel por alocar recursos de hardware e
escalonar tarefas. Ele tambm deve prover uma interface para o
usurio - ele fornece ao usurio uma maneira de acesso aos
recursos do computador. Mark G Sobell
uma parte de um sistema computacional que administra todos
os componentes de hardware e software ,ou seja, controla cada
arquivo, dispositivo, seo da memria principal,
os
nanossegundos de tempo de processamento e controla quem pode
utilizar e de que maneira. Ida M. Flymn
Um Sistema Operacional pode ser definido como um gerenciador
dos recursos que compem o computador (processador, memria,
I/O, arquivos, etc). Os problemas centrais que o Sistema
Operacional deve resolver so o compartilhamento e a proteo
dos recursos a serem usados pelas aplicaes do usurio e o
interfaceamento entre este e a mquina. Stemmer

Funo do SO
A principal funo de um sistema operacional
prover um ambiente no qual os programas dos
usurios (aplicaes) possam rodar. Isso envolve
definir um framework bsico para a execuo dos
programas e prover uma srie de servios (ex:
sistema de arquivos, sistema de E/S) e uma
interface de programao para acesso aos
mesmos.

Arquitetura Externa do SO

Arquitetura Interna do SO

Ncleo : o corao do sistema operacional,


responsvel pela gerncia dos recursos do
hardware usados pelas aplicaes. Ele tambm
implementa as principais abstraes utilizadas
pelos programas aplicativos.

Drivers : mdulos de cdigo especficos para


acessar os dispositivos fsicos. Existe um driver
para cada tipo de dispositivo, como discos
rgidos IDE, SCSI, portas USB, placas de vdeo,
etc. Muitas vezes o driver construdo pelo
prprio fabricante do hardware e fornecido em
forma compilada (em linguagem de mquina)
para ser acoplado ao restante do sistema
operacional.

Cdigo de inicializao : a inicializao do


hardware requer
uma
srie de tarefas
complexas, como reconhecer os dispositivos
instalados,
test-los
e
configur-los
adequadamente para seu uso posterior. Outra
tarefa importante carregar o ncleo do sistema
operacional em memria e iniciar sua execuo.

Programas utilitrios: so programas que


facilitam o uso do sistema computacional,
fornecendo funcionalidades complementares ao
ncleo, como formatao de discos e mdias,
configurao de dispositivos, manipulao de
arquivos (mover, copiar, apagar), interpretador
de comandos, terminal, interface grfica,
gerncia de janelas, etc.

Operaes do SO
BOOTSTRAP

Programa de inicializao do equipamento.


Define os valores iniciais necessrios para o funcionamento do sistema,
desde valores dos registradores da CPU at valores de determinadas
posies de Memria;
Localiza e carrega o Sistema Operacional;
INTERRUPO DE SOFTWARE (TRAP) - Evento gerado pelo
programa devido a execuo de uma operao especial (chamada de
sistema system calls);
INTERRUPO DE HARDWARE - Evento gerado pelo envio de um
sinal para a CPU atravs do barramento do sistema, ou seja, o processador
para o processador que est executando para atender a um retorno de um
perifrico (controladora dele) informando que o recurso est disponvel

Componentes do SO
Gerenciador de Memria -

Fornecer um Espao Isolado de Memria

para cada processo de forma nica na memria.

Gerenciador da unidade de Processamento

Responsvel pela

gerncia do processador, tratamento de interrupes, comunicao e


sincronizao entre processos.

Gerenciador de Dispositivos

Garantir o acesso aos dispositivos de

forma mais fcil aos usurios.

Gerenciador de arquivo - garantir acesso com o processo de armazenar e


acesso aos dados, atravs de arquivos e diretrios.

Interface de comando de usurio acesso harmnico em sistemas de


vrios usurios com compartilhamento de recursos.

Evoluo S.O 1 e 2 Gerao


Gerao zero: tudo mecanico, no existia sistema operacional.
Gerao 1: um nico grupo de pessoas projetava, construa,
programava, operava e mantinha cada mquina.
Gerao 2: primeiros SOs (sistema de processamento em
lotes - batch). A CPU ficava ociosa entre as execues dos lotes
(jobs).

Evoluo S.O 3 Gerao


No inicio da dcada de 60, a maioria dos fabricantes de
computadores tinha duas linhas de produtos distintas e totalmente
incompatveis (computadores cientficos e comerciais)
Surge o IBM 360 (diversas verses - preo, desempenho)
As maquinas tinham a mesma arquitetura, o mesmo conjunto de
instruo.
Os programas escritos em uma mquina podiam ser executados em outra.
Imagine construir um SO que atenda todos esses requisitos
O OS 360 continham milhes de linhas de cdigo em Assembly. Foi
construdo por milhares de programadores e continha milhares de erros.
A cada nova verso (21.8) novos erros apareciam

A terceira gerao de sistemas operacionais introduziu o conceito de


multiprogramao.
Dividir a memria em vrias parties,
com um job diferente em cada partio.
Enquanto um job estivesse esperando
a conclusao da operao de E/S,
outro job poderia usar a CPU.

Evoluo S.O 4 Gerao


Nativamente, as maquinas Apple II no suportavam o CP/M.
O SO CP/M era to popular na poca (1975-1980) que as
mquinas Apple II forneciam uma interface para ser acoplado
um hardware cuja finalidade era d suporte para o CP/M.
Essa placa externa era fornecida para uma pequena empresa
chamada Microsoft.

Computador pessoal brasileiro (1982) utilizando o CP/M

Evoluo S.O 4 Gerao


No incio de 1980, surgi os microprocessadores de 16
bits.A Intel desenvolve o microprocessador 8086.
IBM projeta o IBM PC.
A Microsoft oferece o sistema operacional DOS para
IBM.
O DOS foi desenvolvido por outra empresa. A Microsoft
compra o SO e contrata o autor original do projeto para
aperfeioar DOS.
Surgi o MS-DOS. Rapidamente domina o mercado para
o IBM PC.

Ate ento todos os SOs (CP/M, MS-DOS, Apple DOS)


eram baseado em linha de comando. O surgimento da
interface grafica (GUI - Graphical User Interface) torna a
usabilidade dos PCs mais agradavel.

Evoluo S.O 4 Gerao


Apos o surgimento da GUI, a Apple cria o Macintosh
(1984) e a Microsoft cria o Windows (1985).
Apple
O Macintosh tinha suporte para o SO System 1, mais
tarde chamado de Mac OS.
Em 2001, a Apple lana o Mac OS X, com uma nova GUI
rodando em cima do UNIX. Em 2005, a Apple adota
os processadores da Intel.

Microsoft
Inicialmente o Windows era apenas uma GUI sobre o
MS-DOS.
Atualmente a verso mais recente o Windows 7.

Classificao do SO
Monotarefa ou monoprogramveis
Multitarefa ou multiprogramaveis
Sistema mltiplos processadores

Monotarefa ou monoprogramveis
Execuo de um nico programa (job).
Qualquer outro programa, para ser executado,
deveria aguardar o trmino do programa
corrente.
Tipicamente relacionado ao surgimento dos
mainframes. Ex: MS-DOS

Multitarefa ou multiprogramaveis
Mais complexos e mais eficientes vrios programas
dividem os mesmos recursos enquanto um
programa espera por uma operao de leitura ou
gravao em disco.
Outros programas podem estar sendo processados
neste intervalo de tempo Aumento da produtividade
dos seus usurios e a reduo de custos
( compartilhamento de recursos do sistema entre
diferentes aplicaes)
Exemplo: Sistemas de Batch, os sistemas de tempo
compartilhado (time-sharing), os sistemas em
tempo real

Sistema mltiplos processadores


Caracterizam-se por possuir duas ou mais UCPs
interligadas e trabalhando em conjunto.
A vantagens:
Executar vrios programas ao mesmo tempo;
Paralelismo - dividir a execuo de um programa
entre vrios UCPs
So classificados quanto:
A forma de comunicaco entre as UCPs
O grau de compartilhamento da memria e dos
dispositivos de I/O

Sistema mltiplos processadores

Sistema mltiplos processadores


Fortemente Acoplado

Fracamente Acoplado

Existem
dois
ou
mais
processadores
compartilhando
uma nica memria e controlados
por apenas um nico Sistema
Operacional.
Sistemas simtricos - Possuem
um tempo uniforme de acesso
memria principal.
Sistemas assimtricos - O
tempo de acesso memria pelos
processadores varia em funo da
sua localizao Fsica

Dois
ou
mais
sistemas
de
computao interligados, sendo que
cada sistema possui o seu prprio
SO e gerencia seus prprios
recursos.
Sistemas Operacionais de Rede
- Existe a distino clara que um
servio ou recurso executado em
outra mquina (servidor). Ex:
impressora em rede.
Sistemas
Operacionais
Distribudos - Para o usurio e
suas aplicaes, como se no
existisse
uma
rede
de
computadores, mas sim um nico
sistema
centralizado
(cloud
computing).

Tipos SO
Sistemas de Lotes (Batch)
Sistemas de Tempo Compartilhado (Time Sharing)
Sistemas de Tempo Real (Real-Time)
Sistemas Mainframes
Sistemas Desktop
Sistemas Distribudos
Sistemas Paralelos
Sistemas Handheld (mobile devices)

Sistemas de Lotes (Batch)


Primeiro tipo de sistema operacional (usurio e operador passam a ser
entidades diferentes).

Job o conceito bsico num sistema de lotes, sendo constitudo do programa a


ser compilado e executado, acompanhado dos dados.

Jobs semelhantes so organizados em lotes, de modo a reduzir o tempo de


setup.

Seqenciamento automtico de jobs, com transferncia automtica de controle


de um job para outro (processamento seqencial).
Inexistncia de computao interativa.

Nmero de tarefas processadas por unidade de tempo alta devido


seqencialidade, sem interrupo.

Tempo mdio de resposta pode ser muito alto (ex: presena de jobs grandes
frente de jobs pequenos).

Sistemas de Lotes (Batch) Cont.

1 Leva cartes para 1401


2 Le cartes para fita
3 Coloca fita na 7094 que processa
4 Coloca fita na 1401 que imprime sada

Sistemas de Tempo Compartilhado


(Time Sharing)
A capacidade e o tempo de processamento da mquina
dividida entre mltiplos usurios, que acessam o sistema
atravs de terminais.
Usurio dirige a sua tarefa. Seus comandos so
interpretados e executados em seguida (processamento
on-line).
Uso da tcnica de multiprogramao para a manipulao
de mltiplos jobs interativos.
Jobs so constantemente trocados entre memria e
disco (swap).
Tempo de resposta baixo.
Nmero de tarefas processadas/tempo baixo.
Arquitetura mais complexa e de propsitos gerais.

Sistemas de Tempo Real (RealTime)


Sistemas dedicados a uma classe de aplicaes, tipicamente de

controle e medio, que exigem monitoramento contnuo de


instrumentos.

Ex: sistemas de controle industriais, sistemas robticos, sistemas de


realidade virtual, automao domstica, etc.

Ex: QNX, CMX-RTX, LynxOS, RTMX, etc.

Possuem restries temporais bem definidas (o tempo de resposta


considerado crtico). Pode ser hard ou soft real-time.

Hard Real-Time - Memria secundria limitada ou ausente (dados


armazenados em memria ROM)

Caracterstica normalmente no suportada em sistemas operacionais de


propsitos gerais.

Soft Real-Time - Utilizao limitada em controle industrial e robtica.

til para aplicaes que requerem caractersticas avanadas de sistemas


operacionais (ex: multimdia, realidade virtual).

Sistemas Mainframes
Primeiros sistemas computacionais usados na
resoluo de problemas comerciais e aplicaes
cientficas.
Nos dias atuais, so projetados para
processamento de grande volume de dados.
Arquitetura de hardware complexa.
Trabalham em multimodo (usualmente batch
e time- sharing).

Sistemas Distribudos
Conjunto de computadores interconectados de forma a
possibilitar a execuo de um servio.
Requer uma infra-estrutura fsica de redes (LAN, WAN) e
suporte de protocolos de comunicao (TCP/IP).
A realizao de uma tarefa distribuda entre vrios ns da
rede.
A existncia de vrias mquinas transparente, isto , o
software fornece uma viso nica do sistema.

Vantagens:

Compartilhamento de recursos;
Balanceamento de carga;
Aumento da velocidade de computao;
Maior confiabilidade.

Sistemas Distribudos - cont


Sistema fracamente acoplado (Loosely coupled
system):
Cada n uma mquina independente, com seu prprio
S.O. e sua prpria memria local, comunicando-se com os
outros atravs das vrias linhas de comunicao.

Arquitetura Cliente-Servidor:
Mudana
do
paradigma
de
arquitetura
centralizada,provocada pelo barateamento e aumento da
capacidade de processamento e armazenamento dos PCs.
Servidores so configurados para satisfazer as consultas
dos sistemas clientes (servidor de arquivos, servidor de
mail, servidor de ftp, etc.)

Sistemas Desktop
Caracterizado pelo uso de computadores pessoais.
Diferentemente dos sistemas mainframes, um
sistema de computao geralmente dedicado a um nico usurio.
Dispositivos tpicos de E/S: teclado, mouse, terminal de vdeo, pequenas
impressoras.
Apresenta convenincia para o usurio, com um bom tempo de resposta e
uma boa taxa de processamento a um custo relativamente baixo.
Pode adotar tecnologia desenvolvida para S.O. de maior porte.
Pode rodar diferentes tipos de S.O. (Windows, MacOS, UNIX, Linux, etc.)

Sistemas Paralelos
So sistemas com mais de uma UCP atuando de modo colaborativo (multiprocessor
systems).

Os processadores compartilham o barramento, memria e relgio, alm de dispositivos


perifricos (so sistemas fortemente acoplados tightly coupled systems):

Principais vantagens:

Aumento da vazo (throughput).

Economia de escala;

Aumento da confiabilidade.
Symmetric multiprocessing (SMP)
Cada processador roda uma cpia idntica do sistema operacional. Vrios processos
podem ser executados em paralelo, sem perda de desempenho para o sistema.
Todos os processadores so pares, no existindo relao de mestre-escravo.
A maioria dos sistemas operacionais modernos suporta SMP, atravs do conceito de
multithreading (Windows, Solaris, OS/2,Linux).

Sistemas Handheld (mobile devices)


Sistemas operacionais adaptados para dispositivos mveis, como PDAs

Personal Digital Assistants , Tablets e Smartphones.

Memria limitada, processador mais lento e display de pequenas dimenses.

S.O. e aplicaes projetados para minimizar o uso do processador (reduo


do consumo da bateria).

Uso possvel de tecnologias wireless, como Bluetooth e Wi-fi, para acesso


remoto a e-mail e navegao Web.

Cmeras, MP3 players e GPS so exemplos de acessrios que expandem a


sua funcionalidade.

Conceito bsicos - Processo


Abstrao usada pelo S.O. para designar a execuo de um programa.
caracterizado por uma thread de execuo, um estado corrente e um
conjunto associado de recursos do sistema.
Um processo um programa individual em execuo (uma instncia de um programa
rodando em um computador).
tambm referenciado como tarefa (task) ou mesmo job.
O processo uma entidade ativa (i.e., um conceito dinmico), ao contrrio do
programa.
Cada processo representado no SO por estruturas de controle (ex: bloco de
controle de processo).
Do ponto de vista da UCP, um processo executa instrues do seu repertrio em
alguma seqncia ditada pelos valores do registrador PC (program counter).

Em alguns casos pode ocorrer a seguinte situao: um processo solicita um determinado recurso e este
no est disponvel no momento. Quando isso acontece o processo entra para o estado de espera
(bloqueado). Em algumas situaes possvel que estes processos nunca mais mudem de estado, pois os
recursos que eles necessitam podem estar sendo mantidos por outros processos em espera. Essa situao
chamada de deadlock (impasses).

Conceito Bsico Mmoria


O conceito bsico da memria onde os dados so
carregados e processados. A memria de um computador
no est realmente concentrada num local, os
dispositivos de armazenamento esto espalhados por
toda a mquina.
Caratersticas :
acesso imediato aos dados registrados e processados;
cancelamento de dados desnecessrios;
Capacidade de autoverificao e durabilidade.

Conceito Bsico - Arquivo


Como uma das funes do sistema operacional deixar
transparente o aceso aos recursos sero necessrias criao de
chamadas de sistema para facilitar o acesso aos arquivos
gravados no disco.
Para poder guardar organizadamente os arquivos, vrios
sistemas operacionais utilizam o conceito de diretrio.
Cada arquivo dentro desta hierarquia de diretrios pode se
acessado fornecendo-se o caminho (path name) a partir do
topo da hierarquia, chamado de diretrio raiz.