Você está na página 1de 64

Sistema Operativo

Conferência 01
Apresentação

@Domingos Filipe de Oliveira

October 15, 2023


Apresentação

Docente

Objectivos

Programa da Disciplina

Metodologias de Ensino

Métodos de Avaliação

Bibliografia

2 of 33
Docente

Nome:
 Domingos Filipe de Oliveira

Áreas de interesses:
 Engenharia de software;
 Sistemas de informação;
 Integração de Sistemas;
 Gestão de Projecto de Software.

Contacto:
 dfilipe@umn.ed.ao

3 of 33
Objectivos

 Entender ”o que é um sistema operativo”;


 Entender os principais componentes de um sistema operativo;
 Entender como construir sistemas de software elaborados;
 Desenvolver capacidade para a determinar que melhor SO se adapta
a problemas propostos no ambiente de suporte operacional.

4 of 33
Programa da Disciplina

1. Conceitos Básicos.
2. Conceitos de Hardware e software.
3. Sistemas Multiprogramáveis.
4. Estrutura do Sistema Operacional.
5. Processo/Thread.
6. Comunicação entre Processos.
7. Gestão do Processador.
8. Gestão de Memória e Memória Virtual.
9. Sistemas de Arquivos.
10. Gerência de Dispositivos.
11. Estudos de caso do Windows e do Linux:

5 of 33
Metodologias de Ensino

Aulas teóricas:
 Exposição de conceitos, modelos e técnicas;
 São usados slides contendo tópicos chaves;
 São apresentados exemplos simples para ilustração dos assuntos.

Aulas teórico-prática:
 Resolução de exercı́cios de maior complexidade;

6 of 33
Métodos de Avaliação

Será feita um Projecto e o Exame conforme o regulamento da insti-


tuição e todas sem consulta.

7 of 33
Bibliografia

8 of 33
Now, let‘s do it!

9 of 33
Visão do Sistema Operativos

u s u ários
p rog r am a do re s p rog r am a s ,
e a n a lis ta s s is te m as e
ap lica tiv os

U s u ár ios

Sis te m a O p e racio n a l

m e m ór ia d is cos

H ar dw ar e

fitas
UCP

im pr e s s ora s m o n itor e s

fonte: Google

10 of 33
Já que pouquı́ssimas pessoas
projectam e escrevem sistemas
operativos, parque estudá-los?

11 of 33
Conceitos de sistemas operacionais
 São relevantes em toda ciência da computação.

12 of 33
Conceitos de sistemas operacionais
 São relevantes em toda ciência da computação.
 Um entendimento dos conceitos de sistemas operativos fornece uma
excelente base para a construção de sistemas de software complexos.

Entender o S.O
 É fundamental para um entendimento profundo de um sistema de
computação.

12 of 33
Conceitos de sistemas operacionais
 São relevantes em toda ciência da computação.
 Um entendimento dos conceitos de sistemas operativos fornece uma
excelente base para a construção de sistemas de software complexos.

Entender o S.O
 É fundamental para um entendimento profundo de um sistema de
computação. Isto é útil mesmo que você nunca vá escrever um SO.

12 of 33
Definição de Sistemas Operativos

 É uma camada de software que opera entre o hardware e os progra-


mas aplicativos voltados ao utilizador final.

13 of 33
Definição de Sistemas Operativos

 É uma camada de software que opera entre o hardware e os progra-


mas aplicativos voltados ao utilizador final.
 É uma estrutura de software ampla, muitas vezes complexa, que
incorpora aspectos de baixo nı́vel (como drivers de dispositivos e ge-
stores de memória fı́sica) e de alto nı́vel (como programas utilitários
e a própria interface gráfica).

13 of 33
Definição de Sistemas Operativos

 É uma camada de software que opera entre o hardware e os progra-


mas aplicativos voltados ao utilizador final.
 É uma estrutura de software ampla, muitas vezes complexa, que
incorpora aspectos de baixo nı́vel (como drivers de dispositivos e ge-
stores de memória fı́sica) e de alto nı́vel (como programas utilitários
e a própria interface gráfica).
 Pode ser definido também como um conjunto de programas que per-
mitem uma interacção simplificada entre o utilizador e a máquina.

13 of 33
Abstracção de Recursos

 Cada hardware tem sua particularidade;

14 of 33
Abstracção de Recursos

 Cada hardware tem sua particularidade;


 Cabe ao sistema operativo gerir as particularidades do hardware;

