Você está na página 1de 60

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

05 de abril de 2022
Introdução
O Sistema Operacional (SO) é o primeiro programa que a máquina executa no
momento em que é ligada e, a partir de então, não deixa de funcionar até que o
computador seja desligado.

• Ele atua como um intermediário entre o u su á r i o s

usuário de um computador e o hardware do


computador Si st e m a O p e r a ci o n a l

Har dwar e
Finalidade

programadores e usuários programas,


Fornecer um ambiente no qual o usuário
analistas sistemas e
aplicativos possa executar programas
Usuários

Sistema Operacional

memória discos

Hardware
fitas
UCP

impressoras monitores
Definição

Um SO, por mais complexo que possa parecer, é apenas um programa ou um


conjunto de programas cuja função é gerenciar os recursos do sistema: definir
qual programa recebe atenção do processador, gerenciar memória, criar um
sistema de arquivos etc., além de fornecer uma interface entre o computador e o
usuário.
Observação

• Um SO não é executado de forma linear como a maioria das aplicações,


com início, meio e fim.

▫ Suas rotinas são executadas concorrentemente em função de eventos


assíncronos, ou seja, eventos que podem ocorrer a qualquer momento

O SO reveza sua execução com a de outros programas, como se estivesse vigiando,


controlando e orquestrando todo o processo computacional.
Evolução Histórica
Exemplos de Sistemas Operacionais
Existem basicamente quatro tipos populares de sistemas operacionais


Unix
– Um dos primeiros sistemas operacionais portáveis

Linux
– Sistema operacional sobre licença GPL com diversas distribuições
● Windows
– Sistema Operacional comercial amplamente utilizado
● MAC OS
– Sistema Operacional desenvolvido para dispositivos apple
Familia Microsoft
MS-DOS (MicroSoft Disk Operating Systems)

• Uso de interface de linha de comando


• Amplamente substituido por interfaces gráficas
• Não é amigável
Microsoft Windows
• Iniciou-se como um ambiente operacional para o MSDOS;
• Não era um sistema operacional completo; necessitava do MS-DOS;
• Usa uma interface gráfica;
• Os usuários podem usar os comandos e a interface do DOS;
• Agora é uma família completa de sistemas operacionais
Windows 1.01
Windows 2.03
Windows 3.0
Windows 3.1
Windows 3.1

• Uma camada adicionada “por cima” do DOS. Separa o sistema


operacional do usuário.
• Torna o sistema operacional mais fácil de usar. Denomina-se shell.
Windows NT 3.1 (New Technology)
Windows 95
Windows 95

• Tornou-se um sistema operacional


independente;
• Interface gráfica (GUI);
• O usuário dá um clique em um
ícone para executar tarefas.
Windows 98
Windows 98
• Capacidades para navegação na Internet/intranet.
• Suporte para hardware de última geração, inclusive DVD e multimídia. Suporte para
unidades de disco de enorme capacidade.
• Assistentes: software passo a passo para instalar, configurar e usar software.

Windows Millenium Edition (Me):

• Suporte para multimídia: Media Player, edição de vídeo;


• Maiores recursos de confiabilidade; Suporte para redes domésticas
Windows 2000
Windows 2000

• Um computador “serve” a muitos usuários: Você se identifica e o sistema sabe


suas preferências e obtém “sua” área de trabalho e arquivos,
independentemente de qual PC usa para acessar a rede;
• Tem três versões: Windows 2000 Server para redes comerciais;
• Windows 2000 Server Advanced para aplicação de e-commerce;
• Windows 2000 Datacenter para rede de grande escala
Windows XP (eXPerience)
Windows XP (eXPerience)
• Reúne em um único produto as versões corporativas e aquelas destinadas ao consumidor do
Windows, com isso, possui a versão doméstica (Home) e a profissional (Professional);
• Melhor interface com o usuário: Área de trabalho muito mais clara e desobstruída; mais
ícones no menu Iniciar redesenhado;
• Melhor suporte para multimídia.
• Mais personalização;
• Suporte e proteção para a Internet;
• Suporte para múltiplos usuários: O usuário pode sair do sistema, deixar programas rodando e
permitir que outro usuário entre no sistema e cria contas limitadas para crianças usarem, ou
seja, sem jogos inadequados e sem acesso à Internet.
Windows Vista
Windows Vista
• Novo sistema gráfico - A ferramenta Aero, disponível na versão Ultimate do Windows
Vista, deixa o desktop agradável aos olhos, com suas janelas transparentes que trazem
suave movimentação;
• Uma melhor navegação;
• Segurança no Windows Vista - Firewall reformulado, nova ferramenta para detecção de
spywares, Central de Segurança renovada, detalhada função para “Controle dos Pais” e
ferramenta antiphishing no Internet Explorer 7;
• Novos softwares integrados – SideBar (instalação de pequenos aplicativos), Calendário (emula
a eficiente função de agenda do software de gerenciamento de e-mails), CardSpace (catalogar
e classificar cartões de visitas) e Media Center (controlar e reproduzir filmes, músicas e sinais
de TV e rádio a partir do PC ).
Windows 7

