SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Sistemas
Operacionais
PROF SILVANO OLIVEIRA
prof.silvano.oliveira@gmail.com
Ementa da disciplina
 Estruturas de Sistemas operacionais;
 Sistemas multiprogramáveis;
 Gerência de processos;
 Gerência de memória física;
 Gerência de memória virtual;
 Gerência de sistemas de arquivos;
 Gerenciamento de dispositivos;
 Segurança e proteção;
 Introdução aos sistemas operacionais distribuídos.
2
Bibliografia básica
 Sistemas operacionais: Projeto e
implementação. Andrew S. Tanenbaum; Albert
S. Woodhull;
 Sistemas operacionais: Conceitos e aplicações.
Abraham Sílberschatz; Peter Galvin; Greg
Gagne;
 Arquitetura de sistemas operacionais. Francis B.
Machado, Luiz Paulo Maia.
3
Aula 1 – Introdução
 O que é um sistema operacional?
 Um programa de computador (software) que fica entre as
aplicações e o equipamento (hardware);
 É um software que habilita as aplicações e interage com o
hardware do computador;
 Qual o objetivo de um sistema operacional?
 Gerenciar os componentes de hardware e fornecer aos
programas de usuário uma interface com o hardware mais
simples;
 Utilizar hardware e software de maneira eficiente.
4
Introdução
 Sistemas operacionais rodam em diversos tipos
de equipamentos:
 Computadores pessoais;
 Telefones celulares;
 Automóveis;
 Etc.
 Exemplos de sistemas operacionais...
5
Introdução
 Imagine se o programador tivesse que se preocupar com o
hardware...
• Qual o endereço físico da
memória da variável x?
• Qual a velocidade máxima de
rotação do HD?
• Qual a taxa de atualização do
monitor do usuário?
• Etc...
6
Introdução
 Cada hardware tem sua particularidade;
 É responsabilidade do sistema operacional
gerenciar essas particularidades:
 Um processador de texto não precisa saber como
gravar um arquivo no HD, CD, etc;
 Um sistema que apresenta um resultado para o
usuário não precisa saber como imprimir um
caractere no monitor;
 Etc.
7
Introdução
 Cabe ao sistema operacional definir as regras
para gerenciar o uso dos recursos de hardware
pelos aplicativos e resolver possíveis disputas e
conflitos por esses recursos:
 Uso de processador pelas aplicações;
 Acesso ao disco – Leitura, escrita;
 Acesso à memória;
 Etc.
8
Introdução 9
Programas de sistemas e usuários
Sistema Operacional
Hardware
Introdução 10
Introdução
Sistema
operacional
Gerência
do
processador
Gerência
de memória
Gerência
de
dispositivos
Gerência
de arquivos
Interface
gráfica
Gerência
de
proteção
Outros
suportes
Suporte de
rede
11
Introdução
 Podemos definir um Sistema Operacional
levando em consideração dois pontos de
vistas:
O S.O. como uma máquina estendida;
O S.O. como um gerenciador de recursos.
12
Introdução
 O Sistema Operacional como uma máquina
estendida:
 O sistema operacional é a camada de software que
oculta a complexidade do hardware;
 Facilita a criação de novos sistemas, de forma que o
desenvolvedor ou usuário não necessite saber
detalhes de funcionamento dos periféricos.
13
Introdução
 O Sistema Operacional como um gerenciador
de recursos:
 O Sistema Operacional é responsável por organizar e
alocar de forma ordenada e eficiente os recursos de
hardware do computador;
 Definir políticas de uso dos recursos de hardware
pelas aplicações e resolver disputas e conflitos que
venham a ocorrer.
14
Histórico
 A evolução dos sistemas operacionais
está intimamente ligado à evolução do
hardware;
 Aumento da complexidade do hardware
demanda uma abstração maior para as
camadas “superiores”;
15
Histórico
 1ª Geração (1945 – 1955)
16
• Necessário conhecimento
do funcionamento do
hardware;
• Programação feita através
de linguagem de
máquina;
• Computadores utilizavam
válvulas;
• Inexistência do conceito
de Sistema Operacional.
Histórico (1ª Geração) 17
MARK I
Histórico
 2ª Geração (1956 – 1965)