14 of 33
Abstracção de Recursos

 Cada hardware tem sua particularidade;


 Cabe ao sistema operativo gerir as particularidades do hardware;
 Um processador de texto não deve deter o conhecimento de como
gravar um arquivo (disquetes, pen drive, discos duros ).

14 of 33
Funções dos Sistemas Operativos

1. Apresentar ao utilizador uma máquina mais flexı́vel e adequada para


melhor interacção entre os programas e o hardware;
2. Possibilitar o uso eficiente e controlado dos vários componentes
de hardware que constituem um sistema como um todo: proces-
sador, memória principal e secundária, canais de E/S, controladores,
periféricos, etc.;
3. Possibilitar aos diversos utilizadores o uso compartilhado e protegido
dos diversos componentes de hardware e software do sistema de
modo que o sistema seja utilizado de maneira mais eficiente e que
utilizadores possam se beneficiar do trabalho de outros e cooperar
entre si na execução de projectos complexos.

15 of 33
Gerência de Recursos

 Cabe ao sistema operativos definir polı́ticas para gerir o uso dos


recursos de hardware pelos aplicativos, e resolver eventuais disputas
e conflitos.
 Uso de processador;
 Acesso a disco;
 Memória.

16 of 33
Máquina de Nı́veis

 Um computador e composto por hardware e software. Podemos con-


siderar o computador como uma máquina de nı́veis ou de camadas.
 Desta forma, podemos dizer a máquina como sendo o Sistema Op-
erativo, ou seja como se o hardware não existisse a isto chamamos
máquina virtual.

17 of 33
Motivação para o desenvolvimento do SO

 Há muito tempo que tem-se tentado libertar o utilizador da com-


plexidade do hardware;
 Isto tem sido feito colocando-se uma camada de software sobre o
hardware de modo que este software gere todas as partes do sistema;
 Assim ao utilizador seria apresentado com uma interface que é mais
fácil de entender e de programar;
 Esta interface é chamada de maquina virtual é uma vista do sistema
de cima para baixo (Top-Down).
 A vista de alternativa dum sistema operativo, do nivel do hardware,
é uma vista (Bottom-Up) e visualiza o sistema como um gestor de
hardware.

18 of 33
Perspectiva de desenvolvimento do SO

 SO como MV (Top-Down View ): Transformar um conjunto diversificado de


circuitos electrónicos, discos e periféricos numa máquina simples de utilizar.
Também fornecem recursos virtuais (ficheiros, base de dados, interpretação de
multi-media etc.).
 SO como Gestor de Recursos (Bottom-up view ): Permite obter o máximo rendi-
mento do hardware através da sua utilização para o processamento de um grande
conjunto de actividades.
19 of 33
História dos Sistemas Operativos

 Os sistemas têm evoluı́do com o passar dos anos e estão intimamente


associados à arquitectura dos computadores nos quais eles rodam;
 Por esta razão vamos examinar as sucessivas gerações de computa-
dores para ver como eram os sistemas operativos.

20 of 33
Evoluı́do dos Sistemas Operativos
1ª Geração (1945 – 1955):
 Computadores a válvulas, grandes e lentos, a programação era feita
através da placas com componentes eléctricos;
 Inexistência do conceito de sistema operativos;
 ENIAC – desenvolvido para cálculos balı́sticos

2ª Geração (1955 – 1965):


 Introdução do processamento por lotes (sistema de batch);
 Entrada, processamento e saı́da feitos em máquinas diferentes.
 Computadores com transı́stores;
 Primeiros sistemas operativos - FMS (Fortran Monitor System9),
IBSYS (Sistema Operativo da IBM)
 Exemplo: IBM 1401 e seus periféricos.
21 of 33
Evoluı́do dos Sistemas Operativos (cont.)
3ª Geração (1965 – 1980):
 Circuitos Integrados, os computadores passam a ser comerciais;
 Multi – programação e multi – utilização (capacidade de executar
vários programas simultaneamente, com vários utilizadores).
 Sistemas Operativos - OS/360, MULTICS, UNIX (System V e BSD)

4ª Geração (1980 – 1990):


 Computadores pessoais e Micro – computadores;
 Memória virtual;
 Interfaces gráficas (GUI);
 Sistemas em rede e distribuı́dos;
 SO - Xenix, Minix, Solaris, Linux, MAC–OS, DOS, Windows, etc. . .
