Você está na página 1de 36

SISTEMAS OPERACIONAIS

Prof. Eduardo Zambon


EMENTA
A disciplina apresenta os conceitos fundamentais de um sistema
operacional sob o ponto de vista do seu gerenciamento, destacando
como o sistema operacional percebe e reage aos eventos do ambiente.
Apresenta de forma prática a instalação, configuração e gerenciamento
do computador.

OBJETIVOS
* Conceituar os tipos de sistemas operacionais conhecendo o seu
funcionamento.

* Apontar o melhor sistema operacional baseado nos conceitos de


funcionalidade e nas necessidades do usuário.

* Instalar e configurar um sistema operacional.

* Conhecer as ferramentas de gerenciamento do sistema operacional.


SUMÁRIO
1- SISTEMAS OPERACIONAIS- INTRODUÇÃO

2- BREVE HISTÓRICO

3. FUNCIONAMENTO DE UM SISTEMA OPERACIONAL

4. GERENCIAMENTO DE MEMÓRIA E MEMÓRIA VIRTUAL

5. GERENCIAMENTO DE PROCESSOS

6. PRINCÍPIOS DE ENTRADA/SAÍDA

7. SISTEMAS DE ARQUIVOS

8- REFERÊNCIAS BIBLIOGRÁFICAS

.
SISTEMA OPERACIONAL
De acordo com Tanenbaum (2008),
O Sistema Operacional é responsável por gerenciar todos os dispositivos de
um sistema computacional, proporcionando ao usuário uma interface mais
simples com o hardware.

Tanaembaum (2008, p.1)


Tanaembaum (2008, p.3)
BREVE HISTÓRICO

1º GERAÇÃO (1945 – 1955) 2º GERAÇÃO (1955 – 1965)


Enormes e a válvulas, utilizavam Computadores de Grande Porte
programação por painel e (mainframes), desenvolvidos com
posteriormente por cartões transistores, executavam sistemas
perfurados. em lote (batch).

Disponível em: http://www.computerhistory.org/timeline/?category=cmptr Imagem disponível em: http://ibm-1401.info/NewRoom-090-.jpg


3º GERAÇÃO (1965-1980) 4º GERAÇÃO (1980- ATUALMENTE)
Com a evolução da eletrônica e da Os circuitos integrados passaram a
programação, surgiram conter milhares de transístores,
computadores mais rápidos e aptos a possibilitando o surgimento dos
multiprogramação. IBM OS/360 microcomputadores pessoais. Surgiu
ocupava a CPU quase 100% do então o IBM-PC com o sistema
tempo. operacional MS-DOS.

Imagem disponível em: http://www.snipview.com/q/OS/360_and_successors Imagem disponível em: http://windows.microsoft.com/pt-br/windows/history#T1=era0


SISTEMAS OPERACIONAIS - INTRODUÇÃO
Tipo de S.O. Características Aplicação S.O.

Computadores Modernos, Computadores, Linux, Windows XP,


pessoais multiprogramação, notebooks MAC/OS
multiprocessamento
Servidores Multiusuários, Servidores Solaris, Linux,
compartilham Windows Server
recursos em rede,
multiprocessamento
Dispositivos Móveis Avançada com Palm, Tablet e Palm OS, Sybian OS,
funções limitadas Smartphone Android

Embarcados Funções específicas Microondas e dvds QNX e VxWorks

Nós Rede de sensores Diversas TinYos

Tempo Real Resposta imediata Controle Industrial , E-Cos


Aniônica, etc

Fonte: adaptado de Tanenbaum (2008)


KERNEL OU NÚCLEO DO SISTEMA
É um conjunto de rotinas que proporcionam serviços ao usuário e as
aplicações.

PRINCIPAIS FUNCIONALIDADES DE UM SISTEMA OPERACIONAL

Imagem disponível em: http://www.ime.usp.br/~adao/eso.pdf


CHAMADA DE SISTEMA (SYSTEM CALL)
A chamada de sistema é o relacionamento entre os programas e aplicativos
com o kernel do sistema operacional.
O mecanismo de system call verifica os privilégios de uma aplicação ao
chamar uma determinada rotina.

Imagem disponível em: http://www.ime.usp.br/~adao/eso.pdf


ARQUITETURAS DE SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS MONOLÍTICOS


Todas as rotinas compõem um único programa executável, operam em modo
núcleo e se inter-relacionam sem restrições. Exemplos de S.O.: UNIX e DOS.
Vantagens: Simplicidade e desempenho.
Desvantagens: Desenvolvimento e manutenção muito difíceis.