18
• Invenção do Transistor – Bell
Laboratories;
• Computadores mais rápidos e mais
eficientes;
• Cálculos que demoravam segundos
agora eram medidos em
milissegundos;
TRADIC TRADIC
Histórico (2ª Geração) 19
IBM 1401
Histórico
 3ª Geração (1966 – 1970)
20
• Circuitos integrados;
• Diminuição no preço dos
computadores;
• Diminuição no tamanho dos
computadores;
• Principal empresa: IBM – System/360
rodando OS/360;
System/360
Circuitos integrados
OS/360
Histórico (3ª Geração) 21
IBM System/360
Histórico
 4ª Geração (1980 – 1990)
22
• Computadores pessoais - PC;
• Avanço da indústria de hardware
com a introdução de novos
circuitos integrados;
• Computação altamente interativa;
• Crescimento da indústria de
softwares;
• Dois sistemas operacionais
inicialmente dominaram o cenário:
MS-DOS (Microsoft) e Unix;
• Redes de computadores.
MD-DOS
Unix
Histórico (4ª Geração) 23
Histórico
 5ª Geração (1990 – *)
24
• Popularização dos PC’s;
• Processadores de alto
desempenho – 1993: Pentium;
• Evolução das redes de
computadores;
• Interfaces gráficas complexas;
• Interação com o usuário;
• Internet.
Tipos de Sistemas Operacionais
Três PRINCIPAIS tipos (não são os
únicos):
Sistemas Monotarefa;
Sistemas Multitarefa;
Sistemas Multiprocessadores.
25
Sistemas Monotarefa
 Aloca o Sistema Operacional disponível
exclusivamente para um único programa;
 O programa em andamento tem disponível
todos os dispositivos do computador;
 Tipicamente relacionados aos primeiros
computadores, na década de 1960;
 Provoca grande desperdício de hardware.
26
Sistemas Monotarefa 27
Sistemas Multitarefa
 Evolução dos sistemas Monotarefas;
 Recursos computacionais são compartilhados entre as
aplicações
 Enquanto um programa aguarda por algum recurso,
outro pode estar utilizando o processador, por exemplo.
 O sistema operacional é responsável por gerenciar o
acesso concorrente aos recursos de hardware entre as
aplicações, de forma ordenada e protegida;
 Mais eficiente que sistemas monotarefa, porém sua
implementação é mais complexa.
28
Sistemas Multitarefa 29
Sistemas Multitarefa
 Os sistemas multitarefa podem ser classificados
de acordo com:
 Número de usuários que acessam o sistema
 Sistema Monousuário;
 Sistema Multiusuário.
 Forma de gerenciamento das aplicações
 Sistemas Batch ou Lote;
 Sistemas de tempo compartilhado;
 Sistemas de tempo real.
30
Sistemas Multitarefa
Sistema
Multitarefa
Monousuário Multiusuário
31
Sistemas Multitarefa - Monousuário
Apenas um usuário interage com o
sistema;
Por ser um sistema multitarefa, pode
processar mais de uma aplicação ao
mesmo tempo
Editor de texto e browser, por exemplo.
32
Sistemas Multitarefa - Multiusuário
 Possibilita vários usuários simultâneos com
acesso ao sistema operacional;
 Tem uma implementação mais complexa,
uma vez que deve permitir a
identificação de cada recurso, como
arquivos e processos, e impor regras de
controles de acesso.
33
Sistemas Multitarefa
Sistemas
Multitarefas
Batch (lote)
Tempo
compartilhado
Tempo real
34
Sistemas Multitarefa - Batch
 Todos os programas são colocados em uma fila
para execução do processador;
 Programas são processados em sequência;
 Atualmente, BATCH é utilizado para definir um
conjunto de comandos que rodam sem
interferência do usuário;
 Sistemas BATCH, se bem projetados, podem ser
bastante eficientes em alguns casos específicos;
 Problemas: vazão, tempo de resposta – Exemplo.
35
Sistemas Multitarefa - Batch 36
Sistemas Multitarefa – Tempo
Compartilhado (Time Sharing)
 Permitem que diversos programas sejam executados a
partir da divisão do processador em pequenos
intervalos (time slice)
 Caso o tempo não seja suficiente para completar o
processamento, é interrompido e substituido por
outro, enquanto aguarda novo intervalo de tempo.
 Há a impressão de que a máquina está dedicada ao
