Sistema Operacional

Propaganda
Sistemas Operacionais e
outros softwares
André Proto
Adriano Mauro Cansian
UNESP - São José do Rio Preto
______________________________
http://www.acmesecurity.org/lc
(Linguagem
(Li
Computacional)
C
t i
l)
Neste tópico
tópico veremos:
• Caracter
Características
ísticas lógicas dos sistemas
computacionais,
t i i e sua relação
l ã com os
softwares
– Softwares básicos
• Sistema operacional
• Compiladores e interpretadores
– Softwares aplicativos
• Gerais
• Espec
Especííficos
Adriano Mauro Cansian
2
Introdução
Introdu
ção
• Sistema Computacional = hardware + software
• Hardware
– Parte física da máquina.
– Conjunto de circuitos eletrônicos.
• Software
– Conjunto de
d instruções
õ “alteráveis”
“ l
á i ”
• Programadores as criam e alteram.
– (Algumas vezes nem tão alteráveis assim)
– São conjuntos de procedimentos básicos que fazem que o
computador seja útil executando alguma função.
– São “ordens
ordens”” ppré
pré-estabelecidas,, chamadas p
programas.
programas
g
.
Adriano Mauro Cansian
3
Tipos de softwares
• Tipos de softwares
– Software básico
• Sistema operacional
• Compiladores e interpretadores
– Software aplicativo
• Programas específicos escritos para executar
operações (ou resolver problemas) de interesse do
usuário.
usuário
• Exemplos: planilhas, editores de texto, programas de
e-mail, navegadores, jogos, etc
etc…
…
Adriano Mauro Cansian
4
Básicos
Sistema
Operacional
Aplicativos
Utilitários
G i
Gerais
Editor de textos
Planilhas
eletrônicas
l t ô i
Adriano Mauro Cansian
E
Específicos
ífi
Bancos de dados
5
Software básico,
básico, divide
divide--se em…
• Sistema Operacional (S.O.)
– Responsável
R
á l pela
l interface
i t f
(interação)
(i t
ã ) entre
t hardware
h d
e
o usuário, o hardware e outros softwares aplicativos,
entre outras funções.
ç
– Exemplos: Windows 98,
98, Windows XP,
XP, UNIX
UNIX,, Linux
Linux,,
FreeBSD,, DOS
FreeBSD
DOS,, Mac OS X,
X, dentre outros.
• Compiladores e interpretadores
– Softwares especiais que traduzem ou interpretam os
programas escritos
i em diferentes
dif
linguagens
li
de
d
programaçção (serão
programa
(serão discutidos mais adiante).
• Exemplos: Compilador Pascal, Compilador C, etc…
etc…
Adriano Mauro Cansian
6
Sistema Operacional
Veremos com um pouco mais de
detalhes para que serve o sistema
operacional
Definição
Defini
ção de S.O. (1)
• “O Sistema Operacional é responsável por alocar
recursos de
d hardware
h d
e escalonar
l
tarefas
tarefas.
f . Ele
El
também deve prover uma interface para o usuário
- ele
l fornece
f
ao usuário
á i uma maneira
i de
d acesso
aos recursos do computador.”
computador.” [Sobell].
Adriano Mauro Cansian
8
Definição
Defini
ção de S.O. (2)
• “Um Sistema Operacional pode ser definido como um
gerenciador dos recursos que compõem o computador
(processador, memória, I/O, arquivos, etc). Os problemas
centrais que o Sistema Operacional deve resolver são o
compartilhamento
tilh
t ordenado,
d d a proteção
t ã dos
d recursos a
serem usados pelas aplicações do usuário e o
interfaceamento entre este e a máquina.”
q
[Stemmer].
[
]
Adriano Mauro Cansian
9
Sistema Operacional e o hardware
• O Sistema Operacional deve ser adaptado às
características do hardware.
hardware
• As linguagens de programação e os aplicativos do
usuário final devem ser adaptados ao Sistema
Operacional..
Operacional
• Ou seja,
seja traduzindo:
– Um Sistema Operacional em geral ssó
ó funciona no
hardware para o qual ele foi criado.
criado.
– Softwares feitos para um sistema operacional, em geral
não funcionam em outro sistema operacional
operacional..
Adriano Mauro Cansian
10
S.O. não
não apenas em “computadores”…
• Sistema operacional não se
restringe aos computadores.
computadores
http://www.sony.net/Products/aibo/
– Todos os hardwares que realizam
processamento possuem algum
tipo de sistema operacional.
operacional
• Exemplos:
– Computadores
p
de bordo de carros
e aviões, sistemas de defesa,
calculadoras, máquinas
robotizadas, brinquedos
computadorizados, videogames,
aparelhos de DVD, etc
etc…
…
Adriano Mauro Cansian
11
USU
USUÁRIOS
OS
SISTEMA
OPERACIONAL
HARDWARE
W
Adriano Mauro Cansian
12
Sistema Operacional (1)
• Conhecer o Sistema Operacional pode ajudar a
resolver alguns problemas que,
que a princípio,
princípio nos
parecem complicados.
– O S.O.
S O possui utilitários especiais para a formatação de
discos, listagens em vídeo e impressora,
criação/có
criação/c
ópia/exclusão e alterações de arquivos, dentre
muitos outros.
Adriano Mauro Cansian
13
Sistema Operacional (2)
• Tecnicamente:
O Sistema Operacional (S.O.)é um
conjunto de rotinas
rotinas..
– Uma lista de instruções passadas para o
processador com a finalidade permitir a
processador,
comunicação do usuário com o hardware.
Adriano Mauro Cansian
14
Sistema Operacional (3)
• Principais atributos do Sistema Operacional:
• Abstração
Ab
ã de
d Hardware
H d
⇒ Máquina
Má i Virtual
Vi
l
– Apresenta ao usuário uma máquina virtual, mais
simples do que o hardware real
real..
– O usuário
usuário tem a percepção que interage com uma
q
só ppara ele.
máquina
• O S.O. protege o hardware da ação direta do
usuário.
• Faz com que intera
interação
ção com o computador seja
p e possí
poss
p ível.
simples
Adriano Mauro Cansian
15
Sistema Operacional (4)
• O sistema operacional é a porção de software que roda em
“modo kernel
kernel”” ou “modo supervisor
supervisor””.
• O computador pode controlar a maneira como os
softwares são
são executados
executados..
• O “modo kernel
kernel”” ou “modo supervisor”
supervisor” é uma maneira
privilegiada de execuç
execução, que permite que o software
controle todo o hardware,
hardware e també
também controle toda a
interaçção de outros softwares com este hardware.
intera
– No modo kernel um software pode executar operaç
operações que outros
não podem.
Adriano Mauro Cansian
16
Sistema Operacional (5)
• O sistema operacional é a porção de software que
roda
d em “modo
d kernel”
k
kernel
l” ou “modo
l”
d supervisor”
supervisor
i ”
– A defini
definiçção do modo de operaç
operação é feita no momento da carga do
software (durante o boot
boot,, no caso do S.O.
S.O.))
– Estabelece critérios de uso dos recursos e ordem de
acesso aos mesmos, impedindo
p
violação de regras
g de
acesso à memória de processos concorrentes e
tentativas de acesso simultâneo a um mesmo recurso
– Desta forma realiza a gerência e proteção dos
dispositivos..
dispositivos
Adriano Mauro Cansian
17
Estrutura do S.O.
• O S.O. é formado por:
– Um conjunto de rotinas (procedimentos) que
oferecem serviços
ç aos usuários do sistema e
suas aplicações,
– Outras rotinas do próprio sistema.
• Esse conjunto de rotinas é chamado núcleo
d sistema
do
it
ou kernel
kkernel.
l.
Adriano Mauro Cansian
18
System Calls
• Systems Calls são mecanismos de proteção
d núcleo
do
ú l do
d sistema
it
e de
d acesso aos seus
serviços.
• O usuário (ou aplicação), quando deseja
solicitar algum
g
serviço
ç do sistema:
– Realiza uma chamada a uma de suas rotinas (ou
ç ) através de system
y
calls ((chamadas ao
serviços)
sistema), para executar uma função
função específica
do hardware.
Adriano Mauro Cansian
19
Modos de acesso
• Existem certas instruções que não podem ser
colocadas diretamente à disposição das aplicações.
– Pois a sua utilização indevida ocasionaria sérios
problemas à integridade do sistema.
• As instruções que têm o poder de comprometer o
sistema são conhecidas como instruções
privilegiadas (ou “modo kernel
kernel””).
)
• As instruções não
não--privilegiadas são as que não
oferecem perigo ao sistema.
sistema
Adriano Mauro Cansian
20
Tipos de Sistemas Operacionais
Tipos de Sistemas
Operacionais
Sistemas
Monoprogramáveis /
M
Monotarefa
t f
Sistemas
Multiprogramáveis /
Multitarefa
Adriano Mauro Cansian
Sistemas com
Múltiplos
Processadores
21
Sistemas Monoprogramáveis ou Monotarefa
• Execução de um único programa (job
(job)) por vez
vez.
– Para ser executado, qualquer outro programa, deve
aguardar o término do programa anterior.
anterior.
• Tipicamente relacionado ao surgimento dos
mainframes (computadores de grande porte).
porte)
• Encontra
Encontra--se obsoleto.
– É mencionado aqui somente por razões históricas.
Adriano Mauro Cansian
22
Sistemas Multiprogramáveis ou Multitarefa
• Muito mais complexos e mais eficientes.
• Vários p
programas
g
compartilham
p
e dividem os
mesmos recursos, ao mesmo tempo.
tempo.
– Aumento da produtividade dos usuários e a redução de
custos.
– Aumenta (e permite) a intera
interação
ção entre os softwares
softwares..
– Permite
P
i compartilhar
ilh dados.
d d
• Normalmente são multiusuários
multiusuários..
• São os sistemas operacionais atuais: Linux
Linux,,
Microsoft Windows XP,
XP, Mac OS X,
X, FreeBSD
FreeBSD,,
S l i , e outros.
Solaris,
Solaris
t
Adriano Mauro Cansian
23
Sistemas com Múltiplos Processadores (1)
• Dois ou mais CPUs interligadas, trabalhando em
conjunto.
conjunto
• Permitem a interliga
interligação
ção de CPUs de
computadores isolados,
isolados, para a solução de
problemas complexos.
– Fortemente Acoplado
• Dois ou mais processadores compartilhando uma única memória e
controlados por apenas um único SO.
SO.
– Fracamente
F
t Acoplado
A l d
• Dois ou mais sistemas de computação interligados, sendo que cada
sistema possui o seu próprio SO.
Adriano Mauro Cansian
24
Sistemas com Múltiplos Processadores (2)
• Est
Estão
ão dando origem ao conceito de “Grid
Grid”” de
computadores.
computadores
– Interligação em rede permite que um grande número de
computadores atue como um único “super
super
computador”, para soluç
solução de problemas de alta
complexidade.
– “The Network is the Computer”
Computer”
http://www.ibm.com/grid/
Adriano Mauro Cansian
25
S.O. Multitarefa
Estrutura básica
Adriano Mauro Cansian
26
S.O. Multitarefas - Estrutura
• Um SO de um computador que é usado por
muitas pessoas ao mesmo tempo, é um
sistema complexo.
p
• Para tornar os SOs mais
i fáceis
f i de
d serem
escritos, foram criados módulos, sendo cada
um responsável por uma função.
Adriano Mauro Cansian
27
S.O. Multitarefas - Estrutura
• Os principais módulos de um SO
Multitarefa/Multiusuário são:
–
–
–
–
Núcleo (Kernel
(Kernel em inglês)
Gerenciador de processos (escalonador)
G
Gerenciador
i d dde memória
ói
Sistema de arquivos
Adriano Mauro Cansian
28
Núcleo (Kernel
(Kernel))
• Como visto anteriormente, contém
chamadas de sistema para serem utilizadas
ppor aplicativos,
p
, gerencia
g
o acesso ao
hardware, entre outros.
• Componente principal do SO. Contém todos
os outros módulos.
Adriano Mauro Cansian
29
Núcleo (Kernel
(Kernel))
• Executa funções como:
– chaveamento entre programas
– controle e programação de dispositivo de
h d
hardware
– gerenciamento de memória
– gerenciamento de processos
– escalonamento de tarefas
– comunicação entre processos
– processamento
t de
d exceções
õ e de
d interrupção
i t
ã
Adriano Mauro Cansian
30
Gerenciador de processos
• Um processo ou tarefa é uma porção de um
programa em alguma fase de execução.
execução
• Uma thread é uma parte separada de um
processo. Um processo pode consistir de
várias threads cada uma das quais sendo
executada separadamente.
separadamente
Adriano Mauro Cansian
31
Gerenciador de processos
Adriano Mauro Cansian
32
Gerenciador de processos
• O gerenciador de processos, também
conhecido como escalonador
escalonador,, deve
gerenciar quais processos serão executados
pelo
l processador
d e em que momento.
t
• Ou seja, ele tem a função de intercalar entre
uma tarefa e outra (denomina(denomina-se troca de
contexto).
contexto
).
Adriano Mauro Cansian
33
Gerenciador de processos
• Dois modos principais de se fazer
escalonamento:
– Escalonamento
E l
por Cooperação
C
ã indica
i di que uma
tarefa que está sendo executada atualmente deixará
voluntariamente em algum momento o processador e
permitirá que outros processos sejam executados.
– Escalonamento Preemptivo significa que uma tarefa
corrente será interrompida (forçou a se render) e o
processador se dedica a outro processo em estado de
p
espera.
Adriano Mauro Cansian
34
Gerenciador de memória
• O sistema operacional tem acesso completo
à memória do sistema e deve permitir que
os p
processos dos usuários tenham acesso
seguro à memória quando o requisitam.
• O SO é responsável também por gerenciar o
modo como os dados são armazenados na
memória principal.
Adriano Mauro Cansian
35
Gerenciador de memória
• Alguns SOs utilizam o conceito de memória
virtual que nada mais é que a simulação de
uma memória p
principal
p em um disco físico
(HD).
Adriano Mauro Cansian
36
G
Gerenciador
i d d
de memória
ói
• Vários sistemas operacionais usam
memória virtual,
virtual, que possui 3 funções
básicas:
– assegurar que cada processo tenha seu próprio
espaço de
d endereçamento
d
t para evitar
it ou resolver
l
o
problema de realocação;
– prover proteção
t ã da
d memória
ó i para impedir
i
di que um
processo utilize um endereço de memória que não
lhe pertença;
– possibilitar que uma aplicação utilize mais
memória do que a fisicamente existente.
existente
Adriano Mauro Cansian
37
Sistema de arquivos
• Um sistema de arquivos é um conjunto de estruturas
lógicas e de rotinas, que permitem ao sistema
operacional
i l controlar
l o acesso ao disco
di
rígido.
id
• Existem diversos sistemas de arquivos diferentes, que
vão desde sistemas simples como o FAT16
FAT16,, que
utilizamos em cartões de memória, até sistemas como
o NTFS, EXT3 e ReiserFS,
ReiserFS, que incorporam recursos
muito
it mais
i avançados.
d
Adriano Mauro Cansian
38
Sistema de arquivos
Adriano Mauro Cansian
39
Sistema de arquivos
• Sistemas de arquivos utilizados pelo Windows:
FAT16, FAT32, NTFS.
• Sistemas de arquivos utilizados por sistemas Unix:
Ext2, Ext3, ReiserFS
ReiserFS,, XFS, etc.
Adriano Mauro Cansian
40
Sistema de arquivos
Adriano Mauro Cansian
41
Compiladores e interpretadores
Compiladores e interpretadores
• Como já
já dito anteriormente, são:
– Softwares especiais que traduzem ou
interpretam os programas escritos em diferentes
linguagens de programaç
programação
ão..
– Dão origem
g aos aplicativos.
p
– Estes softwares especiais e as linguagens de
programaç
programa
ção ser
serão
ão discutidos mais adiante.
adiante
Adriano Mauro Cansian
43
Softwares aplicativos
Softwares “prontos
prontos””, para uso geral e
especíífico.
espec
Básicos
Sistemas
Operacionais
Aplicativos
Utilitários
G i
Gerais
Editor de textos
Planilhas
eletrônicas
l t ô i
Adriano Mauro Cansian
E
Específicos
ífi
Bancos de dados
45
Software Aplicativo Geral
• Editores de textos.
• Planilhas eletrônicas.
• Software de e
e--mail (Pegasus
(Pegasus,, Outlook,
Thunderbird).
Thunderbird
).
• Navegador
N
d d
de IInternet
t
t (browsers
((b
b
browsers).
)
).
• Softwares para tocar áudio e vídeo.
• Instant messengers ou Comunicação
Comunicação
instantânea (MSN, ICQ, etc…)
etc…)
• Compartilhamento
p
de música ((kazaa
kazaa,, e-donkey
donkey,
y,
Napster,, etc…)
Napster
etc…)
• Gerenciadores de projetos.
• Muitos outros…
Adriano Mauro Cansian
46
Planilhas Eletrônicas
A B C D E F G H I
Adriano Mauro Cansian
47
Bancos de Dados
Adriano Mauro Cansian
48
Pacotes Integrados
Planilhas
Pl ilh
Banco de Dados
Editores de Texto
Organizador de grupo de
trabalho
Adriano Mauro Cansian
49
Correio Eletrônico
!
ELETRONIC - MAIL
EDI
!
Adriano Mauro Cansian
50
Browsers ou navegadores
Adriano Mauro Cansian
51
Software aplicativo espec
específico
ífico (1)
• Desenvolvido ““sob
sob--medida
medida”.
”.
– Desenvolvido
D
l id pelo
l programador,
d para aplicações
li õ
específicas.
• Exemplos:
–
–
–
–
Controle de processos.
Operações especiais
especiais.
Cálculos especiais.
Muitos outros…
• Software adaptado às necessidades do usuário ou
do sistema a ser controlado.
Adriano Mauro Cansian
52
Software aplicativo
p
espec
específico
p ífico ((2))
„ Programa
café
=
+
Adriano Mauro Cansian
53
Até
At
é aqui vimos:
• Caracter
Características
ísticas lógicas dos sistemas
computacionais,
t i i e sua relação
l ã com os
softwares
– Softwares básicos
• Sistema operacional
• Compiladores e interpretadores
– Softwares aplicativos
• Gerais
• Específicos
Adriano Mauro Cansian
54
Nossos pr
próximos
óximos passos
• Veremos as linguagens de programa
programação
ção..
• Come
Começaremos
çaremos a estudar os algoritmos.
• E,
E depois,
depois começaremos a aprender a
programar…
programar
…
• Are you ready ?? ;;-)
Adriano Mauro Cansian
55
Este material tem
fin al id a de merame n te educac io n al e ˇ tot a lme n te
GR A T U IT O . Estas notas de au la po d e m c on ter fig u ras o u te x to s e x tr a ’dos
dos d e
outras fontes , as qua is, quan d o oc o rr e re m , ser‹ o dev id a m ent e c itada s . O s
d ire itos auto ra is dos te x tos c itados s‹o de propr ie dade de seus deten tores .
Esta n‹o ˇ u
m a obra c o m erc ia l. A ci ta ¨ ‹ o o u uso d e material d e o u tro s
a u tore s , qua n d o o correr, tem fi n al idade m erame n te d id‡ti c a. Ne m o a utor ,
ne m a UNESP,
UNESP se responsab
b
ili za m por qu aii squer danos
d
d iretos
i t
ou ind
i d ir
i eto
t s
que o uso de s te m ater ia l possa eventua
lm e n te caus a r. Este m ater ia l pod e se r
cop iado li vr e m ente , desde que c ita das to d as as fonte s , e r espe ita d os o s
detent o res dos d ire itos au tora is, e d esde q ue o m at e ria l se ja d istr ibu’do p o r
inte iro e n‹o e m p a rtes, inc lus ive co m os p ref‡c ios. A refe r nc ia a qua lq u e r
produt
d t o co m erc ia
i l e spec’f
’f ico
i , m a rca, m o d e lo,
l
esta
t b e lec
l im
i e n to
t
c o m erc ia
i l,l
processo
ou s e rv i¨o, at ravˇs de n o m e co m erc ia l, m ar c a reg ist rada, n o m e d e
fabr icant e , fo rnece d or , ou no m e d e e m p res a , necess a ria m e nte N Ģ O const itu i
ou ins inua seu endosso, rec o m enda ¨ ‹o, ou favorec im e nto por par te da UNES P
ou do aut o r. A UNESP ou o autor n‹o e n dossa m ou reco m e nda m m arcas ,
produto s , estabe lec im entos co m erc ia is, serv i¨os ou fornece d ores de qua is q ue r
espˇc ies, e m nenh u m a h ip —tese. As eve n tua is m arcas e paten tes m enc ionada s
s‹o de p ropr ie d ade e x c lus iva dos det e nto res or ig ina is dos s eus d ire it os e ,
quando c ita das, a p arec e m m e ra m e n te e m car‡ter info rm at ivo, p a ra au x ilia r o s
part ic ipan
p
p
tes do c u rso, n u m a ba s e de b oa -fˇ p b li ca. Os p
part ic ip
p antes o u
outros int e ressados
de ve m ut ili zar es tas inf o rm a¨›es
p o r sua conta e r is c o, e
estare m c ientes d esta n o tifica¨‹o.
Este material é parcialmente baseado nos slides “Introducão à Informática Histórico e
Evolução””.
Evolução”.
Evolução
” © Copyright 2004 - Prof.Luiz
Prof Luiz Affonso Henderson Guedes de Oliveira,
Oliveira Prof.
Prof
Kliger Kissinger F. Rocha Prof. Valnaide Gomes Bittencourt. UFRN - Universidade
Federal do Rio Grande do Norte / Centro de Tecnologia. Departamento de Computação
e Automação. Todos os direitos reservados aos autores.
autores.
Adriano Mauro Cansian
56
Download