Sistemas
Operacionais
Prof. Rafael Silva
Roteiro – Primeira Aula
• O que é um sistema operacional?
• História dos sistemas operacionais
• Conceitos dos Sistemas Operacionais
• Estrutura dos Sistemas Operacionais Tipos de
Sistemas Operacionais
Sistemas Operacionais
2
INTRODUÇÃO
• Sistema Computacional = hardware + software
Software – Dividido em dois tipos:
Programas do sistema: gerenciam a operação e
funcionamento do computador(hardware)
Programas de aplicação: programas de usuário,
aplicativos
Sistema Operacional: principal programa do
sistema, que controla todos os recursos do
computador (dispositivos físicos e funções de
software).
Sistemas Operacionais
3
DEFINIÇÃO DE SISTEMA OPERACIONAL
• “É um programa de controle do
computador. O Sistema Operacional é
responsável por alocar recursos de
hardware e escalonar tarefas. Ele também
deve prover uma interface para o usuário ele fornece ao usuário uma maneira de
acesso aos recursos do computador.”
Sobell.
Sistemas Operacionais
4
USUÁRIOS
SISTEMA
OPERACIOANAL
HARDWARE
Sistemas Operacionais
5
DEFINIÇÃO DE SISTEMA OPERACIONAL
• “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 compar-tilhamento ordenado,
a proteção dos recursos a serem usados pelas
aplicações do usuário e o interfaceamento
entre este e a máquina.” Stemmer.
Sistemas Operacionais
6
LOCALIZAÇÃO
Sistemas Operacionais
7
PRINCIPAIS ATRIBUTOS
 Coordenar Recursos (maximização do uso e
proteção dos usuários)
- Concorrência;
- Proteção de memória;
- Acesso a arquivos.
 Controle
- Interações usuário - recurso;
- Interações usuário - usuário.
 Padronização de serviços.