programa/usuário, como se ele fosse o único utilizador
dos recursos;
 Permitem INTERAÇÃO COM O USUÁRIO – I/O – Teclado,
mouse, monitor, etc;
37
Sistemas Multitarefa – Tempo
Compartilhado (Time Sharing)
 O sistema operacional gerencia a utilização dos
recursos pelos programas e usuários
 Escalonamento.
 Gerenciamento complexo dos processos, dependendo
da utilização do Sistema Operacional
 Prioridades;
 Tamanho do time slice;
 Guardar estado atual;
 Etc.
38
Sistemas Multitarefa – Tempo Compartilhado
(Time Sharing) - Escalonamento
39
Sistemas Multitarefa – Tempo Real
 Semelhante aos sistemas de tempo compartilhado;
 Diferença está no tempo exigido para o processamento das
aplicações;
 Tempo de processamento deve estar entre limites rígidos, definidos
no projeto;
 Um programa utiliza o processador pelo tempo que for necessário,
até que apareça uma aplicação com uma PRIORIDADE maior
 Prioridade é definida pela aplicação e não pelo S.O.
 Utilização – Sistemas embarcados, aviões, etc
 Exemplo: Avião – prioridade: pouso ou sistema de som?
40
Sistemas Multiprocessadores
 Possuem uma ou mais CPUs interligadas e
trabalhando em conjunto;
 Vários programas são REALMENTE executados
ao mesmo tempo;
 Vantagens específicas:
 Escalabilidade;
 Disponibilidade;
 Balanceamento de carga.
41
Sistemas Multiprocessadores
Escalabilidade (?);
Disponibilidade (?);
Balanceamento de carga (?).
42
Sistemas Multiprocessadores
Podem ser classificados em:
Fortemente acoplados
Apenas uma memória compartilhada.
Fracamente acoplados
Cada sistema tem sua própria
memória.
43

Mais conteúdo relacionado

Semelhante a Sistemas Operacionais: Estruturas, Gerenciamento e Tipos

Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Sistemas Operacionais aula 02
Sistemas Operacionais  aula 02 Sistemas Operacionais  aula 02
Sistemas Operacionais aula 02 Diego Rodrigues
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema OperacionalCláudia Costa
 
SISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptxSISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptxADASVIEIRAArmazmPara
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
fundamentos de sistema operacional- S.O
fundamentos de sistema operacional- S.Ofundamentos de sistema operacional- S.O
fundamentos de sistema operacional- S.OPablo Lopes
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosHélio Jovo
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisMauro Duarte
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalCharles Fortes
 

Semelhante a Sistemas Operacionais: Estruturas, Gerenciamento e Tipos (20)

1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Aula 11,12,13,14...
Aula 11,12,13,14...Aula 11,12,13,14...
Aula 11,12,13,14...
 
Sistemas Operacionais aula 02
Sistemas Operacionais  aula 02 Sistemas Operacionais  aula 02
Sistemas Operacionais aula 02
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema Operacional
 
SISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptxSISTEMAS OPERACIOANIS 20.01.2023.pptx
SISTEMAS OPERACIOANIS 20.01.2023.pptx
 
Aula de SO
Aula de SOAula de SO
Aula de SO
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
fundamentos de sistema operacional- S.O
fundamentos de sistema operacional- S.Ofundamentos de sistema operacional- S.O
fundamentos de sistema operacional- S.O
 
desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidos
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
 
So cap01
So cap01So cap01
So cap01
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 
Aula 02
Aula 02Aula 02
Aula 02
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 

Mais de Silvano Oliveira

PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)Silvano Oliveira
 
PW00 - Programação Web html e estilo CSS.pdf
PW00 - Programação Web html e estilo CSS.pdfPW00 - Programação Web html e estilo CSS.pdf
PW00 - Programação Web html e estilo CSS.pdfSilvano Oliveira
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7Silvano Oliveira
 
ADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerSilvano Oliveira
 
ADR00 - Conceitos de Sistemas Operacionais de Redes
ADR00 - Conceitos de Sistemas Operacionais de RedesADR00 - Conceitos de Sistemas Operacionais de Redes
ADR00 - Conceitos de Sistemas Operacionais de RedesSilvano Oliveira
 