• Melhorias quanto à acessibilidade e


operacionalidade pelo usuário;
• Suporte a sistemas de 64 bits;
• Windows Touch (necessita do hardware
Linux


Mais estável que o Windows
Usa interface de linha de comando, mas muitas companhias criaram
interface gráfica para esse sistema

Conceito de fonte aberta: O código-fonte é livre. Assim os
usuários podem baixar, modificar e distribuir o software.

Versões diversas: Conectiva (braço brasileiro da Mandriva), Kurumin (brasileira),
Debian BR CDD (brasileira), Debian, Fedora, Gentoo, Knoppix, Mandriva, Red
Hat, Slackware, SUSE, Ubuntu, Yellow Dog Linux (para Mac);
O Linux adota a GPL, uma licença livre que aliado a diversos outros softwares
livres, como o KDE, o GNOME, o Apache, o Firefox, os softwares do sistema

GNU e o OpenOffice.org, o Linux pode formar um ambiente moderno, seguro e
estável para desktops, servidores e sistemas embarcados;
Linux - Distribuições
MAC OS
MAC OS
● Projetado para o computador Macintosh;

Primeira GUI bem-sucedida comercialmente. Serviu como modelo para o
Windows e outros produtos GUI desenvolvidos a partir de então
Mac OS e Mac OS X
✓ Mac OS X - 2001
✓Mac OS - 1984

✓Mac OS Snow - 2010


Papel do Sistema Operacional
• O Sistema Operacional controlar o hardware e coordenar seu uso pelos diversos
programas aplicativos de vários usuários
Usuário 1 Usuário 2 Usuário 3 Usuário n
...

Compilador Editor de Browser Quake


texto

Sistema Operacional (infraestrutura)


Sistema Computacional

Hardware
Papel do Sistema Operacional (cont.)
• Sistema Computacional:
▫ Hardware (CPU, memória e dispositivos de I/O)
fornece os RECURSOS BÁSICOS de computação do sistema
▫ Sistema Operacional
▫ Programas aplicativos
definem as formas pelas quais esses recursos são utilizados para resolver os
problemas computacionais dos usuários
▫ Usuários
Papel do Sistema Operacional (cont.)
Papel do SO – ponto de vista do Papel do SO – ponto de vista do
Computador Usuário

• Programa mais intimamente envolvido • PC projetado para um único usuário: SO


com o hardware projetado para facilidade de uso
▫ Alocador de recursos: administra e aloca recursos • Terminal conectado a um mainframe, no qual, outros
(tempo de CPU, espaço de memória, espaço de usuários acessam o mesmo computador por intermédio de
armazenamento em disco, dispositivos de I/O – outros terminais: SO projetado para maximizar o uso de
input/output, entre outros) necessários a resolução de um recursos
problema ▫ assegura que todo o tempo de CPU, memória e I/O
▫ Programa de controle: gerencia a execução dos disponíveis sejam utilizados eficientemente e que
programas de usuário para evitar erros e o uso impróprio nenhum usuário individual ocupe mais do que sua cota
do computador. Se preocupa principalmente com a • Estações de trabalho conectadas a rede com outras estações
operação e o controle de dispositivos de I/O de trabalho e servidores: SO projetado para estabelecer um
compromisso entre usabilidade individual e utilização de
recursos
Importante saber:

• Para que um computador comece a operar, precisa dispor de um programa inicial para
executar (programa bootstrap)

▫ Programa armazenado na ROM (BIOS – Basic Input Otput System)


▫ Inicializa todos os aspectos do sistema, dos registradores da CPU, dos controladores de
dispositivos e conteúdos da memória
▫ Necessita saber como carregar o SO e como iniciar sua execução
 Programa deve alocar e carregar na memória o kernel (núcleo) do SO. O SO começa a executar o
primeiro processo e aguarda que ocorra algum evento interrrupção de hardware ou software
(chamada de sistema)
Em outras palavras
• A chamada de sistema (system call) é o mecanismo programático pelo qual um programa
 solicita um serviço do núcleo do SO sobre o qual ele está sendo executado. Isto pode
incluir serviços relacionados ao hardware. Chamadas do sistema fornecem uma interface
essencial entre um processo e o sistema operacional.
• O Kernel é parte do sistema operacional residente na memória e quando necessário
carrega outros programas
▫ Muitas funções dos SOs são ocultas, mas o usuário interage diretamente com o SO através da interface
de linha de comando ou da interface gráfica não residentes na memória.
Interface de linha de comando
O usuário controla o programa digitando comandos no prompt
Interface gráfica

Aparecimento de janelas, menus,


pastas, lixeira simulando um
ambiente de escritório real
Tipos de Sistemas Operacionais

Sistemas
Operacionais

Monoprogramáveis/ Multiprogramáveis/ Múltiplos Processadores


Monotarefa Multitarefa
1. Sistemas Monoprogramáveis/Monotarefa
• Sistema voltado a execução de um único
programa/tarefa (primeiros SOs – década de 60 e 70)
▫ Qualquer outra aplicação, para ser executada, deve
aguardar o término da corrente

UCP • Processador, memória e periféricos exclusivamente


programa/
tarefa dedicados a execução de um único programa
• Tarefa do SO passa a ser unicamente transferir o
Memória Dispositivos de
controle de um job (programa e dados) para outro
Principal E/ S
• Desvantagem: memória subutilizada, processador
ocioso
2. Sistemas Multiprogramáveis/Multitarefa

• Implementa o conceito de Multiprogramação:


▫ SO mantém vários jobs na memória simultaneamente, e a CPU é dividida entre eles
 Parte deles fica em uma fila de jobs no disco (todos os processos residentes em disco
aguardando alocação na memória principal)
▫ SO seleciona e começa a executar um dos jobs na memória
 Se job pode ter de aguardar que alguma tarefa seja concluída
 SO passa para um novo job e o executa
▫ Se job tem que aguardar, CPU seleciona outro job e assim por diante  CPU nunca ficará ociosa
2. Sistemas Multiprogramáveis/Multitarefa (cont.)

Sistemas Multiprogramáveis/ Multitarefa


fornecem um ambiente em que os diversos
recursos do sistema (p. e., CPU, memória e programa/ UCP programa/
tarefa tarefa
dispositivos periféricos) são utilizados
eficientemente Memória Dispositivos
Principal de E/ S

programa/ programa/
tarefa tarefa

programa/
tarefa
Sistemas Multiprogramáveis/Multitarefa X Sistemas
Monoprogramáveis/Monotarefa
Sistemas
Monoprogramados

Sistemas
Multiprogramados
Sistemas Multiprogramáveis/Multitarefa (cont.)

• A partir do número de usuários que interagem com o sistema, os sistemas


multiprogramáveis são classificados como:
▫ Monousuário
▫ Multiusuário

Um usuário Dois ou mais


usuário
Sistema Monoprogramado Monousuário Não
Sistema Multiprogramado Monousuário Multiusuário
Sistemas Multiprogramáveis/Multitarefa (cont.)

• Classificados pela forma com que suas aplicações são gerenciadas

Sistemas
Multiprogramáveis/
Multitarefa

Sistemas de Tempo Sistemas de


Sistemas Batch compartilhado Tempo Real
a) Sistemas Batch
• Sistema Operacional em lote, era utilizado por terminais de máquinas de grande porte, que
reuniam um “lote de programas” para enviar para execução
• Com o passar do tempo, a palavra batch passou a designar um processo onde o usuário
não interage com o seu programa
• Todas a entradas e saídas de dados da aplicação são implementadas por algum tipo de
memória secundária
• Exemplos de aplicações:
▫ Programas envolvendo cálculo numérico
▫ Compilações
▫ Backups
▫ Outras que não exigem interação com o usuário
b) Sistemas de tempo compartilhado (Time-Sharing)

