View
214
Download
0
Category
Preview:
Citation preview
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.
Recommended