aula 03 sistema_operacional

8
1 1 SISTEMAS OPERACIONAIS PROF. ALEXANDRO DOS SANTOS SILVA 2 SUMÁRIO Introdução Conceito Serviços Chamadas de sistema Programas de sistema Histórico Multiprogramação Categorias Interface de usuário Sistema de arquivos 3 INTRODUÇÃO O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema operacional: um programa colocado entre o hardware do computador e os programas dos usuários de forma a atingir esses dois objetivos Programas Sistema Operacional Hardware 4 CONCEITO Software responsável pela controle de execução de programas aplicativos Interface entre aplicativos e o hardware Duas formas de ver um sistema operacional Alocador de recursos Programa de controle Objetivos Tornar mais conveniente a utilização de um computador “Esconder” detalhes internos de funcionamento Tornar mais eficiente a utilização de um computador Gerenciamento “justo” dos recursos do sistema Facilitar a evolução do sistema Desenvolvimento, teste e atualização de novas facilidades

Upload: marinaldo-de-souza-lima

Post on 18-Dec-2014

303 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Aula 03 sistema_operacional

1

1

SISTEMAS OPERACIONAIS

PROF. ALEXANDRO DOS SANTOS SILVA

2

SUMÁRIO

�Introdução

�Conceito

�Serviços

�Chamadas de sistema

�Programas de sistema

�Histórico

�Multiprogramação

�Categorias

�Interface de usuário

�Sistema de arquivos

3

INTRODUÇÃO

�O que se espera de um sistema de computação?�Execução de programas de usuários

�Permitir a solução de problemas

�Sistema operacional: um programa colocado entre o hardware do computador e os programas dos usuários de forma a atingir esses dois objetivos

Programas

Sistema Operacional

Hardware

4

CONCEITO

�Software responsável pela controle de execução de programas aplicativos� Interface entre aplicativos e o hardware

�Duas formas de ver um sistema operacional�Alocador de recursos

�Programa de controle

�Objetivos�Tornar mais conveniente a utilização de um computador

�“Esconder” detalhes internos de funcionamento

�Tornar mais eficiente a utilização de um computador�Gerenciamento “justo” dos recursos do sistema

�Facilitar a evolução do sistema�Desenvolvimento, teste e atualização de novas facilidades

Page 2: Aula 03 sistema_operacional

2

5

CONCEITO

�Sistema operacional: interface entre usuário/computador

Hardware

Sistema Operacional

Editor detexto

Editor dePlanilha Eletrônica

Navegador Jogo

Usuário1

Usuário2

Usuário3

Usuário4

6

SERVIÇOS�Execução de programas

�Carga de aplicativos na memória principal�Acesso a dispositivos de entrada e saída�Controle de acesso a arquivos�Acesso a recursos de sistema

�Proteção entre usuários�Contabilidade

�Estatísticas�Monitoração de desempenho�Sinalização de upgrades necessários

�Detecção de erros�Erros de hardware (falhas em dispositivos de E/S, por

exemplo)�Erros de programação (acesso não autorizado, por

exemplo)�Solicitação de recursos não disponíveis por aplicativos

7

VISÃO DE USUÁRIO

�Sistema operacional: interface oferecida para acesso a recursos do sistema�Chamadas de sistema

�Programas de sistema

8

CHAMADAS DE SISTEMA

�Forma pela qual programas solicitam serviços ao sistema operacional�Análogo a sub-rotinas: transferência de controle para o

sistema operacional ao invés de transferência para outro ponto do programa

�Núcleo do sistema operacional: responsável pela implementação das chamadas de sistema�Também conhecido como kernel

�Chamadas de sistema associadas a gerência do processador, de memória, arquivos e de entrada/saída

�Variação: micro-kernel� Implementação de serviços básicos

�Kernel: implementação de demais serviços com o emprego desses serviços básicos

Page 3: Aula 03 sistema_operacional

3

9

PROGRAMAS DE SISTEMA

�Programas em execução fora do kernel�Também conhecidos como utilitários�Implementação de tarefas básicas

�Muitas vezes confundidos com o próprio sistema operacional

�Interpretador de comandos�Ativado, quando do início de uma sessão de trabalho

pelo sistema operacional

