montagem e manutenção · complexo e depende dos padrões de arquitetura utilizados ... ms-dos,...

Post on 11-Nov-2018

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pedro de Assis Sobreira Jr.

Montagem e Manutenção

Prof. Camila

2

Introdução

Programa?

“Conjunto de instruções

especificando uma série ordenada

de ações”.

Exemplo: receita de bolo, número de telefone, programa de

governo, programa de computador, etc...

Um programa é uma representação de um algoritmo.

3

Definição

Software?

“Conjunto organizado de instruções

e dados processados pelo

Hardware”.

“Software é um programa de computador.”

Ex.: Firmeware, sistemas, aplicativos, utilitários, etc...

4

Camadas de Software

Apresentação Domínio / Negócio Dados

5

Camadas de Software

Apresentação: Cuida da interação entre o usuário e o software.

Pode ser tão simples quanto um sistema de linha de

comando, ou um cliente rico com interface gráfica ou

ainda um sistema baseado em navegadores de

Internet.

As responsabilidades primárias da camada de

apresentação são exibir a informação para o usuário

e interpretar os comandos emitidos pelo usuário em

ações para as camadas de domínio e de dados.

6

Camadas de Software

Domínio:

Pode ser arranjada de tal maneira que se interponha

separando as outras duas. Contudo, pode ser

também que a camada de apresentação faça

acesso à camada de dados diretamente. Apesar de

ser menos “puro”, pode ser prático em alguns casos.

É a camada lógica e particular do sistema.

7

Camadas de Software

Dados:

Definida como o repositório das informações e as

classes que a manipulam. Esta camada recebe as

requisições da camada de negócios e seus métodos

executam essas requisições em um banco de

dados. Uma alteração no banco de dados alteraria

apenas as classes da camada de dados, mas o

restante das camadas não seria afetado por essa

alteração.

8

Camadas de Software

Junto com a separação em camadas caminha uma regra

importante sobre dependências:

“As camadas de domínio e de dados nunca devem ser

dependentes da camada de apresentação.”

Esta regra facilita a utilização de diferentes camadas de

apresentação baseados na mesma fundação, sem sérias

alterações. O relacionamento entre domínio e dados é mais

complexo e depende dos padrões de arquitetura utilizados

para a camada de dados.

9

Sistema Operacional

Software que controla o computador e permite a

comunicação entre software e hardware.

Ele consiste num conjunto de rotinas (pequenos programas)

que, além de controlar todo o fluxo de informações dentro do

computador ainda auxilia na utilização de linguagens e

aplicativos, na manipulação de discos, etc.

Sempre, ao ligar o computador, o sistema operacional é o

primeiro software que é executado e permanece gerenciando

a entrada e a saída de dados no computador até que ele seja

desligado.

Ex.: MS-DOS, OS/2, UNIX, etc.

10

Sistema Operacional

O sistema operacional é um conjunto de rotinas executadas

pelo processador, que tem como funções básicas:

•Gerenciar os vários recursos disponíveis no sistema, para

atender da maneira mais eficiente possível o usuário, e;

•Gerenciar a execução dos programas do usuário, visando o

melhor desempenho do sistema todo.

Em sua forma mais usual, a estrutura de um sistema

operacional pode ser visualizada em camadas hierárquicas,

onde a camada mais interna, correspondente ao hardware,

que suporta todas as camadas de software.

11

Sistema Operacional

A primeira camada de software a envolver o hardware é o

núcleo (kernel), que se comporta como um sistema

operacional básico.

Sobre o núcleo situam-se um conjunto de serviços,

constituíndo-se o sistema operacional propriamente dito, que

fornece o suporte necessário a execução de programas.

Em seguida, tem-se a camada mais externa correspondendo

ao nível da aplicação, na qual este projeto atua diretamente.

12

Sistema Operacional

Camadas de um Software

13

Sistema Operacional

Os principais componentes do sistema operacional residem

no núcleo e são relacionados a seguir:

•Gerência de I/O

•Gerência de Arquivo

•Gerência de Processos

•Gerência de Memória

•Proteção do Sistema

14

Gerência de E/S

Esconde as peculiaridades do hardware, fornecendo

mecanismo de bufferização e drivers dos dispositivos.

O mecanismo de bufferização poupa tempo de cpu evitando

que as solicitações de E/S sejam feitas diretamente nos

dipositivos físicos.

Ao invés disso, as E/S são feitas em um buffer e de tempo

em tempo são efetivadas nos dispositivos.

Os drivers dos dispositivos são rotinas que implementam as

funções básicas tais como leitura e escrita de caracteres e

strings; assim não precisamos programar em baixo nível.

15

Gerência de Arquivo

Implementa funções tais como:

•Gerenciamento de espaços livres.

•Criação e deleção de arquivos.

•Criação e deleção de diretórios.

•Primitivas para manipulação de arquivos e diretórios (dir,

copy, cd etc...)

•Mapeamento dos arquivos em disco etc...

16

Gerência de Processos

Implementa funções de manipulação e gerenciamento de

processos tais como:

•Criação e deleção de processos

•Escalonamento de processos

•Mecanismos de comunicação e sincronização entre

processos etc...

17

Gerência de Processos

Processos podem ser comparados com programas capazes

de executar tarefas. Aos processos são associados alguns

atributos tais como: nome, proprietário, ponteiros para

posições da memória, contexto (conteúdo dos registradores e

variáveis; situação em que o hardware estava quando o

processo foi suspenso) etc...

18

Gerência de Processos

Existem basicamente dois tipos de processos:

•Processos do usuário e;

•Processos do SO.

19