• Permitem que diversos programas sejam executados a partir da divisão do tempo do


processador em pequenos intervalos, denominados fatia de tempo (time-slice)
• Caso fatia de tempo insuficiente para conclusão do programa
▫ Programa interrompido pelo SO e substituído por outro
▫ Enquanto isso .... aguarda por nova fatia de tempo
• Sistema cria um ambiente de trabalho próprio, dando a impressão de que todo o
sistema está dedicado, exclusivamente para cada usuário
b) Sistemas de tempo compartilhado (Time-Sharing) (cont.)

• Permitem a interação do usuário com o sistema através de terminais que


incluem vídeo, teclado e mouse
▫ Usuário interage com sistema através de comandos
 Possível verificar arquivos armazenados em disco ou cancelar a execução de um
programa
▫ Sistema responde em poucos segundo a execução dos comandos
• Aplicações comerciais utilizam esses sistemas
c) Sistemas de tempo real
• Implementados de forma semelhante aos Sistemas de tempo real, exceto que:
▫ Não existe a ideia de fatia de tempo
 Programa utiliza o processador o tempo que for necessário ou até que apareça outro mais
prioritário (definida pela aplicação)

• Sistemas presentes em aplicações de controle de processos


▫ Monitoramento de refinarias de petróleo
▫ Controle de tráfego aéreo
▫ Controle de usinas termoelétricas e nucleares
▫ Qualquer aplicação onde tempo de resposta é fator fundamental
3. Sistemas com múltiplos processadores
• Caracterizam-se por possuir dois ou mais processadores interligados e trabalhando
em conjunto
• Vantagem:
▫ Vários programas executando ao mesmo tempo, ou;
▫ Mesmo programa subdividido em partes para serem executadas simultaneamente em mais
de um processador