�Interface Gráfica de Usuário (GUI): tipo de interface para interação entre o usuário e o sistema operacional

10

HISTÓRICO

�Primórdios�Sistema operacional inexistente

�Usuário como programador e operador da máquina

�Alocação do recurso “computador” de forma artesanal

�Evolução: motivações�Melhor utilização de recursos

�Avanços tecnológicos (novos tipos de hardware)

�Adição de novos serviços

�Introdução de operadores profissionais�Usuário não mais como operador de máquina

11

HISTÓRICO

� Década de 1950: surgimento do conceito de job�Programa a ser compilado e executado, acompanhado de

dados de execução (cartões perfurados)�Organização em lote (batch)

�Passagem entre diferentes jobs, de forma manual� Evolução: seqüenciamento automático de jobs, para

transferência de controle de um job a outro� Tipo de processamento conhecido como processamento batch ou sistemas bach

� Em certa medida, considerado o primeiro sistema operacional (rudimentar)

� Monitor residente: programa armazenado de forma permanente na memória� Execução inicial� Transferência de controle para o job (cartões de controle)

�Após o término da execução do job, retorno de controle ao monitor�Centralização das rotinas de acesso à periféricos

disponibilizados aos programas de usuário

12

HISTÓRICO� Processamento batch

1. Jobs (perfurados em cartões), submetidos a uma leitora, para gravaçãoem uma fita magnética de entrada

JOB N

JOB 2

JOB 1

Processamento

fita de entrada

2. Execução dos jobs (via leitura da fita de entrada), para gravação dos resultados do processamentoem uma fita magnética de saída

Processamento

fita de saídafita de entrada

3. Leitura e impressão da fita de saída

Processamento

fita de saída RELATÓRIO 2

RELATÓRIO 1

RELATÓRIO N

Page 4: Aula 03 sistema_operacional

4

13

HISTÓRICO

�Processamento batch multiprogramado�Monitor residente: até então, possibilidade de

execução de apenas um programa a cada vez�Conseqüência: desperdício de tempo de CPU com

operações de entrada/saída

�Evolução: manter diversos programas na memória ao mesmo tempo�Enquanto um programa realiza alguma operação de

entrada/saída, outro pode ser executado

RequisiçãoE/S

tempo

Desperdício CPU

CPU

E/STérminoE/S

RequisiçãoE/S

tempo

Multiprogramação

TérminoE/S

14

MULTIPROGRAMAÇÃO

� Conceito: manter mais de um programa em “execução” simultaneamente

� Inovações de hardware que possibilitaram o surgimento da multiprogramação� Interrupções (sinalização de eventos)� Discos magnéticos

� Acesso randômico a diferentes jobs (programas) no disco� Melhor desempenho em acessos de leitura e escrita

� Sistemas de tempo compartilhado (timesharing): tipo de multiprogramação� Utilização do processador por cada programa em pequenos

intervalos de tempo� Se um intervalo de tempo não é suficiente para a conclusão do

programa, ele é interrompido para substituição por um outro, aguardando a concessão de um novo intervalo de tempo

� Ilusão de possuir a máquina dedicada a execução de seu programa

� Tempo de resposta é importante� Interface para interação com o programa em execução

(introdução de novos dispositivos de entrada e saída, como o terminal de vídeo e o teclado)

15

CATEGORIAS

�Categorias de sistemas operacionais e sua evolução: diretamente relacionados com a evolução do hardware e das aplicações por ele suportadas

�Comum a substituição de termos por outros, na tentativa de refletir uma nova maneira de interação ou processamento�Unidade de execução do processador, por exemplo: uso

inicial do termos programa ou job; depois, surge o conceito de processo e subprocesso e, posteriormente, o conceito de thread

�Principais categorias�Sistemas monoprogramáveis�Sistemas multiprogramáveis�Sistemas multiprocessados

16

SISTEMAS MONOPROGRAMÁVEIS

�Primeiros sistemas operacionais�Principal característica: permitir que os recursos de

hardware (processador, memória e periféricos) permaneçam exclusivamente dedicados à execução de um único programa�Qualquer outra aplicação, para ser executada, deve

aguardar o término da execução do programa corrente

�Também conhecidos como sistemas monotarefa�Capacidade de execução de apenas uma tarefa por

vez