Imagem disponível em: http://www.ime.usp.br/~adao/eso.pdf


SISTEMAS OPERACIONAIS EM CAMADAS
A camada mais baixa se comunica com o hardware, as camadas
intermediárias são responsáveis pelo gerenciamento e a camada superior é a
interface de comunicação entre o núcleos e as aplicações “system calls”.
Exemplos de S.O. fortemente estruturados: IBM OS/2 e o MULTICS.
Vantagens: Hierarquia de níveis de modo de acesso e facilita a manutenção e
depuração.
Desvantagens: Desempenho menor.

Imagem disponível em: http://www.ime.usp.br/~adao/eso.pdf


SISTEMAS OPERACIONAIS MICRONÚCLEO
Altamente confiável, apenas um módulo extremamente pequeno é executado
no modo núcleo os demais executam como processos de usuários. Exemplos
de S.O. (Tempo Real): QNX e Mach.
Vantagens: Flexibilidade, portabilidade e fácil manutenção.
Desvantagens: Implementação difícil.

Fonte: MAZIERO (2013, P.22)


MÁQUINAS VIRTUAIS

Máquina virtual de aplicação


Tem a função de suportar um processo específico. Exemplo: Máquina Virtual
Java.
Máquina virtual de sistemas
A função das máquinas virtuais de sistema é possibilitar a instalação de um ou
mais sistemas operacionais em um mesmo hardware. Exemplo: VirtualBox.
Vantagens: Total isolamento entre as VMs.
Desvantagens: Estrutura muito complexa.

Fonte: MAZIERO (2013, P.24)


GERENCIAMENTO DE PROCESSOS

PROCESSO
De acordo com Tanenbaum (2003, p.53), o processo pode ser visto como a
abstração de um programa em execução. Sistemas multitarefas, podem ter
vários processos usando a CPU ao mesmo tempo.

SUBPROCESSOS
Subprocessos são gerado a partir da divisão de um processo principal (pai).
Porém aumentado a utilização de subprocessos perde-se muito tempo na
criação e exclusão dos mesmos. Daí surgiu o conceito de Thread.

OS PROCESSOS PODEM ASSUMIR TRÊS ESTADOS:


Execução: utiliza a CPU.
Bloqueado: aguardando algum recurso, exemplo, leitura do disco.
Pronto: ocupará a CPU, aguardando a finalização de outro processo.
THREAD
Segundo Tanenbaum (2003), as threads são consideradas processos mais
leves e representam uma entidade básica de utilização da CPU.
Cada processo possui ao menos um Thread.

EXEMPLO DE ATUAÇÃO DA THREAD:


Imagine um processo de uma planilha eletrônica, Esse processo poderia
utilizar três Threads, uma para cuidar da interação com usuário, outra para
cuidar do processo de backup automático e outra para realizar os cálculos
matemáticos da planilha.

Fonte: Tanenbaum (2003, p.61)


ESCALONADOR
Faz parte do sistema operacional e é o responsável por gerenciar os processos
que ganharão a CPU. Tal escalonador baseia-se em algoritmos para o
escalonamento dos processos.

Fonte: Tanenbaum (2009, p.54)

ESCALONAMENTO PREEMPTIVO
O sistema interrompe um processo em execução para que outro com maior
prioridade ganhe a CPU.

ESCALONAMENTO NÃO-PREEMPTIVO
O processo que ganha a CPU não é tirado por nenhum outro processo.
ALGORITMOS DE ESCALONAMENTOS DE PROCESSOS

FIFO – FIRST-IN-FIRST-OUT (primeiro a chegar primeiro a ser atendido)

ROUND ROBIN (RR)


Os processos são executados na ordem de FIFO, porém se ao término de seu
QUANTUM o processo ainda não tenha finalizado, ele será interrompido
(preempção) e entrará em estado de Pronto no final da fila.

SHORTEST-PROCESS-FIRST (SPF) / (SJF) PROCESSO MAIS CURTO PRIMEIRO


Não-preemptivo e é utilizado em sistemas em Batch (lote).

SHORTEST-REMAINING-FIRST (SRF) MENOR TEMPO DE EXECUÇÃO RESTANTE


Utiliza a preempção, pois conforme chegam processos menores pode bloquear o
processo atual em execução.

MÚLTIPLAS FILAS, OU FILAS MULTINÍVEIS DE RETORNO


Esse algoritmo atribui classes de prioridades, essas classes possuem Quantum
diferentes. Processos menores entram na fila de quantum menor e processos
maiores entram na fila de quantum maiores.
GERENCIAMENTO DE MEMÓRIA