22 of 33
5ª Geração (1991 – ????)

 Os componentes baseados em tecnologia VLSI (Very Large Scale


Integration) evoluem rapidamente para ULSI (Ultra Large Scale In-
tegration);
 Linguagem e metodologias de programação concorrente estão sendo
desenvolvidas, com usa extensivo de inteligência artificial e CAD
(Computer – Aided - Design);
 Era do Windows;:

23 of 33
Tipos de Sistemas Operativos

 Os tipos de sistemas operativos e sua evolução estão relacionados


directamente com a evolução do hardware e das aplicações por ele
suportadas.

24 of 33
Tipos de Sistemas Operativos

 Os tipos de sistemas operativos e sua evolução estão relacionados


directamente com a evolução do hardware e das aplicações por ele
suportadas.
 Os sistemas operativos podem ser classificados segundo diversos
parâmetros e perspectivas, como:
 Tamanho;
 Velocidade;
 Suporte a recursos especı́ficos;
 Acesso à rede, etc.

24 of 33
Tipos de Sistemas Operativos

 Os tipos de sistemas operativos e sua evolução estão relacionados


directamente com a evolução do hardware e das aplicações por ele
suportadas.
 Os sistemas operativos podem ser classificados segundo diversos
parâmetros e perspectivas, como:
 Tamanho;
 Velocidade;
 Suporte a recursos especı́ficos;
 Acesso à rede, etc.
 A seguir são apresentados alguns tipos de sistemas operativos usuais
(muitos sistemas operacionais se encaixam bem em mais de uma das
categorias apresentadas):

24 of 33
Sistemas Batch (lote)
 Os sistemas operativos mais antigos trabalhavam “por lote”, ou
seja, todos os programas a executar eram colocados em uma fila,
com seus dados e demais informações para a execução;

25 of 33
Sistemas Batch (lote)
 Os sistemas operativos mais antigos trabalhavam “por lote”, ou
seja, todos os programas a executar eram colocados em uma fila,
com seus dados e demais informações para a execução;
 O processador recebia os programas e os processava sem interagir
com os utilizador, o que permitia um alto grau de utilização do
sistema;

25 of 33
Sistemas Batch (lote)
 Os sistemas operativos mais antigos trabalhavam “por lote”, ou
seja, todos os programas a executar eram colocados em uma fila,
com seus dados e demais informações para a execução;
 O processador recebia os programas e os processava sem interagir
com os utilizador, o que permitia um alto grau de utilização do
sistema;
 O termo lote ainda é usado para definir um conjunto de comandos
que rodam sem interferência do utilizador;

25 of 33
Sistemas Batch (lote)
 Os sistemas operativos mais antigos trabalhavam “por lote”, ou
seja, todos os programas a executar eram colocados em uma fila,
com seus dados e demais informações para a execução;
 O processador recebia os programas e os processava sem interagir
com os utilizador, o que permitia um alto grau de utilização do
sistema;
 O termo lote ainda é usado para definir um conjunto de comandos
que rodam sem interferência do utilizador;
 Atualmente, este conceito se aplica a sistemas que processam tare-
fas sem interação directa com os utilizador, como os sistemas de
processamento de transacções em bancos de dados;

25 of 33
Sistemas Batch (lote)
 Os sistemas operativos mais antigos trabalhavam “por lote”, ou
seja, todos os programas a executar eram colocados em uma fila,
com seus dados e demais informações para a execução;
 O processador recebia os programas e os processava sem interagir
com os utilizador, o que permitia um alto grau de utilização do
sistema;
 O termo lote ainda é usado para definir um conjunto de comandos
que rodam sem interferência do utilizador;
 Atualmente, este conceito se aplica a sistemas que processam tare-
fas sem interação directa com os utilizador, como os sistemas de
processamento de transacções em bancos de dados;
 Exemplos desses sistemas incluem o OS/360 e VMS, entre outros.

25 of 33
Sistemas de Rede

 Um sistema operativo de rede deve possuir suporte a operação em


rede, ou seja, a capacidade de oferecer às aplicações locais recur-
sos que estejam localizados em outros computadores da rede, como
arquivos e impressoras;

26 of 33
Sistemas de Rede

 Um sistema operativo de rede deve possuir suporte a operação em