�De fácil implementação, quando comparado a outros sistemas�Poucas preocupações com problemas decorrentes de

compartilhamento de recursos

�Exemplos: MS-DOS

Page 5: Aula 03 sistema_operacional

5

17

SISTEMAS MULTIPROGRAMÁVEIS

�Principal característica: multiprogramação�Capacidade de execução de vários programas de forma

simultânea

�Compartilhamento de recursos entre os diversos usuários e aplicações�Exemplo: enquanto um programa espera pelo término de

uma operação de leitura ou gravação em disco, outros aplicativos podem estar sendo processados neste mesmo intervalo de tempo (se observa, neste caso, o compartilhamento da memória e do processador)

�Também conhecidos como sistemas multitarefa

�De maior eficiência (se comparado aos sistemas monoprogramáveis)�Entretanto, de implementação mais complexa

18

SISTEMAS MULTIPROGRAMÁVEIS

�Classificação em função do número de usuários�Sistemas monousuário: projetados para uso por um único

usuário�Exemplos: Windows 3.x, Windows 9x, Windows Millenium

�Sistemas multiusuário: projetados para suportar várias sessões de usuários em um computador�Exemplos: Windows NT, UNIX

�Classificação em função da forma como as aplicações são gerenciadas�Sistemas batch multiprogramado (vide página 13)�Sistemas de tempo compartilhado (vide página 14)�Sistemas de tempo real: empregados para o controle de

aplicações que devem responder dentro de um intervalo de tempo�Alocação do processador pelo aplicativo durante o tempo

que for necessário para sua execução ou até o lançamento de outro aplicativo de maior prioridade

�Noção de tempo real: dependente da aplicação

19

SISTEMAS MULTIPROCESSADOS

�Sistemas equipados com duas ou mais CPUsinterligadas, que operam em conjunto

�Principal vantagem: execução efetiva de vários programas ao mesmo tempo ou distribuição da execução de uma mesma tarefa entre vários computadores

� Incorporação dos mesmos princípios básicos e benefícios apresentados na multiprogramação

�Acréscimo de outras características e vantagens específicas�Escalabilidade: ampliação de poder computacional do

sistema com o acréscimo de novos processadores�Disponibilidade: capacidade de manter o sistema em

operação mesmo em caso de falhas�Balanceamento de carga: distribuição de processamento

entre os diversos processadores disponíveis, a partir da carga de trabalho de cada processador

20

INTERFACE DE USUÁRIO

�Conceito: interface para interação entre o usuário e o sistema operacional

�Tipos� Interface de Linha de Comando� Interface Gráfica de Usuário

Page 6: Aula 03 sistema_operacional

6

21

INTERFACE DE USUÁRIO� Interface de linha de comando

�Princípio básico de funcionamento: digitação de comandos (via teclado)�Requer, do usuário, conhecimentos avançados relacionados à

sintaxe adotada para a linguagem de comandos (além das funcionalidades agregadas aos comandos)

�Pouca interatividade: ausência de uso de dispositivos apontadores, como o mouse

� Interpretação de comandos: realizada por um interpretador de comandos (também conhecido por shells)�Exemplos: command.exe (MS-DOS), bash (UNIX)

� Interface de usuário predominante nas décadas de 60 e 70

22

INTERFACE DE USUÁRIO� Interface Gráfica de Usuário

�Origem do termo: abreviadamente, do acrônimo GUI, do inglês Graphical User Interface�Ambiente de desktop: sistema com soluções de interface gráfica

com o usuário (GUI)�Uso de elementos gráficos, como janelas, ícones, menus e

ponteiros� Interação: geralmente realizada através de dispositivos

apontadores (mouse) ou teclados, com os quais o usuário é capaz de selecionar elementos gráficos e manipulá-los de forma a obter algum resultado prático

� Exemplos: Windows Aero, KDE, Gnome, etc.

GNOMEWindows Aero

23

SISTEMA DE ARQUIVOS

�Parte mais visível do sistema operacional�Mecanismo de armazenamento e acesso a dados

e programas�Duas partes básicas

�Arquivos: armazenamento de dados e programas�Diretórios: organização e informações sobre arquivos

�Objetivos�Fornecer mecanismos para usuários manipular arquivos e

diretórios�Garantir a validade e coerência de dados