• Possibilidade de implementação de aplicações voltadas para processamento


científico
▫ Simulações
▫ Processamento de imagens
▫ Desenvolvimento aeroespacial
3. Sistemas com múltiplos processadores (cont.)
• Características:
▫ Multiprogramação
▫ Escalabilidade
Capacidade de ampliar o poder computacional do sistema adicionando novos
processadores
▫ Disponibilidade
Capacidade de manter o sistema em operação mesmo diante de falhas
▫ Balanceamento de carga
Possibilidade de distribuir o processamento entre os diversos processadores
Partes de um Sistema Operacional
• Gerência de processos
• Gerência de memória
• Gerência de armazenamento em massa
• Gerência do sistema de arquivos
• Gerência de dispositivos
Gerência de processos
• Processo é um programa em execução
• Atividades relacionadas ao gerenciamento de processos:

▫ Escalonamento de processos e threads;


▫ Criação e exclusão de processos de usuário e de sistema;
▫ Suspensão e retomada de processos;
▫ Fornecimento de mecanismos de sincronização entre processos;
▫ Fornecimento de mecanismos de comunicação entre processos.
Gerência de memória
• Para executar programa necessita estar na memória
• Atividades relacionadas ao gerenciamento de memória:

▫ Controlar que partes da memória estão em uso corrente e quem as está


usando;
▫ Decidir que processos (ou parte deles) e dados devem ser transferidos para dentro e
fora da memória;
▫ Alocar e desalocar espaço na memória conforme necessário.
Gerência de armazenamento em massa

• Atividades relacionadas ao gerenciamento de disco:

▫ Gerenciamento do espaço livre;


▫ Alocação de espaço de armazenamento;
▫ Escalonamento de alocação de disco.
Gerência do sistema de arquivos
• Atividades relacionadas ao gerencimento de arquivos:

▫ Criar e apagar arquivos;


▫ Criar e apagar diretórios para organizar arquivos;
▫ Suportar a manipulação de arquivos e diretórios;
▫ Mapear arquivos para a memória secundária;
▫ Criar cópias de arquivos em mídias de armazenamento secundárias.
Gerência de dispositivos
• Ocultar dos usuários as peculiaridades dos dispositivos de hardware
específicos
Bibliografia
• MACHADO, Francis B.; MAIA, Luiz Paulo. Arquitetura de Sistemas Operacionais. 3. ed.
Rio de Janeiro: LTC, 2002.

• SILBERSCHATZ, Abraham, GALVIN, Peter, GAGNE, Greg. Fundamentos de Sistemas


Operacionais. 8. ed. Rio de Janeiro : LTC, 2010.

• VELLOSO, Fernando. Informática: conceitos básicos. 9. ed. Rio de Janeiro: Elsevier,


2014.

Apresentação adaptada de Sediane Carmem Lunardi Hernandes


Disponível em: http://paginapessoal.utfpr.edu.br/sedianec/disciplina-de-sistemas-operacionais/arquivos/Aula%2001%20-%20Introducao%20aos%20Sistemas
%20Operacionais.pdf

Você também pode gostar