Você está na página 1de 38

Tema

Aula III e IV : Conceitos


básicos e tipos de Sistemas
Operacionais, Concorrência,
Processos e Threads
Conceitos Básicos

• Um sistema operacional, executa duas


funções básicas:

Ø  Facilidade de acesso aos recursos do
sistema.

Ø  Compartilhamento de recursos de forma
organizada e protegida.
Visão simplificada do Usuário
De maneira geral o
c o m p u t a d o r c o m o
conhecemos hoje é
percebido pela maioria
d a s p e s s o a s s e m
d i s t i n ç ã o e n t r e o
hardware e o sistema
operacional.
Visão Completa

Na verdade precisamos
entender que existe um
conjunto muito mais
complexo para garantir a
utilização adequada de um
Sistema computacional.
Histórico

A evolução dos sistemas operacionais está, em


grande parte, relacionada ao desenvolvimento
de equipamentos cada vez mais velozes,
compactos e de custos baixos, e à necessidade
de aproveitamento e controle desses recursos.
Primeira Fase (1945 – 1955)

Logo após o final da segunda guerra mundial, os


Estados Unidos completaram o projeto do
primeiro computador Digital.

Controlado a partir de painéis, era composto por
milhares de válvulas, e tinha como principal
aplicação a realização de cálculos de balística.
Segunda fase (1956 – 1965)

A criação do transistor e das memórias


magnéticas contribui para o enorme avanço.
Surgem também as primeiras linguagens de
programação, como Assembly e Fortran, os
programas deixaram de ser feitos diretamente
no hardware.
Os primeiros sistemas operacionais surgiram,
justamente, pare tentar automatizar as tarefas
manuais.
Terceira Fase (1966 – 1980)

• Através dos circuitos integrados (CIs) e,


posteriormente, dos microprocessadores, foi
possível viabilizar e difundir o uso de sistemas
computacionais por empresas, devido a
diminuição de seus custos de aquisição.

• Além disso a capacidade de processamento
aumentou consideravelmente tornando os
computadores viáveis eficientes.
Conceitos de Hardware e Software
Um computador é um
conjunto de componentes
interligados (hardware):
Unidade central de
processamento (UCP).

Memória principal.

Dispositivos de entrada e
saída.
Conceitos de Hardware e Software
O clock e um dispositivo, localizado na UCP,
que gera pulsos elétricos síncronos em um
determinado intervalo de tempo. A frequência
do clock de um processador e medida em (Hz),
que significa o número de pulsos elétricos
gerados por segundo.

Os registradores são dispositivos de alta
velocidade, para armazenamento temporário
de dados.
Conceitos de Hardware e Software

A memória principal, também conhecida como


memória primária (RAM). Composta células,
s e n d o c a d a c é l u l a c o m p o s t a p o r u m
determinado número de bits (binary digit).

Os computadores utilizam o byte (8 bits) como


tamanho de célula.
Conceitos de Hardware e Software

A memória cache (ou auxiliar) é uma


memória volátil de alta velocidade. Se o
processador encontrar o dado na cache, não
há necessidade do acesso a memória
principal.
Apesar de ser uma memória de acesso
rápido, seu uso é limitado em função do alto
custo
Conceitos de Hardware e Software

Memória secundária é um meio permanente


(não volátil) de armazenamento de programas
e dados.
O acesso a memória secundária é lento, se
comparado com a principal, porém seu custo
é baixo e sua capacidade de armazenamento
bem superior a da memória principal.
Conceitos de Hardware e Software
Relação entre comparando custo, velocidade e
capacidade de armazenamento.
Processos
Um conceito chave da teoria dos sistemas
operacionais é o conceito de processo.

Um processo é basicamente um programa em
execução, sendo constituído do código
executável, dos dados referentes ao código.
Chamadas de Sistemas
Os programas de usuário solicitam serviços do
sistema operacional através da execução de
chamadas de sistema.

A cada chamada corresponde um procedimento
de uma biblioteca de procedimentos que o
programa do usuário pode chamar.
Arquivos
•  Arquivos são mecanismos de abstração que
fornecem um forma de armazenar e recuperar
Tipos de Sistemas Operacionais
Tipos de sistemas operacionais e sua
evolução estão intimamente relacionados
com a evolução do hardware e das
aplicações por ele suportadas.

Inicialmente, os termos programa ou job
eram os mais utilizados, depois surgiu o
conceito de processo e sub processo e, mais
recentemente, os conceitos de tarefa e de
thread.
Classificação dos Sistemas
Operacionais
O s s i s t e m a s o p e r a c i o n a i s p o d e m s e r
classificados como:
Sistemas Monoprogramáveis /
Monotarefa

Os sistemas monoprogramáveis, como vieram a


