Você está na página 1de 43

Unidade I Unidade I

FUNDAMENTOS DE SISTEMAS
OPERACIONAIS
Prof. Victor Halla
Contedo
Introduo;
Conceitos;
Evoluo;
Caractersticas;
Gerenciamento de Processos;
Gerenciamento de Memria;
Conceito
O sistema operacional, segundo Deitel,
H. M.; Deitel, P. J.; Choffnes, D. R. (2005),
um software que habilita as aplicaes
a interagir com o hardware de um
computador.
Seu componente central o ncleo,
tambm conhecido como kernel.
Os sistemas operacionais esto
presentes em telefones celulares,
automveis, eletrodomsticos,
computadores pessoais, alm dos
computadores de grande porte ou
mainframes.
Funes do sistema operacional
Facilitar o acesso aos recursos do
sistema;
Usurios
Programadores
Programas
Sistema Operacional
Processador
Memria
Discos Perifricos
Funes do sistema operacional
Compartilhar recursos de forma
protegida e organizada;
Usurios Programas
Sistema Operacional
Hardware
Funes do sistema operacional
Diminui a complexidade para lidar com o
hardware.
Usurios
Aplicativos
Sistema
Operacional
Hardware
Linguagem de Mquina
Multiprogramao
Sistema Operacional
Utilitrios
Multiprogramao
Dispositivos Fsicos
Arquitetura bsica
O sistema operacional faz a conexo
entre os softwares aplicativos e as
necessidades que estes possuem de
interagir com o hardware.
Figura 1 Baseado em Tanenbaum (1987).
Estrutura de um sistema operacional
Ncleo: o corao do sistema
operacional, que tem como funo
gerenciar todos os recursos.
Drivers: um modulo com cdigo
especifico para acessar um dispositivo
fsico. Pode ser comparado a um
tradutor.
Cdigo de Inicializao: um cdigo que
tem como objetivo inicializar o sistema
atravs da execuo de tarefas
complexas.
Programas Utilitrios: programas que
facilitam o uso do sistema operacional.
Ncleo do sistema operacional
O software que contm os componentes
centrais do sistema operacional chama-
se ncleo ou kernel, em ingls.
Sistema Operacional
Kernel
Assembler
Firmware
Hardware
Componentes sistema operacional
Escalonador de processos: determina o
momento e o perodo de tempo em que
um processo executado pelo
processador;
Gerenciador de memria: determina o
momento e a forma como a memria
ser cedida aos processos e o que fazer
quando a memria principal estiver
cheia;
Gerenciador de E/S: atende s
solicitaes de entrada e sada
destinadas e provenientes dos
dispositivos de hardware;
Componentes sistema operacional
Gerenciador de comunicao inter-
processos (IPC): permite que os
processos se comuniquem entre si;
Gerenciador de sistema de arquivos:
organiza as colees de dados gravados
nos dispositivos de armazenamento e
fornece uma referncia para acessar os
dados nesse dispositivo.
Interatividade
Qual das alternativas melhor descreve o
que um driver de computador utilizado
pelo sistema operacional?
a) Um programa desenvolvido pelo
fabricante de hardware.
b) Um programa geralmente escrito em
linguagem de maquina que tem a funo
de permitir a comunicao do Sistema
Operacional com o hardware;
c) Um script utilizado pelo kernel; c) Um script utilizado pelo kernel;
d) Um vrus de computador;
e) Um programa de inicializao do sistema
operacional.
Evoluo do sistema operacionais
1940
Surgem os primeiros computadores
digitais eletrnicos.
Programas eram submetidos em
linguagem de mquina. linguagem de mquina.
introduo da perfurao de carto para
armazenamento de dados;
Evoluo do sistema operacionais
1950
Surge o primeiro sistema operacional, no
incio da dcada, desenvolvido pelos
laboratrios de pesquisa da General
Motors, para ser executado em seu
computador IBM 701.
O IBM 701 foi o primeiro equipamento da
IBM para uso geral;
O IBM 701 executava apenas um job de
cada vez. cada vez.
Evoluo do sistema operacionais
1960
Deu-se incio multi-programao,
quando projetistas desenvolveram
sistemas operacionais que gerenciavam
diversos jobs ao mesmo tempo.
Em 1964 a IBM lanou a famlia
System/360, que utilizava o sistema
operacional OS/360.
Os usurios interagiam com o
computador por meio de terminais computador por meio de terminais
burros .
Os sistemas operacionais passaram a
ser escritos em linguagem de alto nvel.
Evoluo do sistema operacionais
1960
Em 1965, programadores com certa
experincia recebiam US$ 4 por hora,
enquanto o custo do aluguel da hora de
um computador de grande porte, que
possua capacidade muito menor que a
dos computadores pessoais de hoje, era
normalmente de US$ 500.
Evoluo do sistema operacionais
1970
Criao da interface grfica com o
usurio (GUI Graphical User
Interface), desenvolvida pelo Palo Alto
Research Center (PARC) da Xerox.
Ocorreu o amplo uso do protocolo
TCP/IP e as redes LANs (Local Area
Network) tornaram-se prticas e baratas
a partir da aplicao do padro Ethernet
desenvolvido no Palo Alto Research
Center (PARC) da Xerox.
Evoluo do sistema operacionais
1970
Os sistemas operacionais passaram a
oferecer servios de configurao da
rede e de administrao da segurana, e
seu desempenho continua crescendo.
Os sistemas GUI foram amplamente
explorados na dcada de 1980 pela
Apple e pela Microsoft.
Evoluo do sistema operacionais
1980
O sistema Apple II teve uma aceitao
extraordinria.
A IBM lana o Personal Computer (PC)
em 1982 e a Apple lana a sua verso de em 1982 e a Apple lana a sua verso de
computador pessoal, batizado de
Macintosh, em 1984.
Em 1981 a Microsoft lanou a primeira
verso do MSDOS para computadores
pessoais IBM. pessoais IBM.
O sistema operacional MS-DOS
representou um marco na indstria de
software
Evoluo do sistema operacionais
1980
Softwares aplicativos, como planilhas
eletrnicas e editores de texto, ganharam
espao e auxiliaram as empresas a
ganhar produtividade.
Computadores pessoais passou a utilizar
correio eletrnico, transferncia de
arquivos e a acessar bancos de dados
remotos.
Surgiu esto a computao distribuda, Surgiu esto a computao distribuda,
que deu origem arquitetura
cliente/servidor.
Microsoft desenvolveu sua plataforma
GUI, o Windows.
Evoluo do sistema operacionais
1990
Internet levou a uma enorme ampliao
na popularidade da computao
distribuda.
Microsoft lanou o Windows 3.0. Microsoft lanou o Windows 3.0.
O Windows tornou-se popular a partir de
1993, com o lanamento do Windows 3.1.
O Windows tomou emprestados
muitos dos conceitos do Macintosh.
Evoluo do sistema operacionais
2000
Ocorre a disponibilidade da Internet de
alta velocidade a preo acessvel.
Surgem os microprocessadores com
mais de um ncleo. mais de um ncleo.
Linguagens de programao, como o
Java, predispem ao surgimento da
computao paralela.
Surgem sistemas operacionais de cdigo
aberto como o FreeBSD OpenBSD e aberto, como o FreeBSD, OpenBSD e
Linux.
Caractersticas do tipo plug-and-play
foram adicionadas aos sistemas
operacionais.
Evoluo do sistema operacionais
2000
Surge a computao mvel,
proporcionada por dispositivos como
telefones celulares, smartphones e
PDAs, que passam a ser dotados de
processadores cada vez mais
poderosos, dando oportunidade para a
criao de novos sistemas operacionais
que podero estar associados a
questes muito especficas.
Interatividade
Apesar da Xerox ter criado a interface
grfica na dcada de 70, porque apenas em
80 ela surgiu no mercado;
a) No havia interesse por interfaces
grficas;
b) Mercado no estava preparado para uso
da tecnologia;
c) Tecnologia de interface grfica tinha um
valor muito alto;
d) Muitos problemas ainda ocorreriam com d) Muitos problemas ainda ocorreriam com
a tecnologia.
e) NDA;
Conceitos bsicos de hardware
Processador: componente do hardware
que executa um conjunto de instrues
em linguagem de mquina, objetivando a
execuo eficiente de uma atividade
especfica.
Memria principal: a RAM (Random
Access Memory). Consiste em uma
memria voltil e de acesso aleatrio.
Registradores: estas memrias, muito
rpidas, operam na velocidade do
processador, esto incorporadas no
prprio processador e guardam dados
para uso imediato por ele
Conceitos bsicos de hardware
Cache: as memrias cache so divididas
em L1 e L2 e s vezes em L3 e so
integradas aos processadores mais
novos para poder explorar as
interconexes de alta velocidade.
Memria principal ou memria primria:
memria voltil com maior capacidade
de armazenamento e acesso mais lento
que a dos registradores e a da cache.
Armazenamento secundrio: a forma
de armazenamento mais lenta, porm
com maior capacidade de
armazenamento. So os discos rgidos,
CD, DVD, etc.
Latncia acesso a memrias
Comparao entre tempo de acesso as
memrias utilizadas em um computador;
Tipos de sistemas
Monousurio: permite que apenas um
usurio execute uma tarefa de cada vez.
Multiusurio: uma srie de usurios
pode estar realizando tarefas
concorrentes.
Monotarefa: usurio executa uma tarefa
de cada vez.
Multitarefa: permite que o usurio
execute diversas tarefas
simultaneamente. simultaneamente.
Chamadas ao sistema
Desde a dcada de 1980, os sistemas
operacionais incorporaram as Interfaces
de Programao de Aplicativo ou API
(Application Programming Interfaces).
Fornecem rotinas que os programadores
podem utilizar no desenvolvimento de
softwares para requisitar servios ao
sistema operacional
Fonte: Baseado em
Deitel H M ; Deitel Deitel, H. M.; Deitel,
P. J.; Choffnes, D. R.
(2005).
Sistemas com compartilhamento de
tempo
Um sistema com compartilhamento de
tempo (Time- Sharing) tambm
conhecido como multitarefa.
Vrios jobs sos executados pela CPU,
que comuta o processamento de cada
job.
Um sistema Time-Sharing utiliza o
gerenciamento e a multiprogramao da
CPU para prover a cada usurio uma
pequena poro de tempo compartilhado
de processamento
Interatividade
Qual das alternativas abaixo melhor descreve
qual o tipo de sistema operacional Linux?
a) Monousurio;
b) Multiusurio e monotarefa;
c) Multitarefa e monousurio; c) Multitarefa e monousurio;
d) Multitarefa;
e) Multiusurio e Multitarefa;
Gerenciamento de processos
O gerenciamento de processos ocorre
porque o sistema, quando intercala a
execuo de um determinado processo,
deve conseguir administr-lo
cuidadosamente para que possa reinici-
lo quando ele for retomado lo quando ele for retomado.
Os processos devem possuir a
capacidade de poder comunicar-se com
o sistema operacional, de forma que
possam informar, por exemplo, o fim da
execuo do processo execuo do processo.
Processos concorrentes
Os processos no sistema podem ser
executados de maneira concorrente.
Processos podem ser multitarefa em
uma CPU.
Onde dois ou mais processos esto Onde dois ou mais processos esto
lendo ou gravando um dado
compartilhado, localizado no mesmo
endereo de memria principal ou
secundria, pode ocorrer uma condio
de corrida
Execues concorrentes
Compartilhamento de recurso fsico: os
recursos de hardware do computador so
finitos e podem ser compartilhados,
tornando o ambiente multiusurio.
Compartilhamento de recursos lgicos:
it i d t i t d muitos usurios podem estar interessados
no mesmo fragmento de informao, que
pode ser provida em um ambiente que
permita o acesso concorrente a esses
recursos;
Aumento de velocidade da computao: Aumento de velocidade da computao:
quando se deseja que uma tarefa
especfica seja executada rapidamente,
quebra-se essa tarefa em sub-tarefas e
uma a uma elas so executadas
paralelamente a outras
Execues concorrentes
Modularidade: quando ocorre a
construo de sistemas em padro
modular, dividindo-se as funes em
processos distintos;
Convenincia: o usurio pode querer ter
muitas tarefas para trabalhar ao mesmo
tempo. Um exemplo disso quando os
usurios podem estar editando,
imprimindo e compilando de forma
concorrente.
Monitores
Um monitor uma coleo de
procedures, variveis e estruturas de
dados que so agrupados em um tipo
especial de pacote.
Processos podem chamar as procedures
em um monitor se necessitarem, mas
no tero acesso s estruturas de dados
internos de uma procedure declarada
fora do monitor.
Semforos
um contador e usado quando o
recurso a ser utilizado pertence a um
conjunto de recursos idnticos.
uma varivel inteira, maior que zero,
que acessada apenas por duas
operaes: P (testar) e V (incrementar)
testar (PodeComprarLeite);
if (SemLeite) {
Compra Leite;
}
incrementar (PodeComprarLeite);
Gerenciamento de memria
Estabelece a estratgia de otimizao da
memria diante da carga que esta
sofrer.
Estabelece como os espaos de
memria disponveis sero alocados
para os processos.
Como ir se atender as requisies de
memria de um processador.
Swapping
Tambm conhecido como arquivo de
troca.
Compreende um esquema de troca no
qual os processos no permanecem na
memria principal at o final de sua
execuo.
Memria virtual
Da aos processos a impresso de que h
mais memria disponvel do que de fato
existe instalada.
Toda vez que um processo acessar um
endereo virtual, o sistema operacional o
converter em um endereo real.
Fonte: Baseado em Deitel, H. M.; Deitel, P. J.;
Choffnes, D. R. (2005).
Segmentao
Na segmentao de memria fsica, os
dados e instrues de um programa so
divididos em blocos, denominados
segmentos.
Cada segmento pode conter um fragmento
do contedo que deve ser armazenado,
sem a obrigao de que os blocos tenham
o mesmo tamanho.
Fonte: Baseado em Deitel, H. M.; Deitel, P. J.;
Choffnes, D. R. (2005).
Interatividade
Porque importante compartilhar os
recursos fsicos em um computador?
a) Para diminuir erros;
b) Facilitar o processamento;
c) Para tornar o ambiente multiusurio; c) Para tornar o ambiente multiusurio;
d) Dobrar o processamento;
e) Criar um sistema monousurio;
AT A PRXIMA!