rede, ou seja, a capacidade de oferecer às aplicações locais recur-
sos que estejam localizados em outros computadores da rede, como
arquivos e impressoras;
 Ele também deve disponibilizar seus recursos locais aos demais com-
putadores, de forma controlada;

26 of 33
Sistemas de Rede

 Um sistema operativo de rede deve possuir suporte a operação em


rede, ou seja, a capacidade de oferecer às aplicações locais recur-
sos que estejam localizados em outros computadores da rede, como
arquivos e impressoras;
 Ele também deve disponibilizar seus recursos locais aos demais com-
putadores, de forma controlada;
 São independentes e caso a conexão entre um dos nós sofra qualquer
problema, os demais continuam operando normalmente , apesar de
alguns recursos se tornarem indisponı́veis;

26 of 33
Sistemas de Rede

 Um sistema operativo de rede deve possuir suporte a operação em


rede, ou seja, a capacidade de oferecer às aplicações locais recur-
sos que estejam localizados em outros computadores da rede, como
arquivos e impressoras;
 Ele também deve disponibilizar seus recursos locais aos demais com-
putadores, de forma controlada;
 São independentes e caso a conexão entre um dos nós sofra qualquer
problema, os demais continuam operando normalmente , apesar de
alguns recursos se tornarem indisponı́veis;
 A maioria dos sistemas operacionais actuais oferece esse tipo de
funcionalidade.

26 of 33
Sistemas Distribuı́do

 Em um sistema operativos distribuı́do, os recursos de cada máquina


estão disponı́veis globalmente, de forma transparente aos utilizador;

27 of 33
Sistemas Distribuı́do

 Em um sistema operativos distribuı́do, os recursos de cada máquina


estão disponı́veis globalmente, de forma transparente aos utilizador;
 Para o utilizador e suas aplicações é como se não existisse uma rede
de computadores e sim um único sistema centralizado.

27 of 33
Sistemas Distribuı́do

 Em um sistema operativos distribuı́do, os recursos de cada máquina


estão disponı́veis globalmente, de forma transparente aos utilizador;
 Para o utilizador e suas aplicações é como se não existisse uma rede
de computadores e sim um único sistema centralizado.
 Utilizador desconhece o computador em uso.

27 of 33
Sistemas Distribuı́do

 Em um sistema operativos distribuı́do, os recursos de cada máquina


estão disponı́veis globalmente, de forma transparente aos utilizador;
 Para o utilizador e suas aplicações é como se não existisse uma rede
de computadores e sim um único sistema centralizado.
 Utilizador desconhece o computador em uso.
 Os sistemas operativos distribuı́dos já existem ha muito tempos, mas
ainda não são uma realidade de mercado.

27 of 33
Sistemas Distribuı́do

 Em um sistema operativos distribuı́do, os recursos de cada máquina


estão disponı́veis globalmente, de forma transparente aos utilizador;
 Para o utilizador e suas aplicações é como se não existisse uma rede
de computadores e sim um único sistema centralizado.
 Utilizador desconhece o computador em uso.
 Os sistemas operativos distribuı́dos já existem ha muito tempos, mas
ainda não são uma realidade de mercado.
 Exemplo: Amoeba e Clouds.

27 of 33
Sistemas Multi-utilizador

 Permite múltiplos utilizadores simultâneos. Maioria dos sistemas


operativos atuais

28 of 33
Sistemas Multi-utilizador

 Permite múltiplos utilizadores simultâneos. Maioria dos sistemas


operativos atuais
 Deve suportar a identificação do “dono” de cada recurso dentro do
sistema (arquivos, processos, conexões de rede);

28 of 33
Sistemas Multi-utilizador

 Permite múltiplos utilizadores simultâneos. Maioria dos sistemas


operativos atuais
 Deve suportar a identificação do “dono” de cada recurso dentro do
sistema (arquivos, processos, conexões de rede);
 Imposição de regras de controle de acesso para impedir o uso desses
recursos por utilizadores não autorizados.

28 of 33
Sistemas Desktop

 Um sistema operativo “de mesa” e voltado ao atendimento do uti-


lizador doméstico e corporativo para a realização de actividades cor-
riqueiras;

29 of 33
Sistemas Desktop

 Um sistema operativo “de mesa” e voltado ao atendimento do uti-


lizador doméstico e corporativo para a realização de actividades cor-
riqueiras;
 Sua principais caracterı́sticas são a interface gráfica, o suporte a
interactividade e a operação em rede.

