Вы находитесь на странице: 1из 42

Sistemas Operacionais

Introduo

Informaes Gerais
Site

http://www.inf.ufes.br/~rgomes/so.htm

Email

soufes@gmail.com

Sistemas Operacionais

Objetivo do Curso

Apresentar os fundamentos tericos dos


sistemas operacionais modernos,
enfatizando os seus aspectos...

de organizao interna (arquitetura


conceitual)

de estruturas e mecanismos de
implementao.

Sistemas Operacionais

Sistema de Computao
Hardware

Prov os recursos bsicos de computao (UCP,


memria, dispositivos de E/S).

Programas de aplicao

Definem as maneiras pelas quais os recursos do sistema


so usados para resolver os problemas computacionais
dos usurios (compiladores, sistemas de banco de
dados, video games, programas financeiros, etc.).

Usurios

Pessoas, mquinas, outros computadores.

Sistemas Operacionais

Viso Abstrata (1)

Viso Abstrata (2)

Um Sistema Operacional...

... possibilita o uso eficiente e controlado dos


diversos componentes de hardware do
computador (unidade central de
processamento, memria, dispositivos de
entrada e sada).
... implementa polticas e estruturas de
software de modo a assegurar um melhor
desempenho do sistema de computao
como um todo.

Sistemas Operacionais

Definio (1)

Nome dado a um conjunto de programas que


trabalham de modo cooperativo com o objetivo de
prover uma mquina mais flexvel e adequada ao
programador do que aquela apresentada pelo
hardware sozinho.
Interface de programao
Gerenciamento de recursos

Sistemas Operacionais

Definio (2)

A program that controls the execution of


application programs.

An interface between applications and hardware.


Resource allocator

Control program

Manages and allocates resources.


Controls the execution of user programs and operations of
I/O devices .

Kernel

The one program running at all times (all else being


application programs).
Sistemas Operacionais

Funo

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
prover uma srie de servios (ex: sistema de
arquivos, sistema de E/S)
uma interface de programao para acesso aos
mesmos.

Sistemas Operacionais

Organizao Tpica

Ncleo (kernel)

Responsvel pela gerncia do processador, tratamento de


interrupes, comunicao e sincronizao entre processos.
Gerente de Memria

Responsvel pelo controle e alocao de memria aos


processos ativos.
Sistema de E/S

Responsvel pelo controle e execuo de operaes de E/S e


otimizao do uso dos perifricos.
Sistema de Arquivos

Responsvel pelo acesso e integridade dos dados residentes


na memria secundria.
Processador de Comandos (shell) / Interface com o Usurio

Responsvel pela interface conversacional com o usurio.

Histrico (1)

No incio ... (inexistncia de S.O.)

O usurio programador e operador da mquina ao


mesmo tempo. Muita interveno humana no
processamento das tarefas.

Setup inclua carregar o compilador e o programa


fonte, salvar o programa compilado, carregar e linkeditar o programa executvel.
O sistema operacional surge com o objetivo bsico de
automatizar a preparao, carga e execuo de
programas.
A esse objetivo se somou, em seguida, um segundo, de
fundamental importncia: a otimizao do uso dos
recursos de hardware pelos programas.

Histrico (2)

Tal como nas arquiteturas de hardware, os


sistemas operacionais tambm passam por um
processo evolutivo, classificado em geraes.
O surgimento dos S.O. data da segunda
gerao de computadores, na dcada de 50.

1a Gerao
(dcada de 50)

Execuo automtica de jobs


JCL Job Control Language
Ex: IAS, ATLAS, IBM 701

HW de 2a gerao, com
circuitos transistorizados

2a. Gerao
(incio da dcada de 60)

Primeiros sistemas de multiprogramao e hardware com


multiprocessamento. Sistemas de tempo real.
Ex: IBM OS/MTF, CTSS (IBM 7094), MCP (Burroughs 5000,
etc.).

HW de 3a. gerao, com


circuitos integrados..

3a Gerao
(meados dos anos 60 a meados dos anos
70)

Sistemas multi-modo e de propsitos gerais. Uso de memria


virtual. Sistemas complexos e caros, exceo do UNIX.
Ex: Multics (GE 645), TSS (IBM 360/67), CDC Kronos (CDC
6000), RCA VMOS, etc.

HW construdo com
tecnologia VLSI

4a. Gerao
(meados dos anos 70 e incio dos anos 80)

Grandes sistemas de multiprocessamento, uso intensivo de


teleprocessamento, sistemas de memria virtual.
Ex: MCP (Burroughs B6700), VMS (VAX 11/760), MVS (IBM
370), etc.

HW com suporte de
microprogramao

5a. Gerao
(Anos 80 e 90)

Arquiteturas distribudas, ambiente de redes de


computadores, mquinas virtuais, uso intenso de
microcomputadores pessoais, interfaces visuais mais
elaboradas.
(Ex:DOS, MAC OS, Windows, Unix-like OS, IBM OS/2,IBM
VM/370)

Grande diversidade de HW
de E/S, UCP e memrias
de alta velocidade.
Arquiteturas RISC

Dias atuais

Arquitetura microkernel e multithreading, sistemas


multiplataforma, middleware, projeto orientado a objetos,,
suporte a computao mvel, etc.
Ex: Linux, Windows2000... 7, 8, Palm OS, IOS , Android,
Solaris, Unix SVR4 (... AIX), Linux embarcado etc.

HW para
multiprocessamento
simtrico, HW para
computao mvel e
ubqua, sistemas
embarcados

Tipos de Sistemas Operacionais

Sistemas de Lotes (Batch)


Sistemas de Tempo Compartilhado (Time Sharing)
Sistemas de Tempo Real (Real-Time)
Sistemas Mainframes
Sistemas Desktop
Sistemas
Sistemas
Sistemas
Sistemas