01.Introdução a Lógica de Programação.pdf
01.Introdução a Lógica de Programação.pdf01.Introdução a Lógica de Programação.pdf
01.Introdução a Lógica de Programação.pdfSilvano Oliveira
 
Alg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdfAlg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdfSilvano Oliveira
 
CON00 - Ativos de Rede.pdf
CON00 - Ativos de Rede.pdfCON00 - Ativos de Rede.pdf
CON00 - Ativos de Rede.pdfSilvano Oliveira
 
SO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdf
SO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdfSO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdf
SO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdfSilvano Oliveira
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSilvano Oliveira
 
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSilvano Oliveira
 
SO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdf
SO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdfSO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdf
SO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdfSilvano Oliveira
 
SO06 - Sistemas-Operacionais - Gestão da Proteção.pdf
SO06 - Sistemas-Operacionais - Gestão da Proteção.pdfSO06 - Sistemas-Operacionais - Gestão da Proteção.pdf
SO06 - Sistemas-Operacionais - Gestão da Proteção.pdfSilvano Oliveira
 

Mais de Silvano Oliveira (20)

PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)
 
PW00 - Programação Web html e estilo CSS.pdf
PW00 - Programação Web html e estilo CSS.pdfPW00 - Programação Web html e estilo CSS.pdf
PW00 - Programação Web html e estilo CSS.pdf
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 
ADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux Server
 
ADR00 - Conceitos de Sistemas Operacionais de Redes
ADR00 - Conceitos de Sistemas Operacionais de RedesADR00 - Conceitos de Sistemas Operacionais de Redes
ADR00 - Conceitos de Sistemas Operacionais de Redes
 
Revisão Windows Server
Revisão Windows ServerRevisão Windows Server
Revisão Windows Server
 
01.Introdução a Lógica de Programação.pdf
01.Introdução a Lógica de Programação.pdf01.Introdução a Lógica de Programação.pdf
01.Introdução a Lógica de Programação.pdf
 
Alg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdfAlg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdf
 
CON08 - VLAN.pdf
CON08 - VLAN.pdfCON08 - VLAN.pdf
CON08 - VLAN.pdf
 
LP1 P01 - Python.pdf
LP1 P01 - Python.pdfLP1 P01 - Python.pdf
LP1 P01 - Python.pdf
 
CON01 - Rede Local.pdf
CON01 - Rede Local.pdfCON01 - Rede Local.pdf
CON01 - Rede Local.pdf
 
CON00 - Ativos de Rede.pdf
CON00 - Ativos de Rede.pdfCON00 - Ativos de Rede.pdf
CON00 - Ativos de Rede.pdf
 
SO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdf
SO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdfSO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdf
SO05 - Sistemas-Operacionais - Gerencia de Dispositivos.pdf
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
 
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
 
SO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdf
SO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdfSO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdf
SO04 - Sistemas-Operacionais - Gerencia de Arquivos.pdf
 
SO06 - Sistemas-Operacionais - Gestão da Proteção.pdf
SO06 - Sistemas-Operacionais - Gestão da Proteção.pdfSO06 - Sistemas-Operacionais - Gestão da Proteção.pdf
SO06 - Sistemas-Operacionais - Gestão da Proteção.pdf
 
Con01 rede local
Con01   rede localCon01   rede local
Con01 rede local
 
Con00 ativos de rede
Con00   ativos de redeCon00   ativos de rede
Con00 ativos de rede
 
Bd ex02 relacionamento
Bd ex02   relacionamentoBd ex02   relacionamento
Bd ex02 relacionamento
 

