aula 03 sistema_operacional
DESCRIPTION
TRANSCRIPT
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
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
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
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
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
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
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)
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.