Distribudos
Paralelos
Handheld (mobile devices)
embarcados/computao ubqua/redes ad hoc

Sistemas de Lotes (1)

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.
Sequenciamento 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 (2)

Sistemas de Lotes (3)

Layout da MP em Sistemas de Lotes

Sistemas de Tempo Compartilhado

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 online).
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.

Lotes x Tempo Compartilhado


BatchMultiprogramming

Principalobjetivo

Maximizarousodo
processador

Fontedediretivaspara Jobcontrollanguage
osistemaoperacional
Comandosprovidoscomojob

TimeSharing

Minimizarotempode
resposta

Comandosviaterminal

Sistemas de Tempo Real (1)

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.

Sistemas de Tempo Real (2)

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 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 rodar diferentes tipos de S.O. (Windows,
MacOS, UNIX, Linux, etc.)

Sistemas Distribudos (1)

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 (2)

Sistema fracamente acoplado (Loosely coupled


system):

Arquitetura Cliente-Servidor

Cada n uma mquina independente, com seu prprio


S.O. e sua prpria memria local, comunicando-se com
os outros por meio das vrias linhas de comunicao.
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.).

Arquitetura Peer to Peer

Ns so simultaneamente clientes e servidores

Sistemas Distribudos (3)

Sistemas Paralelos

(1)

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.

Sistemas Paralelos

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 mestreescravo.
A maioria dos sistemas
operacionais modernos
suporta SMP, por meio do
conceito de multithreading
(Windows NT, Solaris,
OS/2, Linux).

(2)

Sistemas Handheld

Sistemas operacionais adaptados para dispositivos


mveis, como Smartphones e Tablets...
No incio...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 outros dispositivos e
internet.
Grande variedade de acessrios que expandem a sua
funcionalidade.

Sistemas Embarcados

Limitaes ainda maiores de memria,


processamento, consumo de energia e confiabilidade
Ex:
Roteador, Smart TV, Controlador Lgico
Programvel (CLP), Cmera Digital

Sistemas operacionais reprojetados...

Classificao
Quanto ao nmero de usurios:

Monousurio:

Projetados para suportar um nico usurios


Ex: MS-DOS, Windows 3x, Windows 9x.

Multiusurio:

Projetados para suportar vrias sesses de usurios


Ex: Windows NT(2000), UNIX.

Quanto ao nmero de tarefas:

Monotarefa:

Capazes de executar apenas uma tarefa (um aplicativo) de cada vez.


Ex: MS-DOS

Multitarefa:

Capazes de executar vrias atividades simultaneamente, como uma


compilao e um processamento de texto
Ex:Windows, OS/2, Unix.

Prof. Jos Gonalves - DI/UFES

Sist. Operacionais - 2003/2

Mono x Multiprogramao

Suponha um programa que processa um arquivo de


registros e que executa, em mdia, 100 instrues de
mquina por registro.

Ler um registro
Executar 100 instrues
Gravar um registro

0,0015 seg
0,0001 seg
0,0015 seg

Percentagem de utilizao da UCP:

34
LPRM/DI/UFES

U = 0,0001 / 0,0031 = 0,032 = 3,2%

Sistemas Operacionais

Monoprogramao

Os recursos computacionais esto inteiramente


dedicados a um nico programa/tarefa.
A UCP fica ociosa durante muito tempo enquanto o
programa aguarda por um evento (digitao de um
dado, leitura do disco, etc.).
A memria principal subutilizada caso o
programa no a preencha totalmente.
Os perifricos so dedicados a um nico usurio.
No existe grandes preocupaes com a proteo
de memria.
A complexidade de implementao relativamente
baixa.

35
LPRM/DI/UFES

Sistemas Operacionais

Monoprogramao

36
LPRM/DI/UFES

(cont.)

Sistemas Operacionais

Multiprogramao

Vrios programas competem pelos recursos do sistema.

LPRM/DI/UFES

37

Sistemas Operacionais

Multiprogramao

O objetivo manter mais de um programa em execuo


simultaneamente, dando a iluso de que cada
programa/usurio tem a mquina dedicada para si.
A idia tirar proveito do tempo ocioso da UCP durante as
operaes de E/S. Enquanto um programa espera por uma
operao de leitura ou escrita os outros podem estar sendo
processados no mesmo intervalo.

(cont.)

Maximizao do uso do processador e da memria.


Maior taxa de utilizao do sistema como um todo (reduo do
custo total mquina/homem).

Suporte de hardware:

38
LPRM/DI/UFES

Proteo de memria
Mecanismo de interrupo (sinalizao de eventos).
Discos magnticos (acesso randmico aos programas, melhor
desempenho em operaes de E/S) para implementao de
memria virtual

Sistemas Operacionais

Multiprogramao

39
LPRM/DI/UFES

(cont.)

Sistemas Operacionais

Exemplo

(1)

JOB1

JOB2

JOB3

Tipo de Job

Muita UCP

Muita E/S

Muita E/S

Durao

5 min

15 min

10 min

Memria

50K

100K

80K

Disco

No

No

Sim

Terminal

No

Sim

No

Impressora

No

No

Sim

LPRM/DI/UFES

40

Sistemas Operacionais

Exemplo

41
LPRM/DI/UFES

(2)

Sistemas Operacionais

Exemplo

(3)

Monoprogramao

Multiprogramao

Processor use

17%

33%

Memory use

33%

67%

Disk use

33%

67%

Printer use

33%

67%

Elapsed time

30 min.

15 min.

Throughput rate

6 jobs/hr

12 jobs/hr

Mean response time 18 min.

42
LPRM/DI/UFES

10 min.

Sistemas Operacionais

Вам также может понравиться