Sistemas Operacionais: Estruturas, Gerenciamento e Tipos

  • 2. Ementa da disciplina  Estruturas de Sistemas operacionais;  Sistemas multiprogramáveis;  Gerência de processos;  Gerência de memória física;  Gerência de memória virtual;  Gerência de sistemas de arquivos;  Gerenciamento de dispositivos;  Segurança e proteção;  Introdução aos sistemas operacionais distribuídos. 2
  • 3. Bibliografia básica  Sistemas operacionais: Projeto e implementação. Andrew S. Tanenbaum; Albert S. Woodhull;  Sistemas operacionais: Conceitos e aplicações. Abraham Sílberschatz; Peter Galvin; Greg Gagne;  Arquitetura de sistemas operacionais. Francis B. Machado, Luiz Paulo Maia. 3
  • 4. Aula 1 – Introdução  O que é um sistema operacional?  Um programa de computador (software) que fica entre as aplicações e o equipamento (hardware);  É um software que habilita as aplicações e interage com o hardware do computador;  Qual o objetivo de um sistema operacional?  Gerenciar os componentes de hardware e fornecer aos programas de usuário uma interface com o hardware mais simples;  Utilizar hardware e software de maneira eficiente. 4
  • 5. Introdução  Sistemas operacionais rodam em diversos tipos de equipamentos:  Computadores pessoais;  Telefones celulares;  Automóveis;  Etc.  Exemplos de sistemas operacionais... 5
  • 6. Introdução  Imagine se o programador tivesse que se preocupar com o hardware... • Qual o endereço físico da memória da variável x? • Qual a velocidade máxima de rotação do HD? • Qual a taxa de atualização do monitor do usuário? • Etc... 6
  • 7. Introdução  Cada hardware tem sua particularidade;  É responsabilidade do sistema operacional gerenciar essas particularidades:  Um processador de texto não precisa saber como gravar um arquivo no HD, CD, etc;  Um sistema que apresenta um resultado para o usuário não precisa saber como imprimir um caractere no monitor;  Etc. 7
  • 8. Introdução  Cabe ao sistema operacional definir as regras para gerenciar o uso dos recursos de hardware pelos aplicativos e resolver possíveis disputas e conflitos por esses recursos:  Uso de processador pelas aplicações;  Acesso ao disco – Leitura, escrita;  Acesso à memória;  Etc. 8
  • 9. Introdução 9 Programas de sistemas e usuários Sistema Operacional Hardware
  • 12. Introdução  Podemos definir um Sistema Operacional levando em consideração dois pontos de vistas: O S.O. como uma máquina estendida; O S.O. como um gerenciador de recursos. 12
  • 13. Introdução  O Sistema Operacional como uma máquina estendida:  O sistema operacional é a camada de software que oculta a complexidade do hardware;  Facilita a criação de novos sistemas, de forma que o desenvolvedor ou usuário não necessite saber detalhes de funcionamento dos periféricos. 13
  • 14. Introdução  O Sistema Operacional como um gerenciador de recursos:  O Sistema Operacional é responsável por organizar e alocar de forma ordenada e eficiente os recursos de hardware do computador;  Definir políticas de uso dos recursos de hardware pelas aplicações e resolver disputas e conflitos que venham a ocorrer. 14
  • 15. Histórico  A evolução dos sistemas operacionais está intimamente ligado à evolução do hardware;  Aumento da complexidade do hardware demanda uma abstração maior para as camadas “superiores”; 15
  • 16. Histórico  1ª Geração (1945 – 1955) 16 • Necessário conhecimento do funcionamento do hardware; • Programação feita através de linguagem de máquina; • Computadores utilizavam válvulas; • Inexistência do conceito de Sistema Operacional.
  • 18. Histórico  2ª Geração (1956 – 1965) 18 • Invenção do Transistor – Bell Laboratories; • Computadores mais rápidos e mais eficientes; • Cálculos que demoravam segundos agora eram medidos em milissegundos; TRADIC TRADIC
  • 20. Histórico  3ª Geração (1966 – 1970) 20 • Circuitos integrados; • Diminuição no preço dos computadores; • Diminuição no tamanho dos computadores; • Principal empresa: IBM – System/360 rodando OS/360; System/360 Circuitos integrados OS/360
  • 21. Histórico (3ª Geração) 21 IBM System/360
  • 22. Histórico  4ª Geração (1980 – 1990) 22 • Computadores pessoais - PC; • Avanço da indústria de hardware com a introdução de novos circuitos integrados; • Computação altamente interativa; • Crescimento da indústria de softwares; • Dois sistemas operacionais inicialmente dominaram o cenário: MS-DOS (Microsoft) e Unix; • Redes de computadores. MD-DOS Unix
  • 24. Histórico  5ª Geração (1990 – *) 24 • Popularização dos PC’s; • Processadores de alto desempenho – 1993: Pentium; • Evolução das redes de computadores; • Interfaces gráficas complexas; • Interação com o usuário; • Internet.
  • 25. Tipos de Sistemas Operacionais Três PRINCIPAIS tipos (não são os únicos): Sistemas Monotarefa; Sistemas Multitarefa; Sistemas Multiprocessadores. 25
  • 26. Sistemas Monotarefa  Aloca o Sistema Operacional disponível exclusivamente para um único programa;  O programa em andamento tem disponível todos os dispositivos do computador;  Tipicamente relacionados aos primeiros computadores, na década de 1960;  Provoca grande desperdício de hardware. 26
  • 28. Sistemas Multitarefa  Evolução dos sistemas Monotarefas;  Recursos computacionais são compartilhados entre as aplicações  Enquanto um programa aguarda por algum recurso, outro pode estar utilizando o processador, por exemplo.  O sistema operacional é responsável por gerenciar o acesso concorrente aos recursos de hardware entre as aplicações, de forma ordenada e protegida;  Mais eficiente que sistemas monotarefa, porém sua implementação é mais complexa. 28
  • 30. Sistemas Multitarefa  Os sistemas multitarefa podem ser classificados de acordo com:  Número de usuários que acessam o sistema  Sistema Monousuário;  Sistema Multiusuário.  Forma de gerenciamento das aplicações  Sistemas Batch ou Lote;  Sistemas de tempo compartilhado;  Sistemas de tempo real. 30
  • 32. Sistemas Multitarefa - Monousuário Apenas um usuário interage com o sistema; Por ser um sistema multitarefa, pode processar mais de uma aplicação ao mesmo tempo Editor de texto e browser, por exemplo. 32
  • 33. Sistemas Multitarefa - Multiusuário  Possibilita vários usuários simultâneos com acesso ao sistema operacional;  Tem uma implementação mais complexa, uma vez que deve permitir a identificação de cada recurso, como arquivos e processos, e impor regras de controles de acesso. 33
  • 35. Sistemas Multitarefa - Batch  Todos os programas são colocados em uma fila para execução do processador;  Programas são processados em sequência;  Atualmente, BATCH é utilizado para definir um conjunto de comandos que rodam sem interferência do usuário;  Sistemas BATCH, se bem projetados, podem ser bastante eficientes em alguns casos específicos;  Problemas: vazão, tempo de resposta – Exemplo. 35
  • 37. Sistemas Multitarefa – Tempo Compartilhado (Time Sharing)  Permitem que diversos programas sejam executados a partir da divisão do processador em pequenos intervalos (time slice)  Caso o tempo não seja suficiente para completar o processamento, é interrompido e substituido por outro, enquanto aguarda novo intervalo de tempo.  Há a impressão de que a máquina está dedicada ao programa/usuário, como se ele fosse o único utilizador dos recursos;  Permitem INTERAÇÃO COM O USUÁRIO – I/O – Teclado, mouse, monitor, etc; 37
  • 38. Sistemas Multitarefa – Tempo Compartilhado (Time Sharing)  O sistema operacional gerencia a utilização dos recursos pelos programas e usuários  Escalonamento.  Gerenciamento complexo dos processos, dependendo da utilização do Sistema Operacional  Prioridades;  Tamanho do time slice;  Guardar estado atual;  Etc. 38
  • 39. Sistemas Multitarefa – Tempo Compartilhado (Time Sharing) - Escalonamento 39
  • 40. Sistemas Multitarefa – Tempo Real  Semelhante aos sistemas de tempo compartilhado;  Diferença está no tempo exigido para o processamento das aplicações;  Tempo de processamento deve estar entre limites rígidos, definidos no projeto;  Um programa utiliza o processador pelo tempo que for necessário, até que apareça uma aplicação com uma PRIORIDADE maior  Prioridade é definida pela aplicação e não pelo S.O.  Utilização – Sistemas embarcados, aviões, etc  Exemplo: Avião – prioridade: pouso ou sistema de som? 40
  • 41. Sistemas Multiprocessadores  Possuem uma ou mais CPUs interligadas e trabalhando em conjunto;  Vários programas são REALMENTE executados ao mesmo tempo;  Vantagens específicas:  Escalabilidade;  Disponibilidade;  Balanceamento de carga. 41
  • 43. Sistemas Multiprocessadores Podem ser classificados em: Fortemente acoplados Apenas uma memória compartilhada. Fracamente acoplados Cada sistema tem sua própria memória. 43