Gerência de Processos

Processos do usuário:

Os processos do usuário executam as tarefas do usuário

Processos do SO:

Os processos do SO executam as tarefas do SO

(basicamente todas as funções do SO são executadas por

processos específicos) em benefício dos usuários.

Basicamente, os processos do usuário são ativados pelo SO

e os processos do SO são ativados pelo próprio SO ou via

interrupções (de hardware ou softwares).

20

Gerência de Memória

Implementa funções tais como:

•Alocação e liberação de espaço de memória.

•Gerenciamento de memória virtual (paginação e

segmentação)

21

Proteção do Sistema

Protege o sistema contra usuários "espertinhos" e protege

usuários contra outros usuários não autorizados.

Existem vários recursos do hardware que favorece o sistema

de proteção fornecido pelo SO.

Um destes recursos é o próprio mecanismo de memória

virtual. Neste mecanismo o hardware verifica se os acessos a

memória estão dentro dos limites de cada usuário.

22

Proteção do Sistema

Um outro recurso é a existência de dois modos básicos de

execução, fornecidos pelo hardware: o modo supervisor e o

modo usuário.

•Quando o SO está com o controle da máquina, o hardware

está setado no modo supervisor.

•Quando o SO passa o controle para a aplicação do usuário,

ele seta o modo para usuário.

•Quando o controle volta para o SO, através de uma

interrupção, o modo é imediatamente setado para supervisor.

23

Proteção do Sistema

Com isso, o hardware sempre sabe se o processo que está

executando é do sistema (modo supervisor) ou do usuário

(modo usuário), e assim pode impedir acessos não

autorizados.

24

Tipos de SO

Os diferentes tipos de sistemas operacionais são

basicamente classificados de acordo com o número de

processos do usuário que o SO pode executar ou de acordo

com o número de processadores que o sistema possui.

Combinando estas características podemos classificar os

sistemas operacionais em: SO Monoprogramado, SO

Multiprogramado e SO para Multiprocessador.

25

Tipos de SO

Sistema Operacional Monoprogramado (Monotarefa)

Sistema Operacional Multiprogramado (Multitarefa)

26

SO Monoprogramado

Possui as seguintes características:

•É executado por um único processador e é capaz de

gerenciar a execução de um único programa (tarefa) do

usuário por vez.

•Permite que o processador, a memória e os periféricos

fiquem dedicados a um único usuário; são portanto

monousuários (monoterminais).

•O processador fica ocioso quando o programa espera pela

ocorrência de uma E/S.

São sistemas de simples implementação.

27

SO Multiprogramado

Possui as seguintes características:

•É executado por um ou vários processadores.

•No caso de vários processadores, é classificado como "SO

para Multiprocessadores".

•No caso de apenas um processador, permite que vários

programas disputem os recursos do sistema (paralelismo

lógico ou virtual), e:

28

SO Multiprogramado

Podem ser monousuário ou multiusuário:

Monousuário: um único usuário executando vários

programas (monoterminal).

Multiusuário: vários usuários executando vários programas

(multiterminais).

29

SO Multiprogramado

•Divide o tempo da cpu entre os vários programas e entre os

vários usuários.

•Diminui a ociosidade, permitindo que durante o tempo de

E/S outros processos sejam executados.

30

SO Multiprogramado

Inicialmente, os sistemas multiprogramados começaram com

os sistemas de batch ou sistemas em lote ;

Depois com os sistemas time-sharing ou sistemas de

tempo compartilhado e;

Finalmente com os sistemas real-time ou sistemas de

tempo real.

31

Sistemas de Lote

Nos sistemas de lote (batch), os programas eram

enfileirados em disco ou fita e aguardavam a execução, um

por vez.

Normalmente, os programas (jobs) não necessitavam de

interação com o usuário. Embora sejam considerados como

os precursores dos sistemas multiprogramados, pois

aproveitavam os tempos de E/S para a execução de outros

processos, o processamento era puramente sequencial e

ofereciam longos tempos de resposta.

32

Sistemas TC

Nos sistemas de tempo compartilhado (time-sharing), os

usuários interagem através de terminais e teclados on-line.

São sistemas multiterminais, cujo processamento é

controlado por um computador central. O sistema executa

uma varredura (polling) nos terminais, compartilhando o

tempo entre eles (time-sharing).

33

Sistemas TC

Neste sistema, o processador executa os programas de

forma intercalada no tempo, alocando uma fatia de tempo

(time-slice) para cada um, por vez, realizando assim a

multiprogramação. Cada usuário tem a ilusão que todo o

sistema está totalmente dedicado exclusivamente para ele.

34

Sistemas TR

Os sistemas de tempo real (real-time) são semelhantes aos

sistemas time-sharing, embora exijam tempo de resposta

dentro de limites rígidos, na execução de tarefas.

O conceito de time-slice é muito pouco utilizado e os

processos executam o tempo necessário e conforme sua

prioridade. São sistemas muito utilizados em controle de

processos, onde o tempo é um fator crucial: refinaria de

petróleo, automação industrial, controle de tráfego aéreo

etc... Neste sistema, os processos geralmente são ativados

por sensores.

35

Trabalho – 10 pontos

Realizar a pesquisa sobre os sistemas operacionais

existentes:

Unix

Mac OS

Windows

Linux

36

Trabalho

O trabalho será realizado após a formação dos grupos.

Deverá ser apresentado na próxima aula

Tempo de apresentação de 30 a 40 minutos

A apresentação deve conter:

Introdução

Breve histórico sobre as versões ;

Características do sistema;

Vantagens e Desvantagens;

Conclusão.

top related