�Minimizar ou eliminar o risco de perda/alteração de dados

�Otimizar o acesso�Fornecer suporte a outros sistemas de arquivos�Suporte à vários usuários (multiprogramação)

�Uso compartilhado (proteção e acesso concorrente)

24

SISTEMA DE ARQUIVOS

�Requisitos mínimos�Do ponto de vista do usuário: capacitá-lo a

�Criar, apagar, ler e alterar arquivos�Controlar as permissões de acesso a seus arquivos�Nomear arquivos de forma simbólica�Estruturar os arquivos de forma a adequá-los à suas

necessidades específicas�Criação de diretórios e subdiretórios�Realizar back-ups e recuperar arquivos em caso de

problemas

�Do ponto de vista do sistema operacional: capacitá-lo a�Descrever a localização de todos os arquivos e de seus

atributos (via diretório)�Gerenciar espaço físico do disco

� Alocar blocos livres a arquivos em criação/expansão� Liberar blocos de arquivos removidos� Mecanismos para localização eficiente de blocos (setores) que

compõem arquivos

Page 7: Aula 03 sistema_operacional

7

25

SISTEMA DE ARQUIVOS

�Conceitos básicos�Arquivos

�Recipientes que contêm dados

�Diretórios�Conjuntos de referências a arquivos

�Partição�Abstração que permite, a partir do disco físico, criar

discos lógicos

26

SISTEMA DE ARQUIVOS�Conceito de arquivo

�Armazenamento de informação em diferentes tipos de arquivos�Sistema operacional: visão uniforme da informação,

independente do dispositivo físico de armazenamento�Visão lógica é o arquivo

�Arquivos: mapeados para dispositivos físicos

�Arquivos: itens�Nome

�Atributos

�Estrutura interna

�Tipo

�Métodos de acesso

�Operações

27

SISTEMA DE ARQUIVOS�Conceito de arquivo

�Armazenamento de informação em diferentes tipos de arquivos�Sistema operacional: visão uniforme da informação

independente do dispositivo físico de armazenamento�Visão lógica é o arquivo

�Arquivos: mapeados para dispositivos físicos

�Arquivos: itens�Nome

�Atributos

�Estrutura interna

�Tipo

�Métodos de acesso

�Operações

28

SISTEMA DE ARQUIVOS

�Nomes de arquivos�Espaço de nomes: conjunto de regras e convenções

para identificar simbolicamente um arquivo

�Variações entre sistemas�Distinção entre letras maiúsculas e minúsculas

�Obrigatoriedade ou não de uma extensão�Às vezes, extensões são apenas convenções

�Tamanho máximo do nome e da extensão (se houver)

Page 8: Aula 03 sistema_operacional

8

29

SISTEMA DE ARQUIVOS

�Arquivo: atributos�Informações sobre arquivos

�Nome: informação simbólica empregada para referenciar o arquivo

�Tipo: binário, texto, executável, caracter, bloco�Localização: posição do arquivo em um determinado

dispositivo E/S�Tamanho: número de bytes que compõem o arquivo�Proteção: controle de acesso à leitura, escrita e

execução do arquivo�Data/hora de criação e identificação do usuário:

informações destinadas a proteção, segurança e monitoração

�Varia de sistema operacional a sistema operacional�Atributos mantidos em uma estrutura à parte

�Diretório

30

REFERÊNCIAS BIBLIOGRÁFICAS� MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de Sistemas

Operacionais, 4ª edição. Rio de Janeiro: LTC, 2007.

� OLIVEIRA, R. S.; CARISSIMI, A.; TOSCANI, S. S. Sistemas Operacionais. Porto Alegre: Editora Sagra-Luzzatto.

� WIKIPÉDIA. Ambiente de desktop. Disponível em <http://pt.wikipedia.org/wiki/Ambiente_de_desktop>. Acesso em 19 de maio de 2011.

� WIKIPÉDIA. Interface gráfica do utilizador. Disponível em <http://pt.wikipedia.org/wiki/Interface_gr%C3%A1fica_do_utilizador>. Acesso em 19 de maio de 2011.

� WIKIPÉDIA. Interpretador de comandos.Disponível em <http://pt.wikipedia.org/wiki/Interpretador_de_comandos>. Acesso em 19 de maio de 2011.