HIERARQUIA DE MEMÓRIAS

Fonte: MAZIERO (2013, P.4)

ENDEREÇOS LÓGICOS E FÍSICOS


Os endereços de memória gerados pelo
processador à medida em que executa
algum código são chamados de
endereços lógicos. A MMU faz a análise
dos endereços lógicos emitidos pelo
processador e determina os endereços
físicos correspondentes na memória da
máquina. Fonte: Tanenbum (2008, P.115)
MONOPROGRAMAÇÃO OU GERENCIAMENTO DE MEMÓRIA SEM
SWAPPING
Os processos a serem executados ficam na memória principal.
A memória era compartilhada entre o programa e o sistema operacional, esse
modelo era empregado em computadores de grande porte, porém hoje
praticamente não é mais utilizado.

MULTIPROGRAMAÇÃO
Nesse modelo de gerenciamento existe a necessidade de transferência de
processos ente a memória principal e o disco durante a execução do sistema.
MODELO GERENCIAMENTO DE MEMÓRIA COM PARTIÇÕES FIXAS

Filas separadas Fila única

Fragmentação interna
Fonte: Tanenbaum (2003, p.141) Fonte: Tanenbaum (2003, p.141)

Fonte: Deitel, Deitel e Choffnes (2005, p.249)


MODELO GERENCIAMENTO DE MEMÓRIA COM PARTIÇÕES VARIÁVEIS
Fragmentação externa

Compactação
Fonte: Deitel e Choffnes (2005, p.250) Fonte: Deitel e Choffnes (2005, p.250)

Fonte: Deitel e Choffnes (2005, p.250)


MULTIPROGRAMAÇÃO POR TROCA DE MEMÓRIA (SWAPPING)

SWAPPING
Possibilita a alternância do processos ente memória principal e disco,
inclusive podendo alterar os endereços da memória alocado anteriormente a
um processo.

Fonte: Tanenbaum (2008, p.111)


MEMÓRIA VIRTUAL
Possibilita o carregamento de programas maiores que a memória física
principal. Utiliza o disco (memória secundária) como extensão da memória
principal. A memória virtual utiliza:
Endereço físico = endereço real
Endereço virtual = endereço lógico

PAGINAÇÃO
É uma técnica que consiste em dividir o espaço de endereçamento virtual em
unidades.

SEGMENTAÇÃO
É uma técnica que não utiliza os endereços mínimo e máximo para delimitar o
espaço contínuo que os programas e seus dados podem ser executados. Isso
permite que os programas sejam executados de seus endereços reais
segmentados.
DISPOSITIVOS DE ENTRADA E SAÍDA
Os dispositivos de entrada e saída são controlados pelo sistema operacional
por meio de controladores de dispositivos a fim de proporcionar aos usuários
uma interface mais amigável.
Dispositivos de entrada: teclado, mouses, scanner, dentre outros.
Dispositivo de saída: impressora, monitor, dentre outros.

Fonte: Tanenbaum (2003, p.217)


De acordo com Tanenbaum (2003),
A realização de uma operação de E/S pode ser feita de três maneiras
diferentes:

E/S programada: Consiste em ter o processador dedicando-se totalmente ao


periférico enquanto durar a comunicação.

E/S orientada por interrupção: Quando um dispositivo de E/S finaliza o seu


trabalho, gera uma interrupção, sinalizando ao processador que pare o que
está processando para atender a essa interrupção.

E/S usando DMA: O controlador de DMA faz todo o trabalho de transferência


de dados de um dispositivo de E/S no lugar do processador principal. O DMA
diminui as interrupções que chegam ao processador principal,
proporcionando um desempenho global melhor.
FUNCIONAMENTO DMA

Fonte: Deitel, Deitel e Choffnes (2005, p.40)


SISTEMAS DE ARQUIVOS

Sistemas de arquivos é a interface que cuida dos arquivos no sistema


operacional.

ARQUIVOS
Quando um processo cria um arquivo, ele precisa informar o nome desse
arquivo a fim de que outros processos possam acessá-lo através do nome
definido. Para a nomeação dos arquivos existem regras especificas de cada
sistema operacional.
O Linux é case sensitive e não necessita que o arquivo contenha a extensão.
O Windows exige que exista a extensão vinculada ao arquivo.

ATRIBUTOS DE ARQUIVOS
Os arquivos possuem vários atributos que dentre outras funções definem:
controle de acesso, tamanho máximo , ocultação, senha e data do último
acesso.
ESTRUTURA DE ARQUIVOS

Os arquivos podem ser estruturados de três maneiras:


Sequência "desestruturada" de bytes;
Sequência de registros de tamanho fixo;
Árvore de registros.

Fonte: Tanenbaum (2003, p.288)


DIRETÓRIOS
São utilizados pelos sistemas de arquivos para gerenciar os arquivos, podem
existir diretórios sem arquivos, com centenas de arquivos e diretórios dentro
de outros diretórios.

Sistema de diretório de arquivos em nível único ficou no passado.

Os sistemas operacionais modernos utilizam o sistema de diretórios


hierárquicos. Nesse sistema os usuários tem seus diretório exclusivos, dessa
forma permitindo-lhes criar a suas próprias hierarquias.

Fonte: Tanenbaum(2008, p.167)


NOMES DE CAMINHOS

Para a manipulação dos arquivos dentro de um sistema hierárquico de


diretório, precisamos especificá-los. Para isso dois métodos são utilizados, em
que, para cada arquivo, podem ser dados o nome de caminho absoluto e o
nome de caminho relativo.

Nome de caminho absoluto: Exemplo em Linux /usr/ast/caixapostal


Nesse caso o diretório-raiz contém um subdiretório usr, que contém outro
subdiretório ast que contém uma arquivo chamado caixapostal.

Nome de caminho relativo: Exemplo suponha que o diretório atual seja /usr/
ast o nome de caminho relativo para o arquivo caixapostal é simplesmente
ele mesmo “caixapostal”.
ESQUEMA DO SISTEMA DE ARQUIVOS

Os sistemas de arquivos são armazenados em discos e o setor 0 é


denominado MBR (Master Boot Record). O fim do MBR contém uma tabela
que indica os endereços de início e fim de cada partição disponível no disco.

O sistema de arquivos pode conter alguns itens presente na figura abaixo:

Fonte: Tanenbaum (2008, p.169)


A questão fundamental é como é feito o controle de quais blocos de discos
estão relacionados a quais arquivos. Vários métodos diferentes são utilizados
nos diversos sistemas operacionais

ALOCAÇÃO CONTÍGUA

Fonte: Tanaenbaum (2008, p.170)


O segundo método é o de alocação por lista encadeada, em que a primeira
palavra de cada bloco é usada como um ponteiro para um próximo. Como
desvantagem está o fato da leitura ser sequencial e os blocos estarem
dispostos aleatoriamente.

Fonte: Tanenbaum (2008, p.171)

I-NODE
Relaciona os atributos e os endereços físicos de arquivos em disco.
Vantagem: esse método só utiliza a memória quando o arquivos está aberto.
E O FUTURO DOS SISTEMAS OPERACIONAIS ?
SISTEMA OPERACIONAL PARA ROBÔS

Atualmente existe uma linha de pesquisa voltada para o desenvolvimento de


um sistema operacional comum para os robôs.
Uma das propostas é o ROS – Robot Operating System baseado em Unix que
roda no Linux e no Mac/OS sob a licença open-source.

INTEL GALILEU: processador Quark IOIO OTG: microcontrolador PIC /


32bits 400Mhz / Arduino Uno. suporta aplicativos Android.

Imagem disponível em: http://www.intel.com.br Imagem disponível em: https://www.sparkfun.com/tutorials/280


REFERÊNCIAS BIBLIOGRÁFICAS
DEITEL, H. M.; DEITEL, P. J.; CHOFFNES, D. R. Sistemas operacionais. 3. ed. São Paulo: Pearson,
2005.

GALILEO. Placa de Desenvolvimento Intel. Disponível em:


<www.intel.com.br/content/www/br/pt/do-it-yourself/galileo-marker-quark-board.html>. Acesso
em: 17 de ago. de 2015.

IOIO OTG. Disponível em: <www.sparkfun.com/turorials/280>. Acesso em: 17 de ago. de 2015.

MAZIERO C. A.. Sistemas Operacionais: Conceitos e Mecanismos. Disponível em:


<http://dainf.ct.utfpr.edu.br/maziero >. Acesso em: 16 ago. de 2015.

NETO A. M.. Estrutura dos Sistemas Operacionais. Disponível em:


<http://www.ime.usp.br/~adao/eso.pdf >. Acesso em: 14 de ago. de 2015.

ROS. Robotic Operating System. Disponível em: <www.ros.org>. Acesso em: 17 de ago. de 2015.

TANENBAUM, A. S. Sistemas operacionais modernos, 2. ed. São Paulo: Prentice Hall, 2003.

TANENBAUM, A. S. Sistemas Operacionais Modernos, 3. ed. São Paulo: Prentice-Hall, 2008.

Você também pode gostar