29 of 33
Sistemas Desktop

 Um sistema operativo “de mesa” e voltado ao atendimento do uti-


lizador doméstico e corporativo para a realização de actividades cor-
riqueiras;
 Sua principais caracterı́sticas são a interface gráfica, o suporte a
interactividade e a operação em rede.
 Exemplos: sistemas Windows (XP, Vista, 7, 8, etc), o MacOS X e
Linux.

29 of 33
Sistemas de Servidor

 Gestão de grandes quantidades de recursos (Discos, memórias e


processadores);

30 of 33
Sistemas de Servidor

 Gestão de grandes quantidades de recursos (Discos, memórias e


processadores);
 Multi-utilizadores;

30 of 33
Sistemas de Servidor

 Gestão de grandes quantidades de recursos (Discos, memórias e


processadores);
 Multi-utilizadores;
 Suporte a rede.

30 of 33
Sistemas Embutido
 Um sistema operativo e dito embutido quando e construı́do para
operar sobre um hardware com poucos recursos de processamento,
armazenamento e energia;

31 of 33
Sistemas Embutido
 Um sistema operativo e dito embutido quando e construı́do para
operar sobre um hardware com poucos recursos de processamento,
armazenamento e energia;
 Aplicacoes tı́picas desse tipo de sistema aparecem em telefones celu-
lares, sistemas de automação industrial e controladores automotivos,
equipamentos eletronicos de uso domestico (leitores de DVD, TVs,
fornos-micro-ondas, centrais de alarme, etc.);

31 of 33
Sistemas Embutido
 Um sistema operativo e dito embutido quando e construı́do para
operar sobre um hardware com poucos recursos de processamento,
armazenamento e energia;
 Aplicacoes tı́picas desse tipo de sistema aparecem em telefones celu-
lares, sistemas de automação industrial e controladores automotivos,
equipamentos eletronicos de uso domestico (leitores de DVD, TVs,
fornos-micro-ondas, centrais de alarme, etc.);
 Muitas vezes um sistema operativo embutido se apresenta na forma
de uma biblioteca a ser ligada ao programa da aplicacao (que e fixa).

31 of 33
Sistemas Embutido
 Um sistema operativo e dito embutido quando e construı́do para
operar sobre um hardware com poucos recursos de processamento,
armazenamento e energia;
 Aplicacoes tı́picas desse tipo de sistema aparecem em telefones celu-
lares, sistemas de automação industrial e controladores automotivos,
equipamentos eletronicos de uso domestico (leitores de DVD, TVs,
fornos-micro-ondas, centrais de alarme, etc.);
 Muitas vezes um sistema operativo embutido se apresenta na forma
de uma biblioteca a ser ligada ao programa da aplicacao (que e fixa).
 Exemplo: LynxOS, Xylinx e VxWorks sao sistemas embutidos para
controle e automação. Sistemas operativos para telefones celulares
inteligentes (smartphones) incluem o Symbian e o Android, entre
outros.

31 of 33
Sistemas de Tempo real

 Comportamento temporal previsı́vel - Tempo de resposta conhecido


no melhor caso e pior caso de operação;

32 of 33
Sistemas de Tempo real

 Comportamento temporal previsı́vel - Tempo de resposta conhecido


no melhor caso e pior caso de operação;
 soft real-time systems - perda de prazo implica em degradação do
serviço prestado (gravação de CD);

32 of 33
Sistemas de Tempo real

 Comportamento temporal previsı́vel - Tempo de resposta conhecido


no melhor caso e pior caso de operação;
 soft real-time systems - perda de prazo implica em degradação do
serviço prestado (gravação de CD);
 hard real-time systems - perda de prazo pode causar grandes prejuı́zos
económicos ou ambientais (usina nuclear, caldeiras industriais);

32 of 33
Sistemas de Tempo real

 Comportamento temporal previsı́vel - Tempo de resposta conhecido


no melhor caso e pior caso de operação;
 soft real-time systems - perda de prazo implica em degradação do
serviço prestado (gravação de CD);
 hard real-time systems - perda de prazo pode causar grandes prejuı́zos
económicos ou ambientais (usina nuclear, caldeiras industriais);
 Exemplos de sistemas de tempo real incluem o QNX, RT-Linux e
VxWorks.

32 of 33
Duvidas ???

A primeira fase do saber é amar os nosso professores . . .

33 of 33

Você também pode gostar