ser conhecidos, se caracterizam por permitir
que o processador, a memória e os periféricos
permaneçam exclusivamente dedicados à
execução de um único programa.
Sistemas Multiprogramáveis /
Multitarefa
Nos multiprogramáveis vários programas
dividem esses mesmos recursos. Além disso
p o d e m o s c l a s s i f i c a r o s s i s t e m a s
multiprogramáveis como monousuário e
multiusuário.

O conceito de sistemas multiprogramável


apresenta a ideia do sistema sendo utilizado por
vários usuários (multiusuário).
Os sistemas multiprogramáveis / multitarefa
podem ser classificados pela forma com que
suas aplicações são gerenciadas, podendo ser
divididos em sistemas batch, de tempo
compartilhado ou de tempo real.
Sistema Batch
Os sistemas batch foram os primeiros sistemas
multiprogramáveis a serem implementados, e
eram executados sequencialmente.
Alguns exemplos de aplicações originalmente
processadas em batch são compilações,
linkedições (ligações), sorts (ordenações),
backups e todas aquelas onde não é necessária à
interação com o usuário.
Sistemas de Tempo Compartilhado

O usuário pode interagir diretamente com o


sistema em cada fase do desenvolvimento de
suas aplicações e, se preciso, modificá-las
imediatamente. Devido a esse tipo de
interação, também ficaram conhecidos como
sistemas on-line.

Para cada usuário, o sistema operacional aloca


uma fatia de tempo (time - slice) do
processador
Sistemas Multiprogramáveis
Sistemas operacionais podem ser vistos como um
c o n j u n t o d e r o t i n a s q u e e x e c u t a m
concorrentemente de uma forma ordenada.
Os sistemas multiprogramáveis surgiram de um
p r o b l e m a e x i s t e n t e n o s s i s t e m a s
monoprogramáveis, que é a baixa utilização de
recursos do sistema, como processador, memória
e periféricos.
Sistemas Multiprogramáveis
Sistemas de Tempo Real

Esses sistemas, normalmente, estão presentes


em controle de processos, como no
monitoramento de refinarias de petróleo,
controle de tráfego aéreo, de usinas
termelétricas e nucleares, ou em qualquer
aplicação onde o tempo de resposta é fator
fundamental.
Interrupção e Exceção
Durante a execução de um programa, alguns
eventos podem ocorrer durante seu
processamento, obrigando a intervenção do
sistema operacional.

Esse tipo de intervenção é chamado


interrupção ou exceção e pode ser resultado
da execução de instruções do próprio
programa, gerado pelo sistema operacional ou
por algum dispositivo de hardware.
Interrupção e Exceção
Nestas situações o fluxo de execução do
programa é desviado para uma rotina especial
de tratamento. O que diferencia uma
interrupção de uma exceção é o tipo de evento
que gera esta condição.

Uma interrupção é gerada pelo sistema


operacional ou por algum dispositivo e, neste
caso, independe do programa que está sendo
executado.
Interrupção
Acesso direto a memória (DMA)
A técnica de DMA permite que bloco de dados
seja transferido entre memória e periféricos,
sem a intervenção da UCP, exceto no início e
no final da transferência.

A área de memória utilizada pelo controlador


na técnica de DMA é chamada buffer, sendo
reservada exclusivamente para este propósito.
Acesso direto a memória (DMA)
Buffering

A técnica de buffering consiste na utilização de


uma área de memória para a transferência de
dados entre os periféricos e a memória
principal denominada buffer.

Neste caso, enquanto a UCP manipula o dado


localizado no buffer, o dispositivo realiza outra
operação de leitura no mesmo instante.
Buffering
Spooling
A técnica de spooling (simultaneous peripheral
operation on-line) foi introduzida para aumentar
a produtividade e a eficiência dos sistemas
operacionais.

Com o surgimento de dispositivos de acesso


direto, foi possível tornar o spooling muito mais
eficiente, e principalmente, permitir a
eliminação do processamento estritamente
sequencial.
Spooling
Reentrência
Em sistemas multiprogramáveis, vários usuários
executam os mesmos utilitários do sistema
operacional .

Para evitar diversas cópias de um mesmo


programa na memória principal os S.O.s utilizam
a técnica de reentrância. Reentrância é a
capacidade de um programa ser compartilhado
por diversos usuários, com uma cópia do
programa esteja na memória.
Atividade
1.  O que é um Sistema Operacional?
2.  Qual a visão mais adequada para descrevermos o S.O. ?
3.  Onde são executadas as instruções do S.O. ?
4.  Qual a função da memória principal (RAM)?
5.  Qual a função das memórias secundárias?
6.  Destaque os tipos de S.O existentes.
7.  Descreva o que é um processo.
8.  Os sistemas Operacionais multitarefa classificam-se em?
9.  O que é reentrância?

10.  Descreva o que é Buffering e Spooling.

Você também pode gostar