Sistemas Operacionais
8
SISTEMA OPERACIONAL
S.O. é a porção de software que roda em
modo kernel ou modo supervisor  protege
o hardware da ação direta do usuário.
• Os demais programas rodam em modo
usuário e fazem chamadas ao kernel para
terem acesso aos dispositivos.
Sistemas Operacionais
9
FUNÇÕES DO S.O.
• S.O. visto como máquina estendida:
Fornecer uma abstração de alto nível dos
recursos de hardware da máquina, livrando o
programador dos detalhes de funcionamento
dos mesmos.
Sistema Operacional funciona como uma máquina
virtual.
Visão top-down.
Sistemas Operacionais
10
EXEMPLO
• Fornecer uma visão dos discos como uma
coleção hierárquica de arquivos, identificados
por nomes e manipuláveis por funções de
abertura/fechamento
e
leitura/escrita,
escondendo os detalhes de acionamento dos
motores das unidades, posicionamento dos
cabeçotes, quantidade de trilhas e tamanho dos
setores dos discos.
Sistemas Operacionais
11
FUNÇÕES DO S.O.
• S.O. visto como um gerente de recursos:
Fornecer um esquema de alocação dos recursos
(processadores, memórias, I/O, etc) entre os
processos concorrentes.
Estabelecer critérios de uso dos recursos e ordem de
acesso aos mesmos, impedindo violação de espaço
de memória de processos concorrentes e tentativas
de acesso simultâneo a um mesmo recurso 
gerência e proteção dos dispositivos.
Visão bottom-up.
Sistemas Operacionais
12
TIPOS DE SISTEMAS OPERACIONAIS
• Os tipos e sua evolução estão intimamente
relacionados com a evolução do HARDWARE e
das aplicações por ele suportadas.
• A evolução dos S.O. para PCs popularizou
vários conceitos e técnicas, antes só
conhecidos em ambientes de grande porte.
Sistemas Operacionais
13
TIPOS DE SISTEMAS OPERACIONAIS
Tipos de Sistemas
Operacionais
Sistemas
Monoprogramáveis /
Monotarefa
Sistemas Operacionais
Sistemas
Multiprogramáveis /
Multitarefa
Sistemas com
Múltiplos
Processadores
14
SISTEMAS MONOPROGRAMÁVEIS /
MONOTAREFA
• Execução de um único programa (job);
• Qualquer outro programa, para ser
executado, deveria aguardar o término do
programa corrente;
• Tipicamente relacionado ao surgimento dos
mainframes;
Sistemas Operacionais
15
CPU
Programa /
Tarefa
Memórias
Dispositivos
de E/S
Sistemas Operacionais
16
SISTEMAS MULTIPROGRAMÁVEIS /
MULTITAREFA
• Mais complexos e mais eficientes;
• Vários programas dividem os mesmos
recursos;
• Aumento da produtividade dos seus usuários
e a redução de custos;
Sistemas Operacionais
17
Programa /
Tarefa
CPU
Programa /
Tarefa
Memória
Dispositivos
de E/S
Programa /
Tarefa
Sistemas Operacionais
Programa /
Tarefa
18
SISTEMAS COM MÚLTIPLOS
PROCESSADORES
• Caracterizam por possuir duas ou mais CPU’s
interligadas, trabalhando em conjunto;
• O fator chave neste tipo de S.O. é a forma de
comunicação entre as CPU’s e o grau de
compartilhamento da memória e dos
dispositivos de I/O;
Sistemas Operacionais
19
KERNEL DO SISTEMA OPERACIONAL
•
•
•
•
•
•
•
•
Tratamento de interrupções;
criação e eliminação de processos;
sincronização e comunicação entre processos;
escalonamento e controle dos processos;
gerência de memória;
gerência do sistema de arquivos;
operações de entrada e saída
segurança do sistema.
Sistemas Operacionais
20
SYSTEM CALLS
• Mecanismo de proteção ao núcleo do sistema
e de acesso aos seus serviços.
• O usuário (ou aplicação), quando deseja
solicitar algum serviço do sistema, realiza uma
chamada a uma de suas rotinas (ou serviços)
através da system calls (chamadas ao
sistema).
Sistemas Operacionais
21
SYSTEM CALL
Aplicação
Sistemas Operacionais
System Call
Núcleo
H
a
r
d
w
a
r
e
22
GRUPOS DE FUNÇÕES DO S.O.
• Gerência de Processos
– criação e eliminação de processos;
– alteração das características do processo;
– sincronização e comunicação entre processos;
• Gerência de Memória
– Alocação e desalocação de memória;
• Gerência de I/O
– Operações de I/O;
– Manipulação de arquivos e diretórios.
Sistemas Operacionais
23
Exemplos de Sistemas Operacionais e
Suas Principais Características:
Windows
O Windows é um sistema operacional gráfico, desenvolvido
pela Microsoft ®, que utiliza imagens, ícones, menus e outros
aparatos visuais para ajudá-lo a controlar seu computador.
Ele gerencia o trabalho do hardware e interage com o usuário.
Características
- Sistema operacional gráfico
- Sistema multitarefa
- Suporta Plug and Play
Windows Server 2008
Windows Server 2003
Windows 7
Windows 8
Windows 95
Windows 2000
Windows ME
Windows NT
Windows Server 2011
Windows Vista
Windows
XP
Windows 98
Linux
O Linux é um sistema operacional criado em 1991 por Linus
Torvalds na universidade de Helsinky na Finlândia. É um
sistema Operacional de código aberto distribuído
gratuitamente pela Internet. Seu código fonte é liberado como
Free Software (software gratuito) o aviso de copyright do
kernel feito por Linus descreve detalhadamente isto e mesmo
ele está proibido de fazer a comercialização do sistema.
Linux – Características
• O Linux é um software livre e é um software OpenSource;
• Convivem sem nenhum tipo de conflito com outros
sistemas operacionais (com o DOS, Windows, OS/2) no
mesmo computador (falaremos um pouco mais sobre
isso);
Linux – Distribuição
O fato de o Linux ser um sistema operacional livre faz com
que haja muitos programadores, espalhados por todo o
mundo, dispostos a melhorá-lo.
Existem distribuições para as mais diversas tarefas. As
mini-distribuições têm como objetivo desde a recuperação
de um sistema danificado até o monitoramento de uma
rede de computadores.
Linux – Interface Gráfica
Um Ambiente Gráfico é um programa que permite que o
Linux se apresente de forma amigável, como o Windows,
através de janelas, ícones, menus, e botões.
Um ambiente gráfico é considerado um aplicativo do
Linux.
Uma distribuição do Linux pode conter diversos Ambientes
Gráficos diferentes, mas os dois mais famosos são, sem
dúvida, o KDE (K Desktop Environment) e o Gnome.
História
• Primeiramente desenvolvido em 1969 por Ken Thompson e
Dennis Ritchie do grupo de pesquisas do laboratório Bell;
características incorporadas de outros sistemas operacionais.
• A terceira versão foi escrita em C, que foi desenvolvida no Bell
Labs especificamente para o UNIX.
• BSD foi o sistema Unix mais influente que não fazia parte do
Bell Labs e do grupo da AT&T UNIX e sim da Universidade da
California em Berkeley (Berkeley Software Distributions).
– 4BSD UNIX resultou do financiamento da DARPA para desenvolver
um sistema UNIX padrão para uso governamental.
– Desenvolvido para o VAX, o 4.3BSD é uma das versões principais e
foi portada para várias outras plataformas (incluindo o PC).
Versões UNIX
• Darwin, o núcleo do Mac OS X é em grande parte baseado no FreeBSD.
• OpenDarwin, um projeto completamente separado da Apple que foi inicialmente
baseado no Darwin.
• PC-BSD é uma distribuição do FreeBSD projetada para uso desktop com instalador
e gerenciador de pacotes simplificado.
• Ging é uma distribuição live CD baseada no Debian GNU/kFreeBSD, indiretamente
baseada no FreeBSD.
• FreeSBIE, similar à distribuição Knoppix do Linux. O projeto FreeSBIE também inclui
um conjunto de ferramentas para ajudá-lo a fazer seus próprios live file systems e
CDROMs FreeSBIE.
• Frenzy é outro live CD baseado no FreeBSD, direcionado principalmente para
usuários russos.
• PicoBSD é uma versão em disquete do FreeBSD.
• m0n0wall é um pacote de firewall baseado no FreeBSD.
• pfSense é um firewall/roteador basedo no m0n0wall e no FreeBSD.
• FreeNAS é um servidor NAS baseado no FreeBSD/m0n0wall.
• Gentoo/FreeBSD
Versões Mac OS
•
•
•
•
•
•
•
•
•
•
Mac OS X v10.0 "Cheetah"
Mac OS X v10.1 "Puma"
Mac OS X v10.2 "Jaguar"
Mac OS X v10.3 "Panther"
Mac OS X v10.4 "Tiger"
Mac OS X v10.5 "Leopard"
Mac OS X v10.6 "Snow Leopard"
Mac OS X v10.7 "Lion"
OS X v10.8 "Mountain Lion"
OS X v10.9 "Mavericks"
Fim deste conteúdo.
Download

Primeira apresentacao de Slides